Skip to content

fdp parity dashboard

Differential survey of @knowvah/dot-engine fdp xdot output vs the native dot -K fdp -Txdot oracle over the dot-track SVG-conformant corpus set (semantic draw-op comparison at ±0.01 — see test/golden/compare-xdot.ts; per docs/conformance.md, not byte equality). Regenerate: npx tsx test/corpus/engine-walk.ts fdp && npx tsx test/corpus/parity-report.ts.

Summary

  • Surveyed: 762 (generated 2026-07-25T04:48:55.247Z)
  • pass: 609 (79.9%) · diverged (tracked): 0 · accepted (documented, won't-fix): 4 · accepted (A1-drift class): 144
  • oracle-error: 3 · port-error: 0 · timeout: 2

Accepted deltas (4) — documented, not chased

Deliberate, root-caused differences we have chosen not to make conformant. Source of truth: test/corpus/accepted-divergences-engines.json; rationale in Known divergences. Excluded from the diverged table below.

id#diffsclassboundref
187919496A1up to 64kpt (whole-layout basin)plans/decision-journal.md 2026-07-24 T4b: fdp chaos class, perturbation-proven on family
262010779A1up to 5.4kpt, 30/30 nodesplans/decision-journal.md 2026-07-24 T4b: chaos proven — node width +0.001in moves port-own layout max 3390pt
graphs-badvoro33264A1median 1433pt (whole-layout basin)plans/decision-journal.md 2026-07-24 T4b: chaos proven — ONE edge len +0.0001 moves port-own layout median 322pt
241_0446A911 numeric draw-op diffs confined to edge 0->1#0's unfilled_bezier (maxΔ 3.39pt), under injected-identical node positions ⇒ pathplan routing. Same graph and CDT cocircular incircle 1-ULP tie (V8 vs Apple libm) accepted for circo/twopi/sfdp 241_0; exact-rational incircle 185/185. Levers (fmadd triang.ts, hypot route.ts:198) applied; the tie is irreducible.known-divergences.md#a9-sfdp-fp-ties

Accepted class: A1-drift — computed, not enumerated

Membership is computed at report time from the injection-attribution harness output (D2) — every diverged id whose native pre-routing position exonerates it (verdict: drift-exonerated) is subtracted from the Diverged table below and counted in Summary; an id that starts passing outright leaves the class silently on the next report regen.

Diverged (0)

(none)

Errors and timeouts (5)

idstatusmessage
2222oracle-errorspawnSync dot ETIMEDOUT
2239oracle-errorCommand failed: dot -K fdp -Txdot https://gitlab.com/graphviz/graphviz/-/blob/main/tests/2239.dot
2717oracle-errorCommand failed: dot -K fdp -Txdot https://gitlab.com/graphviz/graphviz/-/blob/main/tests/2717.dot
1652timeout
2108timeout

oracle errors: 13 native-crash (documented, excluded) / 3 timeout-flake (excluded this run, note to retry) Passing ids (609) are omitted for brevity — the full roster is in parity-fdp.json.