Fix: dashboard-daemon install-failed nudge now reaches the user (#107)
When the dashboard daemon can't install permanently — mostly on Windows (Microsoft Store Python, or schtasks missing / blocked by policy) — a sticky marker correctly stops the self-heal from retrying forever. But the one message that told the user their dashboard was down, and named the command that fixes it, was routed to a SessionStart hook's stderr, which the hook swallows. So the dashboard went silently dead with every diagnostic still reading OK — the exact wedge #107 set out to kill.
This release routes that nudge to session-visible stdout. Affected users now see, once per session until they act:
[Token Optimizer] dashboard daemon self-heal is disabled: a previous install failed permanently (<reason>). To retry, run: python3 measure.py setup-daemon
It self-clears the moment a verified-healthy daemon (or an explicit setup-daemon) removes the marker, so it never nags past the fix.
Mac and Linux users were not meaningfully exposed; the permanent latch arms almost exclusively on the Windows install path.
Also
- Corrected
test_ensure_health_surfaces_the_wedge, which had asserted the very stderr routing that produced the silence. - Full suite green: 1029 passed, 12 skipped.