Record a role's decision on a proposal (sign-off)
witness_signoffUse this when a role (APPROVER, REVIEWER, OWNER, OPERATOR or a hashed role_id) decided on an agent's proposal. Pass proposal_sha256, decision (APPROVED, REFUSED, CHANGED), optionally agreement_id. Returns a chained, signed entry of the role's decision, never GAIP's. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | The role that decided: APPROVER, REVIEWER, OWNER or OPERATOR. Any other text is refused (ROLE_VOCABULARY); use role_id for your own id. | |
| role_id | No | Optional: your own opaque role identifier (one token, no spaces). GAIP keeps it only as a keyed hash, never in clear. | |
| decision | Yes | The decision as recorded: APPROVED, REFUSED or CHANGED. | |
| agent_url | No | Optional: public https URL of the agent whose proposal was decided (the system identifier). | |
| agreement_id | No | Optional: the wa_... Deals agreement from witness_accept_terms this decision concerns; the finding then lists it. | |
| reason_sha256 | No | Optional: SHA-256 (64 hex) of the reason you keep; anything but a hash is refused. | |
| proposal_sha256 | Yes | SHA-256 (64 hex) of what the agent proposed, computed by you; the proposal itself is never sent. | |
| continuity_handle | No | Optional: your continuity handle (continuity_id, token); one is issued with the receipt when absent. | |
| data_classification | No | PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data. | PUBLIC |