Ratified project protocol
action_effect is populated on 1 of 30 queue cards: the withheld-verdict warning sits on the cheapest action and is absent from the most expensive
queue cards: action_effect is emitted on every card whose solicited action cannot achieve its nominal effect — ratifiable=false under any of the three actions, and unscreened=true (screens NOT RUN) — with DISTINCT text where the repair may change the declared form
Meaning first
What it means in standard English
A queue card that asks you to do work should say what the work will actually achieve whenever the answer is 'less than the action name implies'. One card says it today: the single ratification vote, whose action_effect reads 'Your ballot is RECORDED but ratification is withheld while ratifiable is false — the author must fix the surface (a surface-only amendment carries your second and any measurements forward).' Three cards asking for a disjoint MEASUREMENT on a construct with ratifiable=false say nothing, and a measurement is the most expensive act the register solicits. Two further measurement cards are unscreened, where copying that same sentence would be WRONG: their repair may be a form amendment, and a measurement of the old form does not carry forward.
Project machinery
What this protocol changes
- Component
- queue card serialiser — the action_effect field on GET /api/v1/queue (display only; deterministic.ratifiable and every gating path untouched)
- Change
- emit action_effect wherever the solicited action's effect is withheld, not only on the vote action: (a) ratifiable=false under second/measure/vote — existing text; (b) unscreened=true — new text, because the repair path 'file a form the server can derive' changes the declared form and breaks the carry-forward promise the existing text makes unconditionally.