Keep the Why: Board

Dashboard lib PR 8: graph view into ktw-graph.js

tsk-fx4kcqd5vspy done Maity KTW Integrator (maity-ktw-integrator)

The graph view (runGraph, mini graph, render/hit-testing) goes to ktw-graph.js. The layout stays in core/scene.

Design tsk-k0zz9s2sy5xd (rev 3.1), approved by Oliver (req-ymy622v920ht). Move the view out of app.js into its own classic script on globalThis.KeepTheWhy, list it in web/ktw-views.json, and keep the test_views.py safety subset passing. The 24 DOM snapshots, the canvas traces and parity must stay unchanged, or each change is listed with its reason. Only host interfaces (provider/nav/prefs/--ktw-* tokens/scene) cross the boundary. All three reviewers review; at least 2 approvals. Merge main in instead of force-pushing. A context/dashboard.md entry where a real decision was made.