--- name: SkillGuard stale codegen & unapplied migrations description: In an isolated task env, schema/codegen from prior tasks may not be applied; symptoms and fixes. --- When a frontend-only task says "the field is already delivered by the API, no backend change needed," the field may still be **absent from the running dev/test database and from the built type artifacts** in an isolated task environment, because the prior task that added it hasn't been merged/applied here. **Symptoms:** - `tsc` against an artifact fails with `Property 'X' does not exist on type` even though `lib/api-client-react/src/generated/*.ts` clearly has it. The artifact tsconfig uses TS **project references** that resolve to the lib's built `dist/*.d.ts`, which is stale. Vite (runtime) uses `src` via the package `exports` field, so the app still runs. - API list/detail endpoints 500 with Postgres `column "X" of relation "scans" does not exist`; tests fail on insert/select for the same reason. **Fix:** - Rebuild the lib's declarations: `npx tsc -b lib/api-client-react/tsconfig.json` (or run the workspace typecheck) so `dist/*.d.ts` matches `src`. - Apply the schema to dev+test DB: `pnpm --filter @workspace/db run push` (drizzle-kit push). Adding a nullable column is safe. Restart the api-server workflow afterward. **Why:** drizzle schema in `lib/db/src/schema` and the openapi-driven generated client are the source of truth; the dev DB and `dist` artifacts lag until explicitly pushed/rebuilt in a fresh environment.