fix(javascript): preserve unresolved version relationships

Keep positive topology differences separate from unpaired neighbor identity. Preserve exact content pairing and source observations, report unresolved relationships without inventing incomplete inventory, and omit comparison edges when no substantive difference was observed.

Validated with 45 focused domain/CLI/MCP tests, nine expanded domain controls, check:fast, and docs:check. Clean baseline fails seven controls and passes two positive controls. Controlled static fixtures only; no target execution or large-bundle profiling.

Refs #4681
This commit is contained in:
morluto
2026-10-17 12:51:04 +08:00
parent 556504edcb
commit 4d980d0176
6 changed files with 425 additions and 53 deletions
@@ -118,6 +118,11 @@ const changedFromEdge = (
if (
item.match.status !== "matched" ||
item.status === "unchanged" ||
// Pairing and uncertainty remain in the item; neither establishes a change.
(item.status === "unknown" &&
!item.dimensions.some(
(dimension) => dimension !== "location" && dimension !== "coverage",
)) ||
left === null ||
right === null ||
left === right ||