Repository navigation
docs(contracts): point references at docs/contracts - #11062
Conversation
…acts Move 38 plugin-author contract folders from docs/conventions to docs/contracts unchanged, and repoint their em-dash allowlist entries. Readers already try docs/contracts first. The folders a registry names by README path, and the two lane-source folders, move in the next parts of the stack so this change's review diff collapses every move. The TEMPORARY (#7537) .lycheeignore entries skip local links into the moved folders until the old-path stubs land, and relative links inside the moved folders until the later moves and the reference rewrites land. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q3ucKDVyHvpcU5cfU8
…tracts Move seven plugin-author contract folders that a registry names by README path (enforcement-ladder, hook-observability, hook-precision, pr-scope-budget, pre-pr-ordering, seam-phrasing, standards) from docs/conventions to docs/contracts unchanged, and repoint those registries: the conformance dimension owners, the shared-copies and cross-plugin source registries, and the em-dash allowlist entries. Resync the eleven shared copies, which name their canonical source, with a patch fragment for each of the nine carrying plugins, and point the standards schema $id at its new path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q3ucKDVyHvpcU5cfU8
…s at docs/contracts Move the last three plugin-author contract folders (rendered-views and the two lane-source folders, instruction-exception-register and untrusted-content) from docs/conventions to docs/contracts, and repoint the contract-clause registry and their em-dash allowlist entries. Point every lane-source reference at docs/contracts: AGENTS.md, .claude/code-metrics.yaml, the two .claude/rules files, the untrusted- content contract's own links, and release-publish-plugins.yml, which now stages docs/contracts beside docs/conventions. Keeping every lane source in this one part leaves the main-run review a diff it reads whole. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q3ucKDVyHvpcU5cfU8
Rewrite the in-place references to the moved plugin-author contracts: links inside the moved contracts themselves, the docs that link them, and the comments, registries and prompts outside docs that name them. Drop the TEMPORARY (#7537) .lycheeignore entry for relative links inside the moved folders, which these rewrites resolve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q3ucKDVyHvpcU5cfU8
# Conflicts: # .lycheeignore # .performance/ratchets.json
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 this pull request (#11062, head 31e16ee). I read the whole What I checked on the trusted-path and trust-control surface:
No critical-findings: 0 |
|
claude-review reviewed I reviewed the 129-file path-rewrite diff by reading it and grepping the head tree. I could not run lychee or the suites, since this lane has no shell. The "no lychee error" and "suites pass" claims in the PR body are author-claimed and unverified. The rewrites I read are consistent: ADR and upstream prose, 1. A moved-contract link in
2. Merge-hold and trusted-path globs still name the old
Other notes
|
Refs: #7537
Summary
Part B1, layer 4 of 5, of the #7537 split, stacked on
docs/7537-b1-moves-lane. It rewrites the remaining references to the moved contracts. With it, the stack's tree equals #10952's head (08bd36a6) merged with main at9b6151ae:git diffbetween the two is empty.Merge order. #10952 is re-split into five stacked layers so each review diff stays under
pr-review-main's 300 KB cap (MAX_DIFF_BYTES, measured with #10969'swrite-diff.py):docs/7537-b1-moves: 38 folders' pure moves (collapsed to rename lines) and the TEMPORARY link-check entries.docs/7537-b1-moves-registered: the 7 folders a registry names by README path, with those registries and the synced copies.docs/7537-b1-moves-lane: rendered-views and the two lane-source folders, plus every lane-source reference edit.docs/7537-b1-refs: the remaining reference rewrites.docs/7537-b2-stubs-v2: docs(contracts): leave stubs at the moved contracts' old paths #10957's stubs.Merge in that order: M, M2, M3, R, then B2. Each layer targets the branch below it. main squash-merges, so after a layer lands, retarget the next layer to main and merge main into it; until then its diff still carries the landed layer and is over the cap.
Fix
pr-pipeline/,pr-pipeline.yamlandreview-digest.mdthat dangle after a pure move. Layer 1's secondTEMPORARY (#7537).lycheeignoreentry is removed here.docs/(the ADRs,docs/upstream/, and the ADR 0064 Decision 6 amendment and convention registry indocs/plugin-philosophy.md) and.github/prompts, plus comment and data paths in thescripts/*registries and the JSON records.scripts/affected-tests-no-suite.txtnamesdocs/contracts/ecosystem-commands/examples.test.sh, which is on main since fix(contracts): resolve contract paths under docs/contracts #10942. Everything else is a path rewrite.config-cascade/README.mddiffers from main only in paths.pr-pipelinechangelog fragment (bump none, path-only).Verification
write-diff.pybuilds it: 258,156 bytes. There is no lane source, sopr-review-maindoes not run on this layer. Eight diff lines are over the 1,800-byte line cap: pre-existing table rows indocs/plugin-philosophy.md,docs/upstream/claude-dev-building-effective-agent-automations.mdanddocs/upstream/cursor-pstack.md.pr-review-mainwould refuse them, and so would the babysit long-line hold (babysit_risk.py_long_line_reasons), but both apply only to a PR the main-run review binds. So every lane-source edit sits in layer 3.test_reader_findings.py::…non_literal_stays_partial, which fails the same way on the main checkout atd5d8ff15.Related
Draft: a stacked layer of the #7537 B1 re-split; it goes through
/source-control:pull-request readyin merge order, after the layer below lands and main is merged in.🤖 Generated with Claude Code
https://claude.ai/code/session_01VQb9Q3ucKDVyHvpcU5cfU8