Skip to content

neato parity dashboard

Differential survey of @knowvah/dot-engine neato xdot output vs the native dot -K neato -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 neato && npx tsx test/corpus/parity-report.ts.

Summary

  • Surveyed: 762 (generated 2026-07-25T03:55:20.021Z)
  • pass: 689 (90.4%) · diverged (tracked): 0 · accepted (documented, won't-fix): 3 · accepted (A1-drift class): 68
  • oracle-error: 1 · port-error: 0 · timeout: 1

Accepted deltas (3) — 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
22391862A11862 draw-op diffs (was 3838 before the pinned-node fixed-packing protocol was ported). 7-component disconnected layout with a pinned legend (pos=0,0!); every node box is bit-identical to the oracle (0 size diffs) — the divergence is component PLACEMENT. With C's node positions injected the port's polyomino cell counts match C exactly (81,66,42,57,25,21,6,6,6,6), so the packer is byte-faithful; the residual is float32 stress-majorization drift in edge splines amplified through the discrete greedy packer (a few drifted cells flip a later component's slot). Not auto-verified by attribution: injection is per-component pre-pack, so on a multi-component graph it re-packs (double-transform) rather than reproducing C.known-divergences.md#a1-drift-iterative-engines
2619_28A10.81pt on 4 x-coords of one sub-point stub spline; nodes 0.13-0.18ptplans/decision-journal.md 2026-07-24 T5: in-bar drift amplified by degenerate near-zero-length spline clip
241_013A913 draw-op diffs confined to edges 1->6 and 2->3; edge 1->6 routed as a 14-pt multispline corridor (port) vs the native plain per-member fallback (8-pt) (unfilled_bezier[ptCount]: 8 vs 14), the rest its consequent arrowhead points (<=5.8pt). Same graph, edge and ptCount signature as the accepted twopi/circo 241_0: CDT cocircular incircle tie flipped by libm sin/cos 1-ULP (V8 vs Apple libm) — the port's multispline routing is faithful; the tie is irreducible.known-divergences.md#a9-engine-track-twopi-circo

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 (2)

idstatusmessage
2222oracle-errorspawnSync dot ETIMEDOUT
2108timeout

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