Conversation
docs/overview.md had drifted on five numbers -- commands, agents, phase files, scripts, and the sub-manager handback states -- while still reading as current, plus a standing table dated to v0.17.0. Correcting the numbers would buy one cycle before the same drift, so the page now carries no countable fact at all and says why: ls is the source of truth and a page that duplicates it is a second copy to keep in sync forever. In their place: four tests for whether a piece of work is inside the goal, the two-verb surface the project is moving to (marked as not built, #1389), the rule that a cadence step with a threshold in config reaches itself while one written only in prose needs remembering (#1386), a routing table for where each kind of prose belongs and what each destination costs, and an honest statement that the loop has only ever run in front of the person who wrote it. Known gap, recorded in #1392 rather than fixed here: the surface section starts at the slash picker, and the honest surface starts at the launcher. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012UYdzDHX3k3C2Eh7B5hRVH
tests/test_readme_trim_795.py went red on four legs: docs/overview.md is where README content moved by #795 lives, and it pins two markers there -- "packages the loop once" and "copies drift". The rewrite dropped the whole paragraph as redundant with CLAUDE.md, which is wrong: CLAUDE.md is the loop own document, not the public one, and a reader of docs/ never sees it. The guard was right and is restored to, not tuned around. The second marker then failed for a different reason and it is the one this repo already has a rule about: the paragraph as first rewritten wrapped as "the copies\ndrift", and the guard matches per line. Nothing was missing -- the layout broke the phrase. Re-wrapped so it sits on one line. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012UYdzDHX3k3C2Eh7B5hRVH
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.
Closes #1396.
The problem this fixes
docs/overview.mdis where this project states what it is for, and it had drifted on five separatenumbers -- commands (8 against 9), agents (5 against 6), phase files (6 against 9), scripts (40
against 86), and the sub-manager's handback states (three against six) -- plus a standing table
dated 2026-09-02 at v0.17.0, carried through fourteen tags.
Every sentence was correct when written. That is the point: it read as current the whole time, which
is this project's own defect class applied to its own prose.
The fix is not to correct the counts
It is to stop carrying them. A goal document that holds no countable fact cannot drift into a wrong
one, and
lsis the source of truth for how many commands there are. A page that duplicates it is asecond copy to keep in sync forever, which is the thing the governing rule forbids.
What the page carries now
machinery; does it remove a human from the loop or add one; does it leave a second copy of a fact;
can it tell "found nothing" from "could not look". Work failing one is outside the goal even when
correct, reproducible and asked for. This is what the page was asked for and did not previously do:
a boundary test on live work, not a description.
costs rather than by subject.
run in front of the person who wrote it.
Known gap, deliberately not fixed here
The surface section starts at the slash picker. The honest surface starts at the launcher -- install
the plugin, run
oss-workspace, it works -- since nobody normally types either verb. #1392 recordsthat and owns the fix.
Checks run
assemble_changelog.py --check-- ok, both fragments parse.tests/test_claude_md_currency.py,tests/test_content_invariants.py,tests/test_docs_state_slug_grammar_308.py-- 226 passed.table rows too wide to wrap.
Docs only. No code path changes.
🤖 Generated with Claude Code
https://claude.ai/code/session_012UYdzDHX3k3C2Eh7B5hRVH
[AI-generated]