Repository navigation
Conversation
This was referenced Oct 9, 2026
doublewhy
force-pushed
the
60-pre-push-review-caps
branch
from
October 9, 2026 08:07
d910aa9 to
c56955f
Compare
doublewhy
marked this pull request as ready for review
October 9, 2026 08:46
9 of 11 tasks
…or published advisories Upgrade only these four uv.lock entries, within the existing pyproject.toml constraints: - cryptography 49.0.0 -> 50.0.2 (PYSEC-2026-3552) - django 5.2.16 -> 5.2.18 (PYSEC-2026-3717, PYSEC-2026-4035) - pyjwt 2.13.0 -> 2.15.1 (PYSEC-2026-4140 to PYSEC-2026-4152, PYSEC-2026-4183) - sqlparse 0.5.5 -> 0.6.0 (PYSEC-2026-3696 to PYSEC-2026-3699, PYSEC-2026-3923) CI's audit job runs pip-audit --strict over the locked runtime dependencies and fails on dev with 27 known vulnerabilities in these packages (22 distinct advisories: pip-audit lists PYSEC-2026-3552 and PYSEC-2026-3696 to PYSEC-2026-3699 twice); with this lock it reports none. No other package is added, removed or moved. Closes #76
doublewhy
force-pushed
the
60-pre-push-review-caps
branch
from
October 10, 2026 18:27
c56955f to
6ca4e9f
Compare
…position Declare one pre-push Codex review cycle and turn automatic review disposition off (shadow mode, no auto-overrides, judge off), so reaching the review cap always escalates to a human. These are the values in OpenRAE/rae's .ground-control.yaml on dev. test_quality_review is not declared: it was retired from rae (ad151246), lilrae (e6bef3c6) and env-packs (443248d). Every other key is unchanged. Refs #60
doublewhy
force-pushed
the
60-pre-push-review-caps
branch
from
October 12, 2026 02:34
6ca4e9f to
143ba96
Compare
Open
2 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings
.ground-control.yaml's pre-push review settings in line with the current reference, OpenRAE/rae's.ground-control.yamlondev:Per #60, reaching the review cap then always escalates to a human, instead of letting the authoritative auto path grant an extra cycle. Configuration only: no code, skill or CI change. Unlike the issue text, this PR does not declare
test_quality_review; see "Deviation from the issue text".Stacked on #74, so merge it after #74. The branch now carries #74's
uv.lockfix (commit6ee2564; #74 is the PR for #76) under this PR's own commit143ba96, which is unchanged. That clears CI'sauditjob, which failed here only ondev's lock. Once #74 is merged, the squash of this PR changes only.ground-control.yaml.Requirement UIDs
Related Issues
Refs #60
ADR Impact
Changes
.ground-control.yaml,workflow:block only (+6/−4):codex_review.pre_push_cap: 1;review_disposition.enabledtrue→false;review_disposition.modeauthoritative→shadow;review_disposition.max_auto_overrides1→0;review_disposition.judge.enabledtrue→false.test_command,completion_command,lint_command,format_commandand every other top-level key are unchanged.uv.lockis carried from #74 (6ee2564) and not edited by this PR's own commit; #74 has the details.Deviation from the issue text
#60 (2026-07-26) also asks for
test_quality_review.pre_push_cap: 1, which is acceptance criterion 2. It names rae's.ground-control.yamlondevas the reference, and at the time the issue matched rae commit 46cd7693 ("Configure pre-push review limits", 2026-07-26). The reference has since changed.git show origin/dev:.ground-control.yamlin OpenRAE/rae (devat 35122105) now declares:test_quality_reviewwas removed from the reference and from two sibling repositories:ad151246, 2026-09-17);e6bef3c6, 2026-09-18);443248d, 2026-09-18). Its comment now reads "One pre-push Codex review cycle, with automatic disposition of the review cap off ... This matches Ground Control's current default".The env-packs commit also added a test that keeps the key out.
tests/test_ground_control_review_config.py::ReviewConfigPlacementTests::test_retired_test_quality_review_key_is_absentasserts thatworkflowhas notest_quality_reviewkey, with the message "Ground Control retired workflow.test_quality_review; keeping it makes .ground-control.yaml invalid". The test is still on env-packsdev(9ce449d).Two sibling repositories still declare the key. OpenRAE/hub and OpenRAE/adapters carry
test_quality_review.pre_push_cap: 1ondev, in files last edited before the retirement: huba203171(2026-07-30) and adaptersf05ef0c(2026-08-02). Removing the key there is tracked in OpenRAE/hub#48 and OpenRAE/adapters#103.This PR matches the current reference and does not add the retired key, so criterion 2 is deliberately unmet. That is why this PR uses
Refs #60rather than a closing keyword. Criterion 2 is the only #60 item this PR leaves unmet, and removing it from #60 is a maintainer decision on the issue text. With that change, this PR completes #60, and its Related Issues route moves from the reference to a closing keyword.Test Plan
compare_gc_ref.py, a PyYAML script inlined in the collapsed block at the end of this section, prints PASS for:workflow.codex_review,workflow.test_quality_review(absent from both) andworkflow.review_disposition, each equal to raedev's;workflow:key unchanged;devfile fails thecodex_reviewandreview_dispositioncomparisons (exit 1).check_gc60.py, a script encoding chore: use one pre-push Codex review, one pre-push test-quality review, and disable automatic review disposition #60's seven acceptance criteria (same block), passes every check exceptworkflow.test_quality_review.pre_push_cap is 1, which fails as intended because the key is absent (see the deviation above).uvx pre-commit run --files .ground-control.yaml(pre-commit 4.6.2): every commit-stage hook passed, includingcheck-yamland gitleaks..gc/plan-rules.mdrequiresuv run ruff check .,uv run ruff format --check .anduv run pytestbefore completion. Locally,uvx ruff@0.15.21 check .(the ruff versionuv.lockpins) printedAll checks passed!anduvx ruff@0.15.21 format --check .printed47 files already formatted. I did not runpytestlocally because nothing Python-related changed. CI'stestjob runs all three (itsLint,Format checkandTest with coveragesteps). It passed at the earlier head6ca4e9fin run 38075834128 and at the restacked head143ba96in run 38196310542 ("148 passed")./implementworkflow that reads these keys is not available in this environment.6ee2564):git rebase --onto origin/uv-lock-vulnerability-fixes origin/devreplayed the one commit, andgit range-diffreports it unchanged (6ca4e9f = 143ba96)..ground-control.yamlis byte-identical to6ca4e9f's (the raw file at both heads has the same SHA-256), so the script results below still hold.uv.lockis byte-identical to chore(deps): update locked cryptography, django, pyjwt and sqlparse for published advisories #74's, anduv lock --checkresolves 93 packages (exit 0).uvx pre-commit run --files .ground-control.yaml uv.lockexits 0.uv export --frozen --no-dev --all-extras --no-emit-project --no-hashes --format requirements-txt, thenuvx pip-audit --strict --no-depson the export printed "No known vulnerabilities found" (exit 0). Locally I added--disable-pip, because pip-audit's temporary virtual environment aborts inensurepipon this machine; with--no-depsit audits the same pins. Ondev's lock the same commands print "Found 27 known vulnerabilities in 4 packages" (exit 1).143ba96:auditpasses ("No known vulnerabilities found") andtestpasses, both in run 38196310542.PR title guard(38196310576), CodeQL actions, javascript-typescript and python (38196308603) and GitGuardian also pass.sonaris the only red check, and no code change can fix it: it stops before analysis because SonarCloud rejects the repositorySONAR_TOKEN("HTTP 403 Forbidden" in run 38196310542, as in the earlier run 38075834128). Only the maintainer can replace the secret; tracked in ci: SonarCloud rejects the repository SONAR_TOKEN #75.Rerun both scripts (bash or zsh; needs
curlanduv)The inputs are pinned to this PR's head (
143ba96), itsdevbase (b923768) and raedev(35122105). The three runs end withexit 0,exit 1(negative control) andexit 1(criterion 2).Ground Control Checks
gc_evaluate_quality_gates,gc_run_sweep) was run from this environment, and the repository has nomake policytarget.Traceability
Checklist
CHANGELOG.mdor version editsauditfix: merge after chore(deps): update locked cryptography, django, pyjwt and sqlparse for published advisories #74 (restack verified above)Documentation
Verified unchanged: no documentation describes these keys (
git grepfinds them only in.ground-control.yaml).