Skip to content

fix(kpi): reject compact credential-shaped source IDs (#496 merge-result promotion) - #507

Closed
seonghobae wants to merge 36 commits into
mainfrom
merge-ready/pr-496-34d37b0f
Closed

fix(kpi): reject compact credential-shaped source IDs (#496 merge-result promotion)#507
seonghobae wants to merge 36 commits into
mainfrom
merge-ready/pr-496-34d37b0f

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Promotes GitHub's verified current-base merge result for draft PR #496 without force-updating or rewriting the source branch.

Source PR: #496
Source tree head after no-content refresh: f1357b02cb457d9a0d606c6207f84267526f3a93
Protected base incorporated: 9fd64b184a7df52922efe0b6c121d714f6f6217d
Exact promotion head: 34d37b0f02ab52e5982884df1defc50f068e1cea

The promotion head is a GitHub-signed two-parent merge commit. Its first parent is the current protected base and its second parent is the source PR head. The refresh commit preserved the exact source tree of predecessor head 4e2cadbb56cff3b143d70dc99a78b7f7347a8afe.

The predecessor exact source tree passed CI, reviewer-ci, Security Scan, and patch-validator-image. This current-base merge result must pass its own CI, reviewer-ci, and required Security Scan before merge. After verified merge, #496 will be closed as superseded.


Devin Review

@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 51 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 63605caa-f204-471a-bec2-16496703583c

📥 Commits

Reviewing files that changed from the base of the PR and between 9fd64b1 and 34d37b0.

📒 Files selected for processing (5)
  • scripts/lib/source-id.mjs
  • test/source-id-canonical-whitespace.test.ts
  • test/source-id-exact-coverage.test.ts
  • test/source-id-secret-prefixes.test.ts
  • vitest.config.ts

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.

@devin-ai-integration devin-ai-integration 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.

Devin Review found 2 potential issues.

Devin Review

Comment thread scripts/lib/source-id.mjs
Comment on lines 10 to +18
export function hasUnsafeSourceId(value) {
const rawSourceId = String(value ?? "");
const sourceId = rawSourceId.trim();
const normalized = sourceId.toLowerCase();
const camelSeparatedSourceId = sourceId.replace(/([a-z0-9])([A-Z])/g, "$1_$2");
return rawSourceId !== sourceId
|| sourceId !== sourceId.normalize("NFKC")
|| unsafeIdentityCodePointPattern.test(sourceId)
|| nonCanonicalSpacePattern.test(sourceId)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Behavior change lacks changelog entry

New hasUnsafeSourceId rejections are absent from the Unreleased changelog. Repository policy requires every behavior change to be recorded.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread vitest.config.ts
"scripts/prepare-agent-pr-message.mjs",
"scripts/verify-orchestrator-gateway.mjs",
"scripts/lib/orchestrator-gateway.mjs",
"scripts/lib/source-id.mjs",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Local test result unavailable

npm test cannot run without installed dependencies. Exact-head CI must establish the test and 100% coverage results.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

Temporarily closing this promotion while its branch is extended into a single backlog-integration tree. This prevents one full promotion workflow set per Draft PR. The branch will be reopened only after #497, #501, #503, #504, and the salvageable #425 documentation delta are either incorporated with verified GitHub merge parents or explicitly excluded for a demonstrated conflict/defect. Temporary workflow trigger guards used only on the staging branch will be removed before reopening, so the final tree receives one fresh CI, reviewer-ci, required Security Scan, and image/SBOM run.

@seonghobae seonghobae closed this Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant