REPORT-cc-creds: record the push collision (b9c4f73b carried a peer's register WIP; CI 1993 red, 1994 green)
gates / gates (push) Successful in 6m42s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
2026-10-17 12:16:46 +02:00
parent 11d03dc0f1
commit 0fc4142bc0
+18
View File
@@ -114,6 +114,24 @@ Process & tooling); closed **0**. `STATUS.md`: D10 (the store choice).
- **File names use `creds`, not `secrets`** as the brief said: `.gitignore` line 3 (`*secret*`) ignores the brief's
names. I renamed rather than force past or edit a safety net.
## The push collision (after this report was first written)
- **What happened.** Another session was editing `OPEN-ITEMS.md` at the same time and had not committed its
edits yet. My script added my rows to the file as it stood, with that session's rows already in it. My
`git add` named the path explicitly but did not diff its hunks. So my commit `b9c4f73b` also carried the
other session's unfinished rows: R-1118..R-1122 used twice, and three rows removed without CLOSED-ITEMS
entries.
- **Why the gate did not stop it.** The pre-push hook checks the working tree. By the time I pushed, the other
session had already committed `fae80645` on top, which fixed the numbers. So the hook passed while the pushed
commit was broken.
- **Effect.** CI job **1993** on `b9c4f73b`: **failure**. The other session pushed `fae80645` itself; CI job
**1994** on `11d03dc0`: **success**. My five rows and STATUS D10 are intact on main, and the section counts are
correct.
- **My message to that session was not delivered.** It was held and then expired, because the two sessions run
in different permission modes. The repair was the other session's own work.
- **Lesson saved** to memory `felhom-eu-shared-worktree`: diff a shared file before staging it, and stage only
your own hunks.
## End-of-session checks
- `python3 scripts/repo_gates.py --fast`: all 19 gates OK.