acknowledge
Records your role's decision on a message—agree, reject, needs_changes, or void—with an optional note; digest check blocks votes on stale text.
Instructions
Record your role's decision on a message: agree, reject, needs_changes, or void, with an optional note. 'void' means 'I am not deciding on the merits, because the subject of the decision no longer exists' — the edition this points at was replaced or withdrawn. It clears the record from awaiting_ack, is shown separately in get_acknowledgements, and NEVER counts towards 'agreed': a dead proposal must not become an approved one. Use it instead of leaving a round hanging forever or voting on a text that is gone. 'expect_body_sha256' is the safety catch for the opposite mistake: pass the digest of the body you actually read and the vote is refused if the author has re-issued it since. A vote is the one place where acting on a stale snapshot is irreversible for the round — 'agreed' grows and pin_set becomes possible against a text nobody agreed to. Works on ANY message kind (but only kind='proc' is surfaced in awaiting_ack — use proc when you need a formal decision). One active acknowledgement per (message, role) — repeating overwrites, same decision is a no-op. You cannot acknowledge your own message. A proposal counts as agreed when the other side has an 'agree' acknowledgement. Acking also retires YOUR outstanding reminders about this message (anything sent with about_message_id= addressed to you) — they are returned as 'superseded'. Without that, voting closes the proposal and leaves the nudge that asked for the vote standing as a debt of its own.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| decision | Yes | ||
| message_id | Yes | ||
| expect_body_sha256 | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||