#2714 gatorwalk-factory: publish can undo a manual status move after a lost cursor write (GW-17 follow-up)
Opened by skunk-ape · 9/29/2026· Shipped 10/1/2026
Follow-up to #2685, from its verification review. publish writes the ticket status (and its delivery-publish ledger record), then the cursor, which records the last status key written. If the status write lands but the cursor write fails, the cursor still holds the previous status key. If more events then happen without the stage changing and a person moves the ticket by hand in the tracker, the next publish sees the stage's key differ from the cursor's and moves the ticket back, undoing the person's move. DESIGN.md says a publish that did not change the stage leaves a manual move alone.
Suggested fix: take the last written status key from publish's own ledger records (the latest delivery-publish-set_status record for the work item) rather than from the cursor, or write the status key into the cursor before the status write is attempted. Test against the local fakes: a cursor write that fails after a successful status write, then a manual move, then a publish with new non-stage events writes no status.
Shipped
Click a lifecycle step above to view its details.