Repository navigation
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The change still has unresolved findings flagging stray leading spaces that create inconsistent Markdown source formatting across multiple lines in two docs files.
2 open issues
What changed in this PR
This PR rewrites the repository's user-facing documents and the AGENTS/.claude rule files into ASD-STE100 (Simplified Technical English). The stated goal is to change the wording, not the facts: long sentences become short sentences and lists. It also extends the ASD-STE100 rule (previously limited to PR/issue text and commit messages) to cover README.md, CONTRIBUTING.md, local/README.md, the READMEs beside the code, docs/ Markdown, the AGENTS files, and .claude/commands, and adds a new glossary (docs/terms.md) that fixes one word per concept.
Changes:
- Rewrites the main user docs (README, CONTRIBUTING, reference-stack, llm-apache-org, demo-narrative, e2e/companion/harness READMEs) and the rule files (AGENTS.md,
crates/core/AGENTS.md, adversarial/reader-test commands) into short-sentence ASD-STE100, mostly converting run-on prose into bullet lists. - Adds
docs/terms.md(one term per concept, with "do not use" words) and.claude/commands/reader-test.md(a reader-test pass for docs-only branches). - Updates AGENTS.md to broaden the ASD-STE100 scope and to point at
docs/terms.mdfor the controlled vocabulary.
I verified several new factual claims against the code and they hold: the --backend values in docs/terms.md (namespaces, image, wslc, seatbelt, none, auto), the tool = true tap convention, and AGENTS.md's docs-only description against scripts/docs-only.sh. Numbers and dates in the demo narrative and llm-apache-org appear preserved. The PR explicitly lists known pre-existing factual contradictions (harness counts, the memory vs amem binary name, nonexistent crates in the reference stack) that it leaves to separate changes, so those were not re-reported.
The only concrete issue found is minor: stray single-space indents on a few wrapped paragraph lines, inconsistent with the surrounding source (harmless to rendered Markdown). Note also that this branch stacks on #33 and the reader-test branch and needs a rebase before its diff is final.
| File | Description |
|---|---|
README.md |
Rewrites the proof-of-concept, "what it is", build/run, demo, and checks sections into ASD-STE100 lists; adds sandbox/egress/tunnel detail. |
docs/terms.md |
New controlled vocabulary: one term per part/idea, with "do not use" words and second senses. |
docs/reference-stack.md |
Reflows the stack rows/sections; adds launcher, sandbox and egress rows and a safety-boundary paragraph. |
docs/llm-apache-org.md |
Reflows the gateway proposals into lists (minor stray leading spaces on two wrapped blocks). |
docs/demo-narrative.md |
Reflows the act-by-act narrative; "memory calls" → "memory tool calls" (one stray-leading-space block). |
images/harness/README.md |
Reflows the harness-image notes; retains the pre-existing "seven of eight"/"memory binary" wording (acknowledged open). |
e2e/README.md |
Converts the browser-test overview and spec guidance into lists. |
crates/web/companion/README.md |
Reflows the companion extension guarantees and permissions into lists. |
crates/core/AGENTS.md |
Reflows the frontmatter-contract rules into ASD-STE100. |
CONTRIBUTING.md |
Reflows prerequisites and the make-target table. |
AGENTS.md |
Reflows the non-negotiables and adds the "Writing in ASD-STE100" section with the broadened scope and docs/terms.md pointer. |
.claude/commands/reader-test.md |
New reader-test command for docs-only branches. |
.claude/commands/adversarial.md |
Reflows the adversarial pre-PR command into steps/lists. |
Review effort: Balanced
The rule now applies to the READMEs, CONTRIBUTING.md, the Markdown documents in docs/, the AGENTS files and the commands. The paper, the case study, PLAN.md, the spikes, the examples, code comments and the web pages keep their own style. A new file, docs/terms.md, gives one word for each thing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
A fact check found six wrong rows and ten partly wrong rows. Examples: a spend limit counts tokens, not cost, and a tunnel is TCP with TLS end to end. It also found fifteen missing terms, and banned words with other real uses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
A meaning check found that one session covers each task of a --loop launch. The rewriters found words that the documents use for a second thing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Every rule, exception and reason stays. A fresh agent compared the old and new text rule by rule, and the fixes for its findings are here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
…D-STE100 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The pass found these errors. The term list mapped "wrapper" to the launcher, but PLAN.md defines the wrapper as the memory server and its egress. Thus the root rule in AGENTS.md forbade what the launcher does. The guard row named fewer stash commands than the guard refuses. A handoff sentence in local/README.md applied to every task. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Some wrapped lines in three documents started with one space. Markdown renders them the same. This change removes the space. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The adversarial pass on the rebase found two unclear sentences. In AGENTS.md, "the files in make check" can mean only the files that make check builds. The script reads all the files of the repository. In local/README.md, one "it" referred to the web launcher and the next "it" to the origin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
2 open issues
2 resolved since last review
Review effort: Lite
| nothing builds from those files or reads them. `scripts/docs-only.sh` decides which | ||
| changes are of this type. Its test holds the premise that nothing builds from those | ||
| files or reads them. |
| To bump every pin to its latest release, as the daily check does, run the bump script. It | ||
| needs npm, so without Node on the host run it in a container, from the repository's root: | ||
| The harness image holds seven of the eight harnesses that `amem launch` knows, Node, and | ||
| the `memory` binary. `make image` builds it from the Dockerfile in this directory. It |



