Observed on aae-orc (mokuzai, kos alpha-20260412-030749-2709334; behavior confirmed present in HEAD source).
Repro
From the aae-orc root (manifest declares 15 includes):
$ kos validate --merged
Validating graph: aae-orc (orchestrator) → 80 nodes: 71 passed, 9 warnings, 0 failed, 0 parse errors
Validating graph: kos (repo) → 82 nodes: 78 passed, 4 warnings, 0 failed, 0 parse errors
Validating graph: forestage (repo) → 7 PARSE ERROR lines
20 nodes: 4 passed, 9 warnings, 0 failed, 7 parse errors
(exit 1 — run ends here)
marvel, spectacle, ThreeDoors, switchboard, tmux-cmc, sideshow, curtain, BetterDials, flyloft, sidestep, beadle, critic, ftc are never reached. A fleet-wide vocabulary-drift scan (see #51 comment) shows at least 10 of those unreached graphs also carry invalid edge types — none of which this command can surface in one run.
Defects
- Fail-fast at graph granularity hides the fleet-wide extent of schema drift. The operator fixes forestage, re-runs, discovers marvel, fixes marvel, re-runs… 13 iterations to see one inventory.
- The final summary line is the last graph's summary, not a grand total.
20 nodes: 4 passed … 7 parse errors after three graphs totaling 182 nodes reads as if the whole run was 20 nodes.
Expected
- Continue validating all declared graphs after a graph-level failure (still exit 1 at the end).
- Emit a grand-total line: graphs validated / nodes / passed / warnings / failed / parse errors, per graph and aggregate.
Related: #51 (schema-drift repair — the content side), roadmap#4 / #55 (full-scope validate gate — this issue is about the merged path's fail-fast, which would also undermine that gate), companion issue on silent node-drop in consumer commands (filed alongside this one).
Observed on aae-orc (mokuzai, kos alpha-20260412-030749-2709334; behavior confirmed present in HEAD source).
Repro
From the aae-orc root (manifest declares 15 includes):
marvel, spectacle, ThreeDoors, switchboard, tmux-cmc, sideshow, curtain, BetterDials, flyloft, sidestep, beadle, critic, ftc are never reached. A fleet-wide vocabulary-drift scan (see #51 comment) shows at least 10 of those unreached graphs also carry invalid edge types — none of which this command can surface in one run.
Defects
20 nodes: 4 passed … 7 parse errorsafter three graphs totaling 182 nodes reads as if the whole run was 20 nodes.Expected
Related: #51 (schema-drift repair — the content side), roadmap#4 / #55 (full-scope validate gate — this issue is about the merged path's fail-fast, which would also undermine that gate), companion issue on silent node-drop in consumer commands (filed alongside this one).