Repository navigation
chore: correct the .roy-scratch row — #2156 removed it, not #2161 - #2166
Merged
Merged
Conversation
#2161 wrote the incident row for `.roy-scratch/` while #2156 was in flight against the same file. #2156 merged first (`7c127897b`, 23:43:40Z); #2161 merged 16 minutes later (`edc42d2cb`, 23:59:38Z) carrying an identical deletion, which git accepted silently because delete/delete is not a conflict. So the row I wrote is wrong in exactly the way the log exists to prevent: before: .roy-scratch/ b054ff6 -> #2161 0.9h (#2150, and a directory) after: .roy-scratch/ b054ff6 -> 7c12789 1.4h (#2150, removed by #2156) Three corrections in one row: the removal is `7c127897b`, not #2161; the dwell is 1.4h (22:20:23Z -> 23:43:40Z), not the 0.9h I measured against the moment I wrote it rather than the moment it was fixed; and the removal column holds a commit again, like every other row. That last point retires the note #2161 added to justify a PR number in that column ("a PR cannot know the squash SHA it is about to be given"). It was true and it was unnecessary: the removal had already happened under a known SHA. A convention invented to accommodate one row is worse than the row. Still one incident and one entry -- the counts (eight entries, seven incidents) are unchanged -- with a short note recording that it was repaired twice, so the next reader does not file the duplicate as an eighth incident. Verified: the workflow's own logic passes against this tree (root is exactly the 36 allowlisted entries) and diff-guard.yml still parses. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
justinchuby
enabled auto-merge (squash)
August 26, 2026 00:39
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2166 +/- ##
==========================================
+ Coverage 80.35% 80.58% +0.22%
==========================================
Files 430 432 +2
Lines 213796 218156 +4360
Branches 213796 218156 +4360
==========================================
+ Hits 171793 175798 +4005
- Misses 36235 36517 +282
- Partials 5768 5841 +73
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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.
What
A three-field correction to one row of
.github/root-file-allowlist.txt(and its copy indiff-guard.yml), written by me in #2161 and wrong.Why it is wrong
@roy's scratch directory was repaired twice, concurrently:
7c127897b.roy-scratch/pr.md, added.roy-*to.gitignoreedc42d2cb/.*-scratch/, wrote the incident rowGit merged the second cleanly because delete/delete is not a conflict — nothing warned either PR that the other existed. By the time #2161 landed, its own deletion was a no-op and only its bookkeeping had effect. That bookkeeping then credited the removal to the PR that recorded it rather than the one that did it, which is precisely the failure mode a log of "who removed what, and how long it sat" exists to prevent.
Three fields move:
7c127897b, not#2161.1.4h(22:20:23Z → 23:43:40Z), not0.9h. I had measured to the moment I wrote the row instead of the moment the file was fixed — the one interval in that column that is about me rather than about the repository.Field 3 retires the note #2161 added to license a PR number in that column ("a PR cannot know the squash SHA it is about to be given"). True in general, irrelevant here — the removal had already happened under a known SHA. A convention invented to accommodate a single row is worse than the row, so it goes.
What does not change
Still one incident, one entry. The counts (eight entries, seven incidents) are correct as they stand and are untouched. A short note now records the double repair, so the next person walking this log does not file the duplicate as an eighth incident and re-bump the counts.
Verification
Root is exactly the 36 allowlisted entr(ies).diff-guard.ymlstill parses (yaml.safe_load).diff-guard.ymlcomment) are updated together — they were already inconsistent once this evening and that is how a duplicated log rots.Comments only, plus one comment line in a workflow. No behaviour changes.