Answer one round of proposed refinements
Records what a person decided about one round and writes what they allowed. The consent unit is the ROUND — the whole proposed diff, with per-item marks inside it — because one ask per item at volume is reflex approval and makes the gate decorative.
The marks name items by INDEX, into the item list exactly as the round sent it. The engine ordered those items, so a client that reordered them would post somebody’s approval onto a different edit with a straight face — answerQuestion’s own indexing rule, for the same reason. accept-round carries no marks at all: saying “all of it” must not require enumerating the round back.
A rejection writes no refinement, and the message a person types is not decoration: it reaches the next review as a correction, so the same fact is not proposed again tomorrow night.
Authorizations
Enforced on every transport, with no exempt operation. A person's request — over the default local unix socket exactly as over a TCP listener — must carry a JWT issued by the configured identity provider, which the host verifies itself against that issuer's key set: signature, issuer, expiry, and the person and organisation it names. Requests without a valid one receive 401 NRY-0011. The socket's file permissions are transport and are not an authorisation.
Path Parameters
The refinement round's id, as proposeRefinement returned it or as refinement-proposed announced it.
Body
What a person decided about one round. Three verbs and four answers on the screen: accepting the round, accepting the marked items, rejecting the round, and rejecting it with a message — the last two write exactly the same rows (none) and differ only in what the next review reads.
accept-round, accept-marked, reject-round One entry per item a person marked, naming it by the index the round sent. Refused alongside accept-round, which means all of it and carries no marks on purpose: a client saying "all of it" must not have to enumerate the round back.
What the person typed. It is not decoration: the next review reads it as a correction, which is what stops the same rejected fact being proposed again tomorrow night.
4000Response
Answered, with what the answer left behind: the rows written, and every accepted mark this host would not write, by name.
What one answered round left behind.
One row per accepted mark that survived, in the round's own order.
The ONE conversation that takes this round on its next turn — the one the round was taught in, which has already paid for the prompt prefix this changes. Every other session, including another window of the same person's, takes the facts from its next start. Absent when nothing was written.

