Skip to content

Drop vendored-canon path from CLAUDE.md orientation header - #34

Merged
missingbulb merged 1 commit into
mainfrom
claude/fix-claudinite-isolation
Jul 26, 2026
Merged

Drop vendored-canon path from CLAUDE.md orientation header#34
missingbulb merged 1 commit into
mainfrom
claude/fix-claudinite-isolation

Conversation

@missingbulb

Copy link
Copy Markdown
Owner

Fixes the repo's one blocking claudinite-isolation finding at CLAUDE.md:4.

What the reference was

Local instructions for this repo, layered on the shared Claudinite canon
(vendored at `.claudinite/shared/`, injected at session start). Routing index —
read the matching doc when its topic is in front of you.

Why removing it is right

The path was pure orientation. Nothing in the header instructs a reader to open that directory, and "injected at session start" already carries the part that matters — the canon arrives automatically, so you never go fetch it. Naming the mount point coupled the file to a canon-internal layout while giving the reader nothing to act on, which is precisely the crossing the rule exists to prevent.

An accept would have been the wrong tool here: it is the escape hatch for a crossing that must exist, and this one carried no instruction at all. Reworded to "vendored into this repo and injected at session start" — both facts survive (it is vendored; it is automatic), only the path is gone.

Verification

node .claudinite/shared/engine/checks/check_the_world.mjs

before after
blocking 1 (claudinite-isolation CLAUDE.md:4) 0
advisory 0 0
exit code 1 0

Clean run, no findings at all. One line changed; nothing else touched.

Note for the canon owner

This header shape is not unique to this repo — it looks like canon-generated boilerplate. tldr carries the same orientation sentence in a different wording (This repo's own project guidance; the shared Claudinite canon is vendored at + `.claudinite/shared/`) and fires the identical finding at its own CLAUDE.md:4, plus a second at dev/procedures/working-instructions.md:6.

Worth flagging separately: the rule's own description in packs/basics/claudinite-isolation.mjs lists CLAUDE.md as a wiring exception ("Outside the wiring files (CLAUDE.md, .claude/, …)"), but the edge's except array omits it — it carves out .claudinite, .claude, .github/workflows, .gitignore, .gitattributes, .claudinite-checks.json only. So the rule is firing on a file its own description says is exempt. That is a canon-side discrepancy rather than anything these consumer repos did wrong. Raised in missingbulb/Claudinite#394.

Refs missingbulb/Claudinite#394


Generated by Claude Code

The header's parenthetical spelled the mount path — "(vendored at
`.claudinite/shared/`, injected at session start)" — which tripped
claudinite-isolation: consumer files must not couple to the vendored canon.

The path was pure orientation. Nothing in the header tells a reader to open
that directory, and "injected at session start" already conveys the part that
matters: the canon arrives automatically, so you never go fetch it. Naming the
mount point added a coupling to a canon-internal layout while adding nothing a
reader could act on — exactly the crossing the rule exists to prevent. Removing
it is right rather than accepting it, since an accept is for a crossing that
must exist, and this one carried no instruction at all.

Reworded to "vendored into this repo and injected at session start", which
keeps both facts (it is vendored; it is automatic) and loses only the path.

Refs missingbulb/Claudinite#394

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LgokEeqgbFvhbLqbYwxHgx
@missingbulb
missingbulb merged commit d0e62e9 into main Jul 26, 2026
@missingbulb
missingbulb deleted the claude/fix-claudinite-isolation branch July 26, 2026 21:53
missingbulb added a commit that referenced this pull request Aug 7, 2026
Three lessons from the 2026-07-26..08-02 window, into the laughcounter local
pack as prose.

#74/#75: diagnosing the installTap crash stalled on "which binary is
installed?" — the menu said only "LaughCounter", and several distinct builds
all reported 0.2.1, because the release workflow keys its Release on
v<version> from Info.plist, so a merge that leaves CFBundleShortVersionString
alone refreshes the same Release behind the latest/download link. Durable
part: show version and build from Bundle.main (not a source constant that
could disagree with the DMG), and bump per distinguishable build.

#56: the scheduler ran green nightly while silently skipping baselining ("no
vendored mount (no stamp)") because the vendored loadConfig dropped the
`claudinite` key it had just validated. Durable part: a job whose success and
whose no-op look identical from outside is telling you nothing — read the skip
line; and a bug inside the mechanism that updates itself has to be fixed out
of band.

#34: claudinite-isolation fired on CLAUDE.md's mount path, which carried
nothing a reader could act on. Durable part: before adding an `accept`, delete
the flagged text and see whether anything actionable went with it — an accept
is for a crossing that must exist.

Nothing new from the mac window (#59, #73, #77, #78, #87, #100, #101, #108):
dev/procedures/mac-audio-lifecycle.md already records the engine-per-start
rule, the inputFormat-vs-outputFormat trap, the aggregate churn, the
three-state health reporting, the witnessed-arrival settle rule and the
observation-gap rule in full. #55, #69, #84 and #99 are already carried by
this pack's existing prose and the on-device-privacy checks. #32's
"prove the check is live" is the see-it-fail discipline the canon owns.
Conversation-logs half: the 2026-08-01 logs are the #108 session (fully
covered above) and unattended task runs; no new friction lesson. No
retention_days configured, so no prune.

Refs #113.


Claude-Session: https://claude.ai/code/session_01G52dxZvLCxyZJJnvLrYcQs

Co-authored-by: Claude <noreply@anthropic.com>
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.

2 participants