You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audited every symbol, file path, API name, pnpm script and relative link cited by docs/ (excluding docs/architecture/ecs/, audited separately), AGENTS.md and every nested AGENTS.md, README.md files, and .agents/. 129 docs, read at origin/main @ 28bd73af29.
Most of the corpus is clean — the ADRs, the ECS architecture set, docs/guidance/*, the release process, the root AGENTS.md. The rot is concentrated in two shapes: agent-facing guides that quote helper APIs, and tables that claim to be an exhaustive inventory. Batched into one issue because it is one class with one root cause.
1. browser_tests/README.md — three dead APIs in the canonical E2E guide
This file is @-imported by browser_tests/AGENTS.md, so it auto-loads into every agent session working in that directory. All three of these are copy-pasteable snippets that do not compile.
browser_tests/README.md:539-540
`comfyPage.debugAddMarker(pos)`, `debugAttachScreenshot(testInfo, name)`,
`debugShowCanvasOverlay()`, `debugGetCanvasDataURL()` are for local debugging only.
None of the four exist. grep -rn 'debugAddMarker\|debugAttachScreenshot\|debugShowCanvasOverlay\|debugGetCanvasDataURL' browser_tests --include=*.ts → 0 hits. They were removed by #8510 (2026-02-03); this text was written 2026-07-22 in #13968.
Neither the module nor the export exists — there is no browser_tests/fixtures/data/nodeDefinitions.ts. Removed by #12496 (2026-06-01). Also cited at :183 as the example of what fixtures/data/ holds.
0 hits. Added by #11523 (2026-04-22) and since removed. There is currently no file-cleanup helper in browser_tests/ at all, so the "clean up files" guidance one line above has no supported way to be followed.
Knock-on:.agents/checks/playwright-e2e.md:66 is review rule 15 — "Debug helpers left in committed code — debugAddMarker, debugAttachScreenshot, debugShowCanvasOverlay, debugGetCanvasDataURL". The rule can never fire.
2. src/composables/README.md — five composables that do not exist
src/composables/README.md:88 states: "The following tables list ALL composables in the system as of 2026-01-30."
Zero occurrences anywhere in src/, packages/ or browser_tests/:
Four more name a module that exists but an export that does not:
Line
Listed
Actual export
107
useTerminalTabs
useLogsTerminalTab, useCommandTerminalTab
175
useWatchWidget
useComputedWithWidgetWatch
217
useProgressTextWidget
useTextPreviewWidget
241
usePragmaticDragAndDrop
usePragmaticDroppable, usePragmaticDraggable
And the "ALL" claim: the tables hold 76 rows; src/composables/ alone has 171 files, 135 of them unlisted (useAppMode, useCanvasHistory, useFeatureFlags, useMaskEditor, …).
3. src/stores/README.md — two dead stores, one dead file, wrong count
src/stores/README.md:105: "The following table lists ALL 46 store instances in the system as of 2026-01-29." Actual: 79 non-test defineStore( call sites under src/.
:121firebaseAuthStore.ts / useFirebaseAuthStore — 0 occurrences of the file or the symbol.
:126maintenanceTaskStore.ts / useMaintenanceTaskStore — 0 occurrences of either.
:122-123graphStore.ts → useTitleEditorStore, useCanvasStore. No graphStore.ts exists; both live in src/renderer/core/canvas/canvasStore.ts.
4. docs/extensions/core.md — three subsections describing deleted directories
docs/extensions/core.md:57-84 documents three subdirectories and seven .js files. None of the directories and none of the files exist.
"Located in extensions/core/load3d/conditional-lines/": ColoredShadowMaterial.js, ConditionalEdgesGeometry.js, ConditionalEdgesShader.js, OutsideEdgesGeometry.js
"Located in extensions/core/load3d/conditional-lines/Lines2/": ConditionalLineMaterial.js, ConditionalLineSegmentsGeometry.js
"Located in extensions/core/load3d/threejsOverride/": OverrideMTLLoader.js
src/extensions/core/load3d/ contains only loader/ and TypeScript managers.
:30 also claims "lists ALL core extensions in the system as of 2025-01-30" — 22 rows vs 41 non-test top-level .ts; imageCompositor.ts, layerEditor.ts, painter.ts, cloudBadges.ts and 15 others are unlisted.
5. .github/AGENTS.md:21 — points at two workflows and one action that are not wired up
See ci-size-data → pr-size-report or ci-perf-report → pr-perf-report. Use .github/actions/post-pr-report-comment for the comment step.
pr-size-report.yaml and pr-perf-report.yaml do not exist. Both were consolidated into pr-report.yaml ("PR: Unified Report"), which triggers on workflow_run of CI: Size Data, CI: Performance Report and CI: E2E Coverage.
.github/actions/post-pr-report-comment exists as a directory but has zero users — grep -rn 'post-pr-report-comment' .github/ returns only this AGENTS.md line. pr-report.yaml:175 uses ./.github/actions/upsert-comment-section.
An agent following this to add a new PR-comment workflow would build the two-workflow split around a dead action and look for two nonexistent examples.
6. src/lib/litegraph/src/subgraph/__fixtures__/README.md — a whole fixture family that never shipped
:79-83 an "Edge Case Fixtures (edgeCaseTest)" section documenting circularSubgraph, deeplyNestedSubgraph, maxIOSubgraph. edgeCaseTest, circularSubgraph and deeplyNestedSubgraph have 0 occurrences repo-wide. subgraphFixtures.ts exports only subgraphTest.
:58 and :320logSubgraphStructure(subgraph, label?) — 0 occurrences.
.github/workflows/README.md:14 — the api- prefix example is api-update-registry-api-types.yaml, deleted by chore: remove pull-model registry type gen workflow #9957 (2026-04-06). The table also documents 5 prefixes where 13 are in use; publish-, cloud-, version-, weekly-, update-, model-, coverage- and backport- are undocumented, which makes the "consistent naming pattern" claim misleading for anyone adding a workflow.
.agents/checks/adr-compliance.md:79 — "Identify changed files in the entity/litegraph layer: src/lib/litegraph/, src/ecs/, src/platform/". src/ecs/ does not exist.
.storybook/README.md:131 — the worked example is PackActionButton.vue; no such component exists.
src/services/README.md:77 — newUserService.ts; the file is src/services/useNewUserService.ts.
apps/website/src/pages/cloud/supported-nodes/AGENTS.md:21 — the link ./supported-nodes.astro resolves to .../supported-nodes/supported-nodes.astro; the file is one level up.
Root cause
.github/workflows/weekly-docs-check.yaml is a Monday-cron Claude job whose whole prompt is "Is all documentation still 100% accurate?", scoped to docs/**/*.md, CLAUDE.md and "README files throughout the repository" — exactly the surface above. It has failed 6 of its last 8 runs (2026-07-06, 07-13, 07-20, 07-27, 08-03, 08-17 failed; 08-07 and 08-10 succeeded), always at the Run Claude Documentation Review step, and nothing alerts on the failures.
Two things fall out of that:
The guard needs fixing and needs to page someone when it goes red, or it is decoration.
Even when green it is unlikely to catch these, because the load-bearing claims are inventory claims. "Lists ALL X as of DATE" is a promise no prose review keeps. These three tables (src/composables/README.md, src/stores/README.md, docs/extensions/core.md) would be better as a generated file or deleted outright in favour of a pointer at the directory — a stale inventory is worse than no inventory, because a reader treats absence from the list as evidence a thing does not exist.
Reproduction
Read at origin/main (git show origin/main:<path> — a working tree can be on any branch):
Recording this so the issue is not read as "the docs are bad". They are mostly good, and the ECS architecture set is a model for the rest:
All 53 pnpm script citations resolve against the 70 scripts in the 10 workspace package.json files (only ADR 0010's literal <script> placeholders miss).
165 relative markdown links, 13 non-resolving: 7 are the NNNN-title.md ADR template placeholder, 5 are the deliberately-historical src/world/ links in appendix-ecs-pattern-survey.md, 1 is item 7 above.
docs/adr/README.md and docs/adr/*.md agree exactly in both directions.
Root AGENTS.md is clean — every config path, every command, the CONTRIBUTING.md#comment-resolution anchor, and all six ECS stores plus src/types/widgetId.ts in the "Entity Architecture Constraints" block.
docs/architecture/* is clean and tombstoned: subgraph-boundaries-and-promotion.md:305 and proto-ecs-stores.md:110 explicitly mark PromotionStore / PromotedWidgetViewManager / PromotedWidgetView as removed by ADR 0009 and retained for archival context, and appendix-critical-analysis.md:16 pins its verification snapshot to a commit. That is the pattern the tables above should adopt.
All 8 docs/guidance/* files clean; comfy/no-duplicate-ingest-type is real (.oxlintrc.json:31) and the 5s/10s timeouts in vitest.md:76 match Vitest defaults.
All other nested AGENTS.md clean; CLAUDE.md files are @AGENTS.md stubs.
22 of 24 .agents/checks/* clean.
Filed from the cross-repo value queue (entry x01, repo-doc-audit lens).
Audited every symbol, file path, API name,
pnpmscript and relative link cited bydocs/(excludingdocs/architecture/ecs/, audited separately),AGENTS.mdand every nestedAGENTS.md,README.mdfiles, and.agents/. 129 docs, read atorigin/main@28bd73af29.Most of the corpus is clean — the ADRs, the ECS architecture set,
docs/guidance/*, the release process, the rootAGENTS.md. The rot is concentrated in two shapes: agent-facing guides that quote helper APIs, and tables that claim to be an exhaustive inventory. Batched into one issue because it is one class with one root cause.1.
browser_tests/README.md— three dead APIs in the canonical E2E guideThis file is
@-imported bybrowser_tests/AGENTS.md, so it auto-loads into every agent session working in that directory. All three of these are copy-pasteable snippets that do not compile.browser_tests/README.md:539-540None of the four exist.
grep -rn 'debugAddMarker\|debugAttachScreenshot\|debugShowCanvasOverlay\|debugGetCanvasDataURL' browser_tests --include=*.ts→ 0 hits. They were removed by #8510 (2026-02-03); this text was written 2026-07-22 in #13968.browser_tests/README.md:557-559Neither the module nor the export exists — there is no
browser_tests/fixtures/data/nodeDefinitions.ts. Removed by #12496 (2026-06-01). Also cited at:183as the example of whatfixtures/data/holds.browser_tests/README.md:5260 hits. Added by #11523 (2026-04-22) and since removed. There is currently no file-cleanup helper in
browser_tests/at all, so the "clean up files" guidance one line above has no supported way to be followed.Knock-on:
.agents/checks/playwright-e2e.md:66is review rule 15 — "Debug helpers left in committed code —debugAddMarker,debugAttachScreenshot,debugShowCanvasOverlay,debugGetCanvasDataURL". The rule can never fire.2.
src/composables/README.md— five composables that do not existsrc/composables/README.md:88states: "The following tables list ALL composables in the system as of 2026-01-30."Zero occurrences anywhere in
src/,packages/orbrowser_tests/:useFirebaseAuthActionsuseAuthActions(src/composables/auth/useAuthActions.ts)useTerminalBufferuseResponsiveCollapseuseCivitaiModeluseDownloadFour more name a module that exists but an export that does not:
useTerminalTabsuseLogsTerminalTab,useCommandTerminalTabuseWatchWidgetuseComputedWithWidgetWatchuseProgressTextWidgetuseTextPreviewWidgetusePragmaticDragAndDropusePragmaticDroppable,usePragmaticDraggableAnd the "ALL" claim: the tables hold 76 rows;
src/composables/alone has 171 files, 135 of them unlisted (useAppMode,useCanvasHistory,useFeatureFlags,useMaskEditor, …).3.
src/stores/README.md— two dead stores, one dead file, wrong countsrc/stores/README.md:105: "The following table lists ALL 46 store instances in the system as of 2026-01-29." Actual: 79 non-testdefineStore(call sites undersrc/.:121firebaseAuthStore.ts/useFirebaseAuthStore— 0 occurrences of the file or the symbol.:126maintenanceTaskStore.ts/useMaintenanceTaskStore— 0 occurrences of either.:122-123graphStore.ts→useTitleEditorStore,useCanvasStore. NographStore.tsexists; both live insrc/renderer/core/canvas/canvasStore.ts.4.
docs/extensions/core.md— three subsections describing deleted directoriesdocs/extensions/core.md:57-84documents three subdirectories and seven.jsfiles. None of the directories and none of the files exist.extensions/core/load3d/conditional-lines/":ColoredShadowMaterial.js,ConditionalEdgesGeometry.js,ConditionalEdgesShader.js,OutsideEdgesGeometry.jsextensions/core/load3d/conditional-lines/Lines2/":ConditionalLineMaterial.js,ConditionalLineSegmentsGeometry.jsextensions/core/load3d/threejsOverride/":OverrideMTLLoader.jssrc/extensions/core/load3d/contains onlyloader/and TypeScript managers.:30also claims "lists ALL core extensions in the system as of 2025-01-30" — 22 rows vs 41 non-test top-level.ts;imageCompositor.ts,layerEditor.ts,painter.ts,cloudBadges.tsand 15 others are unlisted.5.
.github/AGENTS.md:21— points at two workflows and one action that are not wired uppr-size-report.yamlandpr-perf-report.yamldo not exist. Both were consolidated intopr-report.yaml("PR: Unified Report"), which triggers onworkflow_runofCI: Size Data,CI: Performance ReportandCI: E2E Coverage..github/actions/post-pr-report-commentexists as a directory but has zero users —grep -rn 'post-pr-report-comment' .github/returns only this AGENTS.md line.pr-report.yaml:175uses./.github/actions/upsert-comment-section.An agent following this to add a new PR-comment workflow would build the two-workflow split around a dead action and look for two nonexistent examples.
6.
src/lib/litegraph/src/subgraph/__fixtures__/README.md— a whole fixture family that never shipped:79-83an "Edge Case Fixtures (edgeCaseTest)" section documentingcircularSubgraph,deeplyNestedSubgraph,maxIOSubgraph.edgeCaseTest,circularSubgraphanddeeplyNestedSubgraphhave 0 occurrences repo-wide.subgraphFixtures.tsexports onlysubgraphTest.:58and:320logSubgraphStructure(subgraph, label?)— 0 occurrences.:63createComplexSubgraphData(nodeCount?)— 0 occurrences.7. Smaller, same class
.github/workflows/README.md:14— theapi-prefix example isapi-update-registry-api-types.yaml, deleted by chore: remove pull-model registry type gen workflow #9957 (2026-04-06). The table also documents 5 prefixes where 13 are in use;publish-,cloud-,version-,weekly-,update-,model-,coverage-andbackport-are undocumented, which makes the "consistent naming pattern" claim misleading for anyone adding a workflow..agents/checks/adr-compliance.md:79— "Identify changed files in the entity/litegraph layer:src/lib/litegraph/,src/ecs/,src/platform/".src/ecs/does not exist..storybook/README.md:131— the worked example isPackActionButton.vue; no such component exists.src/services/README.md:77—newUserService.ts; the file issrc/services/useNewUserService.ts.browser_tests/tests/propertiesPanel/AGENTS.md:7-17— the "Structure" table lists 9 specs; the directory holds 18. Missing:errorsTabExecution,errorsTabMissingModels,errorsTabMissingNodes,errorsTabModeAware,errorsTabMissingMedia,errorsTabMissingMediaRuntime,errorsTabCloudMissingModels,promotedInputReorder,widgetActionsMenu.apps/website/src/pages/cloud/supported-nodes/AGENTS.md:21— the link./supported-nodes.astroresolves to.../supported-nodes/supported-nodes.astro; the file is one level up.Root cause
.github/workflows/weekly-docs-check.yamlis a Monday-cron Claude job whose whole prompt is "Is all documentation still 100% accurate?", scoped todocs/**/*.md,CLAUDE.mdand "README files throughout the repository" — exactly the surface above. It has failed 6 of its last 8 runs (2026-07-06, 07-13, 07-20, 07-27, 08-03, 08-17 failed; 08-07 and 08-10 succeeded), always at theRun Claude Documentation Reviewstep, and nothing alerts on the failures.Two things fall out of that:
src/composables/README.md,src/stores/README.md,docs/extensions/core.md) would be better as a generated file or deleted outright in favour of a pointer at the directory — a stale inventory is worse than no inventory, because a reader treats absence from the list as evidence a thing does not exist.Reproduction
Read at
origin/main(git show origin/main:<path>— a working tree can be on any branch):What is clean
Recording this so the issue is not read as "the docs are bad". They are mostly good, and the ECS architecture set is a model for the rest:
pnpmscript citations resolve against the 70 scripts in the 10 workspacepackage.jsonfiles (only ADR 0010's literal<script>placeholders miss).NNNN-title.mdADR template placeholder, 5 are the deliberately-historicalsrc/world/links inappendix-ecs-pattern-survey.md, 1 is item 7 above.docs/adr/README.mdanddocs/adr/*.mdagree exactly in both directions.AGENTS.mdis clean — every config path, every command, theCONTRIBUTING.md#comment-resolutionanchor, and all six ECS stores plussrc/types/widgetId.tsin the "Entity Architecture Constraints" block.docs/architecture/*is clean and tombstoned:subgraph-boundaries-and-promotion.md:305andproto-ecs-stores.md:110explicitly mark PromotionStore / PromotedWidgetViewManager / PromotedWidgetView as removed by ADR 0009 and retained for archival context, andappendix-critical-analysis.md:16pins its verification snapshot to a commit. That is the pattern the tables above should adopt.docs/guidance/*files clean;comfy/no-duplicate-ingest-typeis real (.oxlintrc.json:31) and the 5s/10s timeouts invitest.md:76match Vitest defaults.AGENTS.mdclean;CLAUDE.mdfiles are@AGENTS.mdstubs..agents/checks/*clean.Filed from the cross-repo value queue (entry x01, repo-doc-audit lens).