docs(poll): describe response retirement contract

This commit is contained in:
2026-07-22 03:40:29 +02:00
parent 8ceb3935f5
commit 52cd362343

View File

@@ -116,6 +116,13 @@ submission. Option removal and option changes invalidate only answers bound to
that option, and repeated removal/revocation is an idempotent replay even after that option, and repeated removal/revocation is an idempotent replay even after
the Poll has moved out of an editable lifecycle state. the Poll has moved out of an editable lifecycle state.
Owning modules can also retire a participant's responses through the optional
response-retirement extension. Retirement is idempotent and soft-deletes the
live rows so aggregation and capacity checks stop counting them, while answers
and a reason/source retirement record remain available for audit. The boundary
accepts only server-trusted respondent or invitation identities and rejects
secret-like metadata.
## Identified response invariant ## Identified response invariant
Poll stores at most one active response for each identified respondent in a Poll stores at most one active response for each identified respondent in a