Repository navigation
ci: the resolver reads the low-risk file names from ci.json (ADR-1131) - #982
Merged
Merged
Conversation
The resolver of pipeline-post-merge.yml held Cortex's dependency file names (uv.lock, pyproject.toml), so the file could not be copied to another repository as it is. The names move to a new required ci.json key, low_risk_files, read from the default branch through the contents API. A missing file, a missing key or a malformed list fails the resolver: no list is built in. A changed file is matched by its file name in any directory, and a path under .github/ is never low risk, as the sibling repositories already do. The ci.json validator embedded in the contract job of pipeline.yml and pipeline-post-merge.yml accepts the key and reports its absence. Comments: pipeline-post-merge.yml no longer lists a review job the pipeline does not have, and pipeline.yml no longer points to .github/workflows/ci.yml, which is gone. Owner decision 2026-11-10: every repository's CI is identical to Cortex's. Co-Authored-By: Claude Fable 5.2 <[email protected]> Claude-Session: https://claude.ai/code/session_018kyZYrKg46KKYpvLPXcW4M Signed-off-by: Claude <[email protected]>
Codex Review Summary: ✅ CompletedThis 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. |
|
Claude finished @cdeust's task in 2m 18s —— View job Review of PR #982 (review 1 of 3)
I found no Blockers.
The review comment has three Notes, none of which need action before merge. Verdict: approve |
Review 1 of 3: PR #982I found no Blockers. Five reviewer agents ran: code quality, performance, test coverage, documentation and security. I checked their findings against the diff. What I checked and found sound:
Notes, no action before merge
View job run |
This was referenced Nov 11, 2026
Merged
Merged
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.
What
The post-merge resolver no longer hardcodes the Dependabot low-risk file names (ADR-1126). It reads them from
ci.json, keylow_risk_files; for Cortex:["uv.lock", "pyproject.toml"].dependabot[bot]..github/is never low-risk.contractjob ofpipeline.ymlandpipeline-post-merge.ymlaccepts the new key and reports it when missing or malformed.reviewjob that no pipeline has, and the tag job pointed to.github/workflows/ci.yml, which no longer exists.Why
Owner decision of 2026-11-10: the CI is the same in every repository and Cortex is the source. The low-risk file names were the only lines of the resolver that differed between repositories. Recorded in ADR-1131, with the rejected alternative (moving the required job names to
ci.jsonwould let a repository weaken its own merge gate).Checks
tests_py/infrastructure/test_project_wiki_mirror.py: 38 passed.ruff check,ruff format --check,scripts/check_craftsmanship.py: clean.tests_py/scriptsas a whole, local: 1981 passed, 6 failed. The 6 are intest_ci_mutation_scope.py(No module named 'ci_mutation_lines'in a temporary copy) and fail the same way locally without this change; they pass in CI onmain.Not verified
No live run of the contents-API read: it is covered by fakes only. The first Dependabot pull request after the merge exercises it.
Follow-up, not in this pull request
Each sibling repository takes these files together with its own
low_risk_filesinci.json.Generated by Claude Code