{
  "plan": "auth-migration",
  "steps": [
    {
      "id": "A.1",
      "label": "Provision neon_auth schema",
      "effort": 2,
      "status": "done",
      "group": "phase-a"
    },
    {
      "id": "A.2",
      "label": "Better Auth in Next.js (temp host)",
      "effort": 8,
      "status": "done",
      "group": "phase-a"
    },
    {
      "id": "A.3",
      "label": "databaseHooks member linking",
      "effort": 2,
      "status": "done",
      "group": "phase-a"
    },
    {
      "id": "A.4",
      "label": "Replace middleware auth",
      "effort": 5,
      "status": "done",
      "group": "phase-a"
    },
    {
      "id": "A.5",
      "label": "Remove Auth0",
      "effort": 5,
      "status": "in_progress",
      "effort_remaining": 1,
      "group": "phase-a",
      "notes": "Package removed; naming/test cleanup remains"
    },
    {
      "id": "A.6",
      "label": "Auth0 user migration",
      "effort": 8,
      "status": "in_progress",
      "group": "phase-a",
      "notes": "Script ready; staging validation + cutover pending"
    },
    {
      "id": "B.1",
      "label": "Copy auth module to hoen-api",
      "effort": 5,
      "status": "not_started",
      "group": "phase-b"
    },
    {
      "id": "B.2",
      "label": "Mount /api/auth/* on Hono Worker",
      "effort": 5,
      "status": "not_started",
      "group": "phase-b"
    },
    {
      "id": "B.3",
      "label": "CORS + trustedOrigins for all clients",
      "effort": 5,
      "status": "not_started",
      "group": "phase-b"
    },
    {
      "id": "B.4",
      "label": "Legacy app becomes auth consumer",
      "effort": 8,
      "status": "not_started",
      "group": "phase-b"
    },
    {
      "id": "B.5",
      "label": "Microsoft + GitHub social providers",
      "effort": 2,
      "status": "not_started",
      "group": "phase-b"
    },
    {
      "id": "C.1",
      "label": "OAuth provider + JWT plugin",
      "effort": 8,
      "status": "not_started",
      "group": "phase-c"
    },
    {
      "id": "C.2",
      "label": "MCP client registration with PKCE",
      "effort": 8,
      "status": "not_started",
      "group": "phase-c"
    },
    {
      "id": "C.3",
      "label": "Consent + org context at connect",
      "effort": 8,
      "status": "not_started",
      "group": "phase-c"
    }
  ],
  "groups": [
    {
      "id": "phase-a",
      "label": "Phase A — Schema and parity",
      "effort": 8,
      "status": "in_progress"
    },
    {
      "id": "phase-b",
      "label": "Phase B — Auth on hoen-api",
      "effort": 8,
      "status": "not_started"
    },
    {
      "id": "phase-c",
      "label": "Phase C — MCP OAuth broker",
      "effort": 13,
      "status": "not_started"
    }
  ]
}
