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
14 changes: 7 additions & 7 deletions .clusterfuzzlite/_fuzz_seeds.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
'result_digest': {'algorithm': 'sha256',
'value': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'},
'run_id': 'run-governed-sdlc-001',
'spec_version': '0.1.0-alpha.4',
'spec_version': '0.1.0-alpha.5',
'target': {'id': 'example/repository', 'kind': 'git.repository'},
'time_unix_nano': '1787079650000000000',
'workflow_id': 'workflow-build-feature'},
Expand All @@ -39,7 +39,7 @@
'requested_at_unix_nano': '1787079500000000000',
'run_id': 'run-governed-sdlc-001',
'span_id': '00f067aa0ba902b7',
'spec_version': '0.1.0-alpha.4',
'spec_version': '0.1.0-alpha.5',
'time_unix_nano': '1787079580000000000',
'trace_id': '4bf92f3577b34da6a3ce929d0e0e4736'},
'data-flow': {'agent_id': 'spiffe://example.test/agent/architect',
Expand All @@ -58,7 +58,7 @@
'run_id': 'run-governed-sdlc-001',
'size_bytes': 18342,
'source': {'id': 'requirements-graph', 'kind': 'knowledge_graph'},
'spec_version': '0.1.0-alpha.4',
'spec_version': '0.1.0-alpha.5',
'time_unix_nano': '1787079400000000000',
'transformation': 'metadata_only'},
'evidence': {'capture_profile': 'metadata_only',
Expand All @@ -67,10 +67,10 @@
'completeness': 'complete',
'event_id': '018f0f7d-7a13-7cc2-8000-000000000005',
'event_type': 'evidence.run_closed',
'producer': {'name': 'agentrust-telemetry', 'version': '0.1.0-alpha.4'},
'producer': {'name': 'agentrust-telemetry', 'version': '0.1.0-alpha.5'},
'run_id': 'run-governed-sdlc-001',
'sequence': 14,
'spec_version': '0.1.0-alpha.4',
'spec_version': '0.1.0-alpha.5',
'time_unix_nano': '1787079700000000000'},
'policy-decision': {'action_type': 'repository.write',
'agent_id': 'spiffe://example.test/agent/coder',
Expand All @@ -89,7 +89,7 @@
'resource_type': 'git.repository',
'run_id': 'run-governed-sdlc-001',
'span_id': '00f067aa0ba902b7',
'spec_version': '0.1.0-alpha.4',
'spec_version': '0.1.0-alpha.5',
'time_unix_nano': '1787079600000000000',
'trace_id': '4bf92f3577b34da6a3ce929d0e0e4736',
'workflow_id': 'workflow-build-feature'},
Expand All @@ -108,7 +108,7 @@
'request_model': 'example-model-2',
'run_id': 'run-governed-sdlc-001',
'scope': 'model_call',
'spec_version': '0.1.0-alpha.4',
'spec_version': '0.1.0-alpha.5',
'time_unix_nano': '1787079590000000000',
'workflow_id': 'workflow-build-feature'}}

Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,38 @@

## Unreleased

## 0.1.0-alpha.5 - 2026-09-26

### Fixed

