Show all 35 completed items
✅ Upgrade diagnostics to log predictive signals
✅ Extend energy sensing (voltage/temperature)
✅ Boot health service — captures throttle/voltage at boot
✅ Ship safety fallbacks: wake-word halt, watchdog heartbeats
✅ Harden logging paths (FileLock, isolated test fixtures)
✅ Source control: repo at adrianwedd/spark
✅ Three-layer cognitive loop (px-mind) with LLM fallback
✅ SPARK persona + neurodivergent-aware system prompt
✅ REST API + web UI (px-api-server)
✅ Frigate camera stream (go2rtc RTSP pull model)
✅ Battery monitoring — escalating warnings + emergency shutdown
✅ Live dashboard with mood, thoughts, sparklines (this page)
✅ Public API — unauthenticated live data endpoints
✅ Thoughts carousel — real-time inner monologue on home page
✅ Semantic mood colour palette — pulse circle + favicon
✅ obi_mode inference (absent/calm/active/possibly-overloaded)
✅ Social posting — Bluesky (spark.wedd.au) + thought feed (spark.wedd.au/feed/)
✅ Multi-camera Frigate — 4 cameras with per-room presence detection (Hailo AI)
✅ PIN session tokens, file-based rate limiting, two-step device confirmation
✅ Battery glitch filter — time-gapped confirmations, voltage sanity check
✅ Graceful watchdog — SIGTERM + 5s grace instead of os._exit(1)
✅ Branded thought card images — 1080x1080 square PNGs with adaptive text
✅ Two-pass social flush — feed writes decoupled from social rate limits
✅ DST-aware timezone — ZoneInfo("Australia/Hobart") replaces hardcoded UTC+11
✅ Per-IP PIN lockout — 1000-IP hard cap, trusted proxy check, file-based persistence
✅ Atomic writes with fsync — mkstemp + ownership preservation for SD card durability
✅ Single-instance PID guards on all daemons — prevents double speech on restart
✅ Subprocess timeout kills orphans — API tool calls terminate child processes
✅ Tokenized GPIO lease authority — long-running tools hold an expiring lease so px-alive can't reclaim hardware mid-operation; exploring.json stays intent-only
✅ FileLock 10s timeout — prevents indefinite hangs on stuck session locks
✅ SEO blitz — JSON-LD, canonical URLs, sitemap, OG tags, fediverse verification
✅ Mood-coloured status dot on all pages — real-time mood from API
✅ Home Assistant integration — presence, sleep, calendar, routines, media context
✅ Bluesky image uploads — branded thought cards attached to social posts
✅ 12-mood colour palette — full arousal spectrum with CSS vars, terminal ANSI, pulse animations