ci: make Cargo surfaces and the merge gate fail closed#30
ci: make Cargo surfaces and the merge gate fail closed#30Nelson Spence (Fieldnote-Echo) wants to merge 4 commits into
Conversation
|
Codex (@codex) review |
PR Summary by QodoCI: fail-closed Cargo surfaces + merge-gate required-check contract
AI Description
Diagram
High-Level Assessment
Files changed (17)
|
Code Review by Qodo
1.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6dfa627d72
ℹ️ 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 (@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 (@codex) address that feedback".
72a92e7 to
a0cc14b
Compare
6dfa627 to
442b120
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 442b120693
ℹ️ 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 (@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 (@codex) address that feedback".
442b120 to
a77fa6c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a77fa6cd9a
ℹ️ 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 (@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 (@codex) address that feedback".
a77fa6c to
0408da8
Compare
ea3ffed to
1bd4c19
Compare
Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
0408da8 to
c05ae00
Compare
|
Corrected CI/governance layer pushed at The latest review findings are fixed: GitHub-expression command construction fails closed, legitimate repeated Cargo options are representable, and the earlier workflow/package-policy bypasses remain covered. Local proof: 76 policy tests, workflow validator, five-surface inventory validator, exact ordvec 0.6.0 source policy, Ruff, formatting, and diff checks all pass. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c05ae00655
ℹ️ 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 (@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 (@codex) address that feedback".
Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
c05ae00 to
c712baa
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c712baa35a
ℹ️ 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 (@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 (@codex) address that feedback".
Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 176451e89c
ℹ️ 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 (@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 (@codex) address that feedback".
Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0fe9ed01da
ℹ️ 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 (@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 (@codex) address that feedback".
| if not isinstance(steps, list) or not steps: | ||
| fail(f"{path.name}: protected job {job_id!r} must have a non-empty step list") | ||
| payload = json.dumps( | ||
| _plain_yaml(steps), |
There was a problem hiding this comment.
Bind inventory outputs to the generated matrices
Include each protected inventory job's outputs mapping in this digest or validate it separately. Because only steps are hashed and no later check validates producer outputs, a workflow change can hardcode build_matrix and audit_matrix to a single valid surface while leaving the reviewed inventory steps untouched; validation still checks all five surfaces, but the build/audit consumers receive only the narrowed matrix and the merge gate can remain green.
Useful? React with 👍 / 👎.
| errors.extend(_protected_job_step_sequence_errors(path, job_id, job)) | ||
| if "if" in job: |
There was a problem hiding this comment.
Reject dependencies on stable required-context jobs
Require the actionlint and zizmor jobs to omit needs (or validate their complete dependency chain). Fresh evidence beyond the earlier job-level if fix is that adding needs: blocker leaves this validation and the protected step digest unchanged; if blocker fails or is skipped, GitHub skips the required-context job before any audit or policy-validator step runs, allowing the required context to conclude as skipped rather than enforcing the checks.
Useful? React with 👍 / 👎.
| if isinstance(steps, list) and any( | ||
| isinstance(step, MarkedDict) and "continue-on-error" in step | ||
| for step in steps | ||
| ): | ||
| errors.append(f"CI job {job_id!r} contains a continue-on-error step") |
There was a problem hiding this comment.
Require the exact dependency-policy validator
Structurally require an unconditional execution of tests/dependency_policy.py and protect its release-smoke wrapper. The exact TURBOVEC_REVISION and comparator feature boundary are enforced only by that script, but neither the lint nor package-integration proof step is protected and this global pass rejects only continue-on-error; a PR can add if: ${{ false }} to both invocations, change BEIR's turbovec dependency to any other full SHA from the allowlisted repository, and still pass the Cargo-surface validator, audits, and merge gate.
Useful? React with 👍 / 👎.
No description provided.