ruvnet/ruflo · error · Error

Hierarchy too deep: ${maxDepth} > 100

Error message

Hierarchy too deep: ${maxDepth} > 100

What it means

validateHierarchy() computed the maximum node depth via the parent chain and it exceeds 100. Hyperbolic embeddings degrade beyond that depth, so the hierarchy is refused; flatten the tree or raise the depth cap.

Source

Thrown at v3/plugins/hyperbolic-reasoning/src/bridges/hyperbolic-bridge.ts:463

      const parent = hierarchy.nodes.find(n => n.id === node.parent);
      if (!parent) {
        depths.set(node.id, 0);
        return 0;
      }

      const depth = computeDepth(parent) + 1;
      depths.set(node.id, depth);
      return depth;
    };

    let maxDepth = 0;
    for (const node of hierarchy.nodes) {
      maxDepth = Math.max(maxDepth, computeDepth(node));
    }

    if (maxDepth > 100) {
      throw new Error(`Hierarchy too deep: ${maxDepth} > 100`);
    }
  }

  private computeDistanceGradient(
    x: Float32Array,
    y: Float32Array,
    c: number
  ): { child: Float32Array; parent: Float32Array } {
    const eps = 1e-6;
    const childGrad = new Float32Array(x.length);
    const parentGrad = new Float32Array(x.length);

    const d0 = poincareDistance(x, y, c);

    for (let i = 0; i < x.length; i++) {
      // Gradient w.r.t. x
      const xPlus = new Float32Array(x);
      xPlus[i] += eps;

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Reduce the input size/depth below the documented limit, or batch the input into smaller chunks.
  2. Validate the limit before processing and report the measured versus allowed value to the caller.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/plugins/hyperbolic-reasoning/src/bridges/hyperbolic-bridge.ts:463 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/427adb041c31f3f6. Report an issue: GitHub.