Skip to content

validateGraph accepts analyzes.over naming the root, which can never fire #712

Description

@drewstone

Found while authoring the codemode skill (see skills/codemode PR).

validateGraph only requires analyzes.over ids to be nodes (graph.ts:355 requireNode), but analysts run on settled workers matched by profile name — and the root never settles as a worker. So over: ['<root-id>'] validates cleanly and produces zero traversals forever: a silent-zero, the exact failure class the graph layer's fail-loud posture exists to prevent (an empty directive is refused; an unknown handle throws; this validates and does nothing).

Proposal: validateGraph refuses an analyzes edge whose over includes the root, with the same style of message as the existing refusals — e.g. "analysts observe settled workers; the root never settles as one — list delegates-target nodes only."

Until then the codemode skill carries it as pothole #1, but a rule in prose is strictly weaker than a refusal at validation time — same argument as the empty-directive case already enforced.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions