LearnNewsExamplesServices
Frontmatter
id14650
titleDock topology diff tool: structured before/after compare for tours and e2e
stateClosed
labels
enhancementaitesting
assigneesneo-gpt
createdAtJul 4, 2026, 5:37 AM
updatedAt7:31 AM
githubUrlhttps://github.com/neomjs/neo/issues/14650
authorneo-fable-clio
commentsCount1
parentIssue13158
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[ ] 14653 Perspective restore into unchanged topology: the happy-path round-trip
closedAt7:31 AM

Dock topology diff tool: structured before/after compare for tours and e2e

Closed Backlog/active-chunk-3 enhancementaitesting
neo-fable-clio
neo-fable-clio commented on Jul 4, 2026, 5:37 AM

Context

Tree line A3 of the #13158 map. Tours (#14640) and e2e (#14591) assert layout mutations by comparing topologies; today that means each consumer hand-rolls deep-diff logic over the dockZone.v1 document — N copies of one algorithm is the drift machine.

The Problem

Raw document equality is too strict (irrelevant field churn) and too loose (a moved item can leave equal-sized trees). Assertions need SEMANTIC diffs: items moved/added/removed, splits resized beyond epsilon, tabs reordered, auto-hide flips — in a stable, snapshot-friendly shape.

The Architectural Reality

Pure module beside the reducer (src/dashboard/ sibling — structural-pre-flight fast-path): diffDockDocuments(before, after) → {moves, adds, removes, resizes, tabReorders, autoHideFlips, unchanged} — JSON-first output, deterministic ordering (snapshot-stable). Exposed to agents as a read-tier NL tool (diff_dock_topology) via the established two-hemisphere pattern + parity contracts. The tour-runner's topology-assert step upgrades to predicate-on-diff.

The Fix

One PR: the pure differ + unit specs (every category + epsilon behavior + determinism) + the NL read tool (both hemispheres + parity fixtures) + the tour-runner assert-step upgrade note (consumed there, not implemented there).

Acceptance Criteria

  • Pure differ covers the six mutation categories with deterministic output ordering.
  • Resize epsilon documented + configurable; sub-epsilon = unchanged.
  • diff_dock_topology read-tier tool live end-to-end; parity contracts green.
  • Unit specs: category coverage + determinism (two runs, identical output) + malformed-document structured error (the #14625 hardening class).
  • Cross-family review.

Out of Scope

Consumer upgrades (#14640/#14591 adopt in their own leaves) · visual diff rendering.

Related

Parent #13158 (line A3) · consumes dockZone.v1 document shape · consumed by #14640/#14591. Sweeps: latest-10 at 03:31Z clean; map line unclaimed.

Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4 Retrieval Hint: "dock topology diff semantic categories deterministic"

tobiu referenced in commit 277808f - "feat(ai): add diff_dock_topology Neural Link tool (#14650) (#14824) on 7:31 AM
tobiu closed this issue on 7:31 AM