- TRACE finalization in both SDKs (`finalize_trace` in `trace_adapter.py`, and
`trace-finalizer.ts`) now recomputes the evidence chain from the snapshot entries
(sequence, previous digest, entry digest, `event_id`, `run_id`, `chain_digest`) and
refuses to sign on any mismatch. Before, an `EvidenceSnapshot` edited after sealing
could produce a signed record whose appraisal disagreed with the measurement it
carried. A malformed event inside a consistent chain now raises
`TraceFinalizationError` instead of `KeyError`. (#65)
- Python event validation rejects nesting deeper than 32 levels, non-string keys, and
NaN or Infinity with `EventValidationError`. These previously raised `RecursionError`
or `AttributeError`, or were accepted. NaN now fails at validation rather than at the
chain, as it already did in the TypeScript SDK. (#65)
- The AGT adapters (`agt.py`, `agt_audit.py`, `agt_approval.py`, `agt_data.py`) raise
`ValueError` for a list or object where a decision, kind, outcome or classification
belongs, and for an out-of-range `latency_ms`. These previously surfaced as
`TypeError` or `OverflowError`. (#65)

### Changed

- Add ClusterFuzzLite with three fuzz targets: event validation and projection, the
OPA and AGT policy adapters, and sealed evidence to signed TRACE. (#65)
- The OTel GenAI compatibility notes now say that the pinned upstream revision already
defines cache-read, cache-creation and reasoning token attributes. (#63)
- The version string is inside the hashed envelope, so this release moves every
evidence digest. `compatibility/golden/evidence-chain.json` and the cross-language
`tool_transcript` assertions are regenerated for it.
- CI and governance only: CODEOWNERS maintainer alignment (#64), CodeQL and CycloneDX
action bumps (#57, #59, #60, #61), `build` 1.6.1 in the release lock (#56).

## 0.1.0-alpha.4 - 2026-09-14

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion LIMITATIONS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Limitations

Current `0.1.0-alpha.4` limitations:
Current `0.1.0-alpha.5` limitations:

- The contract and SDK are experimental and may change incompatibly.
- A Python reference SDK and a TypeScript reference SDK (`packages/typescript/`)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Portable governance telemetry and verifiable evidence for AI-agent runtimes.

This repository defines a backend-neutral contract for policy decisions, approval lifecycles, usage, classified data flows, and evidence lifecycle events. It composes with OpenTelemetry; it is not a tracing backend, policy engine, agent framework, or dashboard.

> **Status:** alpha contract `0.1.0-alpha.4`. No stable SDK API or compatibility guarantee exists yet.
> **Status:** alpha contract `0.1.0-alpha.5`. No stable SDK API or compatibility guarantee exists yet.

## Why

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Include the affected contract/SDK version, an executable reproducer where safe,

## Supported versions

No stable release exists. Only the latest `0.1.0-alpha.4` revision will receive fixes until the first published release.
No stable release exists. Only the latest `0.1.0-alpha.5` revision will receive fixes until the first published release.

## Runtime boundary

Expand Down
6 changes: 3 additions & 3 deletions VERSIONING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ The telemetry contract uses semantic versioning independently from SDK versions,
- Minor: backward-compatible optional field, event, or enum addition with defined older-consumer behavior.
- Major: removal, changed meaning, new required field, or incompatible canonicalization.

The current contract version is `0.1.0-alpha.4`. Python publishes the equivalent
PEP 440 version `0.1.0a4`; npm and the Git tag use `0.1.0-alpha.4` and
`v0.1.0-alpha.4`. Pre-1.0 changes may be incompatible and must be called out
The current contract version is `0.1.0-alpha.5`. Python publishes the equivalent
PEP 440 version `0.1.0a5`; npm and the Git tag use `0.1.0-alpha.5` and
`v0.1.0-alpha.5`. Pre-1.0 changes may be incompatible and must be called out
explicitly.

Published GitHub releases are the sole release trigger. The release tag must
Expand Down
2 changes: 1 addition & 1 deletion compatibility/golden/event-factory.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"agent-1","event_id":"018f0f7d-7a13-7cc2-8000-000000000042","event_type":"usage.recorded","input_tokens":7,"operation":"chat","producer":{"name":"parity-test","version":"1.0.0"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079000000000000","workflow_id":"workflow-1"}
{"agent_id":"agent-1","event_id":"018f0f7d-7a13-7cc2-8000-000000000042","event_type":"usage.recorded","input_tokens":7,"operation":"chat","producer":{"name":"parity-test","version":"1.0.0"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079000000000000","workflow_id":"workflow-1"}
6 changes: 3 additions & 3 deletions compatibility/golden/evidence-chain.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
"fixture": "policy-decision.json",
"sequence": 0,
"previous_digest": null,
"digest": "19b8a3bbf6f31ab89a242f3f1fb756ba7d0c6d01d75fc113b2186cb789411625"
"digest": "b48e0e0b0fe31fc276d78f6ff7dd8b620e27329f675d9971176d14a09f13b044"
},
{
"fixture": "usage.json",
"sequence": 1,
"previous_digest": "19b8a3bbf6f31ab89a242f3f1fb756ba7d0c6d01d75fc113b2186cb789411625",
"digest": "7146bc82bcaa817689386fb45ed2d1586f67102af468b95e01fff183b8eed6bb"
"previous_digest": "b48e0e0b0fe31fc276d78f6ff7dd8b620e27329f675d9971176d14a09f13b044",
"digest": "0c0f14fcf22fb176dbfc52ba6dfc38c8258cfbfabaedb26569718fd5e1341d1e"
}
]
}
2 changes: 1 addition & 1 deletion conformance/fixtures/invalid/action-without-digest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"spec_version": "0.1.0-alpha.4",
"spec_version": "0.1.0-alpha.5",
"event_id": "018f0f7d-7a13-7cc2-8000-000000000096",
"event_type": "action.executed",
"time_unix_nano": "1787079650000000000",
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"agent-1","cost":{"amount":1,"currency":"USD","source":"aggregate"},"event_id":"018f0f7d-7a13-7cc2-8000-000000000009","event_type":"usage.recorded","operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":"1"}
{"agent_id":"agent-1","cost":{"amount":1,"currency":"USD","source":"aggregate"},"event_id":"018f0f7d-7a13-7cc2-8000-000000000009","event_type":"usage.recorded","operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":"1"}
2 changes: 1 addition & 1 deletion conformance/fixtures/invalid/model-call-with-rollup.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"agent-1","aggregation":{"cost_coverage":0,"cost_sources":[],"event_count":1,"method":"sum","token_coverage":{"input_tokens":1}},"event_id":"018f0f7d-7a13-7cc2-8000-000000000010","event_type":"usage.recorded","input_tokens":1,"operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":"1"}
{"agent_id":"agent-1","aggregation":{"cost_coverage":0,"cost_sources":[],"event_count":1,"method":"sum","token_coverage":{"input_tokens":1}},"event_id":"018f0f7d-7a13-7cc2-8000-000000000010","event_type":"usage.recorded","input_tokens":1,"operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":"1"}
2 changes: 1 addition & 1 deletion conformance/fixtures/invalid/numeric-timestamp.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"agent-1","event_id":"018f0f7d-7a13-7cc2-8000-000000000011","event_type":"usage.recorded","input_tokens":1,"operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":1787079700000000000}
{"agent_id":"agent-1","event_id":"018f0f7d-7a13-7cc2-8000-000000000011","event_type":"usage.recorded","input_tokens":1,"operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":1787079700000000000}
2 changes: 1 addition & 1 deletion conformance/fixtures/invalid/raw-content.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"spiffe://example.test/agent/coder","event_id":"018f0f7d-7a13-7cc2-8000-000000000006","event_type":"usage.recorded","input_tokens":10,"operation":"chat","producer":{"name":"bad-adapter","version":"0.1.0"},"prompt":"copy the production credential","run_id":"run-unsafe","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079700000000000"}
{"agent_id":"spiffe://example.test/agent/coder","event_id":"018f0f7d-7a13-7cc2-8000-000000000006","event_type":"usage.recorded","input_tokens":10,"operation":"chat","producer":{"name":"bad-adapter","version":"0.1.0"},"prompt":"copy the production credential","run_id":"run-unsafe","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079700000000000"}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"agent-1","event_id":"018f0f7d-7a13-7cc2-8000-000000000008","event_type":"usage.recorded","operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":"1"}
{"agent_id":"agent-1","event_id":"018f0f7d-7a13-7cc2-8000-000000000008","event_type":"usage.recorded","operation":"chat","producer":{"name":"test","version":"1"},"run_id":"run-1","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":"1"}
2 changes: 1 addition & 1 deletion conformance/fixtures/invalid/zero-trace-id.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"action_type":"repository.read","agent_id":"agent-1","decision":"allow","enforcement_mode":"enforce","evaluation_duration_ns":1,"event_id":"018f0f7d-7a13-7cc2-8000-000000000007","event_type":"policy.decision","policy":{"engine":"opa","engine_version":"1.0"},"producer":{"name":"test","version":"1"},"resource_type":"repository","run_id":"run-1","spec_version":"0.1.0-alpha.4","time_unix_nano":"1","trace_id":"00000000000000000000000000000000"}
{"action_type":"repository.read","agent_id":"agent-1","decision":"allow","enforcement_mode":"enforce","evaluation_duration_ns":1,"event_id":"018f0f7d-7a13-7cc2-8000-000000000007","event_type":"policy.decision","policy":{"engine":"opa","engine_version":"1.0"},"producer":{"name":"test","version":"1"},"resource_type":"repository","run_id":"run-1","spec_version":"0.1.0-alpha.5","time_unix_nano":"1","trace_id":"00000000000000000000000000000000"}
2 changes: 1 addition & 1 deletion conformance/fixtures/valid/action.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"spec_version": "0.1.0-alpha.4",
"spec_version": "0.1.0-alpha.5",
"event_id": "018f0f7d-7a13-7cc2-8000-000000000006",
"event_type": "action.executed",
"time_unix_nano": "1787079650000000000",
Expand Down
2 changes: 1 addition & 1 deletion conformance/fixtures/valid/approval.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"action_digest":{"algorithm":"sha256","value":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},"actor_id":"reviewer-7d91","actor_type":"human","agent_id":"spiffe://example.test/agent/coder","approval_id":"approval-001","event_id":"018f0f7d-7a13-7cc2-8000-000000000002","event_type":"approval.approved","producer":{"name":"example-approval-adapter","version":"0.1.0"},"requested_at_unix_nano":"1787079500000000000","run_id":"run-governed-sdlc-001","span_id":"00f067aa0ba902b7","spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079580000000000","trace_id":"4bf92f3577b34da6a3ce929d0e0e4736"}
{"action_digest":{"algorithm":"sha256","value":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},"actor_id":"reviewer-7d91","actor_type":"human","agent_id":"spiffe://example.test/agent/coder","approval_id":"approval-001","event_id":"018f0f7d-7a13-7cc2-8000-000000000002","event_type":"approval.approved","producer":{"name":"example-approval-adapter","version":"0.1.0"},"requested_at_unix_nano":"1787079500000000000","run_id":"run-governed-sdlc-001","span_id":"00f067aa0ba902b7","spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079580000000000","trace_id":"4bf92f3577b34da6a3ce929d0e0e4736"}
2 changes: 1 addition & 1 deletion conformance/fixtures/valid/data-flow.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"spiffe://example.test/agent/architect","classification":{"producer":"example-dlp","taxonomy":"example.enterprise.v1","value":"confidential"},"content_digest":{"algorithm":"sha256","value":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"},"destination":{"id":"architecture-agent","kind":"agent"},"direction":"read","event_id":"018f0f7d-7a13-7cc2-8000-000000000004","event_type":"data_flow.observed","policy_decision":"allow","producer":{"name":"example-dataflow-adapter","version":"0.1.0"},"purpose":"generate_architecture","run_id":"run-governed-sdlc-001","size_bytes":18342,"source":{"id":"requirements-graph","kind":"knowledge_graph"},"spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079400000000000","transformation":"metadata_only"}
{"agent_id":"spiffe://example.test/agent/architect","classification":{"producer":"example-dlp","taxonomy":"example.enterprise.v1","value":"confidential"},"content_digest":{"algorithm":"sha256","value":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"},"destination":{"id":"architecture-agent","kind":"agent"},"direction":"read","event_id":"018f0f7d-7a13-7cc2-8000-000000000004","event_type":"data_flow.observed","policy_decision":"allow","producer":{"name":"example-dataflow-adapter","version":"0.1.0"},"purpose":"generate_architecture","run_id":"run-governed-sdlc-001","size_bytes":18342,"source":{"id":"requirements-graph","kind":"knowledge_graph"},"spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079400000000000","transformation":"metadata_only"}
2 changes: 1 addition & 1 deletion conformance/fixtures/valid/evidence.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"capture_profile":"metadata_only","chain_digest":{"algorithm":"sha256","value":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"},"completeness":"complete","event_id":"018f0f7d-7a13-7cc2-8000-000000000005","event_type":"evidence.run_closed","producer":{"name":"agentrust-telemetry","version":"0.1.0-alpha.4"},"run_id":"run-governed-sdlc-001","sequence":14,"spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079700000000000"}
{"capture_profile":"metadata_only","chain_digest":{"algorithm":"sha256","value":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"},"completeness":"complete","event_id":"018f0f7d-7a13-7cc2-8000-000000000005","event_type":"evidence.run_closed","producer":{"name":"agentrust-telemetry","version":"0.1.0-alpha.5"},"run_id":"run-governed-sdlc-001","sequence":14,"spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079700000000000"}
2 changes: 1 addition & 1 deletion conformance/fixtures/valid/policy-decision.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"action_type":"repository.write","agent_id":"spiffe://example.test/agent/coder","decision":"deny","enforcement_mode":"enforce","evaluation_duration_ns":182000,"event_id":"018f0f7d-7a13-7cc2-8000-000000000001","event_type":"policy.decision","policy":{"bundle_digest":{"algorithm":"sha256","value":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"engine":"cedar","engine_version":"4.3.0","policy_id":"repo-write"},"producer":{"name":"example-policy-adapter","version":"0.1.0"},"reason_codes":["BRANCH_PROTECTED"],"resource_type":"git.repository","run_id":"run-governed-sdlc-001","span_id":"00f067aa0ba902b7","spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079600000000000","trace_id":"4bf92f3577b34da6a3ce929d0e0e4736","workflow_id":"workflow-build-feature"}
{"action_type":"repository.write","agent_id":"spiffe://example.test/agent/coder","decision":"deny","enforcement_mode":"enforce","evaluation_duration_ns":182000,"event_id":"018f0f7d-7a13-7cc2-8000-000000000001","event_type":"policy.decision","policy":{"bundle_digest":{"algorithm":"sha256","value":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"engine":"cedar","engine_version":"4.3.0","policy_id":"repo-write"},"producer":{"name":"example-policy-adapter","version":"0.1.0"},"reason_codes":["BRANCH_PROTECTED"],"resource_type":"git.repository","run_id":"run-governed-sdlc-001","span_id":"00f067aa0ba902b7","spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079600000000000","trace_id":"4bf92f3577b34da6a3ce929d0e0e4736","workflow_id":"workflow-build-feature"}
2 changes: 1 addition & 1 deletion conformance/fixtures/valid/usage.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"agent_id":"spiffe://example.test/agent/coder","cost":{"amount":0.0124,"currency":"USD","pricing_version":"provider-2026-08-01","source":"provider"},"event_id":"018f0f7d-7a13-7cc2-8000-000000000003","event_type":"usage.recorded","input_tokens":4200,"operation":"chat","output_tokens":812,"producer":{"name":"example-usage-adapter","version":"0.1.0"},"provider":"example-ai","request_model":"example-model-2","run_id":"run-governed-sdlc-001","scope":"model_call","spec_version":"0.1.0-alpha.4","time_unix_nano":"1787079590000000000","workflow_id":"workflow-build-feature"}
{"agent_id":"spiffe://example.test/agent/coder","cost":{"amount":0.0124,"currency":"USD","pricing_version":"provider-2026-08-01","source":"provider"},"event_id":"018f0f7d-7a13-7cc2-8000-000000000003","event_type":"usage.recorded","input_tokens":4200,"operation":"chat","output_tokens":812,"producer":{"name":"example-usage-adapter","version":"0.1.0"},"provider":"example-ai","request_model":"example-model-2","run_id":"run-governed-sdlc-001","scope":"model_call","spec_version":"0.1.0-alpha.5","time_unix_nano":"1787079590000000000","workflow_id":"workflow-build-feature"}
2 changes: 1 addition & 1 deletion docs/evidence-chain.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Evidence chain profile

Status: experimental `rfc8785-jcs-v1` for contract `0.1.0-alpha.4`.
Status: experimental `rfc8785-jcs-v1` for contract `0.1.0-alpha.5`.

Each accepted event is validated and privacy-checked before entering the chain.
Sequence numbers start at zero and represent acceptance order, not event time.
Expand Down
2 changes: 1 addition & 1 deletion docs/otel-genai-compatibility.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenTelemetry GenAI compatibility

Status: pinned compatibility assessment for AgentTrust contract `0.1.0-alpha.4`.
Status: pinned compatibility assessment for AgentTrust contract `0.1.0-alpha.5`.

The machine-readable matrix is [`compatibility/otel-genai.json`](../compatibility/otel-genai.json).
It is pinned to OpenTelemetry's dedicated GenAI semantic-conventions repository
Expand Down
Loading
Loading