Skip to content

Move the perf-scaling and adding-a-word paragraphs out of root AGENTS.md - #911

Merged
derek73 merged 5 commits into
masterfrom
docs/agents-md-perf-vocab
Oct 27, 2026
Merged

derek73 merged 5 commits into
masterfrom
docs/agents-md-perf-vocab

Conversation

@derek73

@derek73 derek73 commented Oct 27, 2026

Copy link
Copy Markdown
Owner

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

  1. Perf scaling (1,021 words) → tests/v2/test_benchmark.py's module docstring.
    • Nearly every measurement in the paragraph was already a comment beside the table it describes. So the docstring now says which guard a new shape needs (_SHAPES, _POLICY_SHAPES, _REREAD_SHAPES, _PREFIXED_SHAPES, the exponential frame pair) and the rules frame guards follow; the numbers stay at their tables.
    • The one figure held nowhere else (139s, 24s and 17s for the Josep Carod i Rovira reads family Rovira — Catalan and Polish link surnames with i, which is not a conjunction #397 grids under each coverage mode on 3.12) went into the COVERAGE_ON comment in the CI workflow.
    • nameparser/_pipeline/AGENTS.md gains one sentence: a new inner loop needs a guard row.
  2. Adding a word (1,298 words) → new nameparser/vocab/AGENTS.md.
    • It loads whenever a session reads a vocabulary TOML file. The text is unchanged in substance, filed under the step of nameparser/vocab/README.md each trap belongs to, and README step 2 now points at it.
    • This one needed a code change: tools/vocab/build.py's read_dir reads every file in the folder except README.md, so that a misnamed language file is refused rather than skipped, and it refused AGENTS.md. It now skips SKIPPED = {README.md, AGENTS.md}, each by exact name.
    • New test rows: AGENTS.md is skipped (this row fails on the old code), and agents.md is still refused.
  3. Two pointers stale since before this branch:
    • capitalization.py → AGENTS.md's configuration-layer section.
    • decisions/vocabulary-exclusions → the "Titles permanently shadow first names" gotcha.
  4. Review fixes in the new docstring:
    • It said "every frame guard counts one function"; three count the whole parse, and the text now names both kinds.
    • The _SHAPES census 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

derek73 and others added 4 commits October 27, 2026 02:13
…'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>
@derek73 derek73 added the docs Documentation fixes and updates label Oct 27, 2026
@derek73 derek73 self-assigned this Oct 27, 2026
…ead it (#911)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73
derek73 merged commit 8a65ee1 into master Oct 27, 2026
12 checks passed
@derek73
derek73 deleted the docs/agents-md-perf-vocab branch October 27, 2026 09:30
@derek73 derek73 added this to the 2.7 milestone Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation fixes and updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant