Twinned from https://github.com/cfsh/ninefold/issues/490 by tools/beads/import_github.py's reconcile pass.
#472 (7af1b92) reverted merged PR #435 in full, and the revert is on main now. Found by ninefold-reviewer's review of #472; filed so the restoration is tracked rather than living in a comment on a merged PR.
Not a partial conflict — byte-for-byte the pre-#435 state:
``` art_dump/README.md @ f7f322c (pre-#435) 55f4dd21d56044813dc2f2ca4ee6aa5bdbd14376 art_dump/README.md @ origin/main NOW 55f4dd21d56044813dc2f2ca4ee6aa5bdbd14376 ```
CLAUDE.md's art-dump section is the same, minus the unrelated sections main gained in between: the delta is exactly the inverse of 9692826's CLAUDE.md hunk.
| # | file(s) | what #435 gave, now missing |
|---|---|---|
| 1 | CLAUDE.md, art_dump/README.md | ⚠️ *"Run that in bash, never PowerShell"* + the redirect-free git checkout / git restore --staged form. Main is back to bare git show … > char2.png, which under PowerShell is Out-File and silently corrupts the PNG — #435 measured 336 B → 596 B, surfacing much later as a broken Godot import |
| 2 | CLAUDE.md, art_dump/README.md | mkdir -p games/explore/assets — without it the documented command fails on a fresh clone |
| 3 | art_dump/README.md | *"Save the .aseprite at the top level of this folder — the exporter does not descend into sub-folders yet … (#432)"*, reverted to *"anywhere in this folder"*. #432 is still OPEN, so the export gap is live and the warning that covered it is gone |
| 4 | art_dump/README.md | the whole *"Setting up a fresh art-dump clone"* section — credential.https://github.com.username, plus the ⚠️ that running it in a dev clone re-points that clone's pushes at the wrong account |
git show 9692826 -- CLAUDE.md art_dump/README.md is the exact content; a revert of the revert is the whole job.
636bf83's tree for these two files is the *old branch's* tree, not main's — the signature of a tree-snapshot squash (git reset --soft origin/main from the old tip, or git restore --source=<old-head> .), which commits the old tree wholesale, so anything main changed since the old base is reverted as a side effect. #435 merged at 01:55Z; the rebuild was committed at 02:02Z.
CLAUDE.md already mandates the safe form — *"cherry-pick (not rebase --onto) onto fresh main when rebuilding a stack after a squash-merge"* — and a cherry-pick of 636bf83's own commits could not have produced this, since none of them touch these files.
Nothing in the pipeline can see this class:
presubmit.py --all gates code; a doc revert compiles.probe_gate is post-merge and sweeps probes, not content.91f818c; the tree that merged was 636bf83, pushed after the approval — and dismiss_stale_reviews_on_push is OFF by design.The cheap guard is a pre-push check on a rebuild: git diff origin/main..HEAD --stat, reconciled against the PR's declared scope. Two unexplained doc files with pure deletions were visible in gh pr view --json files from the moment the rebuild landed. Whether that is worth automating (a merge_pr preflight that flags paths in the diff which no commit on the branch touches) is a separate call — say so here rather than opening a second issue.
None.
No comments.