[
  {
    "id": "t001",
    "title": "Fillout forms",
    "desc": "Client onboarding, SMSF application, company setup, trust setup. Connect to Supabase + generate PDFs.",
    "company": "bloomwealth",
    "tags": [
      "forms"
    ],
    "stage": "progress",
    "created": "2026-05-28"
  },
  {
    "id": "t002",
    "title": "Verify credential propagation",
    "desc": "Confirm rotated Tier-1 secrets (Supabase, Anthropic, Xero, GitHub PAT) are live across all workspaces.",
    "company": "quick",
    "tags": [
      "infra"
    ],
    "stage": "progress",
    "created": "2026-05-28"
  },
  {
    "id": "t003",
    "title": "Billing debt collection",
    "desc": "4-tier system: 7/14/30/60 days overdue. Email + SMS + Telegram escalation, tone escalates per tier.",
    "company": "bloomwealth",
    "tags": [
      "billing"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t004",
    "title": "Tax work paper bugs",
    "desc": "Display/UI issues + Xero not pulling data correctly. Repos: tax-review-api (Python) + tax-review-portal (React).",
    "company": "bloomwealth",
    "tags": [
      "bug",
      "tax"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t005",
    "title": "Dashboard activity feed",
    "desc": "Wire bot_audit_log Supabase realtime subscription to the activity feed component and agent status strip.",
    "company": "bloomwealth",
    "tags": [
      "dashboard"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t006",
    "title": "Build agents A2 & A3",
    "desc": "A2 Doc & Compliance (document ingestion, extraction, filing). A3 Communication (client reminders, follow-ups, email drafts).",
    "company": "bloomwealth",
    "tags": [
      "agents"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t007",
    "title": "Build agents A7 & A10",
    "desc": "A7 Marketing (blog, LinkedIn, Instagram content). A10 Client Portal Bot (client-facing chatbot).",
    "company": "bloomwealth",
    "tags": [
      "agents"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t008",
    "title": "Automated backups",
    "desc": "Supabase daily backup (stale since Apr 4) + dashboard backup + GitHub PAT rotation schedule.",
    "company": "bloomwealth",
    "tags": [
      "infra"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t009",
    "title": "ATO due date matching",
    "desc": "208 clients still unmatched. Column H fuzzy match overrides from Tony pending review.",
    "company": "bloomwealth",
    "tags": [
      "tax"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t010",
    "title": "GitHub PAT rotation",
    "desc": "Confirm rotation complete and update all workspaces.",
    "company": "quick",
    "tags": [
      "infra"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t011",
    "title": "Tom model routing audit",
    "desc": "Verify no cost violations post-credential rotation. Check bot_audit_log for anomalies.",
    "company": "quick",
    "tags": [
      "infra",
      "openclaw"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t012",
    "title": "Aria — reprioritisation decision",
    "desc": "Currently parked. Decide when to bring Aria (Iconic Partners Chief of Staff) back online.",
    "company": "quick",
    "tags": [
      "openclaw"
    ],
    "stage": "triage",
    "created": "2026-05-28"
  },
  {
    "id": "t013",
    "title": "BloomWealth system audit",
    "desc": "Full audit of fleet, Dashboard (billing/tax/activity/client), missing agents, infrastructure gaps. 6-item priority list captured.",
    "company": "bloomwealth",
    "tags": [
      "audit"
    ],
    "stage": "done",
    "created": "2026-05-28"
  },
  {
    "id": "t014",
    "title": "Tier-1 secret rotation",
    "desc": "Rotated: Supabase service role, Anthropic, OpenAI, Azure, Xero, GitHub PAT. Triggered by .env nano leak during SMSF Stripe work.",
    "company": "quick",
    "tags": [
      "infra"
    ],
    "stage": "done",
    "created": "2026-05-28"
  },
  {
    "id": "t015",
    "title": "One Dashboard setup",
    "desc": "~/board/ with _active/, _done/, _quick.md, _log.md. CLAUDE.md updated with board tracking instructions.",
    "company": "quick",
    "tags": [
      "dashboard"
    ],
    "stage": "done",
    "created": "2026-05-28"
  },
  {
    "id": "t016",
    "title": "Board redesign — company model + tags + triage bot",
    "desc": "New Task form simplified to Title/Description/Company/Tags (agent picker removed — Claude self-assigns; stage removed — always Triage). Company dropdown: BloomWealth/Iconic/Education/SMSF/Quick + free tags. Company filter bar. triage_bot.py deployed (cron + key pending Tony).",
    "company": "quick",
    "tags": [
      "dashboard"
    ],
    "stage": "done",
    "created": "2026-05-30"
  },
  {
    "id": "t017",
    "title": "Per-task Q&A panel",
    "desc": "Claude raises structured questions on each task (questions array) instead of burying them in chat. Cards show amber 'needs input' badge; click-to-open detail panel with per-question answer boxes; 'Needs my input' filter inbox. Answers persist to tasks.json. CLAUDE.md convention added.",
    "company": "quick",
    "tags": [
      "dashboard"
    ],
    "stage": "done",
    "created": "2026-05-30"
  },
  {
    "id": "t018",
    "title": "Verification gate — Review column + bug reporting",
    "desc": "Mandatory review gate before Done: triage→progress→review→done. A separate review agent stress-tests every task (build/tests/flows/edge cases) and must report PASS before completion. Tony can report bugs on any task → auto-bounces to In Progress. CLAUDE.md rule + Review column + verified badge + bug panel.",
    "company": "quick",
    "tags": [
      "dashboard",
      "process"
    ],
    "stage": "done",
    "created": "2026-05-30",
    "review": {
      "status": "passed",
      "agent": "browser (Playwright MCP)",
      "at": "2026-05-30",
      "summary": "Stress-tested in-browser: 4-column render, bug-report bounces Done→In Progress with badge + persistence, verified badge + review summary on reviewed Done card, answers/questions unaffected. 0 console errors. Live deploy confirmed."
    }
  },
  {
    "id": "t019",
    "title": "Task attachments — photos & documents",
    "desc": "Attach files to any task. server.py /api/upload endpoint (25MB cap, type allowlist, uuid storage). Detail panel: image thumbnails + file chips, multi-upload, per-file remove, 📎 card badge. nginx body limit raised to 30M.",
    "company": "quick",
    "tags": [
      "dashboard"
    ],
    "stage": "done",
    "created": "2026-05-30",
    "review": {
      "status": "passed",
      "agent": "browser (Playwright MCP) + curl",
      "at": "2026-05-30",
      "summary": "Verified: upload endpoint (txt/png accept, .exe→415, size guard), real file-input onchange flow, image thumbnail renders+loads, file chip name/size, card 📎 badge, remove+persistence, and 2MB upload round-trip over live HTTPS through nginx. 0 console errors."
    }
  }
]