diff --git a/docs/hygiene-history/ticks/2026/05/01/1007Z.md b/docs/hygiene-history/ticks/2026/05/01/1007Z.md new file mode 100644 index 000000000..8b8a95616 --- /dev/null +++ b/docs/hygiene-history/ticks/2026/05/01/1007Z.md @@ -0,0 +1 @@ +| 2026-05-01T10:07:00Z | opus-4-7 / autonomous-loop tick | 98fc7424 | PR #1040 follow-up tick — 2 threads. Two real fixes: (1) **Pre-commit hook integration point (P1, line 39)** — the row described `.git/hooks/pre-commit` as the integration point, but `.git/hooks/*` is per-clone and untracked. The versioned integration pattern is `.githooks/` + `core.hooksPath` config (set up by the install script). Reworded to cite the tracked location + `core.hooksPath` indirection. **Same shipped-state-overtook-the-doc class** as B-0125 title-slug + B-0122 stale-TS-claim — except in this case the substrate-author wrote a path-pattern that's **structurally wrong** (per-clone untracked vs versioned + indirected) rather than just stale. The class extends to **structural-pattern-mismatch / Real-fix subclass**: the path is real but at the wrong abstraction layer. (2) **Forward-reference restructuring (P1, line 98)** — the forward-ref bullet had the filename in **`backticked`** form, reading visually as a code reference even though the file isn't on main. Restructured: description leads, filename appears parenthetically AFTER the "filed in PR #1025" annotation, with explicit "(path will resolve once #1025 lands)" note. **Position-of-citation matters** within forward-references: lead with description (cognitive handle), trail with filename + PR (path handle). All 2 threads resolved via GraphQL. PR #1040 substrate; auto-merge unarmed. Cron 98fc7424 healthy. | [PR #1040: 1 commit (5dd67a8) addressing 2 real findings + 2 thread-resolutions; auto-merge intentionally unarmed] | The structural-pattern-mismatch class is structurally interesting because the substrate-author's instinct (`.git/hooks/pre-commit` as "where pre-commit hooks go") is correct in 90% of contexts but wrong here because the project needs **tracked** hooks. The corrective is **layer-of-abstraction discipline**: when describing a tooling integration, name the *versioned* layer (the project artifact, `.githooks/`) rather than the *implementation* layer (the per-clone runtime, `.git/hooks/`). The user-visible behavior is the same; the durability differs. Future-Otto: when writing about hook/config/state integrations, default to citing the versioned project artifact, NOT the runtime location, even when the runtime location is the more familiar reference. The forward-reference position-of-citation lesson is also worth promoting: **lead-with-description, trail-with-citation** for in-flight refs reads more clearly than **lead-with-citation-look, trail-with-PR-annotation**. The reader's eye sees the description first (cognitive load), then the PR annotation (recency context), then the path (only if they're going to navigate). |