Skip to content

feat: implement issue #450 — Compliance: stub-surface-drift-feature-ideation.yml-permissions - #463

Merged
don-petry merged 5 commits into
mainfrom
dev-lead/issue-450-20260721-1926
Aug 2, 2026
Merged

feat: implement issue #450 — Compliance: stub-surface-drift-feature-ideation.yml-permissions#463
don-petry merged 5 commits into
mainfrom
dev-lead/issue-450-20260721-1926

Conversation

@don-petry

@don-petry don-petry commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

User description

Closes #450

Implemented by dev-lead agent. Please review.


CodeAnt-AI Description

Keep feature ideation dispatch working when the primary workflow token is unavailable

What Changed

  • Feature-ideation discussions can now be redispatched using the dedicated contributor token, falling back to the existing workflow token when needed
  • The same token selection is used for both the availability check and workflow launch, preventing mismatched authentication failures

Impact

✅ Fewer failed feature-ideation triggers
✅ Reliable discussion-to-workflow dispatch

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Copilot AI review requested due to automatic review settings July 21, 2026 19:31
@don-petry
don-petry requested a review from a team as a code owner July 21, 2026 19:31
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@don-petry, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0e0b0746-9936-475c-990d-4919ebe4a55e

📥 Commits

Reviewing files that changed from the base of the PR and between d89ac45 and e36cc22.

📒 Files selected for processing (1)
  • .github/workflows/feature-ideation.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev-lead/issue-450-20260721-1926

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the .prettierignore file to exclude the .github/workflows/feature-ideation.yml workflow from Prettier formatting. This change ensures that the workflow file, which is a standards-owned artifact copied verbatim, maintains its exact byte structure to prevent drift. There are no review comments to address.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — waiting on PR blockers (intent: review-changes)

PR: #463
No changes were committed, but the PR still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews). The retry cron will re-attempt automatically. Next attempt after: 2026-07-21T20:12:51Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

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.
Next attempt after: 2026-07-21T20:12:51Z

@don-petry
don-petry enabled auto-merge (squash) July 21, 2026 19:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns this repository’s feature-ideation.yml thin-caller workflow stub with the org-standard template to resolve compliance finding #450 (permissions surface drift), and ensures automated formatting won’t reintroduce byte-level drift.

Changes:

  • Re-synced .github/workflows/feature-ideation.yml to match petry-projects/.github/standards/workflows/feature-ideation.yml (including the centrally-owned permissions surface and exact byte formatting).
  • Updated .prettierignore to exclude the feature-ideation.yml caller stub from Prettier formatting to avoid future drift.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.prettierignore Ignores the standards-owned feature-ideation.yml stub to prevent Prettier from altering byte-sensitive formatting.
.github/workflows/feature-ideation.yml Matches the canonical standards stub (permissions surface and byte formatting) to satisfy compliance check #450.

@don-petry
don-petry disabled auto-merge July 21, 2026 20:06
@don-petry
don-petry enabled auto-merge (squash) July 21, 2026 20:06
@don-petry
don-petry disabled auto-merge July 21, 2026 21:37
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (applied)

Changes committed and pushed.

@don-petry
don-petry enabled auto-merge (squash) July 21, 2026 21:40
@don-petry
don-petry disabled auto-merge July 21, 2026 21:40
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) July 21, 2026 21:41
@donpetry-bot

donpetry-bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor
Superseded by automated re-review at e36cc221ebb961c799223fb73b0239eaaf132fbd — click to expand prior review.

Review — fix requested (cycle 1/3)

The automated review identified the following issues. Please address each one:

Findings to fix

Automated review — NEEDS HUMAN REVIEW

Risk: MEDIUM
Reviewed commit: b47556274b0d40466b85c140d9f52626eccabffc
Cascade: triage → audit (triage: haiku 4.5 → deep: opus 4.8 + duck: o4-mini → audit: fable 5)

Summary

