{"slug":"loops-dashboard","total":5,"limit":100,"offset":0,"since":null,"commits":[{"hash":"c22ac93","date":"2026-05-18 17:33:35 -0700","author":"Steve","subject":"morning-review: surface HTTP status on non-200 instead of misleading parse-fail","body":""},{"hash":"f3c1c8b","date":"2026-05-18 17:33:11 -0700","author":"Steve","subject":"gitignore: add tmp/ dist/ build/ .next/ per standing rule","body":""},{"hash":"f4cb25a","date":"2026-05-13 05:28:51 -0700","author":"SteveStudio2","subject":"gitignore: protect .env* from accidental commits per MEMORY rule","body":""},{"hash":"36c10b1","date":"2026-05-08 07:34:54 -0700","author":"Steve Abrams","subject":"fix: cache + background refresh — 21s → <100ms page load","body":""},{"hash":"5ba48a6","date":"2026-05-08 07:26:08 -0700","author":"Steve Abrams","subject":"initial scaffold: loops-dashboard at :9930 aggregating idea-loop + codex-3way + morning-review + launchd + pm2","body":""}]}