CLAUDE.md-Importkette entdrifted, Modellwahl nach docs/ verschoben
Files changed: - AGENTS.md - CHANGES.md - CLAUDE.md - SOUL.md - USER.md - VERSION - docs/model-and-effort-selection.md - instructions/claude-code-model-selection.md - instructions/dev/stack-close/SKILL.md - instructions/dev/stack-dev/SKILL.md
This commit is contained in:
@@ -1,42 +1,18 @@
|
||||
# CLAUDE.md
|
||||
|
||||
Claude Code loads this file automatically and does **not** load `AGENTS.md`.
|
||||
The other harnesses (Codex, Copilot, Vibe) read `AGENTS.md` natively, so this
|
||||
file exists to close that one gap and nothing else.
|
||||
|
||||
It therefore holds **no rules of its own** - only the imports below. A rule written here would be
|
||||
the second copy invariant 8 forbids, and it would be the copy that drifts, because the harness
|
||||
that reads it is not the harness the rest of the repo is written for. Importing is not that: the
|
||||
rule stays at exactly one place and is pulled in from here, which is the only way a
|
||||
Claude-Code-only instruction can reach a session at all - AGENTS.md would carry it into every
|
||||
other harness too.
|
||||
Claude Code loads this file automatically and does **not** load `AGENTS.md` on its own; every
|
||||
other harness this repo supports (Codex CLI, GitHub Copilot CLI, Mistral Vibe) reads `AGENTS.md`
|
||||
natively. This file closes that one gap with a single import, so a Claude Code session reads
|
||||
exactly what every other harness reads - no rule of its own, per invariant 8.
|
||||
|
||||
@AGENTS.md
|
||||
@USER.md
|
||||
@SOUL.md
|
||||
@ENVIRONMENT.md
|
||||
@instructions/claude-code-model-selection.md
|
||||
|
||||
`USER.md` and `SOUL.md` do not exist until the Personalization step of
|
||||
[instructions/setup-instance.md](instructions/setup-instance.md) has run, so
|
||||
the setup session itself resolves only `@AGENTS.md`. Every session after it
|
||||
gets all three - which is what makes the "Always, every session" rows in
|
||||
AGENTS.md's file-naming table true for Claude Code rather than aspirational.
|
||||
Nothing else is imported. `USER.md`, `SOUL.md` and `ENVIRONMENT.md` are read because `AGENTS.md`
|
||||
§§ Personalization and Environment instruct it, the same way the other three harnesses pick them
|
||||
up - importing them here too would run two loading mechanisms for the same files.
|
||||
|
||||
`ENVIRONMENT.md` is the one import that may legitimately never exist. It is
|
||||
optional and gitignored (AGENTS.md § Environment), so an unresolved import is
|
||||
its normal absent state, not a broken reference - the same tolerance the two
|
||||
above rely on before setup, used deliberately rather than transitionally. It
|
||||
earns an import rather than a link because what it holds - which MCP server
|
||||
answers which question, which remote `publish` talks to, which harnesses this
|
||||
checkout is shared with - is consulted in passing, mid-task, at the moment
|
||||
nobody would stop to open a document. That is the same bar the last import
|
||||
below clears, and it is the whole test: a session that has to go look the
|
||||
answer up will instead ask the user again, which is the cost the file exists
|
||||
to remove.
|
||||
|
||||
The last import is the harness-specific one: model and effort selection is decided while
|
||||
spawning a subagent or starting a review, not at a point where anyone stops to open a document,
|
||||
so it is imported rather than linked. That costs standing context in every session, which is the
|
||||
bar a further Claude-Code-only import has to clear too: import what is decided in passing, link
|
||||
what is looked up deliberately.
|
||||
Model and effort selection is the one remaining Claude-Code-only decision
|
||||
([instructions/CONTRACT.md](instructions/CONTRACT.md#two-forms-three-reference-tiers) has the
|
||||
import-vs-link rule in general), and it earns a link rather than an import: a session stops to
|
||||
make this call - spawning a subagent, opening a review - rather than needing it pre-loaded before
|
||||
it has done anything. See [docs/model-and-effort-selection.md](docs/model-and-effort-selection.md).
|
||||
|
||||
Reference in New Issue
Block a user