The headline security concern is dismissed on evidence: the PR's feature-ideation.yml is byte-identical to the canonical standards/workflows/feature-ideation.yml, and the GH_PAT_DON_PETRY || GH_PAT_WORKFLOWS precedence was introduced into that canonical standard by the org owner on 2026-07-21 (petry-projects/.github#837 'canonical-PAT migration', commit b0643e0) — so this PR faithfully de-drifts per issue #450 and does not introduce a rogue credential. However, the PR cannot be approved: mergeable=CONFLICTING / mergeStateStatus=DIRTY is a hard gate failure, and reviewDecision=REVIEW_REQUIRED. The personal-PAT-as-primary pattern remains an org-wide credential-hygiene weakness that should be remediated in the standards repo, not by re-introducing drift here.

Findings

  • major: Hard gate failure: PR is mergeable=CONFLICTING / mergeStateStatus=DIRTY and reviewDecision=REVIEW_REQUIRED. Must be rebased/resolved before any merge; the bundled package.json/package-lock.json bumps are the likely conflict surface.
  • minor: The GH_TOKEN precedence 'secrets.GH_PAT_DON_PETRY || secrets.GH_PAT_WORKFLOWS' prefers an individual's account-scoped PAT over the purpose-scoped org secret. This is NOT a defect of this PR — it is byte-identical to the canonical standard after the org owner's 'canonical-PAT migration' (feat: implement issue #836 — Make initiative-driver / pr-auto-review / feature-ideation standard deployable shims (+ canonical-PAT migration) .github#837, b0643e0, 2026-07-21) — but it widens blast radius org-wide (automation runs under one person's account; revocation/rotation of that PAT breaks dispatch across repos). Recommend remediating in petry-projects/.github standards (dedicated machine/bot PAT or GitHub App installation token), then re-propagating to stubs.
  • minor: Out-of-scope dependency changes bundled into a compliance-sync PR: package.json js-yaml override ^4.2.0 -> ^4.3.0 plus lockfile bumps (js-yaml 4.3.0, brace-expansion 1.1.16/2.1.2/5.0.7, fast-uri 3.1.4). All are legitimate npmjs packages with plausible security-patch version jumps (no typosquat indicators), all devDependencies, and npm audit/gitleaks/CodeQL are green — but they don't belong in a stub-drift fix and likely caused the merge conflict.
  • info: Cosmetic inconsistency inherited from the standard: the preflight error message names only GH_PAT_WORKFLOWS ('GH_PAT_WORKFLOWS is required...') although GH_PAT_DON_PETRY now takes precedence. Fix upstream in the standard, not here.
  • info: Independent verification performed: fetched .github/workflows/feature-ideation.yml at PR head b475562 and diffed against petry-projects/.github/standards/workflows/feature-ideation.yml@main — byte-identical. Confirmed via commit history that GH_PAT_DON_PETRY entered the canonical standard in b0643e0 (org owner, 2026-07-21), predating/authorizing this sync. .prettierignore addition correctly protects the enforced byte-identity. No literal secrets in diff; gitleaks, AgentShield, CodeQL, SonarCloud all SUCCESS.

Reviewed by the PR-review cascade (triage: haiku 4.5 → deep: opus 4.8 + duck: o4-mini → audit: fable 5). Reply if you need a human review.

Additional tasks

  1. Resolve all unresolved review thread comments from other reviewers
  2. Ensure all CI checks pass after your changes
  3. Rebase on the target branch if behind
  4. Do NOT modify files unrelated to the findings above

The review cascade will automatically re-review after new commits are pushed.

Comment thread .github/workflows/feature-ideation.yml
…260721-1926

# Conflicts:
#	.github/workflows/feature-ideation.yml
#	.prettierignore
#	package-lock.json
#	package.json
@codeant-ai

codeant-ai Bot commented Aug 2, 2026

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR d12c997 Aug 02, 2026 · 01:47 01:48

@codeant-ai codeant-ai Bot added the size:XS This PR changes 0-9 lines, ignoring generated files label Aug 2, 2026
@don-petry
don-petry disabled auto-merge August 2, 2026 01:48
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — waiting on PR blockers (intent: review-changes)

PR: #463
No changes were committed, but the PR still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews). The retry cron will re-attempt automatically. Next attempt after: 2026-08-02T02:19:42Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

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.
Next attempt after: 2026-08-02T02:19:42Z

@don-petry
don-petry enabled auto-merge (squash) August 2, 2026 01:49
@don-petry
don-petry disabled auto-merge August 2, 2026 01:53
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) August 2, 2026 01:54
@don-petry
don-petry disabled auto-merge August 2, 2026 01:57
@sonarqubecloud

