Skip to content

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

Closed

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-ring0 → v1-ring1 → v1-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.
  • New repos auto-onboard through petry-projects/repo-template (carries persona-mention.yml) and the weekly standards sweep; scripts/bootstrap-new-repo.sh seeds no workflow stubs and is not changed (reworded 2026-10-11).
  • Acceptance: dry-run deploy shows incubator would get persona-mention.yml@persona-mention/v1-stable; repo-template carries the stub and the sweep keeps it current.

#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 met by repo-template plus the weekly sweep, not by bootstrap-new-repo.sh (corrected 2026-10-11).
  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-ready — Add 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.

Activity

  1. don-petry commented on Jul 21, 2026

    @don-petry
    ContributorAuthor

    Added story: #836 — three workflows → standard deployable shims

    Promotes initiative-driver, pr-auto-review, and feature-ideation into DEPLOYABLE_WORKFLOWS so the sweep carries them fleet-wide (the mechanism half; the actual sweep stays with the #2/#3 sweep stories).

    Two notes:

  2. don-petry commented on Oct 11, 2026

    @don-petry
    ContributorAuthor

    Status, 2026-10-11 14:30 UTC

    Story State
    #813 feature-ideation → incubator closed (July)
    #814 business-analyst closed 2026-10-11, re-scoped: the registry entry it asked for is forbidden by ADR-0006 (petry-projects/.github-private); routing to incubator is proven; "status past draft" moved to combsmith/.github-private#2258
    #783 SOAK persona-mention/v1-stable moved to fd430b58 at 06:17Z today by the scheduled canary run 38117600727 (next → ring0 → ring1 → stable; ring 1's sample came from TalkTerm once it carried the stub). That build has the pull_request surface (#1167) and not the marker-quoting fix (#1287, now on v1-ring0). The epic said to hold stable for an explicit go; the promotion was automatic. Awaiting a maintainer decision to accept or roll back.
    #784 WIRE ring-pins.sh, the deploy list and canary-rings.json carry persona-mention. bootstrap-new-repo.sh does not seed stubs; new repos get it from repo-template and the weekly sweep. The bootstrap dry-run this story asks for has not been run.
    #785 SWEEP stub present in 9 of 12 repos. Outstanding: bmad-bgreat-suite (combsmith/bmad-bgreat-suite#504, verified and green, awaiting merge) and google-app-scripts (blocked on combsmith/google-app-scripts#618: the repo's autofix job reformats any synced stub not listed in .prettierignore). .github is exempt.

    Smoke test (the epic's end-to-end criterion): a @petry-projects/business-analyst mention on combsmith/incubator#3 routed (router run 38105287114: Routing to 'business-analyst'), passed the authorization preflight for incubator, and posted an advisory: combsmith/incubator#3 (comment)

    How the five missing repos were handled. Their sync PRs from 10-03/10-05 predated the template's pull_request trigger and had been edited in place by later passes (NOSONAR markers moved, comments reflowed, one ring pin changed). They were closed and replaced with persona-mention.yml-only syncs from the current template, each compared with the template before merge: TalkTerm#536, ContentTwin#484, markets#522 merged.

    Gaps found and filed: #1296 (the sweep reuses a same-date branch as-is), #1297 (stub headers name v1-stable above a ring pin), combsmith/TalkTerm#533 and combsmith/bmad-bgreat-suite#501 (repo-local guards the current pr-review.yml template breaks), combsmith/google-app-scripts#618.

    Note for Monday's sweep (08:16 UTC, 2026-10-12): repo-template, broodly, incubator, broodminder-data and empower-personal-dashboard still carry the 66-line stub with no pull_request trigger; the content-aware sweep (#1277) will open sync PRs adding it. With v1-stable on the PR-surface build, each of those merges switches on qa-lead PR advisories in that repo.

  3. don-petry commented on Oct 11, 2026

    @don-petry
    ContributorAuthor

    Status, 2026-10-11 15:05 UTC

    Story State
    #783 SOAK Closed. Stable is at fd430b58; Don accepted the unasked auto-promotion and left auto-promotion on.
    #784 WIRE Closed. Bootstrap criterion reworded (Don's decision): new repos onboard through repo-template and the weekly sweep. The bootstrap dry-run seeds no workflow stubs.
    #785 SWEEP Open. Stub is in 9 of 11 target repos. Outstanding: bmad-bgreat-suite and google-app-scripts.

    What #785 is waiting for:

    Also from today: #1308 (bootstrap passes owner/repo to the settings script, which prepends the org again).

  4. don-petry commented on Oct 11, 2026

    @don-petry
    ContributorAuthor

    Closing, 2026-10-11 (Don's decision). persona-mention reaches the fleet: every target repository carries the caller stub at its ring pin, and a mention in incubator routes end to end.

    Story Result
    #783 SOAK persona-mention/v1-stable = fd430b58. Promoted by the scheduled canary run, not on an explicit go; Don accepted it and left auto-promotion on.
    #784 WIRE Ring pins, deploy list and canary rings carry persona-mention. New repositories onboard through repo-template and the weekly sweep (criterion reworded).
    #785 SWEEP Stub in all 11 target repositories; per-repository blobs in the closing comment there.
    #813 feature-ideation Delivered 2026-07-21.
    #814 business-analyst Closed as re-scoped; routing proven on combsmith/incubator#3.

    Left open on purpose, each tracked elsewhere:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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