Skip to content

fix(kpi): bind provenance log path identity - #490

Merged
seonghobae merged 4 commits into
mainfrom
fix/kpi-provenance-log-path-identity
Aug 23, 2026
Merged

fix(kpi): bind provenance log path identity#490
seonghobae merged 4 commits into
mainfrom
fix/kpi-provenance-log-path-identity

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

RED boundary

Strict KPI provenance verifies the bytes, digest, record count, source identity and reviewed source method for the production log passed to the gate, but currently retains parsed.logPath without proving that it identifies those same bytes. A crafted provenance record can therefore claim a different production log path while the strict gate verifies another file.

RED a9039741c8633e2121f95f36040b5f37a82f2399 adds a realistic 30-day production-log regression that supplies otherwise valid provenance with a different logPath and requires the strict gate to fail closed. Keep Draft until the RED is observed, the smallest production identity repair lands, and unchanged exact-head application/reviewer/Security evidence is terminal-success.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

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

Next review available in: 46 minutes

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.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 53bd508b-12c6-4a9c-9500-de1175cf7bd1

📥 Commits

Reviewing files that changed from the base of the PR and between 59c710e and c484a13.

📒 Files selected for processing (2)
  • scripts/kpi-gate.mjs
  • test/kpi-provenance-log-path-identity.test.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.

@seonghobae
seonghobae marked this pull request as ready for review August 23, 2026 04:42
@seonghobae
seonghobae merged commit 45f458c into main Aug 23, 2026
15 of 17 checks passed
@seonghobae
seonghobae deleted the fix/kpi-provenance-log-path-identity branch August 23, 2026 04:43

@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 1 potential issue.

Open in Devin Review

Comment thread scripts/kpi-gate.mjs
Comment on lines +379 to +384
if (provenanceLogPath !== null && provenanceLogPath !== expectedLogPath) {
return {
pass: false,
reason: "KPI provenance logPath must exactly identify the production log being verified when present.",
};
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📝 Info: logPath check skipped when field absent

The check at kpi-gate.mjs runs only when logPath is present, so provenance omitting it bypasses the binding. The bytes, digest, and record count of the verified log are still checked independently, so this is only advisory metadata. Non-string values fail closed.

Open in Devin Review

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

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