Summary
This change writes the user documents and the rule files in ASD-STE100 (Simplified Technical English). It changes the words, not the facts.
The change does these things:
README.md,CONTRIBUTING.mdandlocal/README.md;docs/;.claude/commands/.docs/seeding-a-foundation.md),PLAN.md,spikes/,examples/, code comments, the web pages and the design book.docs/terms.md, gives one word for each part and idea, and the words not to use for it. It also lists the words that the documents use for a second thing.README.mdlocal/README.mdCONTRIBUTING.md,e2e/README.md,images/harness/README.md,crates/web/companion/README.mddocs/reference-stack.mddocs/harness-containers.mddocs/llm-apache-org.md,docs/demo-narrative.mdAGENTS.md,crates/core/AGENTS.md, the two commandsThe text is about 13% longer, because long sentences became short sentences and lists.
How the facts were kept
Four checks ran on each file:
\\wsl.localhostshare with no--wslc-storagewas said to usestate/wslc-api. The code refuses it.--loopmakes one session for each task. One session covers all the tasks.README.mdandlocal/README.md, with the same five questions for each. The table shows the reader's certainty and how many times it read the text to find each answer.The answers are about the same. On the old README, the reader stopped at long sentences: the first sentence had 80 words, and the tools item had 90. On the new text, the reader stopped at gaps and contradictions in the facts. A rewrite that keeps the facts cannot fix these. The next section lists them.
Open: facts that the rewrite did not change
The rewriters and the readers found these problems in the facts. They are the same in the old text. Each one needs a decision, in a separate change.
local/README.mdsays "eight harnesses", but its table has ten. It says "Grok is a destination, not a harness", but the table has Grok Build.local/README.mdsays that a launch with no handoff exits 4. A later section says that it no longer does.local/README.mdsays that--backend wslc --auth gatewayruns LiteLLM in the session VM. Another section says that gateway auth is not connected yet.local/README.mdsays "a third of the time" for Claude Code with the record. Its own figures, 34 s against 391 s, are about one eleventh.local/README.mddoes not give the flag that names the model foramem replay, or whatamem quarantine dropdoes.LLMAO_KEY, or that a gateway launch needs--auth gateway.images/harness/README.mdsays that the image holds seven harnesses and "thememorybinary". It holds nine, and the binary isamem.CONTRIBUTING.mdalso says "thememorybinary".docs/reference-stack.mdrefers to "the compose file above", which it does not have. Its crate table names crates that do not exist.docs/harness-containers.mdsays thatdependabot.ymlis not in.github/, but its own summary says that ci: add Dependabot version updates for GitHub Actions #12 added it.docs/demo-narrative.mdsays thatdom-demoholds all 309 entries, but 309 is the count over all domains..claude/stays ignored", but.gitignoreignores only two paths under.claude/.crates/andtaps/. Butscripts/demo/11-limits.shreads two lists inREADME.md. A README-only commit skips every check, so a change can break act 11 of the demo with no warning. The parser gives the same output on the old and the new README (9 and 14 items).Adversarial pass
crates/web/companion/README.mdis undercrates/, soscripts/docs-only.shdoes not accept this branch. Thus the adversarial pass applies, not the reader test. A fresh agent attacked the commits of this branch. It found these errors, and this change fixes them:amemmay not read an environment variable for a location. The launcher must do that, for example to find a subscription login underHOME. The rule now names the wrapper again, and the term list defines the word.save,pop,clearanddrop.local/README.mdsaid that the launcher files a handoff for every task. It does this only for a task that goes back to the pool.crates/serverin AGENTS.md was circular.It found no broken link or anchor. A script resolved 549 fragment links in the repository. No test, script or check reads a rewritten file, except the demo script in the open list above.
Revision: rebase on #33, #34 and #36
After #33, #34 and #36 merged, I rebased this branch on
main. #36 changed four places that this branch rewrites. I resolved these conflicts by hand:local/README.md: the text about hosted pages keeps the facts from fix: make an image push fail, and remove the pages workflow #36. The repository does not publish the pages, and the example site issomeone.github.io/tooling-memory/. The text does not mention the removed workflow.images/harness/README.md: the section "Never published" is the same as onmain.Copilot found a space at the start of some wrapped lines in two documents. I found the same fault in
docs/harness-containers.md. Commit 2301d96 removes these spaces and changes nothing else.A fresh agent attacked this revision. It compared each resolved place with
main, sentence by sentence. It found no lost fact. Nothing that #36 removed came back: not the pages workflow, and not the old repository name. The guard refused each class of command that the AGENTS.md row names. It found two unclear sentences, and commit b48fa77 fixes them:make check". The check reads all the files of the repository.local/README.md, one "it" referred to the web launcher and the next "it" to the origin.Checks
make checkpasses on the rebased branch: 718 tests run, 718 passed.Posted by Claude on behalf of @sstriker