ebdb40fe ยท zzmq.dev@gmail.com/zz
Commit
ebdb40fe98ef0e35d5ed2d3ee86fdce6acd03a87
Reject re-claiming an already-answered ask; number keys also switch assist tabs ask_claim now checks for an existing ANSWER on the target ask before granting a new claim_request, with a clear error pointing at the real recovery path (a changeset_review deny already auto-posts a fresh "work" ask with the rejected draft + feedback -- that's the ask to pick up, not reopening the original). Previously only depends_on was enforced at this layer; claimableAsks already excluded answered asks from what it reports as claimable, but that's just a query-time filter -- a direct ask_claim call (which LaneDetail's own "c", by design, allows from ANY row including an already-answered one, so there's somewhere to look at a done ask's own history) bypassed it entirely, letting someone claim a finished ask and only discover the dead end much later, at the impossible final re-answer step. Also: "1"/"2" now switch the assist lane picker's tabs, alongside the existing left/right arrows. Deployed. Verification note: a Durable Object instance that's been kept warm (steady traffic, e.g. a running zz top/zz work session) doesn't appear to pick up a fresh deploy until it naturally goes idle and gets evicted -- no forced-restart API exists for this. The fix is correct and live in source/deploy; confirming it active against a specific already-warm repo instance may need that instance to go idle first. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q8tksS4bucUkJguqksSVYR
Troy Howard <thoward37@gmail.com> -- 2026-10-13T21:30:19.000Z