Consolidate the documentation under .docs/ - #162
Merged
Conversation
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
marked this pull request as ready for review
September 6, 2026 20:35
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.
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 chartspromo/— videos, screenshots, the measurement cache.docs/— research notesEverything is now under
.docs/: notes and the release runbook at the top level, every image, video and measurement cache in.docs/assets/. That also matchespymapf, the sibling project, which already uses.docs/+.docs/assets/.Two files deliberately do not move
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdgo to.github/, not.docs/. GitHub only recognises those two in the repository root,.github/, ordocs/— 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.jsonsits beside the media, andtests/test_web_bundle.py::test_research_bundle_quotes_the_measured_runopens 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:
Verified by building it: 316 KB, with
.docs/*.mdand.docs/assets/rl-data.jsonpresent 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.gitignoremp4 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_directory—docs/andpromo/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;
flake8andblackclean.web/distrebuilds byte-identical, andcollect_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