feat(feature-ideation): auto-enhance new Ideas Discussions on creation#448
Conversation
Add a 'discussion: created' trigger so a freshly-opened idea is researched and refined automatically, instead of waiting for the weekly scan. - reusable: new optional 'target_discussion' input. When set, the analyst runs SINGLE-IDEA ENHANCEMENT mode — read that one Discussion, do focused Phase 2-4 research at the requested depth, and post ONE additive enhancement comment via the existing comment_on_discussion helper. No broad scan, no new threads. Idempotent via a '<!-- feature-ideation:enhanced -->' marker. Empty input = unchanged scheduled behaviour (fully backward-compatible). - stub template: add the 'discussion: [created]' trigger, a job-level 'if' that restricts it to new Ideas-category discussions and skips github-actions[bot] creations (no trigger loop — enhancement is a comment, which doesn't re-fire 'created'), and pass target_discussion from github.event.discussion.number. - ci-standards.md Section 9: document the new trigger + single-idea mode. Compliance audit unchanged (the feature-ideation stub check validates the @v1 pin, not trigger shape). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe PR extends the feature ideation workflow to support single-Discussion enhancement by adding a new ChangesSingle-Discussion Enhancement Mode
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
@donpetry-bot please review — adds the discussion-created auto-enhance trigger to Feature Ideation; all required checks green and backward-compatible (empty |
There was a problem hiding this comment.
Code Review
This pull request introduces an automated single-idea enhancement mode to the feature ideation workflow. It adds a trigger for newly created discussions, restricts execution to the 'Ideas' category while ignoring bot-created discussions, and passes the discussion number to the reusable workflow. The documentation has also been updated to reflect these changes. The review feedback suggests improving the robustness of the bot-filtering logic by checking the user type instead of hardcoding the bot's username, and recommends a minor grammatical correction in the documentation.
Dev-Lead — fix-reviews (applied)Changes committed and pushed. |
Dev-Lead — waiting on PR blockers (intent: review-changes)PR: #448 |
|
Note @don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically. |
Dev-Lead — fix-reviews (no-changes)Agent reasoning |
|
@donpetry-bot all required checks are green now — please review for the org-leads approval. |
|
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: LOW
Reviewed commit: aa6c4c95c3e206207e3a974b47c92a697dd8b1aa
Review mode: triage-approved (single reviewer)
Summary
Adds a 'discussion: created' trigger to Feature Ideation so a newly-opened Ideas-category Discussion is auto-enhanced (single-idea mode) instead of waiting for the weekly scan. Additive, backward-compatible (+66/-0 across the reusable workflow, the caller stub template, and ci-standards docs).
Linked issue analysis
No linked issue (closingIssuesReferences is empty). The PR is motivated by a request to enhance ideas like discussion #578 the moment they are posted; the change delivers that via a new optional target_discussion input and a guarded discussion: created trigger. N/A for issue-closure verification.
Findings
- Security (Actions): The only untrusted interpolation is
github.event.discussion.number(an integer) flowing into thetarget_discussioninput — no shell/eval injection surface. The prompt block interpolates onlygithub.repository(trusted). Untrusted Discussion title/body is read via GraphQL inside the job, consistent with the workflow's existing scheduled-scan behaviour — no new class of risk. - Loop safety: Enhancement posts a comment (does not re-fire
discussion: created), and the job-levelifrestricts execution to theideascategory anduser.type != 'Bot', filtering the workflow's own scheduled output. No trigger loop. - Reviewer feedback resolved: gemini-code-assist suggested filtering by user type rather than a hardcoded bot username; the final code already uses
github.event.discussion.user.type != 'Bot', so that concern is addressed. coderabbitai APPROVED at the head SHA. - Backward compatibility: Empty
target_discussion(default) preserves unchanged scheduled/dispatch behaviour; reusable pin advance is a documented post-merge rollout step. - No blocking findings.
CI status
All required checks green at aa6c4c95c3e206207e3a974b47c92a697dd8b1aa: CI (Lint, ShellCheck, Agent Security Scan, Secret scan/gitleaks), CodeQL, SonarCloud, AgentShield, Feature Ideation Tests, Dependency audit (detect), pr-auto-review ready check, dev-lead — all SUCCESS; remaining checks SKIPPED (no applicable ecosystems). No failing or cancelled checks. mergeStateStatus is BLOCKED only on the pending org-leads review that this pass satisfies.
Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.
…er + correct reusable pin (#457) fix(feature-ideation): deploy discussion:created trigger to live caller + correct v1 pin The auto-enhance-on-creation feature (#448) added an `on: discussion: [created]` trigger and `target_discussion` single-idea mode, but only to the canonical template in standards/workflows/. The live deployed caller was never re-synced, so new Ideas Discussions never triggered the workflow. Two fixes: - .github/workflows/feature-ideation.yml: add the `discussion: [created]` trigger, the job `if:` guard (Ideas category + non-Bot author), and the `target_discussion: github.event.discussion.number` wiring. Bump the pinned reusable SHA from 7bf5a75 (2026-06-07, pre-feature) to 897e4de, which actually contains `target_discussion` support. The old pin could not run single-idea mode even if the trigger fired. - standards/workflows/feature-ideation.yml: correct the template's stale pin from ee22b42 (also lacks target_discussion) to 897e4de so the source of truth matches the v1 tag. The v1 tag is being bumped separately to 897e4de so `@... # v1` callers and literal @v1 consumers both resolve to a reusable that supports the feature. Co-authored-by: Claude <noreply@anthropic.com>



What
Make Feature Ideation trigger on a new Discussion so a freshly-opened idea gets researched + refined automatically (instead of waiting for the Friday scan). Requested to enhance ideas like .github-private#578 the moment they're posted.
How
target_discussioninput. When set, the BMAD analyst runs single-idea enhancement mode: read that one Discussion, focused Phase 2–4 research atresearch_depth, and post one additive enhancement comment via the existingcomment_on_discussionhelper. No broad scan, no new threads. Idempotent via a<!-- feature-ideation:enhanced -->marker. Empty input = unchanged scheduled behaviour (backward-compatible).on: discussion: types: [created]; a job-levelifthat limits it to new Ideas-category discussions and skipsgithub-actions[bot]creations; passtarget_discussion: ${{ github.event.discussion.number }}.discussion: created; scheduled bot-created ideas are filtered out by theif.Validation
schedule, workflow_dispatch, discussion;if+target_discussionpresent; reusable input present with default''.@v1pin, not trigger shape).Rollout (after merge)
@v1(canonical tag) so callers get the new input.if+target_discussion) in consumer repos (e.g..github-private) — follow-up PR; must come after the reusable accepts the new input.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation