{
  "tasks": [
    {
      "id": "3fe45a48",
      "text": "3 domains failed to migrate to Cloudflare: zavtra.nl, busel.nl, muskepo.nl. Error: invalid DS record (DNSSEC). Need to remove DS records at registrar. NOTE: flourishevents.nl migrated successfully to Cloudflare Free plan.",
      "title": "Fix Cloudflare DNSSEC DS Records",
      "priority": "medium",
      "status": "done",
      "owner": "james",
      "domain": "Infrastructure",
      "notes": "flourishevents.nl already working",
      "created_at": "2026-02-17T21:06:17.765348854-05:00",
      "updated": "2026-03-17T23:41:05-04:00"
    },
    {
      "id": "b20c7a40",
      "title": "WebAuthn PRF — L2 client-side key derivation",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Browser Web Crypto API. Key never touches server. Touch ID / Titan Key / YubiKey. No email fallback.",
      "created_at": "2026-02-28T23:42:33.176774378-05:00"
    },
    {
      "id": "ec8bc7d6",
      "title": "L2 field encrypt/decrypt in browser",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Uses WebAuthn PRF key. Web Crypto AES-GCM. Only decryptable client-side.",
      "created_at": "2026-02-28T23:42:33.182192585-05:00"
    },
    {
      "id": "9fd52cd3",
      "title": "Scoped MCP tokens — per-agent credential scoping",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Token has tags[] or entryIDs[] whitelist + readOnly flag. Key feature for Alex Finn / multi-agent use case.",
      "created_at": "2026-02-28T23:42:33.187972428-05:00"
    },
    {
      "id": "22618f42",
      "title": "Extension autofill with LLM field mapping",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "DOM snapshot → LLM → fill. Chrome Manifest V3 extension scaffold already exists.",
      "created_at": "2026-02-28T23:42:33.193843841-05:00"
    },
    {
      "id": "994ec77a",
      "title": "Caddy proxy + domain for vault1984",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Give it a proper domain. TLS via Caddy.",
      "created_at": "2026-02-28T23:42:33.199524502-05:00"
    },
    {
      "id": "f86a7c0f",
      "title": "Systemd service on forge",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Currently runs manually. Needs restart on boot + persistent VAULT_KEY.",
      "created_at": "2026-02-28T23:42:33.205175475-05:00"
    },
    {
      "id": "55bf79d6",
      "title": "Permanent VAULT_KEY — survive restarts",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Currently ephemeral — every restart wipes all decryptable data. Store encrypted key or in env file.",
      "created_at": "2026-02-28T23:42:33.210896611-05:00"
    },
    {
      "id": "c347670b",
      "title": "Import Johans 12,623 entries (Chrome + Firefox + Proton)",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Native parsers built. Need actual export files from Johan.",
      "created_at": "2026-02-28T23:42:33.216358569-05:00"
    },
    {
      "id": "2e863934",
      "title": "Code review + test pass — all untested features",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "Vault1984",
      "notes": "Most of what was built this afternoon is untested. Full review needed before trusting with real credentials.",
      "created_at": "2026-02-28T23:42:33.221879708-05:00"
    },
    {
      "id": "fc147957",
      "title": "Export passwords: Chrome + Firefox + Proton Pass",
      "priority": "medium",
      "status": "pending",
      "owner": "johan",
      "domain": "Vault1984",
      "notes": "Needed for import into vault1984. Chrome: Settings→Passwords→Export. Firefox: Logins→Export. Proton: Settings→Export.",
      "created_at": "2026-02-28T23:42:33.227542595-05:00"
    },
    {
      "id": "76c00cad",
      "title": "1% Club subscription — alexfinn.ai",
      "priority": "low",
      "status": "pending",
      "owner": "johan",
      "domain": "Vault1984",
      "notes": "Paid community. Discord access gated behind subscription. Path to AlexFinn audience.",
      "created_at": "2026-02-28T23:42:33.238778134-05:00"
    },
    {
      "id": "4888dc60",
      "title": "Register WebAuthn authenticators for L2",
      "priority": "high",
      "status": "pending",
      "owner": "johan",
      "domain": "Vault1984",
      "notes": "Touch ID + Titan Key + printed BIP39 mnemonic backup. Must be done before storing any L2 fields.",
      "created_at": "2026-02-28T23:42:33.244466901-05:00"
    },
    {
      "id": "5415d4e4",
      "text": "Papa messaged Feb 16 re: Roy calling about e-consultants cancellation status for 2025. Taxes need to be done.",
      "title": "E-consultant taxes",
      "priority": "high",
      "status": "pending",
      "owner": "johan",
      "domain": "Personal",
      "created_at": "2026-03-01T09:06:32.166922004-05:00"
    },
    {
      "id": "4e108311",
      "text": "Immich v2.6.0 released 2026-03-19. Notable: native HTTP clients with mTLS/self-signed cert support, schema-check DB command, map side panel, video player improvements. Check release notes before updating.",
      "title": "Update Immich to v2.6.0",
      "priority": "low",
      "status": "pending",
      "owner": "james",
      "domain": "Infrastructure",
      "created_at": "2026-03-19T13:42:33.108056515-04:00"
    },
    {
      "id": "8a953b3c",
      "text": "Immich v2.6.0 released - 350+ commits, bug fixes and enhancements. Update the server installation.",
      "title": "Update Immich to v2.6.0",
      "priority": "low",
      "status": "pending",
      "owner": "james",
      "domain": "Infrastructure",
      "created_at": "2026-03-19T15:12:05.562354039-04:00"
    },
    {
      "id": "64004415",
      "text": "Hot fix for failed migration issue with URL Switching feature. Pull new image and restart container.",
      "title": "Update Immich to v2.6.1",
      "priority": "low",
      "status": "pending",
      "owner": "james",
      "domain": "Infrastructure",
      "created_at": "2026-03-19T16:42:33.733451235-04:00"
    },
    {
      "id": "ba40ba41",
      "text": "Caya Costa Full Official Documents.pdf (3.4MB) in inbox. Doc-processor retired, OCR down. Manual review needed.",
      "title": "Process Caya Costa documents",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "Personal",
      "created_at": "2026-03-23T08:08:10.379021228-04:00"
    },
    {
      "id": "950c85e3",
      "text": "readStringTag / findTag(0x0018, 0x0015) corrupts body_part and summary fields on Siemens MRIs. Data quality blocker for all AI connectors. Parked since Mar 16.",
      "title": "Fix DICOM VR mismatch bug (Siemens MAGNETOM Sola)",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.049666993-04:00"
    },
    {
      "id": "cc468e8d",
      "text": "Split-pane synchronized scroll for comparing current vs previous MRI. High demand from DICOM users. Useful for Dr. Madan MRI review.",
      "title": "Side-by-side DICOM comparison view",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.076460002-04:00"
    },
    {
      "id": "358e73bc",
      "text": "Frequent IMAIOS complaint — blocks real users from importing certain scanner outputs.",
      "title": "JPEG 2000 Lossless DICOM support",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.103141264-04:00"
    },
    {
      "id": "055bcb26",
      "text": "Universal complaint across every health app. Table stakes for a health platform.",
      "title": "Face ID / biometric auth",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.129999686-04:00"
    },
    {
      "id": "f1589905",
      "text": "Show lab results over time with AI commentary (e.g. cholesterol dropped 15% since March). Top demand signal from competitor reviews.",
      "title": "Lab trend visualization",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.157208226-04:00"
    },
    {
      "id": "cf408c3c",
      "text": "Parents managing kids health — major MyChart pain point. Sophia use case is the template.",
      "title": "Family health profiles",
      "priority": "medium",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.184058461-04:00"
    },
    {
      "id": "a7eb6882",
      "text": "18 uncommitted files in inou dev share as of Mar 23. Push WIP before it accumulates further.",
      "title": "Commit and push 14+ uncommitted inou files",
      "priority": "high",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.210982446-04:00"
    },
    {
      "id": "0ac6f53a",
      "text": "Allow Claude (Opus) to write health insights directly into specific inou entries (supplements, nutrition, etc) instead of losing them in chat. Example: marshmallow root + flaxseed discussion with Opus.",
      "title": "Opus → inou direct posting",
      "priority": "low",
      "status": "pending",
      "owner": "james",
      "domain": "inou",
      "created_at": "2026-03-23T11:56:42.237422187-04:00"
    }
  ]
}