Skip to content

feat: add TraceAGTAdapter to eliminate AGT integration boilerplate #64

Description

@imran-siddique

Summary

docs/integration/agt.md documents AGT → TRACE wiring but every consumer must write ~50 lines of manual boilerplate to connect govern() output to TraceConfig. A first-party TraceAGTAdapter class eliminates this and turns the Level 0 → Level 2 upgrade path into a one-liner for any AGT user.

What to add

  1. New file: src/agentrust_trace/adapters/agt.pyTraceAGTAdapter class that wraps govern() + TraceConfig setup.
  2. Public export: from agentrust_trace.adapters import TraceAGTAdapter.
  3. Handles: Level 0 (software-only), Level 1 (TPM), Level 2 (SEV-SNP/TDX) — auto-detected from AGT's TEE provider.
  4. Tutorial: docs/tutorials/agt-adapter.md showing the one-line upgrade path.
  5. Update docs/integration/agt.md to reference the adapter as the recommended path.

Interface

from agentrust_trace.adapters import TraceAGTAdapter

adapter = TraceAGTAdapter(tee_provider="auto")
trace_record = adapter.from_govern_result(govern_result, session_id="s1")

Why

The biggest friction for AGT users adopting hardware governance is the wiring cost. A first-party adapter removes that friction entirely. Every AGT user becomes a natural TRACE adopter.

Acceptance criteria

  • TraceAGTAdapter in src/agentrust_trace/adapters/agt.py
  • Exported from agentrust_trace.adapters
  • Handles all three TEE levels (software-only, TPM, SEV-SNP/TDX)
  • Unit tests: each TEE level, invalid govern result, missing fields
  • Integration test: full round-trip AGT govern → TraceAGTAdapter → verify_trace_claim
  • docs/tutorials/agt-adapter.md
  • docs/integration/agt.md updated

Related

  • Part of AGT dependency gap analysis: Platform/agt-dependency-gaps.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions