Skip to content

chore: correct the .roy-scratch row — #2156 removed it, not #2161 - #2166

Merged
justinchuby merged 1 commit into
mainfrom
squad/gaff-allowlist-row-correction
Aug 26, 2026
Merged

justinchuby merged 1 commit into
mainfrom
squad/gaff-allowlist-row-correction

Conversation

@justinchuby

Copy link
Copy Markdown
Owner

What

A three-field correction to one row of .github/root-file-allowlist.txt (and its copy in diff-guard.yml), written by me in #2161 and wrong.

before:  .roy-scratch/  b054ff63e -> #2161        0.9h   (#2150, and a directory)
after:   .roy-scratch/  b054ff63e -> 7c127897b    1.4h   (#2150, removed by #2156)

Why it is wrong

@roy's scratch directory was repaired twice, concurrently:

#2156 7c127897b 23:43:40Z — removed .roy-scratch/pr.md, added .roy-* to .gitignore
#2161 edc42d2cb 23:59:38Z — removed the same file, added /.*-scratch/, wrote the incident row

Git 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:

  1. Removal: 7c127897b, not #2161.
  2. Dwell: 1.4h (22:20:23Z → 23:43:40Z), not 0.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.
  3. Column type: a commit again, like all seven rows above it.

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

  • The workflow's own logic, run against this tree: Root is exactly the 36 allowlisted entr(ies).
  • diff-guard.yml still parses (yaml.safe_load).
  • The two copies of the row (allowlist header, diff-guard.yml comment) 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.

#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
justinchuby enabled auto-merge (squash) August 26, 2026 00:39
@codecov

codecov Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.58%. Comparing base (edc42d2) to head (ba66ac0).

Additional details and impacted files

Impacted file tree graph

@@            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     
Flag Coverage Δ
cli-ort-linux 72.51% <ø> (?)
cli-ort-windows 72.01% <ø> (ø)
mlas 85.80% <ø> (?)
offline 80.70% <ø> (+0.14%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 26 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@justinchuby
justinchuby merged commit 0a4edb1 into main Aug 26, 2026
16 of 19 checks passed
@justinchuby
justinchuby deleted the squad/gaff-allowlist-row-correction branch August 26, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant