Fix live GitHub security reconciliation - #201
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 60deba9c5a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Addressed the prior archived-lifecycle finding on commit 01dab51: live github_api status remains authoritative, while the fresh receipt now supplies archived state when only stale audit-report status is available. Added precedence regression coverage. Also bounded CI Ruff below 0.16 after the runner pulled an expanded unreviewed ruleset. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 01dab51ccd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 524ea4a790
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
What
Repair the bounded GitHub security collector and PortfolioTruth overlay so the current nine-repository cohort carries fresh provider evidence or exact fail-closed reason codes. The receipt now also binds the live default branch and head SHA observed in the same collection pass.
Why
The scheduled collector was failing before refresh because its local wrapper pinned an obsolete producer commit. PortfolioTruth then accepted a newly generated wrapper around an aging security receipt, leaving the entire cohort stale. The receipt also lacked normalized reason codes, explicit completed-zero semantics, and same-pass remote branch/head evidence.
Review Of What Was Built
reason_code,completed, andzero_findingsfields while retainingGitHubSecurityCoverageReceiptV1read compatibility.Cleanup Review
Kept the existing receipt and PortfolioTruth schema versions because all additions are backward-compatible. No GitHub settings, alerts, secrets, schedules, issues, or unrelated repository state were changed. The separate local wrapper-pin repair is intentionally deferred until this code is merged and has a final protected-branch SHA.
Verification Summary
src/andtests/checks passed; CI is bounded below Ruff 0.16 to avoid silently adopting an expanded rule contract.4387067: Python 3.11, Python 3.12, CodeQL Analyze, and CodeQL all passed.4387067: no major issues; all four earlier review findings were repaired and resolved.4387067: 9/9 Dependabot observed, 5/9 code scanning observed, 6/9 secret scanning observed, 9/9 remote default branches and heads observed; 28 requests, no stop reason.Shipped Summary
The branch produces a current, provenance-bound nine-repository security receipt and a PortfolioTruth snapshot that distinguishes completed zero findings from missing, partial, stale, malformed, rate-limited, transient, or unauthenticated evidence.
Next Phase
The protected branch requires one approving review. After an eligible independent reviewer approves, merge through the governed protected-branch path. Then pin the canonical automation checkout and its sole reviewed wrapper contract to the merge SHA, remove the duplicate stale collector pin, run a controlled canonical refresh, and verify the published PortfolioTruth artifact from main.
Remaining Roadmap
Independent GitHub approval, governed merge, canonical wrapper reconciliation, and current PortfolioTruth readback are the remaining delivery steps for this repair.