Skip to content

docs: make CLAUDE.md describe the repo that exists - #46

Open
sroberts wants to merge 1 commit into
mainfrom
docs/claude-md-current
Open

docs: make CLAUDE.md describe the repo that exists#46
sroberts wants to merge 1 commit into
mainfrom
docs/claude-md-current

Conversation

@sroberts

Copy link
Copy Markdown
Owner

The problem

CLAUDE.md opened with:

Plumbline is in a pre-implementation / seed state. The repo currently contains only: README.md, the_ai_codebase_maturity_model.md, 2604.09388v1.pdf

There is no Go module, Makefile, source tree, CI config, or test suite yet. Do not invent commands (go test ..., make ...) until those files actually exist.

The repo has 133 files, 8 workflows, 22 signals, a Makefile, and a full test suite. The instruction file was telling agents not to run the test suite.

The part worth noticing

This is the artifact l2.agent-instructions scores 1.0 on — fairly, by that signal's rule: present, has a heading, ≥20 non-blank lines. And SPEC §2 rules out grading prose quality on purpose, for good reasons (reproducibility, no LLM in the default path). So no signal in the catalog was ever going to catch this, and none should be changed to.

It's a useful caveat to keep in mind when reading plumbline's own verdict, and it's now written into the file: a green L2 means the file exists, not that it's true.

What replaces it

  • Build/test commands that work (make build, make test, make test-race, per-package go test)
  • A package map — where signals, the workflow AST, scoring, encoders, and the TUI live
  • The invariants you can't derive by reading code:
    • SPEC.md is the contract; change it in the same commit as behavior
    • Workflow signals go through internal/workflows, never raw YAML regex
    • .plumbline.toon is drift-gated in CI; regenerate it with any change that moves the verdict
    • docs/SIGNALS.md is generated; don't hand-edit
    • Signal IDs are public API and need deprecation aliases
    • A detector gap is a bug against the detector, not a prompt for the scanned repo to reshape its CI — the principle fix(l3): detect build/lint and coverage gates by shape, not vocabulary #42 was built on

Also updates the anti-pattern list: l3.metrics-acted-on now covers the dashboard graveyard (with a note on why it inverts the framing rather than the score), and the L4 one is marked no detector yet.

Snapshot regenerated — the excerpt and line count in .plumbline.toon both change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XtNwLDzRYmPrXcYeQypTf9

The file opened with "Plumbline is in a pre-implementation / seed state"
and "There is no Go module, Makefile, source tree, CI config, or test suite
yet. Do not invent commands (go test ..., make ...) until those files
actually exist."

The repo has 133 files, 8 workflows, 22 signals, a Makefile, and a full
test suite. The instruction file told agents not to run the test suite.

It is also the artifact l2.agent-instructions scores 1.0 — fairly, by that
signal's rule (present, has a heading, >=20 non-blank lines), and SPEC.md
§2 rules out grading prose quality on purpose. So nothing in the tool was
ever going to catch this. Worth noting when reading plumbline's own
verdict: a green L2 means the file exists, not that it is true.

Replaces the status section with build/test commands, a package map, and
the invariants that are not derivable from reading the code: SPEC.md is the
contract, workflow signals go through the AST rather than raw YAML,
.plumbline.toon and docs/SIGNALS.md are generated and drift-gated, signal
IDs are public API, and a detector gap is a bug against the detector rather
than a prompt to reshape the scanned repo's CI.

Also marks the L4 anti-pattern as having no detector, and notes how the L3
one is modelled.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XtNwLDzRYmPrXcYeQypTf9
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