personal memory agent

feat(home): verdict-led health glance on the home vitals strip master

Replace the home vitals strip's mixed capture/telemetry/attention/pipeline contents with a server-computed `health_glance` rollup where the worst signal wins: it can never read "everything's working" while a signal is failing or unknown. Every callout is a clickable chip or link, and activity telemetry (segments/duration) and the standalone last-observation item leave the glance. - Add `build_health_glance(capture_health, pipeline_status, last_observe_relative)` in solstone/apps/home/health_glance.py: a pure, per-signal-isolated helper that collects capture + pipeline issues, then resolves an honest verdict (attention / ok / unavailable). "ok" is earned only by an active observer; `unknown` degrades to "unavailable", never green. - Wire `health_glance` into `_build_pulse_context`; it flows through /app/home/api/pulse (open payload, no contract change). - Rewrite the `pulse-vitals` strip (Jinja + refreshVitals JS) to render `health_glance` identically, with severity-named CSS classes (no inline hex) and contrast-passing colors. - De-dup: drop the orphaned capture-health path from `classify_needs_you`; remove `_format_capture_vitals_text` and the dead `capture_display_text` / `capture_status` / `duration_minutes` / `last_observe_relative` context keys. - Add helper unit tests (AC1-AC6) and update the affected home tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>