* Add mental-map appropriateness experiment harness
Turns the warm-start research question — "does an appropriate warm-start
preserve the mental map under spytial's hard constraints?" — into a
runnable experiment. Adds the evaluation pieces the existing four
policies need to be scored as a graded appropriateness factor against
literature criteria.
- Document the four policies as a graded factor (anti / none / partial /
full) and add Liang TOSEM 2026 vocabulary aliases
(full_consistency, partial_consistency, no_consistency,
anti_consistency) in the policy registry.
- Add the Misue (JVLC 1995) mental-map battery to consistency-metrics:
orthogonalOrderingPreservation, knnJaccard, edgeCrossings /
edgeCrossingsDelta, directionalCoherence, stableQuietRatio.
- Add constraintPerturbation (moderator: distance from prior to the
new feasible region, via Kiwi.js soft-anchor projection).
- Add oracle layouts in src/evaluation/oracle-layouts.ts:
positionalOracle (Kiwi quadratic projection) and
pairwiseDistanceOracle (cola stress majorization with virtual links
per persisting node pair). gap(policy) = positionalConsistency to
the oracle gives appropriateness in absolute units.
- Capture pre-solver seed positions in HeadlessLayoutResult and
WebColaCnDGraph.getLastSeedState() for the seed-vs-output
decomposition. Production users pay nothing — capture is by
reference; the deep-clone is deferred to the public getter.
- Wire two new panels into the sequence-metrics demo (Misue battery;
appropriateness gap with raw + % of theoretical worst readouts).
- Document why orthogonal-ordering / k-NN / edge-crossings oracles
are deferred (NP-hard) in docs/MENTAL_MAP_ORACLE_COMPLEXITY.md.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* .
* Document metric families in sequence-metrics demo
Add a collapsible "How to read all the metrics on this page" section to
the demo, explaining the three-family mental model (consistency,
salience, appropriateness) and naming gap_pwd as the headline metric.
Mirrors the equivalent section in the PR description so the demo is
self-explanatory without cross-referencing the PR.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>