docs: add Signet to Tutorial 33 cross-implementation table#1201
docs: add Signet to Tutorial 33 cross-implementation table#1201imran-siddique merged 1 commit intomicrosoft:mainfrom
Conversation
|
Thanks @willamhou. The wire contract you describe (JCS canonical payload, Ed25519 signature, SHA-256 parent hash, operator-signed + authority-chain modes) maps directly onto draft-farley-acta-signed-receipts-01. Two quick questions that might save us all some fragmentation:
Entirely fine to ship this PR as-is if Signet is its own thing. Just want to flag the convergence opportunity before we end up with two names for one spec. The five-implementation count (sb-runtime, protect-mcp, protect-mcp-adk, aps-governance-hook, plus Signet if conformant) is the procurement-credibility line I'd like the draft to cross at -02. See also VeritasActa/agt-integration-profile for the conformance surface, which is where an additional implementer can self-certify via PR. |
|
Thanks @tomjwxf. The crypto primitives are identical (JCS RFC 8785, Ed25519, SHA-256 parent hash) — the gap is wire format only: field names and signature encoding differ (Signet uses prefixed base64; the draft uses hex). An adapter is thin. We can build one. Three paths, roughly in order of speed:
Happy to open a PR on agt-integration-profile this week. Let us know what -02's conformance bar looks like for partial implementers. |
Pre-fills a conformance mapping for Signet (Prismer-AI/signet) as a
template the maintainer can confirm, correct, or extend. Avoids
blocking conformance on a cold start from zero.
Populated from the public Signet source at
crates/signet-core/src/{receipt.rs, canonical.rs, sign.rs}:
- FIELD-MAPPING.md: Signet -> draft-02 field-by-field mapping with
[CONFIRM] / [FILL] markers on each inferred entry.
- DEVIATIONS.md: four documented wire-format deltas (envelope shape,
signature prefix, chain linkage by ID vs hash, key identifier
format) with adapter guidance for each.
- ADAPTER.md: pseudocode sketch of a thin Signet -> draft-02 shim in
co-signer mode, plus open questions for the maintainer.
- README.md: what is here and what the maintainer needs to do to
turn this template into a conformance claim.
Updates IMPLEMENTATIONS.md: Signet row moves from "Under review" to
"Self-certification template staged" with a pointer to the template
directory.
Context: microsoft/agent-governance-toolkit#1201 (Tutorial 33 cross-
implementation table addition) triggered the conformance conversation
with @willamhou. The template is an artifact that lowers Signet-side
activation energy from "design a mapping from scratch" to "confirm or
correct a pre-filled mapping."
|
Thanks William! The crypto shared ground you describe (JCS RFC 8785, Ed25519, SHA-256) matches exactly; the gap is wire format, which is adapter-addressable. Path 1 is the right opening move. Instead of waiting on me to push, I pre-filled a conformance template so you have a canvas to work against: VeritasActa/agt-integration-profile#1 What's in it: FIELD-MAPPING.md - every Signet receipt field mapped onto draft-02, populated from the public Signet source at crates/signet-core/src/. Entries with [CONFIRM] are my best guesses that need your sign-off; entries with [FILL] are things I could not infer from the public code. You can edit the PR directly or comment on the inferences, whichever is easier. Once you sign off on the mapping (or counter-propose where I got it wrong), I merge, update the IMPLEMENTATIONS.md row to "Self-certified", and add a Signet entry to the draft-02 Implementation Status appendix when it goes to datatracker this week. Re Path 3 (native alignment): the draft already carries OPTIONAL fields for action_ref (cross-engine correlation anchor, direct match to your params_hash), policy_digest, attestation_mode, holder_binding, and extended decision enums. If any of those cover what you meant by "richer action payloads", aligning on them in a future Signet release is the cheapest route to native interop. Happy to walk through field-by-field in the template PR or wherever - and keen to contribute to Signet too if anything I can do to be helpful. Tutorial 33 independently a great addition to the tutorial regardless - thanks! Best, |
imran-siddique
left a comment
There was a problem hiding this comment.
Looks good — factual addition to the cross-implementation table. Signet's identity-binding modes (operator-signed v1/v2 and authority-chain v4) are correctly categorized.
Summary
Follows up on the merged Signet attestation example (#1196). Signet uses the same wire contract: JCS canonical payload, Ed25519 signature, SHA-256 parent hash.
Changes
signetrow to §6 implementation table (Rust / Python / TypeScript, bilateral co-signing + delegation chains)signetto both identity-binding mode descriptionsTest plan
Generated with Claude Code
via Happy