Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions schemas/aep/checkpoint-evidence.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://wasmagent.dev/schemas/aep/checkpoint-evidence.schema.json",
"title": "CheckpointEvidence",
"description": "Signed checkpoint/fork record — attests that a run's state was checkpointed (and optionally forked from a parent run), enabling verifiable resume and branch provenance. Carries the AEP envelope fields (schema_version, created_at_ms) plus checkpoint-specific keys.",
"type": "object",
"required": [
"schema_version",
"created_at_ms",
"checkpoint_id",
"parent_run_id",
"state_digest"
],
"properties": {
"schema_version": {
"type": "string",
"description": "Semver-like schema identifier, e.g. aep/v0.1"
},
"trace_id": {
"type": "string",
"description": "Optional correlation ID linking related evidence records"
},
"created_at_ms": {
"type": "number",
"description": "UTC epoch milliseconds when the record was created (checkpoint creation time)"
},
"checkpoint_id": {
"type": "string",
"description": "Unique identifier for this checkpoint"
},
"parent_run_id": {
"type": "string",
"description": "Identifier of the run this checkpoint was taken from"
},
"fork_of": {
"type": [
"string",
"null"
],
"description": "Checkpoint_id this run was forked from, or null if this is not a fork"
},
"state_digest": {
"type": "string",
"description": "Content digest of the checkpointed run state, for tamper-evident resume"
},
"signature": {
"type": "object",
"description": "Optional tamper-evident signature over the record content",
"required": [
"alg",
"key_id",
"sig"
],
"properties": {
"alg": {
"type": "string",
"description": "Signature algorithm, e.g. ed25519"
},
"key_id": {
"type": "string",
"description": "Identifier of the signing key"
},
"sig": {
"type": "string",
"description": "Base64-encoded signature bytes"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
78 changes: 78 additions & 0 deletions schemas/aep/replay-evidence.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://wasmagent.dev/schemas/aep/replay-evidence.schema.json",
"title": "ReplayEvidence",
"description": "Deterministic-replay attestation — records that a run was replayed from a fixed seed and produced a matching output, proving determinism. Carries the AEP envelope fields (schema_version, created_at_ms) plus replay-specific keys.",
"type": "object",
"required": [
"schema_version",
"created_at_ms",
"run_id",
"seed",
"input_digests",
"output_digest",
"engine_version"
],
"properties": {
"schema_version": {
"type": "string",
"description": "Semver-like schema identifier, e.g. aep/v0.1"
},
"trace_id": {
"type": "string",
"description": "Optional correlation ID linking related evidence records"
},
"created_at_ms": {
"type": "number",
"description": "UTC epoch milliseconds when the record was created"
},
"run_id": {
"type": "string",
"description": "Identifier of the run being attested for deterministic replay"
},
"seed": {
"type": "string",
"description": "The deterministic seed the run was replayed with"
},
"input_digests": {
"type": "array",
"description": "Content digests of every input consumed by the replayed run, in a stable order",
"items": {
"type": "string"
}
},
"output_digest": {
"type": "string",
"description": "Content digest of the replayed run's output; a match across replays proves determinism"
},
"engine_version": {
"type": "string",
"description": "Version of the execution engine/runtime that performed the replay"
},
"signature": {
"type": "object",
"description": "Optional tamper-evident signature over the record content",
"required": [
"alg",
"key_id",
"sig"
],
"properties": {
"alg": {
"type": "string",
"description": "Signature algorithm, e.g. ed25519"
},
"key_id": {
"type": "string",
"description": "Identifier of the signing key"
},
"sig": {
"type": "string",
"description": "Base64-encoded signature bytes"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
46 changes: 39 additions & 7 deletions schemas/index.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"protocol": "AEP",
"description": "Registry of canonical WasmAgent protocol schemas \u2014 the single source of truth for every cross-repository contract. Downstream repos consume via @wasmagent/protocol (npm) and wasmagent-protocol (PyPI). Covers: AEP, compliance, AgentBOM, MCP Posture, Trust Passport.",
"description": "Registry of canonical WasmAgent protocol schemas the single source of truth for every cross-repository contract. Downstream repos consume via @wasmagent/protocol (npm) and wasmagent-protocol (PyPI). Covers: AEP, compliance, AgentBOM, MCP Posture, Trust Passport.",
"canonical_host": "https://wasmagent.dev/schemas/",
"schemas": [
{
Expand All @@ -21,7 +21,7 @@
"wasmagent-train-replay",
"open-agent-audit"
],
"summary": "Runtime action evidence and run provenance record \u2014 the core Agent Evidence Protocol contract."
"summary": "Runtime action evidence and run provenance record the core Agent Evidence Protocol contract."
},
{
"id": "evidence-envelope",
Expand All @@ -39,7 +39,7 @@
"trace-pipeline",
"open-agent-audit"
],
"summary": "Shared envelope base for all AEP evidence records \u2014 schema_version, trace_id, created_at_ms, and optional signature."
"summary": "Shared envelope base for all AEP evidence records schema_version, trace_id, created_at_ms, and optional signature."
},
{
"id": "constraint-ir",
Expand All @@ -55,7 +55,7 @@
"wasmagent-js",
"trace-pipeline"
],
"summary": "Typed, repairable, prioritised constraint \u2014 superset of @wasmagent/core Criterion."
"summary": "Typed, repairable, prioritised constraint superset of @wasmagent/core Criterion."
},
{
"id": "constraint-violation",
Expand Down Expand Up @@ -151,7 +151,7 @@
"agent-trust-infra",
"open-agent-audit"
],
"summary": "Agent Bill of Materials \u2014 machine-readable agent identity, capabilities, and trust metadata."
"summary": "Agent Bill of Materials machine-readable agent identity, capabilities, and trust metadata."
},
{
"id": "mcp-posture",
Expand All @@ -167,7 +167,7 @@
"agent-trust-infra",
"open-agent-audit"
],
"summary": "MCP Posture \u2014 tool surface, permission grants, and risk signals for MCP servers."
"summary": "MCP Posture tool surface, permission grants, and risk signals for MCP servers."
},
{
"id": "trust-passport",
Expand All @@ -183,7 +183,39 @@
"agent-trust-infra",
"open-agent-audit"
],
"summary": "Trust Passport \u2014 signed, expiring, verifiable trust-state artifact for AI agents."
"summary": "Trust Passport — signed, expiring, verifiable trust-state artifact for AI agents."
},
{
"id": "replay-evidence",
"title": "ReplayEvidence",
"path": "schemas/aep/replay-evidence.schema.json",
"canonical_id": "https://wasmagent.dev/schemas/aep/replay-evidence.schema.json",
"version": "aep/v0.1",
"stability": "evolving",
"owners": [
"wasmagent-protocol"
],
"consumers": [
"wasmagent-js",
"open-agent-audit"
],
"summary": "Deterministic-replay attestation — run_id, seed, input_digests, output_digest, engine_version."
},
{
"id": "checkpoint-evidence",
"title": "CheckpointEvidence",
"path": "schemas/aep/checkpoint-evidence.schema.json",
"canonical_id": "https://wasmagent.dev/schemas/aep/checkpoint-evidence.schema.json",
"version": "aep/v0.1",
"stability": "evolving",
"owners": [
"wasmagent-protocol"
],
"consumers": [
"wasmagent-js",
"open-agent-audit"
],
"summary": "Signed checkpoint/fork record — checkpoint_id, parent_run_id, fork_of, state_digest, created_at_ms."
}
]
}
6 changes: 6 additions & 0 deletions tests/fixtures/invalid/checkpoint-evidence/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"schema_version": "aep/v0.1",
"created_at_ms": 1737600000000,
"checkpoint_id": "ckpt-xyz789",
"parent_run_id": "run-abc123"
}
10 changes: 10 additions & 0 deletions tests/fixtures/invalid/replay-evidence/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"schema_version": "aep/v0.1",
"created_at_ms": 1737600000000,
"run_id": "run-abc123",
"seed": "42",
"input_digests": [
"sha256:aaaa1111"
],
"engine_version": "wasmagent-runtime/1.4.2"
}
9 changes: 9 additions & 0 deletions tests/fixtures/valid/checkpoint-evidence/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"schema_version": "aep/v0.1",
"trace_id": "trace-ckpt-001",
"created_at_ms": 1737600000000,
"checkpoint_id": "ckpt-xyz789",
"parent_run_id": "run-abc123",
"fork_of": null,
"state_digest": "sha256:dddd4444"
}
18 changes: 18 additions & 0 deletions tests/fixtures/valid/replay-evidence/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"schema_version": "aep/v0.1",
"trace_id": "trace-replay-001",
"created_at_ms": 1737600000000,
"run_id": "run-abc123",
"seed": "42",
"input_digests": [
"sha256:aaaa1111",
"sha256:bbbb2222"
],
"output_digest": "sha256:cccc3333",
"engine_version": "wasmagent-runtime/1.4.2",
"signature": {
"alg": "ed25519",
"key_id": "key-001",
"sig": "base64sigexample=="
}
}
Loading