sonarqubecloud Bot commented Aug 2, 2026

Copy link
Copy Markdown

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) August 2, 2026 01:59
@don-petry

Copy link
Copy Markdown
Collaborator Author

Nudging the dev-lead review — no automated review has posted in over an hour since the last push (dispatch completed successfully at 2026-08-02T01:57:14Z but no follow-up review). Requesting re-review.

@donpetry-bot donpetry-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review — APPROVED ✓

Risk: MEDIUM
Reviewed commit: e36cc221ebb961c799223fb73b0239eaaf132fbd
Review mode: triage-approved (single reviewer)

Summary

Two-line change syncing the GH_TOKEN secret precedence in .github/workflows/feature-ideation.yml to the org-canonical standards/workflows/feature-ideation.yml (GH_PAT_DON_PETRY || GH_PAT_WORKFLOWS). Verified at head e36cc22: the file matches the canonical template on all centrally-owned surfaces (on:, permissions:, concurrency:, jobs, tier channel pin); the only deltas are the documented repo-adjustable project_context input (filled in per merged #460) and one cosmetic space before a NOSONAR comment. The prior cascade review's sole major finding (merge conflict + bundled dependency bumps) is resolved — the PR is now MERGEABLE with a 1-file, +2/-2 diff. Although the diff touches token selection, it introduces no new credential semantics: the precedence was authorized upstream by the org owner (petry-projects/.github#837 canonical-PAT migration) and this PR mechanically de-drifts per compliance issue #450, so MEDIUM (not HIGH) is confirmed as the correct classification, consistent with the prior full-cascade audit.

Linked issue analysis

Closes #450 (Compliance: stub-surface-drift-feature-ideation.yml-permissions). The mandated remediation — re-sync the stub from standards/workflows/feature-ideation.yml verbatim — is substantively complete: the permissions: surface (and all other centrally-owned surfaces) at PR head match the canonical template exactly. Issue is already closed.

Findings

  • Prior cycle-1 major (mergeable=CONFLICTING/DIRTY, bundled package.json/lockfile bumps): RESOLVED — branch merged main; PR is now MERGEABLE and the diff is exactly 1 file / +2-2 with no dependency changes.
  • Prior minors carried as non-blocking upstream notes (unchanged, inherited from the canonical standard, not fixable here): (1) personal-PAT-as-primary precedence is an org-wide credential-hygiene weakness — remediate in petry-projects/.github (bot PAT or GitHub App token), then re-propagate; (2) the preflight error message still names only GH_PAT_WORKFLOWS although GH_PAT_DON_PETRY takes precedence.
  • Review threads: 1 thread (misleading error message) — resolved. No unresolved threads, no unanswered human-reviewer questions.
  • Cosmetic: one-space difference vs canonical on the uses: line comment (pin itself identical) — does not affect the audited on:/permissions:/concurrency: surfaces.
  • No literal secrets in the diff (references by name only); gitleaks SUCCESS. The run_secret_scanning MCP tool is not available in this environment — noted, not blocking; gitleaks CI covers the secret scan.
  • Triage assessment (low-risk confirmation review): confirmed correct — no missed issues found.

CI status

All checks green: AgentShield, build-and-test, coverage, Node.js Tests, Playwright UI Tests, CodeQL (actions/js-ts/python), SonarCloud Quality Gate, Secret scan (gitleaks), npm audit, autofix, CodeRabbit — all SUCCESS; remaining entries are conditional skips (dependabot-automerge, pnpm/pip/cargo/govulncheck audits, ci-relay).


Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.

@don-petry
don-petry merged commit 9519a36 into main Aug 2, 2026
26 checks passed
@don-petry
don-petry deleted the dev-lead/issue-450-20260721-1926 branch August 2, 2026 04:02
don-petry added a commit that referenced this pull request Aug 4, 2026
…deation.yml-permissions (#463)

* feat: implement issue #450 — Compliance: stub-surface-drift-feature-ideation.yml-permissions

* chore: dev-lead update (review-changes) [skip ci-relay]

---------

Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
Co-authored-by: Rachel Petry <Rachel.L.Petry@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compliance: stub-surface-drift-feature-ideation.yml-permissions

4 participants