Fixture — dockerfile (detection step 3)
DRAFT — the tree APW-13 creates as a fixture repository (plan §11.4). Expectation:
expectations.json#/cases/dockerfile.
dockerfile/
├── Dockerfile # multi-stage Next.js build; EXPOSE 3000; CMD ["node", "server.js"]
├── package.json # next, pg; scripts: build, start, migrate
├── .env.example # DATABASE_URL, SESSION_SECRET, NEXT_PUBLIC_APP_URL
├── scripts/
│ └── migrate.js
└── src/
└── app/
├── api/health/route.ts # readiness: touches the database
└── api/health/live/route.ts # liveness: no database access
What matters here
- Detection stops at step 3 with
detectionSource: dockerfile; no overlay Dockerfile is written, because the repository already builds. NEXT_PUBLIC_APP_URLis a framework public-prefix variable: build-time, derived from the app's own domain.SESSION_SECRETis a secret with no shape constraint →generate;DATABASE_URLis a secret →from(postgres is inferred from thepgclient inpackage.json).scripts/migrate.jsbecomes apre-deployjob whose exit code is checked.- The two health routes are split correctly: readiness (
/api/health) may touch the database, liveness (/api/health/live) never does — this case is what ACC-04-15 checks.