Skip to content

Define and implement authenticated responses bound to an attested request #188

Closed

Description

@imran-siddique

Parent tracker: agentrust-io/.github#41

Problem and scope

The reference transport authenticates the inbound handoff but does not bind its returned provenance record to the appraised callee and exact request. At 0d23276, send_task returns a parsed HTTP 200 body without such verification. The current response contains provenance, not confidential task output; response sealing was deliberately withdrawn in docs/spec/mutual-attestation.md. This is a proposal to extend that documented boundary.

Define the transport-independent response contract first, then implement one reference adapter. Preserve the distinction between readable authenticated evidence and confidential output.

Acceptance criteria

  • Specify the responder key's binding to the appraised workload, protocol version, caller/recipient, exact request commitment, session/challenge, response kind and response contents. Specify canonical bytes and domain separation.
  • Define authenticated success, authenticated denial, unauthenticated transport failure and unknown execution outcome separately. No retry may imply non-execution.
  • A relying party requiring authenticated responses rejects missing proofs, changed bodies/status, wrong peer/request/session/recipient and replay; legacy behavior remains explicitly lower assurance.
  • Authenticate before consuming result content. If confidential outputs are introduced, separately require recipient-bound encryption and metadata disclosure policy.
  • Add positive twins and negative vectors, a real-HTTP integration test and a causal test that fails when response verification is removed.
  • Document key rotation, replay-state lifetime, concurrent requests, wire compatibility and limits. No proof of business completion follows from a signed acknowledgement.

Relationships and first slice

Related: #168 owns signed execution lineage; this issue does not solve history substitution. agentrust-io/cmcp#567 owns MCP task/callback evidence. Merged PR #187 contains the handoff diagnostics and bounded response-authentication implementation.

First slice: document the exact current behavior and a response-binding acceptance matrix. Do not select a cryptographic wire format implicitly through a fixture.

Progress

The implementation merged in #187 on September 18, 2026. Hosted checks passed at 4f2fcab; review confirmation of the final integration remains open. The profile authenticates readable responses to the live caller; it does not encrypt outputs, sign lineage, deduplicate server execution or establish fresh hardware evidence.

Activity

  1. imran-siddique commented on Sep 23, 2026

    @imran-siddique
    MemberAuthor

    @Qiang-Xu, #187 merged September 18. Your approval covered 4f2fcab; the subsequent merge commit fc22c64 resolved an import conflict involving response authentication and delegation revocation. Could you confirm that integration? Keeping this tracker open pending that review.

  2. Qiang-Xu commented on Oct 6, 2026

    @Qiang-Xu
    Collaborator

    Hey @imran-siddique , confirmed, we're good.

  3. imran-siddique commented on Oct 7, 2026

    @imran-siddique
    MemberAuthor

    Thanks @Qiang-Xu. Closing: #187 delivered this, and the fc22c64 integration is confirmed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions