backlog: file #1247 -- a gate install leaves no record, and its mtime actively lies - #371
Merged
Merged
Conversation
… actively lies The installed machine-global worktree gate changed content on this box while three sessions ran against it, and after all three looked, nobody can say who wrote it. The change was benign -- it moved the gate forward -- so this is a governance defect rather than an incident. install-gate.ps1:420 is a bare Copy-Item -Force. Four mechanisms could have recorded the write and none is present: no backup of the replaced bytes, no receipt, no log line, and Copy-Item carries the source file's mtime so the installed copy inherits a timestamp from whichever checkout it came from. The mtime is worse than missing because it is misleading. A correct stale-gate report was retracted on the strength of that timestamp and the retraction reached three sessions and the owner before a builder's pre-change baseline hash reproved the original claim. An absent record makes people say unknown; a wrong record makes them say something false with confidence. Records the technique that eventually bounded the write, because it is the only one that worked: a record of the past taken before the change. A re-measurement cannot distinguish a bad instrument from a changed artifact, since it sees only the present. Bounds itself: it is NOT established that install-gate.ps1 performed this write, only that had it been used it would have left nothing either.
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.
Files one backlog item. Docs-only:
docs/BACKLOG.md, +28 -0, pure append. Basec2241cfe, currentmain, ahead 1 / behind 0.
#1247 -- a gate install leaves no record, and its mtime actively lies.
What happened, measured
The machine-global worktree gate at
C:\Users\Scott\.claude\hooks\worktree_gate.ps1was replacedmid-session by a writer nobody can identify. Three sessions independently examined it and none of
them did it.
The hashes are decisive, because a historical release matches exactly:
So the file moved forward, from the version reported as stale to the version that fixes rule 3d's
quote-aware victim read. The outcome was an upgrade. The governance gap is the finding, not the
content.
Why nothing caught it
mtimeis not a witness here, and it actively misleads. The file reads2026-08-12 13:55:22--earlier than the baseline that already showed different content.
install-gate.ps1installs withCopy-Item, which carries the source's timestamp, so a fresh install produces new content with an oldmtime. A session reasoning from the timestamp concluded "nothing wrote it today" and retracted a true
staleness finding on that basis.
Why this is worth an item rather than a shrug
A machine-global safety control governing every session on the box changed hands with no log, no
attribution, and a timestamp that argues against the change having happened. That is the same shape as
#1244: a state changed and no instrument noticed. It is benign this time only because the change
happened to be correct.
Verification
git branch -r --contains 6e68a2b6returned 0, so it existed in oneworktree only
+28 -0, base is current mainitself retracted
Severity carries no deployment axis -- this is developer tooling on one workstation, not shipped engine
behaviour.