Skip to content

unscoped 'kos validate' resolves the wrong graph — validates kos/_kos regardless of cwd (orc root, subrepo) #87

Description

@arcavenai

Observed on aae-orc (mokuzai, kos alpha-20260412-030749-2709334).

Repro

The aae-orc manifest declares 15 includes; kos validate --merged shows the orchestrator graph has 80 nodes and the kos repo graph has 82.

$ cd ~/work/aae-orc && kos validate | tail -1
82 nodes: 78 passed, 4 warnings, 0 failed, 0 parse errors   # ← the kos graph, not aae-orc's 80

$ cd ~/work/aae-orc/beadle && kos validate | tail -1
82 nodes: 78 passed, 4 warnings, 0 failed, 0 parse errors   # ← still the kos graph, not beadle's 21

First nodes listed in both runs (grv-single-workflow-type, grv-reactive-query-model, elem-cognitive-architecture) match the Validating graph: kos (repo) section of --merged output, not the aae-orc (orchestrator) section. From beadle's cwd, zero beadle node ids appear in the output.

Why it bites

An operator (or CI) running kos validate from the orc root reasonably believes the orchestrator graph was validated; from a subrepo, that the subrepo graph was. In both cases they validated something else entirely. Today this masked ~20 unparseable beadle nodes behind a clean "0 parse errors" — the operator-facing half of the silent-drop problem in #86. Copying a subrepo's _kos/ to an isolated directory and running validate there was the only way to get a true per-graph verdict.

Expected

  • kos validate with no flags validates the graph the cwd belongs to (subrepo cwd → that subrepo's _kos/; orc root → the orchestrator graph), or fails loudly asking for a scope.
  • Output names the graph being validated (the --merged per-graph headers already do this; unscoped mode prints no header at all).

Related: #85 (merged fail-fast), #86 (silent node drop), #51 (the drift this masked).

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