docs(conventions): fix topic-docs prune recovery under squash-merge - #2760
Conversation
The prescribed ?ref=<pruning-commit>^ form is unrecoverable after squash-merge deletes the head branch. Prescribe the Contents API pre-prune SHA form as best-effort and make graduation targets the load-bearing record. Closes #2699 Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 10f7d37e5f
ℹ️ 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".
Clarify that git show needs a fetched object while ?ref=<pruning-commit>^ fails remotely because the squash parent never held the slice. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Claude finished @cursor[bot]'s task in 31s —— View job Code review —
|
|
Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
…-no-checkout Fourth collision, and the first that was not a version race: #2760 published topic-docs 2.4.3 correcting the prune-recovery pointer for squash-merge, in the same CHANGELOG this branch adds 2.5.0 to. Both entries kept, 2.5.0 above 2.4.3. The README auto-merged, which is the case worth checking rather than trusting: #2760 edited the contract-slice lifecycle, this branch edits Runtime guards, and a diff of the merged file against origin/main shows the guard clause as the ONLY delta — so their correction is intact and nothing of theirs was reverted by an older copy winning silently. Same check applied to the other two shared files: every line this branch removes against main is its own superseded text, none of main's. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Closes #2699
Summary
The topic-docs prune recovery pointer prescribed
?ref=<pruning-commit>^, which is unrecoverable after this repository squash-merges and deletes the head branch. Amend the convention so the written form matches what still works, and stop presenting unreachable-object retention as a guarantee.Fix
In
docs/conventions/topic-docs/README.md(lifecycle steps 2 and 5):?ref=<pre-prune-commit>(no^).scripts/check-contract-slice-prune.shis unchanged.Verification
bash scripts/check-changelog-parity.sh --check-bump origin/main— exit 0 (docs underdocs/conventions/need no plugin bump).bash scripts/check-changelog-parity.sh --check— exit 0.bash scripts/check-changelog-parity.sh --check-order— exit 0.gh api …/contents/…/PLAN.md?ref=5341117c→ size67690(prescribed form works while retention lasts).c38fe716…) →404(confirms^/ parent-of-squash is not a recovery path).Related
Refs #2686 (live instance that exposed the false pointer)