Created
Jun 24, 05:40
Started
Jun 24, 05:47
Completed
Jun 24, 06:40
DevOps handoff
Type
Bug
Shape
backend
Worktree Slug
adopt-assembled-stage-stuck
Repositories
mcritchie-studio
Release Train
—
Branch
feat/adopt-assembled-stage-stuck
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Hit live during the 2026-06-23 QA release (rel-20260624-a59e5f) when bundling turf-monster fix-ipinfo-geocoder-https onto an already-ASSEMBLED RC. Symptom: Release#add (app/models/release.rb:103) on the reopen! late-merge path left the member task at stage=reviewed while still setting release_slug — so it showed as a release member but never flipped to assembled. Conductor.adopt! (app/models/release/conductor.rb:15) then no-ops on every retry because 'release.tasks.exists?(slug:)' is already true, so the half-state can't self-heal. Had to manually bin/task move reviewed->assembled. Repro: assemble an RC (prepare), then bin/release merge a second reviewed task onto it; observe the new member stuck at reviewed. Likely fix: ensure add() sets stage=assembled atomically on the reopen path (it appears the single update! either didn't run or was reverted), and/or make adopt! reconcile an existing member whose stage != assembled. Add regression test covering adopt-onto-assembled.
Stage Timeline
Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. — means the agent didn't report that metric.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
Review cascade: shannon[heavy] APPROVE — reconcile breadth (!= assembled) is CORRECT, do not tighten (tightening makes adopt! inconsistent: new blocked task raises, existing blocked member silently no-ops); atomicity/idempotency/tests sound. alex-docs[light] BLOCK — release.rb 'Atomic:' comment misattributes the incident half-state to the txn wrapper (incident is fixed by adopt! reconciliation; the txn guards a distinct never-observed mode). Rework: comment fix + elsif clarifying comment + no-op-without-reopen regression test.
alex-docs BLOCK resolved by rework (commit 195c71f): release.rb comment reworded to label the txn wrapper as defense-in-depth vs a distinct never-observed mode (verified on PR head); + elsif clarifying comment + no-op-without-reopen regression test. shannon[heavy] had APPROVEd the logic. Review satisfied; merge gated on CI test job green + PR marked ready.
QA-deployed on rel-20260624-a59e5f @ qa.mcritchie.studio (mcr@15e2d3f, /up 200). Fix verified by suite (273 runs 0F) + dogfooded: merging this + geo onto the assembled RC flipped both cleanly to assembled (no manual fixup needed). Note: the fix only governs the PROD board once mcritchie-studio ships to prod. Awaiting operator prod-ship gate.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
—
Dev
—
Actual
—
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.