Skip to main content

Canonical JSON Schemas for the WasmAgent Agent Evidence Protocol (AEP) and compliance contracts. Single source of truth across the WasmAgent org.

Project description

wasmagent-protocol

Canonical source of truth for every cross-repository contract in the WasmAgent org. One public schema → one canonical source.

WasmAgent is open infrastructure for provable AI agents. Proving an agent ran correctly requires that every repository — the runtime, the gateway, the evidence pipelines, the audit product — speak the same evidence and compliance vocabulary. wasmagent-protocol is where that vocabulary is defined, versioned, and published, so no repository has to keep its own copy.

This repository holds specifications only. It contains no business logic, no runtime, and no product code — only JSON Schemas, conformance fixtures, and thin loader packages that expose the schemas to JavaScript and Python consumers.

Why this repository exists

The Agent Evidence Protocol (AEP) and the compliance schemas were originally authored inside wasmagent-js and independently copied into trace-pipeline. By the time this repository was extracted, those copies had drifted: five shared schemas differed (one had a copy-paste title bug, and the same logical schema carried two conflicting $id URLs). Drift in a shared contract silently breaks cross-repo evidence validation — exactly the failure mode WasmAgent exists to prevent.

Per the org repository boundary policy: one public schema has exactly one canonical source. That source is here.

What's in scope

Only contracts that genuinely cross a repository boundary:

Schema Version Consumers
aep-record aep/v0.2 wasmagent-js, wasmagent-proxy, trace-pipeline, wasmagent-train-replay, open-agent-audit
constraint-ir compliance/v1 wasmagent-js, trace-pipeline
constraint-violation compliance/v1 wasmagent-js, trace-pipeline
repair-trace compliance/v1 wasmagent-js, trace-pipeline
task-spec compliance/v1 wasmagent-js, trace-pipeline
compliance-eval-record compliance-eval-record/v1 wasmagent-js, trace-pipeline
rollout-wire rollout-wire/v1 wasmagent-js, trace-pipeline

The machine-readable registry is schemas/index.json.

Out of scope: schemas owned by a single repository (e.g. trace-pipeline's *-training-record output formats, open-agent-audit's audit-run). A schema belongs here only when two or more repositories must agree on it.

Consuming the schemas

Downstream repositories must not copy schema JSON. Depend on the published package instead.

JavaScript / TypeScript

npm install @wasmagent/protocol
import { schemas, getSchema } from "@wasmagent/protocol";

const aep = getSchema("aep-record"); // parsed JSON Schema object

Python

pip install wasmagent-protocol
from wasmagent_protocol import get_schema, schema_path

aep = get_schema("aep-record")        # parsed dict
path = schema_path("aep-record")      # pathlib.Path to the .json file

Versioning & stability

  • Each schema carries a version string (see the registry).
  • Additive changes (new optional field) → minor package bump.
  • Breaking changes (removed/renamed field, tightened required) → major package bump and a new version value, announced in the org release ledger before merge.
  • Every schema has at least one valid and one invalid conformance fixture under tests/fixtures/. CI rejects any schema without both.

See docs/CONTRACT-CHANGE-PROCESS.md for the full change workflow and docs/GOVERNANCE.md for maintainer and exit-condition policy.

Development

# validate every schema is well-formed and every fixture conforms
python3 -m pip install jsonschema
python3 tests/conformance.py

Releases

Published to npm and PyPI from CI via OIDC trusted publishing on v* tags — no tokens stored. See docs/CONTRACT-CHANGE-PROCESS.md.

  • 0.1.2 — npm OIDC publishing fix (Node 24 for npm ≥ 11.5.1); no schema changes.
  • 0.1.1 — release-pipeline verification (PyPI); no schema changes.
  • 0.1.0 — initial canonical extraction of the AEP + compliance schema family.

License

Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wasmagent_protocol-0.1.2.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wasmagent_protocol-0.1.2-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file wasmagent_protocol-0.1.2.tar.gz.

File metadata

  • Download URL: wasmagent_protocol-0.1.2.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for wasmagent_protocol-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c0f05d94a11ba607d5a12c89842813bb59315d791aaef17788e3a4cb074abcae
MD5 e477a5943da277b80b8823d7b192f83d
BLAKE2b-256 5dd23b2c2e0307be26edceefe108b1262cd54b48aaac6a8121818df6cfe74c67

See more details on using hashes here.

Provenance

The following attestation bundles were made for wasmagent_protocol-0.1.2.tar.gz:

Publisher: release.yml on WasmAgent/wasmagent-protocol

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wasmagent_protocol-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for wasmagent_protocol-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 150932b36af2c6fceb18f16dca3d895fd9437a737490b9945249307d5a25079e
MD5 1541a5cd5675ede7a4402d9661417175
BLAKE2b-256 5074b4c0fde2da419476ebe0fe9e22bf44ce77fd5604bf891079a208682e1d1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wasmagent_protocol-0.1.2-py3-none-any.whl:

Publisher: release.yml on WasmAgent/wasmagent-protocol

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page