docs: expand CLAUDE.md from seed into full runtime guide#2
Conversation
Run /init to replace the bootstrap seed CLAUDE.md with a complete guidance file: documents that the repo is still the culture-agent-template scaffold (no tensor-domain logic yet), the CLI dispatch/register() architecture, the CliError / stdout-stderr / --json contracts, the explain catalog, and the load-bearing agent-first rubric. Captures the console-script gotcha (executable is `tensor`, not `tensor-cli`), the version-bump-every-PR + SonarCloud conventions, the cite-don't-import skill rule, and the rename procedure. Bumps version 0.2.0 -> 0.2.1 (CI version-check gate). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Code Review by Qodo
Context used✅ Compliance rules (platform):
1 rule 1. No alignment delta check noted
|
PR Summary by QodoDocs: replace seed CLAUDE.md with full runtime guide (bump 0.2.1) WalkthroughsDescription• Replace the bootstrap seed CLAUDE.md with a complete runtime guide for Claude Code. • Document the CLI’s core contracts (register/dispatch, CliError, stdout/stderr split, --json). • Bump project version to 0.2.1 and record the change in the changelog. Diagramgraph TD
A["Claude Code / dev"] -->|"reads"| B["CLAUDE.md"] -->|"documents"| C["CLI contracts"]
C -->|"version & scripts"| D["pyproject.toml"] -->|"defines"| F["console cmd: tensor"]
C -->|"release note"| E["CHANGELOG.md"]
High-Level AssessmentThe following are alternative approaches to this PR: 1. Align executable name with docs (rename script to tensor-cli)
2. Update README examples to use `tensor`
Recommendation: Current approach (documenting the mismatch clearly in CLAUDE.md) is appropriate for a docs-focused PR and avoids a potentially breaking CLI rename. Consider a follow-up PR/issue to either (a) update README examples to File ChangesDocumentation (2)
Other (1)
|
The scaffold bound [project.scripts] to `tensor` while the argparse prog, --help, explain catalog keys, tests, and README all use `tensor-cli`. The agent-first rubric gate (teken cli doctor) derives the tool name from the first [project.scripts] entry and runs `<name> explain <name>`, so it ran `tensor explain tensor` against a catalog that only has `tensor-cli` -> explain_self FAILED (CI lint job red). Renaming the script aligns the installed command with everything else; the rubric now passes 26/26. Updates the CLAUDE.md "Running the CLI" section (the gotcha is resolved) and records the fix in CHANGELOG 0.2.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Note markdownlint-cli2 is a Node tool outside the uv dev group (CI pins npm install -g markdownlint-cli2@0.21.0); the other four linters come from uv sync. (qodo #2) - Correct the explain-catalog claim: test_every_catalog_path_resolves only asserts existing keys resolve, it does not enforce that every registered command has an entry — only the rubric's explain_self (root) is CI-enforced. (qodo #3) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Addressed both doc findings in commit 799620e:
(Finding #1, alignment delta, replied to on its inline thread.)
|



What
Runs
/initto replace the bootstrap-seedCLAUDE.mdwith a complete runtime guide for future Claude Code instances.Why
The repo shipped with the placeholder seed
CLAUDE.md(theculture-agent-templatebootstrap). This expands it into real guidance grounded in the actual code.Highlights
register(sub)dispatch contract, theCliError/no-traceback error contract, the strict stdout/stderr split,--jsoneverywhere, the explain catalog, and the load-bearing agent-first rubric (teken cli doctor . --strict) that dictates why the introspection verbs exist.tensor, nottensor-cli(the README'suv run tensor-cli …examples fail). Flagged, not silently "fixed."cicdlane, therelative_filesSonarCloud coverage requirement, cite-don't-import skill kit, and the clone/rename procedure the README delegates here.Verification
uv run pytest -n auto— 21 passeduv run teken cli doctor . --strict— rubric gate greenmarkdownlint-cli2on changed.md— 0 errorstensor doctor— healthyNote: the alignment-delta step couldn't run (
.claude/skills.local.yamlnot configured on this machine), but the change is self-contained to this repo's ownCLAUDE.md— no skill bodies or shared conventions touched, so no sibling propagation is needed.