Repository navigation
Move the perf-scaling and adding-a-word paragraphs out of root AGENTS.md - #911
Merged
Merged
Conversation
…'s docstring The paragraph (1,021 words) was a guide to test_benchmark.py's tables, and nearly every measurement in it is already written as a comment beside the table it is about. The module docstring now maps each kind of shape to its guard (_SHAPES, _POLICY_SHAPES, _REREAD_SHAPES, _PREFIXED_SHAPES, the exponential frame pair) and states the rules every frame guard follows; the measurements stay at their tables. The one fact held nowhere else, the 139s/24s/17s cost of the #397 grids under each coverage core on 3.12, joins the COVERAGE_ON comment in the CI workflow. Root keeps that the absolute-time tests are blind to a complexity regression, where a new shape goes, and where coverage runs. Since the trigger for a new row is a pipeline change, nameparser/_pipeline/ AGENTS.md says so too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…S.md The paragraph (1,298 words) is the list of traps nameparser/vocab/ README.md's "Adding a word" steps have run into, so it moves into a nested AGENTS.md beside the TOML files, which loads the moment a session reads one (and every edit reads first). The text moves unchanged in substance, filed under the README step each trap belongs to: other readings, real-name counts, the glued-word questions, the spelling predicates, recording the vetting, the user-doc doctests, and words whose reading moves. The vocabulary build read every file in the folder but README.md, so a misnamed vocabulary file is refused rather than skipped; it now skips AGENTS.md by its exact name too (build.SKIPPED), with test rows for AGENTS.md (skipped) and agents.md (refused as a bad tag name). Root keeps the two commands to run first and a pointer; the README's step 2, which sent readers to root for the traps, now names the new file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
capitalization.py cited an AGENTS.md section "Configuration layer", now the vocabulary and configuration-layer section, where "Neither dict was frozen" states the exemption; decisions/vocabulary-exclusions cited a "Dean is deliberately absent" gotcha, now "Titles permanently shadow first names", which keeps Dean as its example. Both went stale before this branch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The docstring said every frame guard counts one function; the exponential pair, the clause-link test and _REREAD_SHAPES' lead row count the whole parse. It now names both kinds and says which rule binds each (an isolated guard moves its only= with the code). - The docstring sends readers to the _SHAPES census for what each row alone covers, and that census said "all ten" over seventeen rows and listed none of the three newest. It now says "every row", lists them, and records the 2026-10-27 measurement that none of the three reaches S7's anchor pass or the honorific peel, so its ONLY claims hold. The _POLICY_SHAPES comment's "all ten shapes" goes the same way. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ead it (#911) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
This finishes the relocation begun in #909 and #910. The last two oversized paragraphs leave root AGENTS.md, taking it to about 18,500 words; it was 26,824 before #907.
Commits
tests/v2/test_benchmark.py's module docstring._SHAPES,_POLICY_SHAPES,_REREAD_SHAPES,_PREFIXED_SHAPES, the exponential frame pair) and the rules frame guards follow; the numbers stay at their tables.Josep Carod i Rovirareads familyRovira— Catalan and Polish link surnames withi, which is not a conjunction #397 grids under each coverage mode on 3.12) went into theCOVERAGE_ONcomment in the CI workflow.nameparser/_pipeline/AGENTS.mdgains one sentence: a new inner loop needs a guard row.nameparser/vocab/AGENTS.md.nameparser/vocab/README.mdeach trap belongs to, and README step 2 now points at it.tools/vocab/build.py'sread_dirreads every file in the folder exceptREADME.md, so that a misnamed language file is refused rather than skipped, and it refusedAGENTS.md. It now skipsSKIPPED = {README.md, AGENTS.md}, each by exact name.AGENTS.mdis skipped (this row fails on the old code), andagents.mdis still refused.capitalization.py→ AGENTS.md's configuration-layer section._SHAPEScensus it points readers to said "all ten" over 17 rows. It now lists the three newer rows, with a 2026-10-27 measurement showing they leave its ONLY claims true.How it was checked: the design-docs reviewer listed every fact of both old paragraphs and found each one in the repo (the perf numbers matched character for character), confirmed the vocab move is word-for-word, and checked the build change, packaging and pointers.
Test plan
uv run pytest: 31,708 passed.uv run pytest -n0 -m serial tests/v2/test_benchmark.py: 43 passed.uv run ruff check,uv run mypy,uv run python tools/vocab/build.py --check🤖 Generated with Claude Code