fix(feature-ideation): deploy discussion:created trigger to live caller + correct reusable pin#457
Conversation
…er + 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.
|
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 (2)
📝 WalkthroughWalkthroughThe ChangesFeature Ideation: discussion:created trigger and single-idea mode
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Possibly related PRs
🚥 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. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
Dev-Lead — waiting on PR blockers (intent: review-changes)PR: #457 |
|
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 |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
❌ The last analysis has failed. |
Dev-Lead — waiting on PR blockers (intent: review-changes)PR: #457 |
|
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 — 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: MEDIUM
Reviewed commit: 6da4b8585768cb26422854fcb23bc4477c56f8ae
Review mode: triage-approved (single reviewer)
Summary
Re-syncs the live feature-ideation caller with the canonical template: adds the discussion:created trigger, an Ideas-category/non-Bot job guard, the target_discussion input, and bumps the pinned reusable SHA 7bf5a75 -> 897e4de in both caller and template. Verified against the prior PR #448 gaps.
Linked issue analysis
No formally linked issue (closingIssuesReferences empty). The PR body documents the motivation (reported via Discussion #656; un-propagated gaps from PR #448) and CodeRabbit notes a related-but-unlinked issue #458. Motivation is well-substantiated; absence of a closing-issue link is not a blocker.
Findings
- Verified SHA
897e4dede3518cdd7273b9dc63e607d0d05cbddaexists in petry-projects/.github and its reusable workflow defines (target_discussion:, line 67) and consumes (TARGET_DISCUSSION, line 226) the input; the old pin7bf5a75bhas zero references — confirming the reported bug and the fix. target_discussion: ${{ github.event.discussion.number }}passes an integer, not attacker-controllable text — no script-injection vector.- Job guard
github.event_name != 'discussion' || (category.slug == 'ideas' && user.type != 'Bot')is sound: schedule/dispatch runs are unaffected; discussion runs are correctly scoped and bot self-triggering is prevented. - Reusable is first-party (same org repo), pinned to a full 40-char SHA. No new permission escalation; top-level
permissions: {}preserved. - Maintainer follow-ups noted in the PR body (bump
v1tag; re-sync.github-privatecaller) are out of this PR's scope and do not block — the direct SHA pin makes the fix work at runtime regardless of the tag.
CI status
All checks green or appropriately skipped: CI Lint/ShellCheck, CodeQL, AgentShield, SonarCloud (Quality Gate passed after an earlier transient failure), gitleaks, Feature Ideation Tests, dependency audit — all SUCCESS/SKIPPED. CodeRabbit APPROVED at head SHA; gemini-code-assist reviewed with no feedback. mergeStateStatus is BLOCKED solely due to the required org-leads human review (REVIEW_REQUIRED).
Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.



Why
Creating a new Idea Discussion did not trigger the Feature Ideation workflow (reported against
.github-privateDiscussion #656). There was no open PR or issue tracking this.Root cause is two un-propagated gaps from PR #448 (
feat: auto-enhance new Ideas Discussions on creation):The trigger was only added to the canonical template, never to the live caller. PR feat(feature-ideation): auto-enhance new Ideas Discussions on creation #448 added
on: discussion: [created]+target_discussionsingle-idea mode tostandards/workflows/feature-ideation.yml, but the deployed.github/workflows/feature-ideation.ymlwas never re-synced — it still triggered onschedule+workflow_dispatchonly. So nothing listened for new-Discussion events.The pinned reusable SHA predated the feature. The live caller pinned
7bf5a75b(2026-06-07), whose reusable has zero references totarget_discussion. Even if the trigger had fired, single-idea mode could not run. The template's own pin (ee22b427) is likewise missing the input.What changed
.github/workflows/feature-ideation.yml(live caller)on: discussion: types: [created].if:guard — only run on thediscussiontrigger for new Ideas-category Discussions authored by a non-Bot (prevents re-enhancing the bot's own scheduled output; enhancement posts a comment, which does not re-firediscussion: created). Schedule/dispatch runs are unaffected.target_discussion: ${{ github.event.discussion.number }}.7bf5a75b→897e4de, which actually containstarget_discussionsupport.standards/workflows/feature-ideation.yml(canonical template)ee22b427→897e4deso the source of truth matches.project_contextandsources_fileare preserved unchanged.Bump the
v1tag. It currently points tod3d768da(2026-05-12), which does not contain thetarget_discussionreusable commit (f471b21/ feat(feature-ideation): auto-enhance new Ideas Discussions on creation #448) —git merge-baseconfirms neitherv1norv2contains it. I attempted to movev1→897e4debut the push proxy rejects tag force-pushes (403); only the feature branch is writable here, and no GitHub API tool to move a ref is available in this session. Please run:This caller pins the SHA directly, so the fix works at runtime without the tag bump — but bumping
v1fixes every other@... # v1consumer and makes the# v1comments truthful..github-private(where Discussion #656 was created) needs the same caller update. It is outside this repo's scope, so it isn't touched here. Re-sync its.github/workflows/feature-ideation.ymlfrom the correctedstandards/workflows/feature-ideation.ymland confirm it has an "Ideas" Discussion category.https://claude.ai/code/session_01PhN5QmeoX3CkfL6iPkzdzb
Generated by Claude Code
Summary by CodeRabbit