Repository navigation
Rewrite CLAUDE.md as a short card - #150
Merged
Merged
Conversation
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>
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.
Harness-Task: 55
Replaces the 261-line
CLAUDE.mdwith 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, wheredocumentation/agent-notes.mdhas 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
ci / verifyladder that.github/workflows/ci.ymlcalls (install, typecheck, lint, format check, PHI scan, test, coverage, build, attw), this repo'sexamplesandconformancejobs in the same file, and the two gate workflowsno-emdash.ymlandno-internal-refs.yml. The card says to put the pinned pnpm 10.34.5 first on PATH, and why: on this branch, pnpm 12.14.0 on PATH failedpnpm install --frozen-lockfilewithERR_PNPM_LOCKFILE_CONFIG_MISMATCH(it ignorespnpm.overrides), and prefixing each step withcorepackwas not enough, becausetest/docs-content.test.tsruns a barepnpm build, which hit pnpm 12 and failed withERR_PNPM_BAD_PM_VERSION. Withcorepack enable --install-directory <dir> pnpmand<dir>first on PATH,pnpm --versionprints 10.34.5 and the gate below ran.pnpm attwon its wrapper (fix(attw): make the publish gate report an untyped pack instead of passing it (ATTW-FALSE-GREEN-PORT) #82); check for em dashes with the repo script, because grep skipssrc/profiles/merge.tsas binary (Remove em dashes from source + config #52, ci: port the em-dash brand gate to ccda, and remove the one live character it found (EMDASH-CONFORMANCE) #60); no exemption in the PHI scanner (fix(phi-scan): scan the tracked corpus every route used to read past #103); a test that writes into the tree races the others (Run the working-tree snapshot test alone, after every other test file #146); never hand-editCHANGELOG.md(fix(changelog): let the release write CHANGELOG.md, and stop shipping "will ship" #94); classify a changeset's bump from what it does (S0196-ccda-release-prep-1: audit the pending changesets against a 0.1.0 release #125).The agent-notes contract still holds
pnpm testrunsscripts/check-agent-notes-contract.mjs, which fails ifCLAUDE.mdcarries no pointer intodocumentation/agent-notes.mdor if a pointer does not resolve. The card keeps seven pointers and all of them resolve. No other file linked to a section ofCLAUDE.md(rg 'CLAUDE\.md#'finds nothing), so nothing else changed.Not changed, and left for a later task because the scope here is
CLAUDE.mdonly: the preamble ofdocumentation/agent-notes.mdstill says every trap has a one-line imperative inCLAUDE.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 oldCLAUDE.mdrecorded. None of them is a link.Every command the card names, and how it was checked (checked, not run)
pnpm --version,pnpm install --frozen-lockfilecommand -v pnpm), pinned bypackageManager(pnpm@10.34.5)corepack enable --install-directory <dir> pnpmcorepackis a binary on PATH:command -v corepackgives/usr/local/bin/corepack;enable --install-directorywas run on this branch and wrote thepnpmshimpnpm typecheck,lint,format:check,phi-scan,test,test:coverage,build,attwjq -r '.scripts | keys[]' package.jsonpnpm typecheck:examples,lint:examples,examplespackage.jsonpnpm check:no-emdash,check:no-internal-refs,check:agent-notespackage.jsonpnpm conformance,pnpm changesetpackage.jsongreptype -P grepgives/usr/bin/grepreviewdog/action-actionlintin 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.jsongit ls-files <path>wc -l < CLAUDE.mdprints 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-refsandconformance(15 built documents, 20 corpus round trips, report unchanged).node scripts/check-agent-notes-contract.mjsprints OK with 15 pointers, 7 of them inCLAUDE.md.rg -n '[\x{2013}\x{2014}]' CLAUDE.mdfinds nothing.No changeset: nothing under
src/changed and nothing published moves.🤖 Generated with Claude Code