Skip to content

Epic: Promote persona-mention to the fleet (reach incubator + auto-detect new repos) #781

Description

@don-petry

Scope

"Reach incubator + new repos" with the ideation/analysis capability. Three parallel
tracks that converge on incubator:

Tracked stories (DAG)

Persona-mention router:

business-analyst → incubator (rides the router):

feature-ideation → incubator (standalone, parallel — NOT blocked by the router DAG):


Today the persona mention framework is live ONLY in the next ring (.github-private). incubator and any new repo are outside it — a @petry-projects/<role> mention there does nothing (no stub → no dispatch). This Epic reaches the whole fleet and makes new repos auto-onboard.

Verified gap: persona-mention.yml exists in only .github-private; it is in neither deploy-standard-workflows.sh nor bootstrap-new-repo.sh (grep = 0 in both).

The DAG

#1 SOAK ── prove persona-mention through the rings (next → ring0 → ring1 → stable)
            cut/move the channel tags; watch each ring before advancing.   [GATE]
              │
#2 WIRE ── add persona-mention to: ring-pins.sh RING_REUSABLES +
   deploy-standard-workflows.sh + bootstrap-new-repo.sh. Makes compliance enforce
   the pin and the deploy sweep carry the stub.  (blocked by #1 cutting the tier tags)
              │
#3 SWEEP ── run deploy-standard-workflows.sh across the fleet → every repo (incl.
            incubator) gets persona-mention.yml at its ring pin; new repos get it
            at creation via bootstrap.  (after #2)

Stories

#1 — Soak persona-mention through the rings (GATE)

  • next soak DONE + proven (qa-lead advisory, .github-private#1300; recursion guard held).
  • Advance persona-mention/v1-ring0v1-ring1v1-stable via cut-release.sh persona-mention <ver> --channel <tier> [--promote], watching each ring before advancing (ring0=.github, ring1=TalkTerm/bmad-bgreat-suite, stable="*" per ring-pins.sh). Do NOT skip to stable.

#2 — Wire persona-mention into the fleet mechanisms (dev-lead-implementable)

  • scripts/lib/ring-pins.sh — add persona-mention to RING_REUSABLES (compliance enforces @persona-mention/v1-<tier> per repo; deploy knows the tier). Only after Addressing PR comments #1 cuts the tier tags, else compliance demands a pin to a nonexistent tag.
  • scripts/deploy-standard-workflows.sh — add persona-mention.yml to the deployed set, pinned per ring_tier_for_repo.
  • scripts/bootstrap-new-repo.sh — seed persona-mention.yml so new repos auto-onboard.
  • Acceptance: dry-run deploy shows incubator would get persona-mention.yml@persona-mention/v1-stable; bootstrap dry-run for a fresh repo includes it.

#3 — Deploy sweep (session/gated)

  • Run the fleet apply so every repo — including incubator — gets the stub at its ring pin.
  • Verify: incubator/.github/workflows/persona-mention.yml present; a smoke-test mention in incubator routes end-to-end.
  • Note: deploy can't direct-push to ruleset-protected repos → PR + admin-merge / SKIP_OVERRIDES (add-to-project precedent).

Rubber-duck findings

  1. stable's "*" resolves ring MEMBERSHIP, not deployment — the stub file is only placed by the Add coding standards & principles section to AGENTS.md #3 sweep. "Auto-detect new repos" is true ONLY once Add multi-agent isolation strategy using git worktrees #2 wires bootstrap-new-repo.sh.
  2. Order in Add multi-agent isolation strategy using git worktrees #2: ring-pins needs the tier tags first (Addressing PR comments #1), or compliance demands a pin to nothing.
  3. The runner is single-homed and already fleet-readyAdd multi-agent isolation strategy using git worktrees #2/Add coding standards & principles section to AGENTS.md #3 fan out only the ROUTER stub, not the runner. No runner change.
  4. Secrets: stub needs GH_PAT_WORKFLOWS (org secret, fleet-wide already).
  5. Blast radius: stable makes every repo's comments hit the router. Guards are proven, but hold stable for explicit go.

Acceptance criteria

Delivery uses the agreed approach: dev-lead implements the scoped stories, I define/monitor/validate; ring/stable promotion gated on explicit go. The canary promoter that moves the persona-mention tier tags now works (#807 fixed .github tag moves); gate reliability is being hardened in #810/#811.

Gated on your go for stable — fleet-wide activation, separate from the delivered persona onboarding.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions