Repository navigation
os: drop the duplicated notice in base-modes-keep (main fails the copyright gate) - #1560
Conversation
…ate passes on main #1544 added os/v3/puppy/base-modes-keep with the copyright + SPDX lines twice, and #1551/#1554 (merged in the same batch) made a duplicated notice inside the header window a gate failure. Each PR was green alone; together main failed tools/copyright.py --check (run 42530891923). This removes the second copy; the check passes over the whole tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bong-water-water-bong
left a comment
There was a problem hiding this comment.
VERDICT: READY at 976f5c19c7bbf57087ade6dd2c2d9d4b0e6b5115.
Verified end to end, because a fix-forward on a red main must not itself be a guess.
Main's own log names this exact file and this exact rule:
main @ 22:34:52 copyright notice duplicated inside the header window (delete the second copy): os/v3/puppy/base-modes-keep
and the file at main carries the pair twice, both inside the 20-line window — lines 1-2 and 15-16:
1 # Copyright 2026 bong-water-water-bong 15 # Copyright 2026 bong-water-water-bong
2 # SPDX-License-Identifier: Apache-2.0 16 # SPDX-License-Identifier: Apache-2.0
which is exactly what the gate #1551 added this hour flags: the first occurrence is the file's header, the second is a pasted copy, and -2 lines
removes the second (15-16), leaving the header at 1-2 intact. This is the #1544 new-file × #1551 new-gate collision, and the remedy is the smallest
one it could have: no additions, no other file, no reformatting — 1 file changed, 2 deletions(-).
At the PR head:
git diff origin/main...976f5c19 --stat os/v3/puppy/base-modes-keep | 2 --
grep -c 'Copyright 2026' in the file 1
python3 tools/copyright.py --check rc 0 <- the gate that turned main red
So the row that is red on main is green at this head, and nothing else in the tree moved to get there. Merge this and main is clean again.
|
VERDICT at So merging it turns the gate green and nothing else is needed for it. The diff is the minimal right one: the second One check beyond the gate, because this file is data the build reads ( Where the duplicate came from, since it is the same shape as the defect the file is about: On the untracked- |
|
Duplicate alert: #1562 is the same fix, and the two trees produce an identical file. So both turn main green, and only one should land. I would take this one ( #1562 should close as a duplicate, not because it is worse but because merging both is a no-op at best and a conflicting second attempt at worst — and an owner merging a red-fixing pair in a hurry is exactly when the second one gets taken on its own READY. That is the same coordination shape as #1550/#1553 tonight: two honest PRs, one change, and the merge order is the whole of the problem. For the record, the diagnosis in #1562's body is the same as mine and correct — one file, so every PR branched from main inherits a failing copyright job — which is the reason this wanted one PR and a stated owner rather than two. |
…name it CI's copyright gate failed the parent commit: `.txt` has no comment style of its own (and a blanket `*.txt` would demand a notice in files that are data, not code), so the new tools/ci/unreferenced_tests.txt was "no comment style known". Listed by name in LINE_STYLES beside add_test_gaps.txt, which is the same shape one direction over - the direction-B baseline - and is named for exactly this reason. Ran the repo's own `python3 tools/copyright.py --fix` rather than hand-writing the notice, then removed the SPDX pair my draft had left after it: the fix inserts the canonical block above whatever was there, so the file briefly carried the notice twice - the same duplicate that made main red in #1560. copyright --check rc 0 ci_targets --check rc 0 ci_targets --self-test rc 0
Why
Main fails
tools/copyright.py --check(run 42530891923):#1544 added
os/v3/puppy/base-modes-keepwith the copyright + SPDX lines twice. #1551/#1554, merged in the same batch, made a duplicated notice a gate failure. Each PR was green on its own; together they fail on main.Change
Removes the second copy (2 lines).
python3 tools/copyright.py --checkpasses over the whole tree.🤖 Generated with Claude Code