Cycle marker — emitted instead of recursing when explain re-enters a node already on the traversal stack. The engine's structural registration guard rejects cycles, so this is a defensive frame that keeps the walker total under any future relaxation.

interface CycleExplanation {
    cycleBackTo: string;
    node: string;
    via: "cycle";
}

Properties

Properties

cycleBackTo: string

The ancestor node id whose subtree this frame would re-enter.

node: string
via: "cycle"