Agents Builders

Multi-repo conductor (b): per-repo release branches + multi-repo QA in prepare

Archived
task-817da10d5d34

Created

Jun 22, 04:17

Started

Jun 22, 04:18

Completed

Jun 22, 13:55

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

multi-repo-conductor-b

Repositories

mcritchie-studio

Release Train

Branch

feat/multi-repo-conductor-b

Local URL

QA URL

Production URL

release-pipeline deploy-ordering

Acceptance Criteria

  • bin/release prepare iterates app repo groups from repo_plan; cuts/refreshes release/<slug> in each PRIMARY sibling checkout (git -C, .worktrees-aware projects-root resolution); merges that repo's members (conflict-abort msg).
  • QA-deploys each app repo via bin/qa-server <qa_app> release/<slug> --yes -> qa.<app>; gem members skipped at prepare (ride the record).
  • --dry-run prints the per-repo plan; documented run-from-primary-hub-checkout.

Expected Test Plan

  • [unit] extracted prepare helpers (projects-root resolution, per-repo branch naming)
  • [integration]/[manual] dry-run walkthrough of a mixed multi-repo prepare

Checks Run

  • [unit] test/lib/release_cli_test.rb — projects_root (primary + worktree shapes) + repo_path sibling resolution (64 runs, 0 failures)
  • [integration] bin/release prepare --dry-run per-repo plan verified (gem skipped; per-app branch cut/merge + bin/qa-server deploy <qa_app>); repo_plan AR coverage in conductor_test (on main)

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.

No stage changes recorded yet.

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

Comment 5 days ago

QA (Avi): APPROVE-WITH-NITS, merged (#85). Test-gate: removal correct (old gate ran the HUB suite even for a turf-only release — tested nothing relevant); do NOT restore it; instead phase (c) adds an optional registry per-repo test_cmd on the MERGED branch before prod deploy (BLOCKING on c). Nits carried to phase (c): drop dead QA_URL const; abort on git -C checkout failure (dirty sibling -> wrong-branch footgun); mirror PROJECTS_DIR env; tighten dry-run --task abort copy.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual