RFC_EXECUTION_GUARD.md has a clean three-layer model (intent nonce → execution guard → correlation ID). One layer that would complete it for regulated and financial workflows: a post-execution receipt — proof of what ran, verifiable by a party that doesn't trust the runtime.
The gap the current model leaves open
The guard proves "this ran exactly once." That's sufficient for the agent loop.
For external auditors, regulators, and counterparties, the question is different: "can you prove what ran, independently of the system that ran it?" An idempotency record in durable storage answers to the same runtime that wrote it. A receipt anchored externally answers to anyone.
The interface
execution_id / request_id (Layer 1) → action_ref (linking key in the receipt). Same ID derived from tool arguments before execution, two surfaces:
- Layer 2 uses it to gate re-execution
- Layer 4 uses it as the content-addressed key for the post-execution trail
payment_hash is the natural cross-rail key for the settlement layer — links the payment primitive to the execution receipt without coupling the two systems.
Layer 4 proposed
Layer 1: Intent nonce — caller-derived stable ID
Layer 2: Execution guard — insert-if-not-exists at side-effect boundary
Layer 3: Correlation ID — shared ID across composed tool boundaries
Layer 4: Execution receipt — post-execution proof, anchored externally,
independently verifiable
We've been building this layer: Mycelium Trails. On-chain execution receipts anchored on Base mainnet, keyed by action_ref = SHA-256 of agent_id + action_type + scope + timestamp.
If you're extending the RFC, happy to propose a formal Layer 4 interface spec here.
RFC_EXECUTION_GUARD.md has a clean three-layer model (intent nonce → execution guard → correlation ID). One layer that would complete it for regulated and financial workflows: a post-execution receipt — proof of what ran, verifiable by a party that doesn't trust the runtime.
The gap the current model leaves open
The guard proves "this ran exactly once." That's sufficient for the agent loop.
For external auditors, regulators, and counterparties, the question is different: "can you prove what ran, independently of the system that ran it?" An idempotency record in durable storage answers to the same runtime that wrote it. A receipt anchored externally answers to anyone.
The interface
execution_id/request_id(Layer 1) →action_ref(linking key in the receipt). Same ID derived from tool arguments before execution, two surfaces:payment_hashis the natural cross-rail key for the settlement layer — links the payment primitive to the execution receipt without coupling the two systems.Layer 4 proposed
We've been building this layer: Mycelium Trails. On-chain execution receipts anchored on Base mainnet, keyed by
action_ref= SHA-256 of agent_id + action_type + scope + timestamp.If you're extending the RFC, happy to propose a formal Layer 4 interface spec here.