Agents Builders

Multi-repo conductor (a): deploy-adapter registry + repo_plan + eligibility + GemfileRepin

Archived
task-7a999d1ad41b

Created

Jun 22, 04:17

Completed

Jun 22, 13:55

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

multi-repo-conductor

Repositories

mcritchie-studio

Release Train

Branch

feat/multi-repo-conductor

Local URL

QA URL

Production URL

release-pipeline refactor

Acceptance Criteria

  • Registry: config/release_repos.yml apps -> hash with per-app prod_deploy adapters (mcr git_push_heroku; satellites repo_script bin/deploy --yes).
  • Release::Repos.app_meta/prod_deploy/qa_app; Release::Conductor.repo_plan (producer-first per-repo) + validate_members! rejecting unknown-repo members in prepare!.
  • Pure Release::GemfileRepin: branch-ref detection + idempotent rewrite to ~> x.y (no IO).
  • Zero deploy-behavior change (no bin/release edits); unit + integration green; zeitwerk clean.

Expected Test Plan

  • [unit] repos_test + conductor_test (repo_plan/eligibility) + gemfile_repin_test
  • [integration] release_flow_test multi-repo repo_plan

Checks Run

  • [unit] test/models/release/repos_test.rb + conductor_test.rb (repo_plan/eligibility) + gemfile_repin_test.rb
  • [integration] test/integration/release_flow_test.rb multi-repo repo_plan — 61 runs, 0 failures; zeitwerk clean

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 (clean). Merged to main (squash, PR #84). Non-blocking carry-forwards for phase (c) where GemfileRepin is USED: rewrite_line normalizes single-quoted gem lines to double quotes (no impact — real consumer Gemfiles use double quotes); qa_app returns slug even for gem/unknown (loose contract, only called for apps). PR-desc integration-ref corrected in the merge commit body.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual