{ "tasks": [ { "id": "1", "title": "Flutter Styleguide", "priority": "high", "status": "in-progress", "owner": "johan", "domain": "inou", "notes": "Typography section updated. Still need: Settings, Genetics, Notes, Supplements, Peptides, Empty State sections.", "created_at": "0001-01-01T00:00:00Z", "updated": "2026-01-28T09:25:23Z" }, { "id": "2", "title": "Screenshot Skill", "priority": "medium", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "Go server running on Mac Mini :9123. Both James and CC updated.", "created_at": "0001-01-01T00:00:00Z", "updated": "2026-01-28T09:25:23Z" }, { "id": "65381e9b", "title": "Flutter Styleguide - match original", "priority": "high", "status": "done", "owner": "james", "domain": "inou", "notes": "Typography fixed to match CSS. Added Settings, Genetics, Supplements, Peptides, Empty State sections.", "created_at": "2026-01-28T09:38:30.886723188Z", "updated": "2026-01-30T01:04:17Z" }, { "id": "7e51cdd9", "title": "Apply new styleguide to all pages", "priority": "high", "status": "done", "owner": "james", "domain": "inou", "notes": "Added missing sections to app styleguide:\n- Settings (LLM selector, Units dropdown)\n- Genetics (variants with Ask AI)\n- Notes (photos, timeline entries)\n- Supplements (timing, dosage)\n- Peptides (active/completed cycles)\n- Empty State pattern\n\nBoth design/flutter/ and app/lib/design/ now have complete styleguides matching web.", "created_at": "2026-01-28T09:38:35.046193253Z", "updated": "2026-01-30T01:06:21Z" }, { "id": "b31a2233", "title": "Azure Files Backup - new project", "priority": "high", "status": "in-progress", "owner": "james", "domain": "Personal", "notes": "Feature complete! Latest: commit 18ce1fa.\n\n✅ Go 1.22/1.24 installed\n✅ FlatBuffer schema + generated code\n✅ FlatBuffer serializer (full round-trip, ~3μs serialize, ~2μs deserialize)\n✅ Azure SDK integration (real client + upload methods)\n✅ Web UI (Go + htmx + Tailwind)\n✅ Postgres integration (TreeStore methods, connection helper, web UI wired)\n✅ Integration tests (CRUD, tree ops, stats)\n✅ Bug fixes: dirname, scanner path concatenation\n✅ Tree differ: addition detection implemented\n✅ Backup handler: complete (chunking, dedup, XOR hash)\n✅ Restore handler: complete (reassemble, upload to Azure)\n✅ Azure client upload methods (PutFile, CreateDirectory)\n✅ Comprehensive test suite\n✅ All tests passing\n✅ Pushed to git@zurich.inou.com:azure-backup.git\n\n🔲 Azure free trial account (needs Johan)\n🔲 End-to-end test (blocked by Azure)\n\nRun: PATH=/usr/local/go/bin:$PATH go run ./cmd/web --addr=:8080", "created_at": "2026-01-28T09:38:40.823760714Z", "updated": "2026-02-01T01:07:12Z" }, { "id": "63b96b35", "text": "Set up OpenVAS vulnerability scanner", "title": "OpenVAS", "priority": "medium", "status": "pending", "owner": "johan", "domain": "Infrastructure", "created_at": "2026-01-28T10:12:17.26905489Z" }, { "id": "d5fcdd3e", "text": "Set up Uptime Kuma monitoring", "title": "Uptime Kuma", "priority": "medium", "status": "pending", "owner": "johan", "domain": "Infrastructure", "created_at": "2026-01-28T10:12:17.286579243Z" }, { "id": "69acd59d", "title": "Get browsing working for Moltbot", "priority": "high", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "Browser was not running. Started clawd profile successfully.\n- browser:start works\n- browser:open works\n- browser:snapshot works\n- Tested on example.com and news.ycombinator.com\n\nBrowser runs headless with Playwright Chromium at /home/johan/.cache/ms-playwright/chromium-1208/\nUser data stored at /home/johan/.clawdbot/browser/clawd/user-data", "created_at": "2026-01-28T23:31:51.295564296Z", "updated": "2026-01-30T01:07:02Z" }, { "id": "8d01b5df", "title": "Add Let's Encrypt cert for OpenVAS (Zurich)", "priority": "medium", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "Installed Caddy 2.10.2 as reverse proxy on Zurich server.\n\nSetup:\n- Caddy auto-obtains LE cert for zurich.inou.com\n- Reverse proxies HTTPS :443 → localhost:9392\n- Certificate auto-renews\n\nNew URL: https://zurich.inou.com (no port needed)\nOld URL: https://zurich.inou.com:9392 (still works with cert warning)", "created_at": "2026-01-28T23:36:09.91271142Z", "updated": "2026-01-30T01:08:50Z" }, { "id": "13283514", "title": "Configure OpenVAS SOC2 scan for inou.com", "priority": "high", "status": "done", "owner": "james", "domain": "inou", "notes": "Scan started via Task Wizard. Target: inou.com. Task: Immediate scan of IP inou.com (Status: Requested). Full scan running in OpenVAS at https://zurich.inou.com:9392", "created_at": "2026-01-28T23:38:17.837376332Z", "updated": "2026-01-29T10:18:13Z" }, { "id": "690de572", "title": "Mail Agent - IMAP triage service", "priority": "medium", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "✅ COMPLETE\n\n- IMAP API running (port 8025)\n- IMAP IDLE watching INBOX\n- Webhook to /hooks/mail configured\n- I receive new mail and decide: archive, delete, reply, or escalate\n- Systemd service: mail-agent.service\n\nNo L1 model needed — I handle all triage directly.", "created_at": "2026-01-31T01:09:07.185371312Z", "updated": "2026-01-31T12:16:18Z" }, { "id": "3d3e6483", "text": "Mikhail FiL plan. Do NOT renew - he is leaving in ~1 month.", "title": "Mint Mobile renewal coming up", "priority": "low", "status": "pending", "owner": "johan", "domain": "Personal", "notes": "Email received Jan 26. This is an upsell for 12-month plan. Let it lapse.", "created_at": "2026-01-31T10:13:26.640600581Z" }, { "id": "bdedb0c2", "text": "Shipment has import fees that need payment", "title": "UPS Import Fees Due", "priority": "high", "status": "pending", "owner": "johan", "domain": "Personal", "created_at": "2026-01-31T10:14:40.918414184Z" }, { "id": "ad5b1211", "text": "Mobile phlebotomy invoice received - needs payment", "title": "Health Link Phlebotomy Invoice #000046", "priority": "medium", "status": "pending", "owner": "johan", "domain": "Personal", "created_at": "2026-01-31T10:14:40.926185677Z" }, { "id": "25f4e8ed", "text": "Add missing headers: X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, HSTS, CSP, Referrer-Policy, Permissions-Policy", "title": "Add security headers to Caddy", "priority": "high", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "Added security headers via Tailscale SSH. Verified with curl.", "created_at": "2026-01-31T23:50:16.714091775Z", "updated": "2026-02-01T00:00:45Z" }, { "id": "6aeed4ac", "text": "Set up ~/dev/docs/soc2/nuclei-scans/ with baseline report from Jan 31", "title": "Create nuclei reporting structure", "priority": "medium", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "Created ~/dev/docs/soc2/nuclei-scans/2026-01/ with baseline report", "created_at": "2026-01-31T23:50:16.731454991Z", "updated": "2026-01-31T23:51:53Z" }, { "id": "270424d3", "text": "Cron job for Sundays, critical/high templates only", "title": "Add weekly nuclei light scan", "priority": "low", "status": "done", "owner": "james", "domain": "Infrastructure", "notes": "Added nuclei-weekly cron job (Sundays 10am ET)", "created_at": "2026-01-31T23:50:16.74671578Z", "updated": "2026-01-31T23:51:53Z" } ] }