Skip to content

validate --merged stops at the first graph with parse errors — 12 of 16 fleet graphs never validated #85

Description

@arcavenai

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

  1. 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.
  2. 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions