Skip to content

test(conformance): add delegation-link action evidence fixtures #36

Description

@carloshvp

Context

The A2A delegation-link field has landed in agentrust-io/trace-spec#80, and the public delegation verifier API has landed in agentrust-io/agent-manifest#218. cA2A also now has a conformance suite from #28.

A useful follow-up would be fixture-style conformance coverage that connects these pieces to offline-verifiable action evidence:

delegation block -> public delegation verifier -> TRACE/action receipt evidence

This would line up with the action receipt discussion in agentrust-io/trace-spec#66 and the embodied action receipt example in agentrust-io/examples#36.

Proposed fixture cases

MUST-level cases:

  • valid root -> delegated child TRACE record, with delegation.parent_record_hash matching the canonical parent record hash
  • valid delegation.credential_id that resolves through the public agent-manifest delegation verifier
  • parent record present but canonical hash mismatch
  • missing parent record for a non-root delegated hop
  • delegation credential id unknown to the verifier
  • delegation credential signature invalid
  • delegation credential expired or not yet valid
  • delegatee/session/channel binding mismatch
  • requested action outside the effective delegated scope
  • valid delegation chain with local policy denial, reported as valid provenance plus authorization/policy denial rather than malformed evidence

SHOULD-level cases:

  • multi-hop attenuation where each hop narrows scope
  • attempted scope widening at an intermediate hop
  • valid negative outcome, such as delegated action rejected by the controller, treated as useful evidence rather than verifier failure
  • external subject identifier/digest present for cross-system resolution, but not dereferenced by base TRACE verification

Boundary

The verifier should distinguish three classes of result:

  1. provenance invalid: malformed delegation block, bad hash, unknown credential, invalid signature, broken binding
  2. authorization invalid: valid delegation evidence, but requested action is outside delegated scope
  3. valid negative outcome: delegation/action was well evidenced, but local policy/controller denied or rejected the action

That boundary keeps cA2A compatible with embodied/action evidence: the system can prove what was authorized and attempted without claiming that the physical or business-world outcome succeeded.

I can help with the fixture shape or a follow-up PR once the preferred fixture location/API surface is clear.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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