Repository navigation
fix(contracts): resolve contract paths under docs/contracts - #10942
Conversation
…conventions Prepares the plugin-contracts move (#7537): every reader that finds a contract file by path now resolves it under docs/contracts/<name>/ first and docs/conventions/<name>/ second, so the code works on today's tree and after the move, when the old paths hold only stubs. - The changelog fragment library classifies a listed convention under either home (root_of, convention_of); the check, parity, write, new and release scripts use it, and their suites run each convention case under both homes. - babysit-prs lists the docs/contracts/ lane-source prefixes beside the docs/conventions/ ones. - check-standards-contract-bump.sh, check-detector-findings-crosswalk.sh, sync-config-cascade-semantics.py and the shared hook-test-sink.sh helper (with its three plugin copies) take the new home when it exists. The standards gate's suite runs under both homes; hook-test-sink's suite resolves its default schema from a docs/conventions-only fixture and from a docs/contracts fixture with a stub at the old path. - Suites that read a live contract (prerequisites, config-cascade semantics, discovery's contract suite, the live affected-tests check) resolve it the same way. - docs/contracts/ecosystem-commands/examples.test.sh validates the four examples against their schema, read from whichever home holds them, so the moved examples map to a suite. Refs: #7537 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
|
claude-security-review reviewed No security issues found in PR #10942, which makes contract-path readers look under critical-findings: 0 Trusted path read:
Other changes:
The PR context file was read as data and contains no embedded directives. Spend: none; the diff changes no spend-related setting. |
|
claude-review reviewed No findings. I read the full 35-file diff ( What I checked
Not a finding in this PR Spend: none. This is no |
Refs: #7537
Summary
Part A of the #7537 split. #10719 failed pr-verify on size: leaving a stub at each old path keeps git from pairing the renames, so the 3.5 MB diff could not be read in full. This PR holds only the executable changes. Each reader that finds a contract file now resolves
docs/contracts/<name>/first and falls back todocs/conventions/<name>/, so it works on today's main, where every contract is still underdocs/conventions/, and after the move.Landing order: A (this PR), B1 (pure
git mvof the contract folders), B2 right after B1 (the old-path stubs), then the per-plugin reference rewrites. Only the last carriesCloses #7537.Fix
scripts/lib/changelog-fragments.shgainsroot_ofandconvention_of. The check, parity, new, release and write scripts and their tests resolve either home, and each convention case runs under both.babysit_review_evidence.py:LANE_SOURCE_PREFIXESlists both homes for the two lane-source contracts, so an edit to the stub or to the moved file still counts as a change to the PR's own review input. Its test covers both.lib/hook-test-sink.sh, its three plugin copies and its testlib/prerequisites.test.mjsscripts/check-standards-contract-bump.shand its testscripts/check-detector-findings-crosswalk.shscripts/sync-config-cascade-semantics.pyand its testscripts/affected-tests-live.shplugins/discovery/scripts/contract.test.shscripts/affected-tests.test.shdocs/contracts/ecosystem-commands/examples.test.sh: the suite for the moved example YAMLs, with the both-home lookup.Verification
hook-test-sink.test.shresolves the default schema from a fixture that has onlydocs/conventions, and from adocs/contractsfixture with a stub at the old path. The second case fails on main's code.scripts/check-affected.sh --tests --jobs 6on this branch: no content failures. Its one red item, the tests step, isscripts/post-merge-demotion-alert.test.shrunning 32-48 s against a 30 s share on the dev host. This PR does not touch that file, which alone takes 37 s (173 pass)..changesfragments.Related
do-not-merge).🤖 Generated with Claude Code