Repository navigation
Initiative: Consolidate Discussion-triggered ideation into feature-ideation, deprecate idea-enhancer, and ring-release fleet-wide #872
Description
Make Discussion-triggered idea enhancement a single canonical mode of the standardized feature-ideation agent, retire the org-private idea-enhancer, and roll the unified capability to all 8 org repos via the established canary/ring release model. Source: discussion #866.
Why now: In .github-private two automations fire on the same discussion: {types:[created]} event and both enhance the same new human Idea — feature-ideation.yml (Opus single-idea mode, PR #805/#629) and idea-enhancer.yml (Sonnet comment, PR #644/#638). They don't dedupe against each other (different markers). This double-enhancement must be resolved before the capability propagates to the rest of the fleet.
Scope split (critical). This epic is materialized in petry-projects/.github-private, and its stories are sized for dev-lead working on this repo's checkout. The parts that live here are: extending the channel-tag release tooling (scripts/cut-release.sh + docs/release/) to recognize the feature-ideation agent, repinning this repo's feature-ideation.yml stub to its assigned channel, validating the folded enhancement mode on real .github-private Discussions, and deprecating idea-enhancer (workflow + scripts + test + pipeline doc). The capability itself (the folded enhancement mode in feature-ideation-reusable.yml), the feature-ideation/{next,ring0,ring1,stable} channel tags, the ci-standards §9 widening, and the repins/onboarding of the other 7 repos all live in petry-projects/.github and the fleet repos — see Untracked prerequisites and the open questions; they are out of this repo's direct reach.
Success metrics (how we'll know it worked):
- After cutover, opening a new human Idea in any participating repo produces exactly one idempotent enhancement comment — zero double-enhanced Ideas across all rings (verified by inspecting the per-ring validation Discussions listed in Initiative: unify Discussion-triggered ideation into a feature-ideation mode, deprecate idea-enhancer, and roll out fleet-wide via canary rings #866:
.github-privateEnhanced Prompting Frameworks #851;.github[Phase 1] Pin all callers off @main to the stable tag (consumer repos + self-review/dev duty) #497/feat: pin actions/checkout to SHA in deploy-pr-review.yml #474/📊 Token Cost Observatory — Weekly Report #464/Scorecard: Code-Review (6/10) #386; TalkTerm Compliance: missing-pr-quality #59/Compliance: has_discussions #58/Compliance: delete_branch_on_merge #57/Compliance: allow_auto_merge #56/Compliance: missing-dependencies-label #55). idea-enhancerfully removed from.github-private: −1 workflow, −2 scripts, −1 bats test, pipeline doc updated to a single enhancer.- Enhancement passes per new human Idea drop from 2 → 1 in
.github-private. - Marker continuity: ideas already carrying
<!-- idea-enhancer:enhanced -->are never re-enhanced after cutover.
Cost bound: This initiative is net cost-reducing — it replaces two enhancement passes per Idea with one (removing the dedicated Sonnet 4.6 pass). It adds no new recurring spend: no new cron is introduced, the folded mode reuses feature-ideation's existing trigger/model, and the dedicated idea-enhancer Wednesday safety-net cron is removed. Per-enhancement spend stays governed by the existing feature-ideation-reusable.yml model budget — this initiative introduces no new per-run budget, only removes the duplicate pass. Validation is bounded to one dry-run + one live run per listed Discussion per ring, within the workflow's existing 20-minute timeout. Promotion between rings remains a human-gated, single tag move (no compute).
Human gates preserved: the epic is created inert (no initiative:auto); ring promotion and the deprecation cutover are human go/no-go decisions, mirroring the pr-review/dev-lead release runbook.
Untracked prerequisites
- [petry-projects/.github] Fold idea-enhancer's behavior — post exactly ONE idempotent, structured enhancement comment (sharpened problem / context / impact-effort / acceptance criteria), skip bot-authored ideas — into the
feature-ideation-reusable.ymlenhancement mode, reusing the SAME idempotency marker<!-- idea-enhancer:enhanced -->(or an explicit migration) so already-enhanced ideas are never re-enhanced across the cutover. - [petry-projects/.github] Create channel tags
feature-ideation/{next,ring0,ring1,stable}mirroring thepr-review/dev-leadscheme, and extend arelease-channel-tags-style ruleset to coverfeature-ideation/**so agents (GITHUB_TOKEN) cannot move them. - [petry-projects/.github] Widen ci-standards §9 from BMAD-only to 'repos with Discussions + an Ideas category', and update the
non-stub-feature-ideation.ymlcompliance audit to accept a@feature-ideation/<channel>channel-tag pin instead of requiring the@<sha> # v1pin (otherwise repinning re-triggers the Compliance: non-stub-feature-ideation.yml #629 finding). - [fleet] Repin each remaining repo's
feature-ideation.ymlstub once to its assigned channel —.github→ring0, TalkTerm→ring1, markets/broodly/google-app-scripts/bmad-bgreat-suite/ContentTwin→stable — and onboard the two repos that lack the workflow (bmad-bgreat-suite, ContentTwin) with a tailoredproject_context. - [fleet] Walk the ring promotion next→ring0→ring1→stable as central channel-tag moves, validating each ring (dry-run then live) against the listed real Discussions and health-checking before each promotion.
- [docs] Document rollback for feature-ideation: revert a channel tag to its prior immutable
feature-ideation/vX.Y.Z(same single-tag-move pattern as the pr-review/dev-lead runbook).
Planned from idea discussion #866 by the BMAD Scrum Master initiative-planner. Inert until a maintainer adds initiative:auto.
Activity
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
don-petry commentedon Jun 30, 2026
✅ Complete — Discussion-triggered ideation consolidated into a single enhancer (feature-ideation): on-creation enhancement via the #963 redispatch bridge (fixing the #591-class discussion-event crash, propagated fleet-wide in combsmith/.github#550), plus the backlog backfill sweep (enhance_backlog + dry_run, marker-continuous, demonstrated). Standalone idea-enhancer deprecated and removed (#876). All sub-issues closed; both human-gate validations (#875, #937) passed.
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
feat: wire cut-release.sh cross-repo publish via gh api (#872) (#959)
docs(release): fix tag-check race, --promote usage, and stale runbook…
docs(agents): document Release Manager automation that cuts and promo…