Skip to content

docs: fix stale documentation - #5113

Merged
georgi merged 1 commit into
mainfrom
docs/fix-stale-documentation
Aug 21, 2026
Merged

docs: fix stale documentation#5113
georgi merged 1 commit into
mainfrom
docs/fix-stale-documentation

Conversation

@claude

@claude claude Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

A correction pass over docs/**, AGENTS.md, and per-package README.md/AGENTS.md. Markdown only; no code was changed.

Corrections

AGENTS.md — anti-slop backlog table is stale (9 rows) and tools/oxlint/anti-slop/README.md repeats the total

  • Claimed: backlog of 16,760 findings; require-safety-comment-for-type-assertion 7039, no-unsafe-dictionary-type 4315, no-unknown-parameters 1948, no-module-mocking 1460, no-known-value-widening 722, no-runtime-typeof 534, no-implicit-return-type 449, no-unknown-returns 243, no-chained-type-assertions 50.
  • Actual: 16,912 total; 7082 / 4346 / 1964 / 1471 / 749 / 548 / 451 / 247 / 54. The "trees at zero" column was already correct and is unchanged.
  • Verified by: npm run lint:anti-slop:count — the command the table itself names as its regenerator. Output: 16912 findings across 9 rules and 59 trees (5129 files scanned). 247 / 531 (rule, tree) pairs at zero (46.5%).

The prose sentence quoting no-module-mocking as "1,460 findings" was updated to match, and the same total was corrected in tools/oxlint/anti-slop/README.md.

AGENTS.md — "finished in fifty-five packages" contradicts its own table

  • Claimed: the over-a-thousand-findings rule is "finished in fifty-five packages".
  • Actual: fifty-six. That rule is no-module-mocking, which the same table records as zero in 56 of 59 trees. The three non-zero trees are the app trees, not packages: web 1186 + electron 191 + mobile 94 = 1471, the rule's whole total, so all 56 packages are at zero.
  • Verified by: lintableTrees() in scripts/anti-slop-ratchet.mjs enumerates packages/* that have a src/ plus web, electron, mobile; ls -d packages/*/src | wc -l is 56, giving 59 trees. Per-tree counts from npx oxlint --config .oxlintrc.anti-slop.json <tree>.

AGENTS.mdnodetool-chat provider list omits meta, flag list omits --no-read-only-search

  • Claimed: 24 providers, ending ... cerebras, alibaba, together, ...; flags stop at -u, --url.
  • Actual: KNOWN_PROVIDERS in packages/cli/src/providers.ts:46 has 25 entries and includes meta between gmi and alibaba. The CLI also accepts --no-read-only-search ("Disable the read-only run_search fan-out primitive (on by default)").
  • Verified by: node ./packages/cli/dist/index.js --help, which prints the provider list from KNOWN_PROVIDERS.join(", ") (packages/cli/src/index.ts:52), and reading the constant.

docs/DEVELOPMENT_STANDARDS.md:282 — wrong env var name

  • Claimed: "Idle connections close after WS_IDLE_TIMEOUT_MS (configurable)."
  • Actual: the variable is NODETOOL_WS_IDLE_TIMEOUT_MS, default 70000. There is no WS_IDLE_TIMEOUT_MS anywhere in the tree.
  • Verified by: packages/websocket/src/lib/ws-connection-health.ts:42idleTimeoutMs: parseIntEnv("NODETOOL_WS_IDLE_TIMEOUT_MS", 70_000). Matches docs/configuration.md:435, which already documented the correct name.

docs/developer/node-patterns.md:365 — a directory and a symbol that no longer exist

  • Claimed: "The old packages/base-nodes/src/nodes/ directory no longer holds individual node sources — it now only re-exports/aggregates", and "(e.g., CONTROL_NODES, TEXT_NODES)".
  • Actual: the directory is gone entirely — packages/base-nodes/src/ contains only index.ts and platforms/, and index.ts is what re-exports and aggregates (into ALL_BASE_NODES). There is no TEXT_NODES export; the text package's array is TEXT_EXTRA_NODES (packages/text-nodes/src/nodes/text-extra.ts:989). CONTROL_NODES is real.
  • Verified by: ls packages/base-nodes/src/, reading packages/base-nodes/src/index.ts, and grep -rn "export const .*_NODES" packages/text-nodes/src/.

