Skip to content

Consolidate the documentation under .docs/ - #162

Merged
guilyx merged 1 commit into
mainfrom
claude/library-demo-plots-webpage-8r8uz4
Sep 6, 2026
Merged

Consolidate the documentation under .docs/#162
guilyx merged 1 commit into
mainfrom
claude/library-demo-plots-webpage-8r8uz4

Conversation

@guilyx

@guilyx guilyx commented Sep 6, 2026

Copy link
Copy Markdown
Member

Documentation was spread over three directories with no rule saying which took what, so every new file was a guess:

  • docs/ — contributor files and the README charts
  • promo/ — videos, screenshots, the measurement cache
  • .docs/ — research notes

Everything is now under .docs/: notes and the release runbook at the top level, every image, video and measurement cache in .docs/assets/. That also matches pymapf, the sibling project, which already uses .docs/ + .docs/assets/.

Two files deliberately do not move

CONTRIBUTING.md and CODE_OF_CONDUCT.md go to .github/, not .docs/. GitHub only recognises those two in the repository root, .github/, or docs/ — filing them under .docs/ would have silently dropped the contributing link on the issue and pull-request forms and the Community Standards checklist. .github/ is a recognised location, so the consolidation still holds: one documentation directory, plus the two files GitHub reads for its own features.

The packaging trap

The obvious exclusion — ".docs/assets/**" — is wrong. rl-data.json sits beside the media, and tests/test_web_bundle.py::test_research_bundle_quotes_the_measured_run opens it, so excluding the directory ships an sdist whose own suite fails on a missing file. That is the same failure mode as the 6.6 MB sdist fix, which broke two parser tests.

The media is excluded by extension instead:

".docs/assets/*.png",
".docs/assets/*.mp4",

Verified by building it: 316 KB, with .docs/*.md and .docs/assets/rl-data.json present and all 9.4 MB of media gone.

Changelog

Released sections keep the paths that were correct when they were written — a released entry is a record of a past state, not a live index. The move is recorded under Unreleased, including the old → new mapping so a reader following an old path knows where it went.

What was updated

Code paths (tools/make_promo.py, tools/make_learn_promo.py, tools/build_web.py, tests/test_web_bundle.py), the .gitignore mp4 negation, the README images and video links, the workbench's document links and its "measurements unavailable" message, the release workflow comment, AGENTS.md, and the .docs/ index — which is now an index of all documentation rather than only the research notes.

Tests

Two new ones, because this is the kind of thing that drifts back:

  • test_documentation_lives_in_one_directorydocs/ and promo/ stay gone, the notes are in .docs/, and the two community files stay somewhere GitHub looks.
  • test_the_sdist_keeps_the_data_its_tests_read — fails if anyone replaces the two extension globs with .docs/assets/**.

420 passed, 1 skipped; flake8 and black clean. web/dist rebuilds byte-identical, and collect_research() still returns the same measured run (corpus 118, learned 137.1 expansions), so the Research view is unaffected.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Meb35zHKsyBkH2sbWoyKMT


Generated by Claude Code

Documentation was spread over three directories with no rule saying which
took what, so every new file was a guess: docs/ held the contributor files
and the README charts, promo/ the videos and screenshots, .docs/ the
research notes.

Everything is now under .docs/ — notes and the release runbook at the top
level, every image, video and measurement cache in .docs/assets/. This also
matches pymapf, the sibling project.

Two files deliberately do not move. GitHub only recognises CONTRIBUTING.md
and CODE_OF_CONDUCT.md in the repository root, .github/ or docs/, so filing
them under .docs/ would silently drop the contributing link on the issue
and pull-request forms. They move to .github/ instead.

The sdist excludes the media by extension rather than by excluding
.docs/assets/, because rl-data.json sits beside it and
tests/test_web_bundle.py opens it — excluding the directory ships an sdist
whose own suite fails. Verified: 316 KB, notes and the data cache in, all
9.4 MB of media out.

Released changelog sections keep the paths that were correct when they were
written; the move is recorded under Unreleased. Two new tests pin the
layout and the exclusion style so neither drifts back.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Meb35zHKsyBkH2sbWoyKMT
@guilyx
guilyx marked this pull request as ready for review September 6, 2026 20:35
@guilyx
guilyx merged commit d26156f into main Sep 6, 2026
10 checks passed
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.

2 participants