Skip to content

Epic: Fully-automated fleet-wide version+channel shim compliance (no manual deploy / admin-merge) #850

Description

@don-petry

Goal

Every repo carries every required caller-stub shim, pinned to its agent's moving major-scoped channel @<agent>/v<M>-stable, so a new reusable version reaches the whole fleet by a canary tag move — never a redeploy. Placement and drift-correction are fully automated by the existing systems; no manual deploy-standard-workflows.sh runs and no admin-merge.

Principle

The 2026-07-21 rollout (#844/#847) was hand-driven (manual sweeps, --admin, quarantine). That fought the systems. The version+channel model + canary rollout + compliance audit already exist; the gaps are two missing automation pieces (a deployer and an auto-merge path). Improve the systems; do not supersede them.

Dependency DAG

graph LR
  B["#852 · B: standards-sync auto-merge<br/>(bootstrap: 1× admin-merge)"]
  I["#849 · templates → v&lt;M&gt;-stable + audit pin-check"]
  A["#851 · A: automated deploy driver"]
  D["#856 · D: SKIP_REPOS opt-in + repo-template exemption"]
  E["#857 · E: fleet convergence (via automation)"]
  B --> I
  B --> A
  B --> D
  I --> A
  I --> D
  A --> E
  D --> E
  B --> E
Loading

Sequencing (phased — minimizes bootstrap to a single admin-merge)

Phase Story Depends on Merges via Acceptance (one-line)
0 — bootstrap #852 (B) auto-merge admin-merge (the one unavoidable bootstrap) A standards-sync PR with green required checks merges through branch protection, no --admin
1 — foundation #849 templates + audit pin #852 (to auto-merge) auto-merge (#852) All 13 stale templates pin their agent's current @<agent>/v<M>-stable; audit flags any bare-tag/off-channel pin
2 — automation (parallel) #851 (A) deploy driver #849, #852 auto-merge (#852) Scheduled+dispatch workflow sweeps drift → standards-sync PRs; compliant repos untouched
#856 (D) exemptions #849, #852 auto-merge (#852) repo-template no longer flagged for placeholder; SKIP_REPOS opt-in codified + tested
3 — converge #857 (E) fleet convergence #849, #851, #852, #856 driven by #851 + #852 Audit reports 0 missing + 0 wrong-channel findings fleet-wide; ContentTwin bats passes against the deployed stub; no manual runs

Bootstrap note (approved): only #852 needs an admin-merge (you can't auto-merge the fix that creates auto-merge). Once #852 lands, #849/#851/#856 auto-merge through the system, and #857 runs entirely on the automation.

Epic-level acceptance (rollup)

  • A reusable version cut reaches the fleet by a canary tag move alone (no shim redeploy) — spot-checked.
  • The scheduled deploy driver + auto-merge converge any drift with zero manual intervention (no --admin, no quarantine) after the [#850 B] Auto-merge standards-sync PRs through branch protection (resolve the reviewer deadlock — no --admin) #852 bootstrap.
  • Compliance audit: every repo present + correctly channel-pinned; ContentTwin's add-to-project-workflow.bats green against the deployed stub.
  • Templates, audit, deploy, and canary agree on the version+channel model end-to-end.

Stories

Refs

#657 (major-scoped channels), #849 (templates), #847/#848 (SKIP_REPOS reconcile), #844 (required-everywhere).

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-leadFor dev-lead agent pickup

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions