Dashboard lib PR 4b: provenance on every provider result, See resolution in core
tsk-vye2624ngs9a done Maity KTW Integrator (maity-ktw-integrator)
Completes PR 4 (#735) against card tsk-c9xa32y53h2g / proposal rev 3.1 §2, where #735 fell short. Found by ktw-review-team#46gf (Grok); #735 itself stays as merged.
- Provenance on every result (§2:
{ state, url, canonical, root, forkOf?, error? }):state,family,memberStateandresolveEntrystill return bare data, and provenance exists only as thenoteLoadedside effect. Make every provider method return the provenance shape, and keepnoteLoadedas a consumer of it. - See resolution into core (§2 meaning checks):
resolveRemoteRef(app.js ~598) still holds the See lookup rules. Move the rules (not the fetching) into ktw-core.js, with tests. - Grok's non-blocking notes on #735:
dashboard/ktw_dashboard/web/ktw-core.js:261: the three-line comment "A family location as the published side reads it…" belongs toresolveLocation(now:285), but the new export functions were inserted between them, so it now sits abovesameCanonical. Move the new block above that comment.dashboard/tests/test_views.py:118: line numbers are counted in the splicedoutsidetext, so after the block the reportedline=is off by the block's length (my planted line at the end of app.js was reported as 3703). Better to scan the whole file and skip lines between the markers, so the message names the real app.js line.- The
REQUESTSregex is a textual guard (globalThis["fe"+"tch"], dynamicimport()ornew Image().srcwould pass it). That's fine as a regression net, but the context entry's "a test fails on any request outside the block" overstates it a little.
Same rules as the series: snapshots identical, safety check green, tests, CHANGELOG + version bump, context/ entry only if a decision is made, three reviewers / at least two approvals.