You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The warm-up that proves the review's core pattern — move shared derivation
out of the shells into the core, shells only paint/route. Two additive
endpoints retire duplication items 1 (weave link dedup) and 5 (canon bands).
Core:
- pure_core::weave::link_pairs(weaves) — the one canonical-pair dedup, with
a unit test. GTK's build_links is deleted; both call sites call this.
FFI (extern surface grew → bindings regenerated, surface check passes):
- pure_engine_link_pairs_json: deduped pairs, each endpoint located
(refKey + book/chapter/verse) + a per-pair `resolved` flag (same calc as
weaves_to_wire), so no shell dedupes or parses ref keys.
- pure_engine_canon_segments_json: the 8 bands + OT/NT divide straight from
core::reference — the WinUI hardcode that had drifted is gone.
- Wire DTOs + a golden round-trip test folded into parity_endpoints_via_abi
(resolved vs dangling pair; 8 segments + divide 39). Release DLL rebuilt.
WinUI:
- RefreshStudyData consumes link_pairs (filtering resolved) — the shell-side
HashSet dedup + ParseRef are gone; the xref gutter set falls out of the
same pairs.
- A single `Canon` holder, loaded once from the engine, feeds both the strip
and the chord/constellation popups (which also read the old static bands).
CanonStrip no longer hardcodes segments. dotnet build: 0 errors.
Docs: manifest connectors + canon-strip sections, endpoints table, and the
Compose delta; architecture review gains an execution-status log.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments