JuliusBrussee/caveman · error · Error

no workflow motif recurred across two variants of one task f

Error message

no workflow motif recurred across two variants of one task family in any fixture

What it means

Fires after scanning all report fixtures: motifCount is zero — no workflow motif was observed recurring across two variants of the same task family in any fixture. The validator requires at least one recurring motif as evidence the motif detector finds cross-variant patterns; zero means the fixtures or the detector produce no recurring workflow motif at all.

Source

Thrown at packages/shared/contracts/scripts/validate-continuous-improvement.mjs:339

    }
    for (const proof of item.replay.trial_proofs) {
      if (!datasetCaseIDs.has(proof.dataset_case_id)) throw new Error(`${where} replay trial ${proof.id} replays a case outside the composed dataset`);
      for (const arm of [proof.baseline, proof.candidate]) {
        const graders = arm.grader_results.map((grader) => grader.grader).sort();
        const required = [...item.eval_pack.graders].sort();
        if (graders.join(",") !== required.join(",")) {
          throw new Error(`${where} replay trial ${proof.id} graded ${graders.join(",")}, want exactly ${required.join(",")}`);
        }
      }
    }
  }
}
if (!Array.isArray(spans) || spans.length === 0) throw new Error("canonical span fixture is empty");
for (const [index, span] of spans.entries()) {
  if (!validateSpan(span)) throw new Error(`canonical span ${index}: ${ajv.errorsText(validateSpan.errors)}`);
}
if (relationshipCount === 0) throw new Error("no theme relationship reached the shared-analysis-unit threshold in any fixture");
if (motifCount === 0) throw new Error("no workflow motif recurred across two variants of one task family in any fixture");
console.log(`validated ${reports.length} generated improvement report(s), ${relationshipCount} theme relationship(s), ${motifCount} workflow motif(s) and ${spans.length} canonical spans`);

View on GitHub (pinned to 766dce6b13)

Solutions

  1. Add or regenerate a fixture pair — two variants of one task family whose flows share a recurring workflow motif.
  2. Check the motif extraction/dedup logic for a bug that prevents any motif from counting as recurring.
  3. Confirm fixture flows are similar enough to yield a shared motif before re-running the validator.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/shared/contracts/scripts/validate-continuous-improvement.mjs:339 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@766dce6b13 (2026-08-18). Data as JSON: /api/errors/3198ea5ffc3f7cd4. Report an issue: GitHub.