federation_node_act_complete
Report the outcome of a brokered act your node drained (CO 496 — the return leg of the brokered-act arc). NODE-SIGNED like drain: the node signs the canonical envelope and can complete ONLY its own delivered acts — the completion update is keyed by the authenticated node id, so one node can never complete (or corrupt) another's acts by construction. outcome is 'completed' or 'failed'; result is a bounded receipt (≤16KB — a receipt, not a payload store). Idempotent: re-completing an already-terminal act returns ok with already and writes nothing. Settlement of a brokered sale happens hub-side AFTER a reported completion, never at drain time. Returns: { ok, act_id, outcome, already? } or { ok: false, code: 'not_deliverable' | 'invalid', message }. Example: call federation_node_act_complete with arguments {}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| alg | Yes | Signature algorithm of the bound key. | |
| nonce | Yes | A fresh single-use nonce (part of the signed envelope). | |
| act_id | Yes | The drained act being completed. | |
| result | No | Bounded result receipt (status, refs, short message — never bulk data). | |
| node_id | Yes | The completing node. | |
| outcome | Yes | How the act ended on the node. | |
| signature | Yes | base64 signature over the canonical envelope, by the node bound key. | |
| timestamp | Yes | ISO timestamp within the skew window (part of the signed envelope). |