lift the skill's question cap, which CLAUDE.md lifted and it did not
SKILL.md said "maximum three" clarifying questions while CLAUDE.md §4 said
"there is no cap" — lifted in 25d7045 and never propagated. The constitution is
always loaded and wins, so the skill was simply wrong, and an agent reading only
the skill would have split a six-fork request across turns to stay under a cap
that no longer exists.
The redundancy between the two files is deliberate: the constitution is always in
context and the skill is not, so both state the loop. HARNESS.md now records that
this deliberate copy has drifted twice — this, and the skill's conflict table
still deferring to `[spec]` markers after they were deleted. No gate can catch
it, because both files are prose and each is internally consistent, so the only
mechanism is grepping the other whenever a rule changes in either.
3 files. No rule changed — one restated correctly.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -59,7 +59,10 @@ thing, and everything in the Hard row without exception. One conflict is worth o
|
||||
silently reversed decision costs the trust in every other decision.
|
||||
|
||||
Then decide what you genuinely do not know. Ask **only** questions whose answer changes the code or
|
||||
the bytes on disk. Maximum three, one message, up front, each with a **bold** default.
|
||||
the bytes on disk — but ask every one of those. Batched, one message, up front, each with a **bold**
|
||||
default so silence answers. **There is no cap** (`CLAUDE.md` §4): a request carrying six real forks gets
|
||||
six questions, and splitting them across turns to look brisk wastes more of the human's time than asking
|
||||
once. This file said "maximum three" until the cap was lifted in `CLAUDE.md` and not here.
|
||||
|
||||
Never ask about: anything `conventions.md`, `content-model.md`, or an ADR already decides; naming,
|
||||
formatting, file placement, test style; permission to follow the constitution; "would you like me
|
||||
|
||||
@@ -238,6 +238,14 @@ be stale.
|
||||
The harness is code and drifts like code. Same rule as the engine: **a change ships with the docs
|
||||
that describe it, in the same change.**
|
||||
|
||||
**The `CLAUDE.md`/`SKILL.md` redundancy is deliberate and has now drifted twice.** The constitution is
|
||||
always loaded and the skill is not, so both state the loop on purpose (`harness/README.md`, compression
|
||||
contract) — but a rule changed in one and left in the other is a contradiction the agent obeys at random.
|
||||
It happened when the clarifying-question cap was lifted in `CLAUDE.md` and left at "maximum three" in the
|
||||
skill, and again when `[spec]` markers were deleted while the skill's conflict table still deferred to
|
||||
them. No gate can catch it: both files are prose, and both are internally consistent. Changing a rule in
|
||||
either means grepping the other, in that change.
|
||||
|
||||
- `verify.sh` fails when `CLAUDE.md`, `scripts/` or `.claude/` changes without `HARNESS.md`
|
||||
changing — except `.claude/settings.json`, which is Claude Code's permission list rather than anything
|
||||
about khosra. That exemption is one path: `scripts/budgets.env` and every other file under `scripts/`
|
||||
|
||||
Reference in New Issue
Block a user