Checked and found correct

Recording these so the next pass can skip them. All were verified mechanically, not by eye.

  • Every nodetool … invocation and flag in the docs. Dumped recursive --help for all 191 commands and subcommands from packages/cli/dist/nodetool.js and diffed it against every invocation in the Markdown. No unknown command, subcommand, or flag survived review — the earlier hits were all positional arguments or trailing # comments.
  • Every npm run … in the docs against the root and per-workspace package.json scripts. The only miss is npm run redeploy in AGENTS.md:545, which the sentence itself describes as decommissioned.
  • Internal Markdown links and heading anchors across all in-scope docs. Zero broken after accounting for Jekyll extensionless links and explicit {#anchor} ids.
  • Every NODETOOL_* env var named in the docs, and every documented default in the docs/configuration.md tables, against the code that reads them (8388608, 268435456, 1073741824, 720000, 300000, 600000, 8192, the Ollama URL, and the rest). All correct.
  • The 38 sandbox packs and their guest/host split in both AGENTS.md and docs/javascript-sandbox.md, against each pack's nodetool.sandboxModules[].kind. All 38 correctly classified in both.
  • Countable claims in AGENTS.md: 56 workspace packages, 38 sandbox packs, 68 flow namespaces, 424 flow nodes, 7 rules at zero everywhere, 11 trees at zero on all 9 rules, 531 pairs, 247 at zero, 11 tool-loop eval suites. All correct.
  • 290 node types quoted in the docs against the registry; the 5 misses are all explicitly labelled removed or are placeholders.
  • Documented API routes, model table names in packages/models/README.md, the 13 ui_storyboard_* tools in docs/creative-agent.md, dependency order in AGENTS.md, and version claims (Node 22.22.1, Electron 39.8.10, React 19.2, MUI v7.3, ReactFlow 12.11, RN 0.85 / Expo 56 / TS 6). All correct.

Out of scope, but wrong — worth a follow-up

Neither is in this PR's stated scope (docs/**, README.md, AGENTS.md, per-package AGENTS.md/README.md), so I left both alone.

  • web/src/components/ui_primitives/STRATEGY.md — the "Current State (Audit Results)" table lists raw-MUI migration targets as <Typography> 201 files, <Tooltip> 146, <Button> 103, <IconButton> 72, <CircularProgress> 55, <Dialog> 44, <TextField> 40, <Select> 37, <Chip> 37, <Divider> 30, <Alert> 14, <Paper> 12, <Tabs> 10. All of them are now zero. Scanning all 1954 non-test files in web/src outside ui_primitives/ and editor_ui/ for named imports from @mui/material and default imports from @mui/material/<Component> finds no banned component anywhere; the only remaining @mui/material imports are useTheme, Theme, ThemeProvider, useMediaQuery and the AlertColor type. The migration is finished and the doc still reads as a backlog. (display: flex inline is 340 files against a claimed 314, so that row moved the other way.)
  • .github/copilot-instructions.md — claims React 18.2, Vite 6, Electron 35.7.5, and RTL 16.1.0. Actual: React 19.2.7, Vite 8.0.16, Electron 39.8.10, RTL 16.3.2.

Code that contradicts its own docs

  • packages/cli/src/harness/registry.ts — the eval harness entry describes the suites as ... subtask, codeact, tool-loop×8, app-build, so nodetool harness list prints tool-loop×8. There are eleven tool-loop suites (tool-loop, workflow-escalation, script-tools, jsscript-tools, sketch-tools, timeline-tools, storyboard-tools, model3d-tools, app-tools, thread-memory-tools, creative-pipeline), which nodetool eval --help confirms and which AGENTS.md already states correctly. Left alone — fixing it means editing code.

🤖 Generated with Claude Code

Correct statements contradicted by the code: the anti-slop backlog counts,
a missing chat provider and flag, an env var name, and a node-source path
plus a symbol that no longer exist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@georgi
georgi merged commit 7e44290 into main Aug 21, 2026
20 checks passed
@georgi
georgi deleted the docs/fix-stale-documentation branch August 21, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant