{
  "sourceId": "W04",
  "slug": "dyad-supabase-private-bookings",
  "status": "passed",
  "cleanDirectory": true,
  "toolAppExecuted": false,
  "modelExecuted": false,
  "externalDeploymentExecuted": false,
  "commands": [
    {
      "command": "npm ci --ignore-scripts --offline --no-audit --no-fund",
      "exitCode": 0,
      "output": "up to date in 153ms"
    },
    {
      "command": "npm run check",
      "exitCode": 0,
      "output": "> dyad-supabase-private-bookings@1.0.0 check\n> node verify.mjs\n\n{\"lesson\":\"W04\",\"status\":\"passed\",\"checks\":[\"check-1\",\"check-2\",\"check-3\",\"check-4\",\"check-5\",\"check-6\"],\"modelExecuted\":false,\"externalAuthorizationExecuted\":false,\"scope\":\"未创建或连接 Supabase 项目，未执行双用户数据库测试。图中是测试矩阵与本地数据说明，不是 RLS 已验证的结果。\"}"
    },
    {
      "command": "npm run build",
      "exitCode": 0,
      "output": "> dyad-supabase-private-bookings@1.0.0 build\n> node build.mjs\n\n{\"built\":[\"about.html\",\"checks-sheet.html\",\"index.html\",\"input-sheet.html\",\"logic.mjs\",\"style.css\",\"thumbnail.html\"],\"target\":\"dist\",\"runtime\":\"static original reference; no AI model invoked\"}"
    }
  ],
  "routes": [
    {
      "route": "/",
      "status": 200,
      "contentType": "text/html"
    },
    {
      "route": "/about.html",
      "status": 200,
      "contentType": "text/html"
    },
    {
      "route": "/style.css",
      "status": 200,
      "contentType": "text/css"
    },
    {
      "route": "/logic.mjs",
      "status": 200,
      "contentType": "text/javascript"
    }
  ],
  "missingRouteStatus": 404,
  "scope": "未创建或连接 Supabase 项目，未执行双用户数据库测试。图中是测试矩阵与本地数据说明，不是 RLS 已验证的结果。",
  "node": "v24.14.0"
}
