Skip to content

Rewrite CLAUDE.md as a short card - #150

Merged
NSchatz merged 2 commits into
mainfrom
harness/55-ccda-claude-md-short-card
Oct 20, 2026
Merged

NSchatz merged 2 commits into
mainfrom
harness/55-ccda-claude-md-short-card

Conversation

@NSchatz

@NSchatz NSchatz commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Harness-Task: 55

Replaces the 261-line CLAUDE.md with a 57-line card a session can read in seconds: what the repo is, the gate in the order CI runs it, the hazard, and the nine rules that a recorded failure proved. Each rule names its failure (a fix PR or a commit) and, where documentation/agent-notes.md has the reasoning, points at that section. Architecture, status, history and rationale are left out, and nothing was moved into another file: git history keeps the old text.

What the card keeps, and why

The agent-notes contract still holds

pnpm test runs scripts/check-agent-notes-contract.mjs, which fails if CLAUDE.md carries no pointer into documentation/agent-notes.md or if a pointer does not resolve. The card keeps seven pointers and all of them resolve. No other file linked to a section of CLAUDE.md (rg 'CLAUDE\.md#' finds nothing), so nothing else changed.

Not changed, and left for a later task because the scope here is CLAUDE.md only: the preamble of documentation/agent-notes.md still says every trap has a one-line imperative in CLAUDE.md, and a few code comments (scripts/check-no-internal-refs.sh, scripts/check-agent-notes-contract.mjs, test/edge-cases.test.ts) still describe what the old CLAUDE.md recorded. None of them is a link.

Every command the card names, and how it was checked (checked, not run)

Command How it was checked
pnpm --version, pnpm install --frozen-lockfile pnpm built-ins, not scripts; pnpm itself is a binary on PATH (command -v pnpm), pinned by packageManager (pnpm@10.34.5)
corepack enable --install-directory <dir> pnpm corepack is a binary on PATH: command -v corepack gives /usr/local/bin/corepack; enable --install-directory was run on this branch and wrote the pnpm shim
pnpm typecheck, lint, format:check, phi-scan, test, test:coverage, build, attw each a key in jq -r '.scripts | keys[]' package.json
pnpm typecheck:examples, lint:examples, examples each a script in package.json
pnpm check:no-emdash, check:no-internal-refs, check:agent-notes each a script in package.json
pnpm conformance, pnpm changeset each a script in package.json
grep binary on PATH: type -P grep gives /usr/bin/grep
actionlint CI installs it (reviewdog/action-actionlint in the shared workflow); also on PATH here
.github/workflows/ci.yml, test/docs-content.test.ts, documentation/agent-notes.md, src/profiles/merge.ts, scripts/phi-scan.ts, CHANGELOG.md, package.json each listed by git ls-files <path>

wc -l < CLAUDE.md prints 57.

Gate run on this branch

Run from the repo root with pnpm 10.34.5 first on PATH, in the card's order. Every step passed: pnpm install --frozen-lockfile, typecheck, lint, format:check, phi-scan, test (43 files, 1375 passed, 1 skipped), test:coverage, build, attw, typecheck:examples, lint:examples, examples, check:no-emdash, check:no-internal-refs and conformance (15 built documents, 20 corpus round trips, report unchanged). node scripts/check-agent-notes-contract.mjs prints OK with 15 pointers, 7 of them in CLAUDE.md. rg -n '[\x{2013}\x{2014}]' CLAUDE.md finds nothing.

No changeset: nothing under src/ changed and nothing published moves.

🤖 Generated with Claude Code

NSchatz and others added 2 commits October 20, 2026 02:49
CLAUDE.md is what every session in this repo reads first, and at 261
lines it took minutes to read. The card is 56 lines: what the repo is,
the gate in the order CI runs it, the hazard, and the nine rules a
recorded failure proved, each with that failure's PR and, where the
reasoning lives in documentation/agent-notes.md, a pointer to it.

The gate asks for the pinned pnpm 10.34.5 first on PATH. pnpm 12 on
PATH ignored pnpm.overrides and refused the frozen install, and the
docs-content test runs a bare `pnpm build`, so prefixing each step
with corepack was not enough.

Architecture, status, history and long rationale are left out, as is
anything every session already gets from the workspace rules. The old
text stays in git history. The agent-notes contract check still passes:
the card keeps seven pointers and all of them resolve.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The card listed what only CI runs and left out the registry manifest
lint beside the pack-and-install check. Both are the shared workflow's
pre-publish job, so the card now names the pair.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NSchatz
NSchatz merged commit 73e6b0f into main Oct 20, 2026
15 of 19 checks passed
@NSchatz
NSchatz deleted the harness/55-ccda-claude-md-short-card branch October 20, 2026 02:59
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.

1 participant