Replies: 2 comments
-
|
📋 Initiative planned by the BMAD Scrum Master (Bob). Epic #872 — Initiative: Consolidate Discussion-triggered ideation into feature-ideation, deprecate idea-enhancer, and ring-release fleet-wide 4 stories created (inert — labelled
Open questions for review:
Review the epic and its sub-issue DAG, adjust as needed, then add |
Beta Was this translation helpful? Give feedback.
-
Enhancement: Unify Discussion-triggered ideation (#866)Sharpened problem & goal Two workflows currently fire on The proposal is to: (1) absorb the enhancement-comment logic into the reusable Key ambiguity to resolve before implementation: does "enhance mode" replace the full 5-phase ideation pipeline for human-authored ideas, or does it run alongside it? The current idea-enhancer posts one concise comment (problem restatement + AC bullets); the reusable ideation pipeline generates new ideas. For a human-authored Discussion, you probably want enhancement-only — generating new ideas on the same thread would be noise. Context
Impact / Effort Impact: HIGH — removes a confusing dual-comment race condition on every new human Idea; simplifies the fleet deployment footprint (one workflow to maintain instead of two). Effort: L — requires changes to the central reusable (adding an "enhance-only mode" dispatch path), deprecating the org-private enhancer, creating a new thin-stub standard, and staging through canary rings across 8 repos. The BATS tests for Suggested acceptance criteria
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Make the Discussion-triggered ideation/enhancement capability a single, canonical
mode of
feature-ideation, deprecate the standaloneidea-enhancer.yml, and roll theunified capability to all 8 org repos using the canary / concentric-ring release process
already established for
dev-leadandpr-review(versioning,
agentic-release-strategy).
One idea, one enhancer, one release channel per repo — no double-enhancement, blast radius
bounded to one ring at a time, rollback = a single channel-tag move.
Background
Two automations currently fire on
discussion: { types: [created] }against the Ideascategory and both enhance a freshly-opened human idea:
feature-ideation.yml— enhancement mode (the standardized one). A thin caller stub →petry-projects/.github/.github/workflows/feature-ideation-reusable.yml@<sha> # v1. Itsweekly cron generates new Ideas (BMAD Analyst "Mary", Opus 4.6); on
discussion: createdit passes
target_discussionto the reusable, which runs single-idea mode to researchand refine that one human idea. Guard:
category.slug == 'ideas' && user.type != 'Bot'.idea-enhancer.yml— dedicated enhancer (org-private, not standardized). Tooling inscripts/idea-enhancer/{gather-candidates,post-enhancement}.sh, tested intests/test_idea_enhancer.bats. Ondiscussion: created(+ a Wednesday safety-net cron) itfinds open, human-authored, not-yet-enhanced Ideas and posts one structured comment
(sharpened problem / context / impact-effort / acceptance criteria, Sonnet 4.6), idempotent
via the hidden marker
<!-- idea-enhancer:enhanced -->.Why this overlap exists (git archaeology)
idea-enhancer.ymlwas added in PR feat: implement issue #638 — Feature Ideation doesn't enhance human ideas #644 / issue Feature Ideation doesn't enhance human ideas #638 ("Feature Ideation doesn't enhancehuman ideas") — at that time
feature-ideationonly generated ideas.discussion: createdenhancement mode tofeature-ideation itself.
Net effect: in
.github-privateboth fire on the same event and both enhance the samenew human idea — one via Opus single-idea mode, one via a Sonnet comment. They do not dedupe
against each other (different markers). This redundancy must be resolved before the capability
is propagated, or the rest of the fleet inherits double-enhancement.
Current fleet state (verified via GitHub API, 2026-06-21)
feature-ideationidea-enhancer897e4de0011a11897e4de897e4dece8a8c3ce8a8c3Findings:
ce8a8c3, nodiscussion:block) — they generate weekly but never enhance new human ideas._bmad/marker → excludedby current ci-standards §9, which is BMAD-only). This initiative widens scope to all 8.
.github/feature-ideation-sources.md(all fall back to open websearch — acceptable, out of scope here).
idea-enhancer+idea-triage+initiative-planner+initiative-driverare.github-private-only and not standardized.Goals
mode of
feature-ideation(the standardized stub + reusable). Foldidea-enhancer's"post one structured, idempotent comment on a new human idea" behavior into the reusable.
idea-enhancer. Removeidea-enhancer.yml,scripts/idea-enhancer/**, andtests/test_idea_enhancer.batsfrom.github-privateonce the folded mode is proven in thenextring. Preserve the idempotency marker (or migrate it) so already-enhanced ideas arenever re-enhanced across the cutover. Update the
idea-to-initiative-pipeline
doc to describe the single enhancer.
channel tags for it (
feature-ideation/{next,ring0,ring1,stable}) onpetry-projects/.github,exactly mirroring the
dev-lead/pr-reviewscheme. Callers pin once to a channel; promotionis a central tag move; rollback is a single pointer flip. Extend
scripts/cut-release.sh/docs/release/to cover thefeature-ideationagent.two repos that lack the workflow. Widen ci-standards §9 from "BMAD-only" to "all repos with
Discussions + an Ideas category."
ring is promoted.
Ring assignment (canary → stable)
feature-ideation/next.github-privatefeature-ideation/ring0.githubnextis healthy.feature-ideation/ring1TalkTermfeature-ideation/stablemarkets,broodly,google-app-scripts,bmad-bgreat-suite,ContentTwinEach repo's
feature-ideation.ymlstub is repinned once from its current@<sha> # v1to itsassigned channel tag, then never edited again. Promotion walks
next → ring0 → ring1 → stablebymoving the channel tag centrally, with a health check between rings.
Validation — test with existing un-enhanced Discussions
Before promoting each ring, prove the folded enhancement mode works on real, already-open,
not-yet-enhanced Ideas Discussions (no synthetic fixtures). Use
dry_runfirst (logs intendedcomments to an artifact), then a live run, and confirm: exactly one enhancement comment, the
idempotency marker is written, a second run is a no-op, and bot-authored ideas are skipped.
Concrete candidates that are open + human-authored + un-enhanced today:
next(.github-private): Enhanced Prompting Frameworks #851 "Enhanced Prompting Frameworks".ring0(.github): [Phase 1] Pin all callers off @main to the stable tag (consumer repos + self-review/dev duty) #497 "enable pull request limits", feat: pin actions/checkout to SHA in deploy-pr-review.yml #474 "enable GitHub code quality",📊 Token Cost Observatory — Weekly Report #464 "Implement Claude generic code review", Scorecard: Code-Review (6/10) #386 "Enable and adopt usage of GitHub Projects".
ring1(TalkTerm): Compliance: missing-pr-quality #59 "Windows 11 On-Device AI", Compliance: has_discussions #58 "3D Avatar Evolution",Compliance: delete_branch_on_merge #57 "Infinite Conversations via Client-Side Compaction", Compliance: allow_auto_merge #56 "Cloud Voice Provider Pipeline",
Compliance: missing-dependencies-label #55 "Effort Modes".
Also verify the deprecation cutover in
.github-private: afteridea-enhancer.ymlis removedand the folded mode is active, opening a new human Idea produces one enhancement (not two).
Acceptance criteria
feature-ideation-reusable.ymlhas an explicit enhancement mode that, on a single targetedhuman Idea, posts exactly one idempotent structured comment (problem / context /
impact-effort / acceptance criteria); marker prevents re-enhancement; bots skipped.
idea-enhancer.yml,scripts/idea-enhancer/**,tests/test_idea_enhancer.batsremoved from.github-private; pipeline doc + ci-standards updated to a single enhancer.<!-- idea-enhancer:enhanced -->are notre-enhanced after cutover.
feature-ideation/{next,ring0,ring1,stable}exist onpetry-projects/.github;cut-release.sh+docs/release/{versioning,runbook}.mdcover thefeature-ideationagent.feature-ideation.yml, each pinned to its assigned channel; the twomissing repos are onboarded with a tailored
project_context..github-privatecutover shows single-enhancement; each ring health-checked before promotion.feature-ideation/vX.Y.Z.Out of scope
feature-ideation-sources.mdcustomization.idea-triage/initiative-planner/initiative-driverbeyond doc updates.Authored as the ripe Ideas Discussion for the idea→initiative pipeline. Add
idea:approvedtohand this to
initiative-planner(BMAD Scrum Master "Bob") for epic + story-DAG planning.Beta Was this translation helpful? Give feedback.
All reactions