Pre-action authority receipt for multi-agent delegated work #7752
Replies: 27 comments 3 replies
|
Small implementation note: I added a scenario-specific benchmark route for this multi-agent handoff case so the dry run maps to workflow close, persistent memory write, and customer data export. Command: npm run benchmark:agent-authority -- --dry-run --json --source=github_discussion --campaign=agent_authority_week --surface=autogen_multi_agent_handoffThe benchmark output then preserves the same source/campaign/surface into |
|
This is exactly what we built. In AgentGate, every authorization decision generates a Merkle-chained receipt sealed before execution — SHA-256, append-only. The receipt precedes what it authorizes, not documents it afterward. For multi-agent delegated work: delegation depth is factored into the trust score — an action delegated 3 hops deep has lower default trust than a direct action, regardless of each hop's credentials. |
|
The benchmark shape maps closely to what
A deterministic content-addressed handle for the exact runtime payload at the moment it crystallises. The pre-execution compliance receipt (ALLOW / REFER / DENY) is issued against that hash — so any mutation between authority-grant and execution invalidates the receipt. State machine: Specified in §4 of AlgoVoi (chopmob-cloud) - chopmob@gmail.com - Acquisition enquiries: https://docs.algovoi.co.uk/acquisition |
|
A complementary boundary may help this benchmark: keep the pre-action authority receipt and the post-work receipt as different artifacts linked by a stable reference. The authority receipt answers “was this exact action allowed before execution?” A work receipt answers “what human/agent work unit was recorded after completion?” Conflating them would let post-hoc evidence masquerade as authorization. I implemented the latter in AIPOU as A clean AutoGen handoff could carry both:
Optional validator-approved AIPOU claims can reward the human operating the agents later; they are not authority evidence and do not imply price or guaranteed reward. Would linking these two artifact classes be useful as a benchmark case? If so, I would be glad to adapt AIPOU's negative fixtures, and a test or repository star would help us see whether agent builders want this boundary. |
|
The pre-action authority vs post-work receipt separation is exactly the boundary our governance block draws. The admission_invariant captures the pre-action authorization — was this exact action allowed before execution — and the canonical_envelope seals it before the action runs. AIPOU issuer_asserted + aipou-receipt-v1 with deterministic factId and fail-closed fixtures maps well onto our anchoring_invariant chain. The two-receipt model (authorityReceiptId before, workReceiptId after) is the right architecture. A single receipt that tries to cover both inevitably conflates pre-authorization with post-hoc evidence. |
|
Liuyanfeng1234 thank you — that confirms the interop boundary we wanted to test. I implemented the link in AIPOU as a separate, versioned cross-artifact object rather than merging the receipts:
The validator now fails closed on phase inversion, authority/work self-reference, mismatched work facts, and claim fields presented as authority. All 7 lifecycle fixtures pass. Implementation: 0xddneto/AI-Proof-of-Us@7fc1a1d Would you be open to exchanging one positive fixture and two negative fixtures against your |
|
One concrete readiness update for the fixture exchange: AIPOU is now reproducibly distributed and independently inspectable.
The architecture is unchanged: Fixtures: https://github.com/0xddneto/AI-Proof-of-Us/tree/main/examples/lifecycle-adapter Liuyanfeng1234, the positive fixture and two fail-closed mismatch cases are ready whenever you want to compare them against |
|
test |
|
AIPOU reaching npm with SLSA provenance and MCP Registry verification is a concrete milestone. The two-receipt model being independently distributable and inspectable makes the fixture exchange testable across implementations. This gives the ecosystem a reference implementation for the pre-action authority receipt boundary: compact digest-bound references in the transport layer, independently verifiable artifacts in the governance layer. |
|
Liuyanfeng1234 thank you. I agree with that transport/governance split. I have now made the digest-bound transport side executable as well. Commit 39b55b9 adds a scheme-neutral external artifact link with canonical SHA-256 vectors, optional Ed25519 signing, mutation/privacy failure cases, and two non-AIPOU examples. The existing Implementation: The lifecycle adapter now has 12 passing fixtures: For the cross-implementation exchange, the next concrete step can be one AutoGen |
|
the receipt schema discussion here is solid but I want to flag something practical that gets lost in the governance design. a receipt proves authority existed before the action. it does not prevent the action from happening without one. the gap between "can prove authority" and "cannot act without authority" is enforcement, and that's an orchestration problem, not a receipt format problem. in practice, the enforcement boundary that works is physical isolation. if the agent runs in a git worktree on a throwaway branch with no push access to main, it physically cannot merge code without going through a PR review. the PR becomes the authority checkpoint. receipts document what happened at that checkpoint, but the worktree isolation is what makes the checkpoint unavoidable. the reason this matters for the benchmark: a receipt-based benchmark tests "did the system produce the right artifact?" but misses "could the agent have bypassed the system entirely?" a workflow that produces perfect receipts but also lets agents push directly to main has the governance layer but not the enforcement layer. for multi-agent delegated work specifically, the delegation chain needs both. the orchestrator enforces the boundary (agent A can't merge, only the orchestrator can). the receipt chain documents who authorized what across the delegation. without enforcement, the receipt is a post-mortem tool. with enforcement, it's an access control mechanism. the pre/post receipt split 0xddneto (@0xddneto) and Liuyanfeng1234 are working on is the right shape. I'd push for adding an enforcement assertion to the benchmark too: can the agent take the action without producing a pre-action receipt? if yes, the system has a hole the receipt format can't fix. |
|
Tamish Mhatre (@tamish560) thank you. This is the missing boundary: a receipt can document authority without making the authorized path unavoidable. I implemented your recommendation in AIPOU as a separate benchmark artifact rather than upgrading the receipt's trust:
Implementation and 18 passing lifecycle fixtures: This keeps three distinct questions: was the action authorized, was the authorized path actually enforced at this control point, and what work was recorded afterward. For the benchmark, would you keep |
|
start with the small vocabulary. a generic kind field means every implementer invents their own taxonomy and the benchmark can't compare across implementations. protected_branch, sandbox_boundary, and orchestrator_policy map cleanly to the three layers where enforcement actually happens: git-level (branch protection), runtime-level (worktree or container isolation), and application-level (orchestrator rules). those three cover the real-world cases without being so abstract that nobody agrees on what they mean. keep the field extensible though. allow unknown values with a custom prefix so the schema doesn't break when someone needs a fourth category. the benchmark can score known kinds against fixed test vectors and treat custom kinds as opt-in. |
|
Tamish Mhatre (@tamish560) one important correction and follow-up: the first implementation validated a digest-bound enforcement observation, but did not itself execute the protected action. You were right that the benchmark must exercise the boundary, not only validate a receipt-shaped report. I strengthened it in 0xddneto/AI-Proof-of-Us@44d552f.
All 20 lifecycle tests pass. This proves the local reference gate, not AutoGen-wide enforcement; an AutoGen integration still has to bind the callback to its actual orchestrator/worktree/branch-policy boundary. Which lifecycle hook or execution boundary would you consider the best first binding point for a real AutoGen fixture? |
|
bind at the tool execution boundary first. that is the narrowest chokepoint where every side-effecting agent action already passes through, so you get deny/allow enforcement for free without instrumenting each tool separately. in AutoGen v0.4 that is the middleware pipeline around tool calls. a pre-call hook checks the authority receipt and denies if missing, the tool runs only if allowed, and a post-call hook records the evidence. this maps directly to orchestrator_policy in the vocabulary and gives you one integration point instead of N. file-level or git-level bindings are useful as defense-in-depth but they are too narrow as a first binding because they only catch specific tools. the tool execution boundary catches all of them, including custom tools you have not thought about yet. one thing to watch: make sure the deny path returns a structured result the agent can reason about, not a silent crash. the agent needs to understand it was blocked by policy so it can decide whether to request authority or take a different path. |
|
Tamish Mhatre (@tamish560) implemented both recommendations in 0xddneto/AI-Proof-of-Us@6231a1d. The conformance vocabulary is now:
Bare ad hoc kinds fail closed, so comparable benchmark results do not silently fragment their taxonomy. I also added
With the matching pre-action receipt it executes once and returns AutoGen's current intervention-handler cookbook confirms the same interception shape around tool execution, so I documented that mapping while keeping this fixture framework-neutral and avoiding a false claim that an AutoGen package is already installed. Official pattern: https://microsoft.github.io/autogen/stable/user-guide/core-user-guide/cookbook/tool-use-with-intervention.html For the next cross-framework fixture, would you prefer a minimal Python |
|
the structured denial result is the right call. returning one thing worth testing: the case where |
|
start with the minimal once the AIPOU example is solid and someone can clone it and run the tests in under a minute, that becomes the evidence for the cookbook PR. "here is a working implementation with 22 passing tests" lands faster than "here is a patch, please review the design." also keep the AutoGen mapping documented as you already have it. when you do open the cookbook PR, you can point at both the AIPOU fixture and the mapping doc and the reviewer just needs to approve the integration, not the concept. |
|
Tamish Mhatre (@tamish560) implemented both follow-ups. Commit: 0xddneto/AI-Proof-of-Us@f9d7766 Permanent denial is now distinct from missing authority:
I also shipped the minimal Python fixture in the AIPOU repo using the real Results:
The workflow now uses the current Node 24-based GitHub Actions releases as well. If you can clone and run the fixture independently, that result would be the first external reproduction signal. Once we have that, I can prepare the upstream cookbook proposal with the fixture and mapping doc as evidence rather than a design-only patch. |
|
Cloned and ran the fixture independently. All 4 AutoGen intervention tests pass and the demo emits the three expected policy states correctly:
Ran in under 10 seconds with no model, API key, or Docker. The This is the first external reproduction signal. Go ahead with the upstream cookbook proposal - the fixture and mapping doc as evidence is a much stronger pitch than a design-only patch. The 24 lifecycle tests plus 4 AutoGen tests with a 17-second CI run should make the review straightforward. |
|
Tamish Mhatre (@tamish560) thank you. This is the independent reproduction signal we needed. I also reviewed and merged your follow-up contribution as AIPOU PR #1. I reran the full repository before merging: 11 contract tests and 25 MCP tests passed, including the new canonical JSON, SHA-256 known-vector, tier multiplier, clamping, and reward-cap coverage. That gives us two external signals from the same collaborator, clearly separated: an independent clone-and-run reproduction of the real AutoGen fixture, and an accepted external code contribution. It still does not imply production AIPOU usage or an external reward claim. I will use the reproducible fixture, mapping document, CI run, and your under-10-second result as the evidence base for the upstream cookbook proposal. The proposal will keep the scope narrow: a structured tool-execution intervention pattern with recoverable authority requests, permanent denials, and no wallet/model/API dependency. |
|
0xddneto (@0xddneto) the AutoGen cookbook already has a
The cookbook proposal should position this as a complement to the existing entry, not a replacement. The existing one shows the basic intervention mechanic with a real model and tool. The new one shows structured authority decisions with no infrastructure. Suggested notebook outline:
Mapping doc for the proposal:
I can help draft or review the actual notebook if you want to split the work. The fixture code is already clean enough to adapt into cookbook format - mainly needs markdown explanation cells between the code cells and a short intro paragraph framing it as "structured authority decisions" vs "basic user approval". |
|
Tamish Mhatre (@tamish560) thank you for the concrete outline. I applied it and opened the upstream AutoGen proposal: microsoft/autogen#7961. The recipe is positioned as a complement to
I used a protocol-neutral Markdown cookbook recipe rather than making AutoGen depend on AIPOU. The PR description links this discussion and the independently reproduced AIPOU fixture as evidence. AutoGen's cookbook toctree accepts Markdown recipes, and this keeps the complete script directly runnable and Pyright-checkable. If maintainers prefer a notebook, the same sections can be split into the cell outline you proposed without changing behavior. Local validation passed: complete example execution against You offered to review the actual cookbook draft; a review on #7961 would be very useful, especially on whether the neutral code names preserve the semantics you independently tested. |
|
Small progress update for the original authority-before-action thread:
There is also a new cross-project conformance signal for the same authority/work split: Kuberna fixed its synthetic ERC-8004 authority fixture, and AIPOU pins that immutable commit in 0xddneto/AI-Proof-of-Us@e91e991. The corrected I am still treating this honestly: it is external reproduction/review plus a conformance fixture, not AutoGen adoption or production AIPOU usage. The next step remains maintainer review of #7961. |
|
Vedu APP is a mobile streaming platform created for entertainment lovers who enjoy movies, TV shows, anime, and web series. Its attractive interface, organized content sections, and responsive performance make browsing straightforward, allowing users to explore and enjoy digital entertainment with ease on their Android devices. |
|
Morse Code Translator – Convert Text to Morse Code Instantly |
|
A practical integration note from AIPOU: we tested a user-authorized Paybox MCP connection. Paybox is independent from AIPOU, with no partnership or claim that it validates AIPOU work. For an AutoGen flow, the smallest clean composition is: the intervention handler enforces the pre-action policy; Paybox manages scoped wallet authority and asks the human before a financial operation; after successful completion, AIPOU emits an optional We value Paybox here because it preserves the approval boundary rather than asking a receipt system to become a wallet. Proposal and limits: https://github.com/0xddneto/AI-Proof-of-Us/blob/main/docs/paybox-interoperability.md |
Uh oh!
There was an error while loading. Please reload this page.
I am working on an Agent Authority Benchmark v0.1 around one narrow question:
Before a multi-agent workflow takes a consequential action, can it prove authority for that exact action?
The hard cases are delegated work and handoffs:
The benchmark tests whether a workflow can produce a pre-action receipt with:
This is not a claim about AutoGen and not a request for endorsement or integration. I am looking for technical feedback on whether this is the right benchmark shape for multi-agent authority before action.
Reference:
https://github.com/neurarelay/relay-action-card#agent-authority-benchmark
All reactions