Skip to content

docs: rewrite the documentation around the reader - #136

Merged
mikessh merged 1 commit into
masterfrom
docs/reader-first-rewrite
Sep 28, 2026
Merged

mikessh merged 1 commit into
masterfrom
docs/reader-first-rewrite

Conversation

@mikessh

@mikessh mikessh commented Sep 28, 2026

Copy link
Copy Markdown
Member

The docs were an accurate design record written in the voice of one. This turns them into documentation: task-oriented, rationale separated from instruction, and with the pages a new user needs first actually present.

What was wrong

Voice, and it was systematic rather than occasional:

Artifact Where
Never: — a CLAUDE.md agent-instruction marker, meaningless to a reader 6 docs pages, README, and 21 user-facing CLI --help strings
⛔ / ⚠ / ✅ as severity markers, where Sphinx has admonitions 21 in README, 13 across 5 pages
Self-referential postmortem ("the mistake this project made and had to retract") shm, installation, usage, README
Editorialising about candour ("the honest statement of…") 6 places
A local absolute path on a public site, plus an internal hostname landing page, usage

Structure — the pages a new reader needs first did not exist. No quickstart (the entry point was installation, opening on scikit-build-core's CMake caching). No CLI reference for 22 commands. No output reference, so "what is in clones.tsv" was spread across six pages. No glossary. Benchmarks in four places in three framings, including a stage-vs-stage table CLAUDE.md itself warns is "a retraction waiting to happen". README at 999 lines was a second copy of the site.

What changed

Six new pages. quickstart (runs the committed 660-pair fixture end to end, every number is that run's real output), cli (all 22 commands by task), outputs (every file, every column), glossary, how_it_works, benchmarks.

benchmarks is the single home for measured figures. Nothing dropped — all 118 distinctive figures from the old README are accounted for in the new README plus docs, including the fine-grained V-coverage stratifications that previously existed only in usage. usage goes 847 → 627 lines by linking rather than duplicating.

README 999 → 198 lines. What arda is, install, quick start, why, a link table.

cli.py: Never: removed from all 21 help strings and docstrings. Code comments keep it — that convention stays.

Left alone deliberately: skills/arda/references/*.md (23), src/arda comments (111), integrations comments (8) — agent- and developer-facing, not reader-facing docs.

Verification

  • sphinx-build -W --keep-going → zero warnings, in a clean env matching the docs CI job (sphinx + theme + polars + seqtree, no arda installed).
  • Every arda command and flag written into the new pages introspected against the live CLI — the failure class CLAUDE.md calls out. No unknown command or flag.
  • Every distinctive numeric figure in the old README checked present in the new README + docs.
  • ruff check src/ clean; 1,162 unit + 100 synthetic/realworld tests pass, 9 skipped (optional olga extra).
  • No behaviour change: the cli.py diff is help and docstring text only.

🤖 Generated with Claude Code

The docs were an accurate design record written in the voice of one. This
turns them into documentation: task-oriented, rationale separated from
instruction, and with the pages a new user needs first actually present.

Six new pages. `quickstart` runs the committed 660-pair fixture end to end and
shows that run's real output. `cli` maps all 22 commands by task. `outputs`
documents every file a run writes and every column in it -- the most-needed
reference, previously spread across six pages. Plus `glossary`,
`how_it_works` and `benchmarks`.

`benchmarks` is now the single home for measured figures. Nothing was dropped:
all 118 distinctive figures in the old README are accounted for in the new
README plus docs, including the fine-grained V-coverage stratifications that
only existed in `usage`. `usage` goes 847 -> 627 lines by linking rather than
duplicating, and no longer prints the stage-vs-stage table CLAUDE.md warns is
a retraction waiting to happen.

README 999 -> 198 lines. It had become a second copy of the docs site, so
every fact had two homes and one went stale.

Voice. The `Never:` marker is an internal agent-instruction convention; it had
leaked into 6 docs pages and -- more seriously -- into 21 user-facing CLI help
strings and docstrings. Gone from both; code comments keep it. The emoji
severity markers are Sphinx admonitions now, the self-referential postmortems
are rewritten as the statements of fact they carried, and the landing page no
longer publishes a local absolute path or an internal hostname.

Verified: docs build under `sphinx-build -W` at zero warnings in a clean
CI-matching env; every arda command and flag written into the new pages
introspected against the CLI; ruff clean; 1,162 unit + 100
synthetic/realworld tests pass.

No behaviour change -- the cli.py diff is help and docstring text only.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mikessh
mikessh merged commit 8a5e362 into master Sep 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant