Repository navigation
Strengthen CI policy, review, and host lint checks. - #85
Conversation
The gate scripts, lint and format settings, and agent override files could change review behavior without a policy warning. Treat these inputs as review policy and align CODEOWNERS with that scope so the maintainer sees changes to the checks and their guidance.
A proposed head could run its own weakened checker or review evaluator. Build the checker from the base revision and apply it to head data; load the review evaluator from the base as well. Require a current ready head before accepting a review, retry failed API reads within the polling window, and attribute fork runs by their head repository. Reject failed or empty commit enumeration so the per-commit job cannot succeed without testing a commit.
CI compiled integration tests but never applied the lint profiles to them, and macOS implementation files were outside the Linux lint jobs. Run both profiles and Staticcheck on ordinary and integration-tagged Go on Linux and macOS. Split bench identity checks, cleanup, and scratch recovery into smaller helpers so the integration tests meet the existing limits. Keep their protocol calls and restoration order intact.
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9cf3af0d42
ℹ️ 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".
The base checkout supplies the jq signal parser, while polling and acceptance remain in the pull-request workflow. Calling the whole gate a base evaluator implies protection against changes to the workflow itself. Name the parser in the workflow and its test, and document that workflow changes still require maintainer review. CODEOWNERS routes review but does not enforce approval or prevent a same-name check from passing.
|
@codex review |
|
Codex Review: Didn't find any major issues. Bravo. 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". |
Clean Codex comments now start with a receipt marker, so the gate ignores their result even when the reviewed commit matches the current head. Strip the known marker before matching the existing clean-result prefix; retain the bot identity, commit resolution and current-head checks. Keep plain result comments supported and reject unknown marker versions or quoted receipts rather than treating arbitrary body text as a result.
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! 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". |
CI builds the policy checker and loads the Codex signal parser from the pull request's base revision, then evaluates the proposed head. The review gate recognizes Codex receipt comments, checks the current head and draft state, retries API failures within its existing polling window, and attributes fork runs by their head repository. Failed or empty commit enumeration fails the per-commit job.
Linux and macOS also apply Staticcheck and both lint profiles to ordinary and integration-tagged Go. Bench identity, cleanup, and scratch-recovery helpers are split to meet the existing limits while preserving their protocol calls and restoration order.
Why
A proposed head could previously change the checker or signal parser used by the workflow. Loading those tools from the base preserves their behavior when the workflow invokes them. The workflow itself remains editable in a pull request, so these changes do not prevent a modified workflow from producing a successful check. Workflow and review-policy changes require maintainer review; CODEOWNERS identifies the maintainer but does not enforce approval.
Older draft-event reruns could skip the required review gate, and one transient timeline failure could end the wait early. Review-policy warnings and CODEOWNERS also cover gate scripts, lint and format settings, security and contribution guidance, and agent override files.
Integration tests were compiled without linting, and native macOS Go files were outside the Linux lint jobs.
Documentation
CONTRIBUTING describes the base checker and signal parser, the need for maintainer review of workflow changes, current-head review acceptance, and Linux and macOS lint coverage.