notes: the twenty-third pass — the desktop renamed out from under this file, and a mirror one repo over - #376
Merged
Conversation
… one repo over went stale Twenty-third pass on notes/options-roadmap.md. Audit: haus#364 (decision 10) dropped the name `nebelhaus` — the desktop is `hacker`, everything else in the layer is `haus`. The naming banner is amended rather than the body rewritten, because the banner's rule was "read every `nebelhaus.*` as `haus.*`" and the rename moved the UNDOTTED word: 203 hits below, the dotted rule reaches 82, and the rest carry three referents (repo, desktop, org). The workshop's own AGENTS.md had already written that trap down for the layer, in the same week. Two more findings, both filed as rows in §5.14's shapes table: - The local checkout is a third source, and it is memory wearing the repo's clothes — haus's checkout sat one merge behind while this audit ran, so the disk would have answered every question with yesterday. `bench status` fetches (bench:547) and would have said so. - A negative claim proved by a grep is only as strong as its pattern. The first draft of the finding above said bench NEVER fetches, from a pattern that couldn't match `git -C "$dir" fetch`. And the one that shipped code: `haus.pounce.items` validates its keys against a hand copy of pounce's `ItemTarget` grammar, pounce added `shortcut:<uuid>` (pounce#80), and haus's lock moved to that pounce two minutes later — so the layer has been refusing a key its own daemon accepts. §5.9(b) amended; fixed in haus with a seventh check, `pounce-item-grammar`, which diffs the mirror against the LOCKED pounce's source. Ten ★ findings, seven checks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018g5zLnGtTtVDkLjfJ7rNCX
…rename left behind Both assurance passes (one per repo, clean context) came back with eleven findings, four ≥3/5. Folding them in: - The count pair in the new status block was two different regions counted once each — 203 was the whole file, 82 was the body. Restated over one scope (the body, §1 onward): 137 hits, of which the dotted rule translates 63 correctly and 2 wrongly. A pair of counts is a claim about a scope, and this one sounded precise while being neither. - The seventh check now names its PR (haus#365) rather than pointing at "the block at the top", per the twentieth pass's own rule. - A fourth ★: haus's CI census carries the instruction to keep itself honest, and checking it rather than appending to it beat appending four to nothing. Re-derived and fixed in haus#365's second commit. - The assurance read of the check itself killed three ways it could have been green while broken; recorded, because "a tripwire is worth what its weakest sample is worth" is the reusable half. - Smaller: a misquoted commit subject, "two minutes" → 79 seconds, "half an hour" → 46 minutes, and a prefix "list" that is an if-chain. And two rename-side corrections the same read turned up, both shape 2: AGENTS.md and hausfold-rename.md §2.2 still called the four state dirs "deliberately held", left behind by the very commit (workshop#372) that amended the row four lines above. Found while this pass was quoting AGENTS.md approvingly two lines below the stale line — a document you are citing is not a document you are reading. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018g5zLnGtTtVDkLjfJ7rNCX
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
The twenty-third pass on
notes/options-roadmap.md, plus two stale rows therename left behind in
AGENTS.mdandnotes/hausfold-rename.md.The audit half. haus#364
(decision 10) merged four hours after the twenty-second pass's own PR and dropped
the name
nebelhaus: the desktop ishacker, everything else in the layeris
haus. Nothing this file tracks as work moved — the rename configuresnothing differently and its three compatibility seams mean no consumer has to
act. What moved is every sentence that says the word, so the naming banner is
amended and the body stays un-rewritten, per that banner's own rule.
Three findings, one of which shipped code.
keys on. The 2026-08-08 banner said "read every
nebelhaus.*ashaus.*" —keyed on the dot, because what was renamed then was an option namespace.
Decision 10 renamed the bare word. Over the body proper: 137 hits, the
dotted rule translates 63 of them correctly and 2 of them wrongly
(
nebelhaus.comand a filename, both of which stay). The workshop's ownAGENTS.md had already written that trap down — for the layer, one repo over,
in the same week.
local checkout is memory wearing the repo's clothes.
~/code/workshop/hausstill held
desktops/nebelhaus.nix46 minutes after notes: §5.2 closes, and the route that outlived its config #364 merged, so the diskwould have answered every question with yesterday, in the confident voice of a
file that exists.
bench statusfetches before comparing@{u}(bench:547)and would have said
↓ 1. Two rows for §5.14's shapes table, since the secondhalf of that finding was a negative claim ("bench never fetches") produced
by a grep whose pattern couldn't match
git -C "$dir" fetch.speaks.
haus.pounce.itemsvalidates keys against a hand copy of pounce'sItemTarget; pounce addedshortcut:<uuid>(pounce#80) and haus's lock movedto that exact merge commit 79 seconds later — so the layer has been refusing a
key its own daemon accepts. Fixed, with a seventh check, in
haus#365. §5.9(b) amended: it
asserted that validation as a feature.
Why the two AGENTS.md / rename-plan edits are here
Both are shape 2 in this file's own table (a closed claim, later falsified) and
both were found by the assurance read:
AGENTS.mdandhausfold-rename.md§2.2's do-not-sweep table still call the four state dirs "deliberately held",
left behind by the very commit (workshop#372) that amended the row four lines
above. §11.3 moved all four and left symlinks. Fixing them where they were found
beats filing them, which is this file's own rule about follow-ups without owners.
Verify
Prose only — nothing here evaluates. What was checked, and by whom:
and that repo's
AGENTS.md. Eleven findings between them, four ≥3/5, allfolded in — including both count claims in the first draft of the status block
(a pair of counts taken over two different regions of the file), a check that
could go green while the validator it protects stayed broken, and haus's CI
census.
builtinModescomment,AGENTS.md's bare-word warning,
bench:547, pounce'sItemTarget.that produced them.
Watch out
tense is still live on
mainuntil it lands; the notes say so and name the PR.137 / 63counts are scoped to the body (§1 onward) on purpose, so apass that writes the word fifteen times doesn't inflate its own number. A
whole-file count is a different, larger, self-referential figure.
paragraph below the table that talks about "the sixth shape" is unaffected —
it names the row, not the index.
🤖 Generated with Claude Code
https://claude.ai/code/session_018g5zLnGtTtVDkLjfJ7rNCX