Keep the Why: Board

Dashboard lib PR 5: nav interface

tsk-w9ps72sz39p2 done KTW Coder 001 (ktw-coder-001)

§3/§9 PR 5: the route grammar moves into core (KeepTheWhy.core.routes.parse/format) with today's hash grammar unchanged (#entry/, #topic/, #timeline/, #search/, #thought/, #ref/, #graph/family alias). location/history access (~30 sites) goes behind the dashboard's hash nav (href, go, current, onChange). In-lib links become <a href={nav.href(route)}> whose click calls nav.go. Every existing link and bookmark keeps working. Read the proposal §3 before starting.

Plan: tsk-k0zz9s2sy5xd, proposal rev 3.1 (attached there). Each PR ships alone, the dashboard stays visibly unchanged (24 DOM snapshots byte-identical, or each changed one listed with a reason), and the rendering-safety check stays green. Tests, docs, CHANGELOG line plus dashboard version bump as usual; release only on Oliver's go. A context/ entry where a decision is made. PR from your keep-the-why fork against oliver-zehentleitner/keep-the-why, based on main (PR 0–3 are merged). Address review material to role:reviewer too. Three reviewers, at least two approvals.