Created
Jun 26, 05:32
Started
Jun 26, 13:46
Completed
Jun 26, 16:50
DevOps handoff
Type
Feature
Shape
backend
Worktree Slug
auto-record-deploy-lane-intents
Repositories
mcritchie-studio
Release Train
—
Branch
feat/auto-record-deploy-lane-intents
Local URL
—
QA URL
—
Production URL
—
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Gap found live during a 2026-06-25 QA release: the conductor recorded REVIEW intents (reviewer-select auto-records by default) but had to MANUALLY run 'bin/task intent --to assembled --actor steffon' and '--to shipped --actor avi' for the deploy lane, and missed them — so the QA/ship crew slots on /deployments rendered as empty dashed placeholders (operator caught an unfilled ship slot mid-deploy). Fix: extend the same auto-recording reviewer-select does to the deploy steps — bin/release prepare fires the Steffon assembled intent, bin/release ship fires the Avi shipped intent, both append-only + idempotent + superseded by the real transition. Document in docs/agents/system/devops-cycle-design.md (the Prepare release / Run Deployment building blocks under section 1.4). Role attribution already exists for the completed transition; this is about the OPEN pre-transition intent that drives the live green crew ticker. Relates to memory feedback_record_intent_on_pr_review.
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.
PR #229 does not meet acceptance: bin/release prepare still does not record a visible Steffon QA intent in the standard reviewed -> merged -> prepare flow. Merged members already have an assembled transition, and Task#record_intent_event(to_stage: "assembled") no-ops after that transition exists, so the new prepare step records zero members and /deployments does not show Steffon live. Please fix the standard flow and add a regression test that starts with Release::Conductor.adopt! / bin/release merge semantics, then runs the prepare intent path and proves the deploy board shows Steffon QA live without a manual bin/task intent.
Heavy (Jasper): BLOCK — feature is functionally complete and idempotency/supersession/board-render are all correct and well-tested, BUT the two new intent writes are FATAL, not best-effort. bin/release prepare (step 1b ~line 803) and ship (step 2c ~line 1443) call conductor('...record_deploy_intents!...') with no rescue; conductor() (bin/release:304-317) abort!s on any non-zero heroku-run exit. So a transient prod-board failure (the documented essential-PG 'too many connections' incidents, 2026-06-25) on a COSMETIC crew-ticker write would abort a production deploy — exactly what the cited precedents avoid: bin/reviewer-select records its intent best-effort (rescue→warn, lines 325-326) and post_release_notes swallows failure. FIX (small): wrap each new conductor(...) call to warn-and-continue (local rescue SystemExit/StandardError), or add a best_effort: option to conductor(); in ship, rescue LOCALLY so it does not trip the outer partial-ship handler (bin/release:1495). Light (Shannon): APPROVE (board-render side). CI green at head 970daa5. Also the checks_run cites task_intent_test for the qa: marker but that behavior is actually covered by the conductor + helper tests — fix the tag. Re-stamp checks after rework.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
SMALL
Dev
SMALL
Actual
XL
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.