agentrust-trace 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentrust_trace-0.1.0/.github/ISSUE_TEMPLATE/bug_report.md +17 -0
- agentrust_trace-0.1.0/.github/ISSUE_TEMPLATE/config.yml +8 -0
- agentrust_trace-0.1.0/.github/ISSUE_TEMPLATE/spec_change.md +25 -0
- agentrust_trace-0.1.0/.github/PULL_REQUEST_TEMPLATE.md +22 -0
- agentrust_trace-0.1.0/.github/workflows/ci.yml +32 -0
- agentrust_trace-0.1.0/.github/workflows/publish.yml +42 -0
- agentrust_trace-0.1.0/CHANGELOG.md +44 -0
- agentrust_trace-0.1.0/CHARTER.md +86 -0
- agentrust_trace-0.1.0/CODE_OF_CONDUCT.md +41 -0
- agentrust_trace-0.1.0/CONTRIBUTING.md +58 -0
- agentrust_trace-0.1.0/GOVERNANCE.md +53 -0
- agentrust_trace-0.1.0/LICENSE +37 -0
- agentrust_trace-0.1.0/MAINTAINERS.md +30 -0
- agentrust_trace-0.1.0/PKG-INFO +121 -0
- agentrust_trace-0.1.0/README.md +90 -0
- agentrust_trace-0.1.0/ROADMAP.md +48 -0
- agentrust_trace-0.1.0/SECURITY.md +42 -0
- agentrust_trace-0.1.0/docs/assets/icon.svg +26 -0
- agentrust_trace-0.1.0/examples/amd-sev-snp.json +53 -0
- agentrust_trace-0.1.0/examples/intel-tdx.json +54 -0
- agentrust_trace-0.1.0/examples/nvidia-h100.json +54 -0
- agentrust_trace-0.1.0/pyproject.toml +63 -0
- agentrust_trace-0.1.0/schema/trace-claim.json +243 -0
- agentrust_trace-0.1.0/spec/trace-v0.1.md +383 -0
- agentrust_trace-0.1.0/src/agentrust_trace/__init__.py +36 -0
- agentrust_trace-0.1.0/src/agentrust_trace/models.py +109 -0
- agentrust_trace-0.1.0/src/agentrust_trace/py.typed +0 -0
- agentrust_trace-0.1.0/src/agentrust_trace/schema/trace-v0.1.json +243 -0
- agentrust_trace-0.1.0/src/agentrust_trace/validate.py +37 -0
- agentrust_trace-0.1.0/tests/__init__.py +0 -0
- agentrust_trace-0.1.0/tests/test_models.py +61 -0
- agentrust_trace-0.1.0/tests/test_validate.py +44 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Incorrect, ambiguous, or contradictory normative text; schema errors; broken examples
|
|
4
|
+
labels: bug
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
**What is wrong**
|
|
8
|
+
<!-- Describe the problem. Quote the specific text or schema path. -->
|
|
9
|
+
|
|
10
|
+
**Spec section or file**
|
|
11
|
+
<!-- e.g. spec/trace-v0.1.md §3.2.1, schema/trace-claim.json #/properties/runtime -->
|
|
12
|
+
|
|
13
|
+
**Expected behavior**
|
|
14
|
+
<!-- What should it say or do? -->
|
|
15
|
+
|
|
16
|
+
**Impact**
|
|
17
|
+
<!-- Does this cause conformant implementations to produce invalid Trust Records, or verifiers to accept invalid ones? -->
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: Security vulnerabilities
|
|
4
|
+
url: https://github.com/agentrust-io/trace-spec/blob/main/SECURITY.md
|
|
5
|
+
about: Do not open public issues for security vulnerabilities. See SECURITY.md for the reporting process.
|
|
6
|
+
- name: Vendor platform annex interest
|
|
7
|
+
url: https://github.com/agentrust-io/trace-spec/issues/new?labels=vendor-annex&template=spec_change.md
|
|
8
|
+
about: Interested in co-authoring a platform mapping annex? Open an issue with the vendor-annex label.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Spec change proposal
|
|
3
|
+
about: Propose a normative change to the TRACE specification
|
|
4
|
+
labels: spec
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
**Spec section affected**
|
|
8
|
+
<!-- e.g. §3.1, §3.2.1, §4.1 -->
|
|
9
|
+
|
|
10
|
+
**Problem**
|
|
11
|
+
<!-- What is wrong or missing in the current spec? Be specific about the normative text. -->
|
|
12
|
+
|
|
13
|
+
**Proposed change**
|
|
14
|
+
<!-- What should the spec say instead? Paste the proposed normative text. -->
|
|
15
|
+
|
|
16
|
+
**Backward compatibility**
|
|
17
|
+
<!-- Would this change break existing conformant Trust Records or verifiers? -->
|
|
18
|
+
- [ ] Non-breaking (new optional field, informative addition)
|
|
19
|
+
- [ ] Breaking (removes or changes required field, changes wire format, changes algorithm set)
|
|
20
|
+
|
|
21
|
+
**Motivation**
|
|
22
|
+
<!-- Why does this matter? Link to deployments, regulatory requirements, or standards this enables. -->
|
|
23
|
+
|
|
24
|
+
**Related issues or PRs**
|
|
25
|
+
<!-- Optional -->
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
## What this changes
|
|
2
|
+
|
|
3
|
+
<!-- Describe the change. For spec changes, quote or link the normative text being modified. -->
|
|
4
|
+
|
|
5
|
+
## Type of change
|
|
6
|
+
|
|
7
|
+
- [ ] Editorial (typo, link fix, clarification — no normative effect)
|
|
8
|
+
- [ ] Non-breaking spec change (new optional field, new platform profile, informative addition)
|
|
9
|
+
- [ ] Breaking spec change (requires 14-day comment period and Project Lead sign-off)
|
|
10
|
+
- [ ] Schema change
|
|
11
|
+
- [ ] Example addition
|
|
12
|
+
|
|
13
|
+
## Spec section
|
|
14
|
+
|
|
15
|
+
<!-- Which section(s) of spec/trace-v0.1.md does this affect? -->
|
|
16
|
+
|
|
17
|
+
## Checklist
|
|
18
|
+
|
|
19
|
+
- [ ] DCO sign-off on all commits (`git commit -s`)
|
|
20
|
+
- [ ] `CHANGELOG.md` updated (for any normative change)
|
|
21
|
+
- [ ] Breaking changes marked with `<!-- CHANGED: #NNN — description -->` in spec text
|
|
22
|
+
- [ ] Backward compatibility statement included (for breaking changes)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: ["main", "feat/**", "fix/**"]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
python-version: ["3.11", "3.12"]
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- uses: actions/setup-python@v5
|
|
19
|
+
with:
|
|
20
|
+
python-version: ${{ matrix.python-version }}
|
|
21
|
+
|
|
22
|
+
- name: Install package and dev deps
|
|
23
|
+
run: pip install -e ".[dev]"
|
|
24
|
+
|
|
25
|
+
- name: Lint
|
|
26
|
+
run: ruff check src tests
|
|
27
|
+
|
|
28
|
+
- name: Type check
|
|
29
|
+
run: mypy src/agentrust_trace
|
|
30
|
+
|
|
31
|
+
- name: Test
|
|
32
|
+
run: pytest --cov=agentrust_trace --cov-report=term-missing
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
id-token: write # OIDC trusted publishing — no stored API token needed
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- uses: actions/setup-python@v5
|
|
19
|
+
with:
|
|
20
|
+
python-version: "3.11"
|
|
21
|
+
|
|
22
|
+
- name: Build wheel and sdist
|
|
23
|
+
run: |
|
|
24
|
+
pip install hatchling
|
|
25
|
+
python -m hatchling build
|
|
26
|
+
|
|
27
|
+
- uses: actions/upload-artifact@v4
|
|
28
|
+
with:
|
|
29
|
+
name: dist
|
|
30
|
+
path: dist/
|
|
31
|
+
|
|
32
|
+
publish:
|
|
33
|
+
needs: build
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
environment: pypi
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/download-artifact@v4
|
|
38
|
+
with:
|
|
39
|
+
name: dist
|
|
40
|
+
path: dist/
|
|
41
|
+
|
|
42
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the TRACE specification will be documented here.
|
|
4
|
+
|
|
5
|
+
Format: [Semantic Versioning](https://semver.org/). Spec versions follow `MAJOR.MINOR.PATCH`:
|
|
6
|
+
- **MAJOR**: breaking changes to wire format or required Trust Record fields
|
|
7
|
+
- **MINOR**: new optional fields, new platform profiles, new conformance levels
|
|
8
|
+
- **PATCH**: editorial fixes, clarifications, non-normative additions
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## [0.1.0] — 2026-06-23
|
|
13
|
+
|
|
14
|
+
Initial public draft. Announced at Confidential Computing Summit, San Francisco.
|
|
15
|
+
|
|
16
|
+
### Specification
|
|
17
|
+
|
|
18
|
+
- Trust Record logical schema (§3.1): `subject`, `model`, `runtime`, `policy`, `data_class`, `tool_transcript`, `build_provenance`, `appraisal`, `transparency`, `cnf`
|
|
19
|
+
- Wire format (§3.2): EAT/JWT and CBOR-COSE envelopes; profile URI `tag:agentrust.io,2026:trace-v0.1`
|
|
20
|
+
- Signing and key management (§3.2.1): ES256/ES384/EdDSA; four-layer key hierarchy; hash agility; revocation
|
|
21
|
+
- Verification protocol (§3.3): five-step offline verification, no issuer callback
|
|
22
|
+
- Standards composition (§4): RATS/EAT, SLSA, SPIFFE, SCITT, EAR, MCP, A2A, AIBOM, C2PA
|
|
23
|
+
- Hardware roots (§4.2): NVIDIA H100/Blackwell, Intel TDX, AMD SEV-SNP, Azure MAA, GCP Confidential Space, AWS Nitro
|
|
24
|
+
- Reference implementation (§5): cMCP Phase 1–3 roadmap
|
|
25
|
+
|
|
26
|
+
### Schema
|
|
27
|
+
|
|
28
|
+
- `schema/trace-claim.json`: JSON Schema (draft/2020-12) for Trust Record validation
|
|
29
|
+
|
|
30
|
+
### Examples
|
|
31
|
+
|
|
32
|
+
- `examples/amd-sev-snp.json`: AMD SEV-SNP Trust Record
|
|
33
|
+
- `examples/intel-tdx.json`: Intel TDX Trust Record
|
|
34
|
+
- `examples/nvidia-h100.json`: NVIDIA H100 Confidential Computing Trust Record
|
|
35
|
+
|
|
36
|
+
### Open questions
|
|
37
|
+
|
|
38
|
+
Seven open questions requiring founding-member input before v0.2 are documented in §7 of the spec.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Upcoming
|
|
43
|
+
|
|
44
|
+
See [ROADMAP.md](ROADMAP.md) for planned changes in v0.2 and v1.0.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Technical Charter — TRACE
|
|
2
|
+
|
|
3
|
+
**Proposed hosting**: CoSAI (Coalition for Secure AI) for the technical workstream; Linux Foundation entity hosting the Model Context Protocol for specification, IP, trademark, and conformance mark.
|
|
4
|
+
**Status**: Pre-acceptance draft — effective upon host organization acceptance.
|
|
5
|
+
**Version**: 0.1 (aligned with spec v0.1)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Mission
|
|
10
|
+
|
|
11
|
+
The TRACE project develops and maintains an open, portable, hardware-enforced governance record for AI agents and other confidential workloads. The mission is to make execution governance evidence verifiable by any party — without trusting the operator, without callbacks to the issuer, and without vendor lock-in to any cloud, silicon vendor, or AI provider.
|
|
12
|
+
|
|
13
|
+
## 2. Scope
|
|
14
|
+
|
|
15
|
+
The project includes:
|
|
16
|
+
|
|
17
|
+
- **The TRACE Specification** — normative text defining the Trust Record schema, wire format, signing and key management protocol, verification rules, hardware root profiles, and conformance requirements.
|
|
18
|
+
- **JSON Schema** — machine-readable schema for Trust Record validation.
|
|
19
|
+
- **Conformance test suite** — the canonical tests validating compliance (in [agentrust-io/trace-tests](https://github.com/agentrust-io/trace-tests)).
|
|
20
|
+
- **Vendor platform annexes** — informative, vendor-co-authored claim-mapping documents for each silicon and cloud attestation surface.
|
|
21
|
+
- **Reference examples** — example Trust Records for each supported hardware platform.
|
|
22
|
+
|
|
23
|
+
Out of scope: runtime policy enforcement engines, TEE platform SDKs, AI model governance beyond execution evidence, and hardware side-channel mitigations.
|
|
24
|
+
|
|
25
|
+
## 3. Technical Steering Committee
|
|
26
|
+
|
|
27
|
+
Upon host organization acceptance, governance transitions from the current Project Lead model to a Technical Steering Committee (TSC).
|
|
28
|
+
|
|
29
|
+
**Composition**: 3–9 members. No single organization may hold more than 40% of TSC seats. The founding Project Lead (Imran Siddique, OPAQUE Systems) holds one founding seat for the v1.0 ratification cycle.
|
|
30
|
+
|
|
31
|
+
**Election**: TSC members are elected annually by active contributors (at least one merged PR or accepted spec change in the preceding 12 months). Each contributor has one vote.
|
|
32
|
+
|
|
33
|
+
**Quorum**: Two-thirds of TSC members must participate for a vote to be valid.
|
|
34
|
+
|
|
35
|
+
**Decisions**:
|
|
36
|
+
- Spec errata and editorial changes: simple TSC majority
|
|
37
|
+
- Non-breaking spec versions (new optional fields, new platform profiles): two-thirds TSC majority + 14-day public comment
|
|
38
|
+
- Breaking spec versions (mandatory field changes, algorithm deprecations, wire format changes): two-thirds TSC majority + 30-day public comment + explicit backward-compatibility statement
|
|
39
|
+
|
|
40
|
+
**Meetings**: Monthly public TSC meeting. Notes published within 5 business days.
|
|
41
|
+
|
|
42
|
+
## 4. Intellectual Property Policy
|
|
43
|
+
|
|
44
|
+
All contributions must be made under the terms of [LICENSE](LICENSE). Contributors must sign commits with the Developer Certificate of Origin (DCO). No contribution may incorporate material covered by a patent the contributor is unwilling to license royalty-free to conforming implementations.
|
|
45
|
+
|
|
46
|
+
The specification text is licensed under CC BY 4.0. Schema, examples, and code are licensed under Apache 2.0 with Patent Promise (see LICENSE).
|
|
47
|
+
|
|
48
|
+
## 5. Trademark Policy
|
|
49
|
+
|
|
50
|
+
"TRACE" as a specification name and the "TRACE-conformant" conformance mark are currently held by OPAQUE Systems, Inc. Upon host organization acceptance, trademark ownership transfers to the host under their standard trademark policy.
|
|
51
|
+
|
|
52
|
+
Use of "TRACE-conformant" to describe an implementation is permitted only when that implementation passes the published conformance test suite for the version being claimed.
|
|
53
|
+
|
|
54
|
+
## 6. Conformance
|
|
55
|
+
|
|
56
|
+
An implementation may claim TRACE conformance only by passing the conformance test suite in [agentrust-io/trace-tests](https://github.com/agentrust-io/trace-tests) at the level being claimed (Level 0, 1, or 2). Conformance claims must reference the test suite version and include a link to a passing run.
|
|
57
|
+
|
|
58
|
+
Test suite changes that would invalidate previously conformant implementations require a spec version increment.
|
|
59
|
+
|
|
60
|
+
## 7. Relationship to other standards
|
|
61
|
+
|
|
62
|
+
TRACE profiles, and does not replace:
|
|
63
|
+
|
|
64
|
+
- **RATS / EAT (RFC 9711)** — wire envelope
|
|
65
|
+
- **SLSA** — build provenance
|
|
66
|
+
- **SPIFFE / SPIRE** — workload identity
|
|
67
|
+
- **SCITT** — transparency anchoring
|
|
68
|
+
- **EAR (draft-ietf-rats-ar4si)** — verifier appraisal
|
|
69
|
+
- **MCP / A2A** — agent execution surface
|
|
70
|
+
- **AIBOM (SPDX 3.0, CycloneDX 1.7)** — model component inventory
|
|
71
|
+
|
|
72
|
+
TRACE participates in IETF RATS, SCITT, and EAR working groups as a consuming profile, not a competing standard.
|
|
73
|
+
|
|
74
|
+
## 8. Transition timeline
|
|
75
|
+
|
|
76
|
+
| Milestone | Target |
|
|
77
|
+
|---|---|
|
|
78
|
+
| v0.1 draft — CC Summit announcement | June 2026 |
|
|
79
|
+
| CoSAI committee formation | Q3 2026 |
|
|
80
|
+
| MCP profile and A2A profile (v0.2) | Q3 2026 |
|
|
81
|
+
| Host organization submission | Q3 2026 |
|
|
82
|
+
| v1.0 ratification under TSC governance | 2027 |
|
|
83
|
+
|
|
84
|
+
## 9. Amendments
|
|
85
|
+
|
|
86
|
+
Amendments to this charter require a two-thirds TSC majority and a 30-day public comment period. Before host organization acceptance, amendments require Project Lead approval and 14-day notice to contributors.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We as contributors and maintainers pledge to make participation in the TRACE project a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
|
|
6
|
+
|
|
7
|
+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
|
|
8
|
+
|
|
9
|
+
## Our Standards
|
|
10
|
+
|
|
11
|
+
Examples of behavior that contributes to a positive environment:
|
|
12
|
+
|
|
13
|
+
- Demonstrating empathy and kindness toward other people
|
|
14
|
+
- Being respectful of differing opinions, viewpoints, and experiences
|
|
15
|
+
- Giving and gracefully accepting constructive feedback
|
|
16
|
+
- Accepting responsibility and apologizing to those affected by our mistakes
|
|
17
|
+
- Focusing on what is best not just for us as individuals, but for the overall community
|
|
18
|
+
|
|
19
|
+
Examples of unacceptable behavior:
|
|
20
|
+
|
|
21
|
+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
|
|
22
|
+
- Trolling, insulting or derogatory comments, and personal or political attacks
|
|
23
|
+
- Public or private harassment
|
|
24
|
+
- Publishing others' private information, such as a physical or electronic address, without their explicit permission
|
|
25
|
+
- Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
26
|
+
|
|
27
|
+
## Enforcement Responsibilities
|
|
28
|
+
|
|
29
|
+
Project maintainers are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
|
|
30
|
+
|
|
31
|
+
## Scope
|
|
32
|
+
|
|
33
|
+
This Code of Conduct applies within all project spaces — GitHub issues, pull requests, discussions, and any official project communication channels.
|
|
34
|
+
|
|
35
|
+
## Enforcement
|
|
36
|
+
|
|
37
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainers at the email addresses listed in [MAINTAINERS.md](MAINTAINERS.md). All complaints will be reviewed and investigated promptly and fairly.
|
|
38
|
+
|
|
39
|
+
## Attribution
|
|
40
|
+
|
|
41
|
+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Contributing to TRACE
|
|
2
|
+
|
|
3
|
+
TRACE is an open specification. Contributions are welcome in four areas: the specification text, the JSON Schema, the examples, and the conformance test suite (in [agentrust-io/trace-tests](https://github.com/agentrust-io/trace-tests)).
|
|
4
|
+
|
|
5
|
+
## DCO sign-off
|
|
6
|
+
|
|
7
|
+
All commits must include a Developer Certificate of Origin sign-off:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
git commit -s -m "fix: clarify runtime measurement format"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This adds `Signed-off-by: Your Name <you@example.com>`. PRs without DCO sign-off will not be merged.
|
|
14
|
+
|
|
15
|
+
## Types of contribution
|
|
16
|
+
|
|
17
|
+
### Spec changes (normative text)
|
|
18
|
+
|
|
19
|
+
Changes to `spec/trace-v0.1.md` that affect what implementations must do.
|
|
20
|
+
|
|
21
|
+
1. Open a GitHub issue using the **Spec change proposal** template. Describe the problem, the proposed change, and the spec section affected.
|
|
22
|
+
2. Allow 5 business days for comment. Changes touching wire format, cryptographic algorithms, or Trust Record required fields require 14 days.
|
|
23
|
+
3. Submit a PR. Mark changed normative text with an HTML comment: `<!-- CHANGED: #NNN — description -->`.
|
|
24
|
+
4. Update `CHANGELOG.md`.
|
|
25
|
+
5. Breaking changes (backward-incompatible field removals, algorithm deprecations) require Project Lead approval and an explicit backward-compatibility statement.
|
|
26
|
+
|
|
27
|
+
### Schema changes (schema/trace-claim.json)
|
|
28
|
+
|
|
29
|
+
Schema changes must track normative spec changes. A schema PR without a corresponding spec PR (or reference to a merged one) will not be merged.
|
|
30
|
+
|
|
31
|
+
### Example additions
|
|
32
|
+
|
|
33
|
+
New hardware provider examples in `examples/` are welcome. Follow the existing format: real field names, truncated digests with `...` suffix, a `_comment` field explaining the hardware platform.
|
|
34
|
+
|
|
35
|
+
### Editorial changes
|
|
36
|
+
|
|
37
|
+
Typos, broken links, and clarity improvements can go straight to a PR without a prior issue.
|
|
38
|
+
|
|
39
|
+
## Vendor profile annexes
|
|
40
|
+
|
|
41
|
+
TRACE will publish vendor-co-authored claim-mapping annexes (§4.4 of the spec) as informative companions to v1.0. If you represent a silicon or cloud attestation vendor and want to author the annex for your platform, open an issue with the `vendor-annex` label.
|
|
42
|
+
|
|
43
|
+
## Review timeline
|
|
44
|
+
|
|
45
|
+
- Editorial PRs: 3 business days
|
|
46
|
+
- Non-breaking spec changes: 7 business days
|
|
47
|
+
- Breaking or wire-format changes: 14 business days + Project Lead sign-off
|
|
48
|
+
|
|
49
|
+
## Style
|
|
50
|
+
|
|
51
|
+
- Normative requirements use RFC 2119 keywords (MUST, SHOULD, MAY) in uppercase.
|
|
52
|
+
- Non-normative text does not use uppercase RFC 2119 keywords.
|
|
53
|
+
- Field names in `code` formatting.
|
|
54
|
+
- Diagrams in ASCII (no binary image files in the spec directory).
|
|
55
|
+
|
|
56
|
+
## License
|
|
57
|
+
|
|
58
|
+
By contributing you agree that your contributions will be licensed under the terms in [LICENSE](LICENSE).
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Governance
|
|
2
|
+
|
|
3
|
+
## Roles
|
|
4
|
+
|
|
5
|
+
### Contributor
|
|
6
|
+
|
|
7
|
+
Anyone who submits a PR, files an issue, or participates in discussion. No formal appointment required. Must follow the [Code of Conduct](CODE_OF_CONDUCT.md) and sign commits with DCO.
|
|
8
|
+
|
|
9
|
+
### Reviewer
|
|
10
|
+
|
|
11
|
+
Trusted contributors with triage and review rights. Can approve PRs but cannot merge breaking spec changes without Project Lead approval.
|
|
12
|
+
|
|
13
|
+
**Advancement**: 3+ merged substantive PRs. Nominated by any Maintainer, confirmed by Project Lead.
|
|
14
|
+
|
|
15
|
+
### Maintainer
|
|
16
|
+
|
|
17
|
+
Full merge rights. Responsible for reviewing PRs in their area within 7 business days. See [MAINTAINERS.md](MAINTAINERS.md).
|
|
18
|
+
|
|
19
|
+
**Advancement**: Active Reviewer for 60+ days, 5+ merged PRs, demonstrated judgment on spec design questions. Nominated by any Maintainer, confirmed by Project Lead.
|
|
20
|
+
|
|
21
|
+
### Project Lead
|
|
22
|
+
|
|
23
|
+
Final decision authority on specification changes, conformance requirements, AAIF submission scope, and Maintainer appointments. Currently: Imran Siddique (OPAQUE Systems).
|
|
24
|
+
|
|
25
|
+
**Succession**: If the Project Lead is unavailable for 30+ days without notice, active Maintainers vote to appoint an interim lead.
|
|
26
|
+
|
|
27
|
+
## Decision-making
|
|
28
|
+
|
|
29
|
+
**Editorial changes** (typos, broken links, clarifications that do not affect normative requirements): Maintainer review + merge.
|
|
30
|
+
|
|
31
|
+
**Non-breaking spec changes** (new optional fields, new OPTIONAL conformance behavior, informative additions): open issue, 5-day comment period, Maintainer review, merge.
|
|
32
|
+
|
|
33
|
+
**Breaking spec changes** (backward-incompatible field changes, algorithm additions to the required set, conformance level redefinition): open issue, 14-day comment period, no unresolved objections from Maintainers, Project Lead sign-off.
|
|
34
|
+
|
|
35
|
+
**Wire format changes**: treated as breaking regardless of backward-compatibility argument.
|
|
36
|
+
|
|
37
|
+
**Voting**: If consensus cannot be reached, Maintainers vote. Simple majority for non-breaking changes; two-thirds for breaking changes. Project Lead has tie-breaking vote.
|
|
38
|
+
|
|
39
|
+
## Conflict of interest
|
|
40
|
+
|
|
41
|
+
Maintainers must disclose commercial interest in a proposal before participating in its review. Disclosed conflicts do not disqualify a Maintainer from voting but must be on record in the PR or issue.
|
|
42
|
+
|
|
43
|
+
## Vendor annexes
|
|
44
|
+
|
|
45
|
+
Vendor-co-authored platform-mapping annexes (§4.4 of the spec) are informative. They are reviewed by the vendor author and one TRACE Maintainer. Annexes do not require the full spec-change process.
|
|
46
|
+
|
|
47
|
+
## Foundation transition
|
|
48
|
+
|
|
49
|
+
TRACE is targeting co-hosting under CoSAI (technical workstream) and the Linux Foundation entity hosting MCP (spec, IP, trademark, conformance mark). On acceptance, governance transitions to a Technical Steering Committee (TSC) as defined in [CHARTER.md](CHARTER.md). Until then, this document is the governance authority.
|
|
50
|
+
|
|
51
|
+
## Amendments
|
|
52
|
+
|
|
53
|
+
Amendments to this document require a PR, 14-day comment period, and Project Lead approval.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
The TRACE specification and this repository use a dual license:
|
|
2
|
+
|
|
3
|
+
SPECIFICATION TEXT (spec/*.md, README.md, CHANGELOG.md)
|
|
4
|
+
=========================================================
|
|
5
|
+
Creative Commons Attribution 4.0 International (CC BY 4.0)
|
|
6
|
+
https://creativecommons.org/licenses/by/4.0/
|
|
7
|
+
|
|
8
|
+
You are free to share and adapt the specification text for any purpose,
|
|
9
|
+
including commercial, provided you give appropriate credit, link to the
|
|
10
|
+
license, and indicate if changes were made.
|
|
11
|
+
|
|
12
|
+
SCHEMA, EXAMPLES, AND CODE (schema/, examples/, .github/)
|
|
13
|
+
==========================================================
|
|
14
|
+
Apache License, Version 2.0
|
|
15
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
|
|
17
|
+
Copyright 2026 OPAQUE Systems, Inc.
|
|
18
|
+
|
|
19
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
20
|
+
you may not use these files except in compliance with the License.
|
|
21
|
+
You may obtain a copy of the License at
|
|
22
|
+
|
|
23
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
24
|
+
|
|
25
|
+
Unless required by applicable law or agreed to in writing, software
|
|
26
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
27
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
28
|
+
See the License for the specific language governing permissions and
|
|
29
|
+
limitations under the License.
|
|
30
|
+
|
|
31
|
+
PATENT PROMISE
|
|
32
|
+
==============
|
|
33
|
+
OPAQUE Systems, Inc. grants a royalty-free, worldwide, non-exclusive
|
|
34
|
+
license under any patent claims it controls that are necessarily infringed
|
|
35
|
+
by a conforming implementation of this specification, for the purpose of
|
|
36
|
+
implementing or operating a product that conforms to this specification.
|
|
37
|
+
This promise applies to v0.1 and all subsequent versions of TRACE.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Maintainers
|
|
2
|
+
|
|
3
|
+
## Project Lead
|
|
4
|
+
|
|
5
|
+
| Name | Affiliation | GitHub | Contact |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| Imran Siddique | OPAQUE Systems | @imraan | imran.siddique@opaque.co |
|
|
8
|
+
|
|
9
|
+
The Project Lead has final decision authority on specification changes, AAIF/CoSAI submission scope, conformance requirements, and Maintainer appointments.
|
|
10
|
+
|
|
11
|
+
## Spec Editors
|
|
12
|
+
|
|
13
|
+
| Name | Affiliation | Area |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Rishabh Poddar | OPAQUE Systems | Specification, TEE profiles |
|
|
16
|
+
| Aaron Fulkerson | OPAQUE Systems | Specification, governance |
|
|
17
|
+
|
|
18
|
+
## How to become a maintainer
|
|
19
|
+
|
|
20
|
+
**Reviewer**: 3+ merged PRs with substantive contributions. Nominated by a Maintainer, confirmed by Project Lead.
|
|
21
|
+
|
|
22
|
+
**Maintainer**: Active Reviewer for 60+ days, 5+ merged PRs, demonstrated judgment on spec design questions. Nominated by any Maintainer, confirmed by Project Lead.
|
|
23
|
+
|
|
24
|
+
We are actively recruiting Maintainers from organizations outside OPAQUE Systems, particularly from silicon vendors, cloud providers, and regulated-industry deployers. If you are contributing to TRACE and want to take on a formal role, open an issue tagged `maintainer-interest`.
|
|
25
|
+
|
|
26
|
+
## Emeritus
|
|
27
|
+
|
|
28
|
+
Maintainers who step back from active review are listed here with thanks.
|
|
29
|
+
|
|
30
|
+
_(none yet)_
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentrust-trace
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: TRACE v0.1 — hardware-attested governance records for AI agents
|
|
5
|
+
Project-URL: Homepage, https://github.com/agentrust-io/trace-spec
|
|
6
|
+
Project-URL: Repository, https://github.com/agentrust-io/trace-spec
|
|
7
|
+
Project-URL: Issues, https://github.com/agentrust-io/trace-spec/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/agentrust-io/trace-spec/blob/main/CHANGELOG.md
|
|
9
|
+
License: Apache-2.0
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: ai-governance,attestation,confidential-computing,eat,rats,tee,trace
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
|
+
Classifier: Topic :: Security
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Requires-Dist: jsonschema>=4.20
|
|
23
|
+
Requires-Dist: pydantic>=2.0
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
26
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
27
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: ruff>=0.4; extra == 'dev'
|
|
29
|
+
Requires-Dist: types-jsonschema; extra == 'dev'
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
<p align="center">
|
|
33
|
+
<img src="docs/assets/icon.svg" width="96" height="96" alt="TRACE"/>
|
|
34
|
+
</p>
|
|
35
|
+
|
|
36
|
+
# TRACE — Trust Runtime Attestation and Compliance Evidence
|
|
37
|
+
|
|
38
|
+
An open specification for hardware-attested AI agent governance records. TRACE defines the format, anchoring protocol, and verification rules for cryptographically provable evidence that an AI agent ran under a specific policy, in a verified hardware environment, on classified data, invoking identified tools — bound into a single signed artifact rooted in silicon attestation.
|
|
39
|
+
|
|
40
|
+
## What a TRACE Trust Record Is
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"eat_profile": "tag:agentrust.io,2026:trace-v0.1",
|
|
45
|
+
"iat": 1750676142,
|
|
46
|
+
"subject": "spiffe://trust.example.org/agent/payments-processor/prod",
|
|
47
|
+
"model": {
|
|
48
|
+
"provider": "anthropic",
|
|
49
|
+
"model_id": "claude-sonnet-4-6",
|
|
50
|
+
"version": "20251001",
|
|
51
|
+
"weights_digest": "sha256:a3f8d2c1..."
|
|
52
|
+
},
|
|
53
|
+
"runtime": {
|
|
54
|
+
"platform": "amd-sev-snp",
|
|
55
|
+
"measurement": "sha384:c9e4b1d2e3f4...",
|
|
56
|
+
"rim_uri": "https://kdsintf.amd.com/vcek/v1/..."
|
|
57
|
+
},
|
|
58
|
+
"policy": {
|
|
59
|
+
"bundle_hash": "sha256:b2c3d4e5...",
|
|
60
|
+
"enforcement_mode": "enforce",
|
|
61
|
+
"version": "1.2.0"
|
|
62
|
+
},
|
|
63
|
+
"data_class": "confidential",
|
|
64
|
+
"tool_transcript": {
|
|
65
|
+
"hash": "sha256:d4e5f6a7...",
|
|
66
|
+
"call_count": 3
|
|
67
|
+
},
|
|
68
|
+
"build_provenance": {
|
|
69
|
+
"slsa_level": 2,
|
|
70
|
+
"builder": "https://github.com/slsa-framework/slsa-github-generator",
|
|
71
|
+
"digest": "sha256:e5f6a7b8..."
|
|
72
|
+
},
|
|
73
|
+
"appraisal": {
|
|
74
|
+
"status": "affirming",
|
|
75
|
+
"verifier": "https://trust-authority.example.org",
|
|
76
|
+
"policy_ref": "https://trust-authority.example.org/policy/agent-v1"
|
|
77
|
+
},
|
|
78
|
+
"transparency": "https://registry.agentrust.io/claim/trace-2026-06-23T09:15:42Z-f2a8d1",
|
|
79
|
+
"cnf": {
|
|
80
|
+
"jwk": {"kty": "EC", "crv": "P-256", "x": "MEkwEw...", "y": "..."}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The record is a single EAT envelope (RFC 9711). Each field is independently verifiable. No callback to the issuer is required.
|
|
86
|
+
|
|
87
|
+
## Specification
|
|
88
|
+
|
|
89
|
+
- [`spec/trace-v0.1.md`](spec/trace-v0.1.md) — full specification
|
|
90
|
+
- [`schema/trace-claim.json`](schema/trace-claim.json) — JSON Schema
|
|
91
|
+
- [`examples/`](examples/) — example Trust Records for Intel TDX, AMD SEV-SNP, and NVIDIA H100
|
|
92
|
+
|
|
93
|
+
## Standards composition
|
|
94
|
+
|
|
95
|
+
TRACE profiles existing standards rather than replacing them:
|
|
96
|
+
|
|
97
|
+
| Primitive | Role in TRACE |
|
|
98
|
+
|---|---|
|
|
99
|
+
| RATS / EAT (RFC 9711) | Wire envelope and claim model |
|
|
100
|
+
| SLSA Provenance v1.0 | Build-time provenance (`build_provenance`) |
|
|
101
|
+
| SPIFFE SVID | Workload identity (`subject`) |
|
|
102
|
+
| SCITT | Append-only transparency anchoring (`transparency`) |
|
|
103
|
+
| EAR (draft-ietf-rats-ar4si) | Verifier appraisal output (`appraisal`) |
|
|
104
|
+
| MCP / A2A | Agent tool-call transcript surface (`tool_transcript`) |
|
|
105
|
+
| AIBOM (SPDX 3.0 / CycloneDX 1.7) | Model component inventory (`model`) |
|
|
106
|
+
|
|
107
|
+
## Reference implementation
|
|
108
|
+
|
|
109
|
+
[agentrust-io/cmcp](https://github.com/agentrust-io/cmcp) — Confidential MCP Gateway. Hardware-attested policy enforcement at the MCP tool-call boundary on Intel TDX, AMD SEV-SNP, and NVIDIA H100/Blackwell.
|
|
110
|
+
|
|
111
|
+
## Registry
|
|
112
|
+
|
|
113
|
+
A public append-only Merkle registry of TRACE Trust Record anchors: [agentrust-io/trace-registry](https://github.com/agentrust-io/trace-registry).
|
|
114
|
+
|
|
115
|
+
## Status
|
|
116
|
+
|
|
117
|
+
Draft v0.1 — publishing at Confidential Computing Summit, San Francisco, June 23 2026. Targeting submission to the [Agentic AI Foundation (AAIF)](https://agenticai.foundation) under the Linux Foundation.
|
|
118
|
+
|
|
119
|
+
## License
|
|
120
|
+
|
|
121
|
+
Creative Commons Attribution 4.0 International (CC BY 4.0)
|