Original task: Display the AI-generated "Was macht dieser Skill?" description excerpt in the scan list (Verlauf) and dashboard "Kürzliche Scans" cards. The field (`description`) is already serialized by the API (serializeScan). Changes: - artifacts/skillguard/src/pages/scan-history.tsx: render a 2-line clamped paragraph below the metadata row when scan.description is present; nothing shown otherwise (clean for old/non-AI scans). - artifacts/skillguard/src/pages/dashboard.tsx: render a 1-line clamped description excerpt in recent-scan rows; added min-w-0 + gap so truncation works. Deviations / extra fixes required to make this work in the isolated env: - The dev/test Postgres `scans` table was missing the `description` column even though lib/db schema defines it. Ran drizzle-kit push (lib/db) — the list endpoint and several api-server tests were 500ing on `column "description" of relation "scans" does not exist`. Adding a nullable column is non-destructive. - lib/api-client-react built `dist/*.d.ts` was stale (missing description and other fields), so artifact tsc via project references failed. Rebuilt with `tsc -b lib/api-client-react/tsconfig.json`. Vite runtime was unaffected (uses src via exports). Verification: list + dashboard render the excerpt (temporarily seeded one scan, screenshotted, reverted to null); api-server tests 59/59 pass; changed files typecheck clean (remaining tsc errors are pre-existing from other unmerged tasks). Replit-Task-Id: 381de506-681e-4564-bc60-7d2fdd66ba82
1.5 KiB
1.5 KiB
| name | description |
|---|---|
| SkillGuard stale codegen & unapplied migrations | 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:
tscagainst an artifact fails withProperty 'X' does not exist on typeeven thoughlib/api-client-react/src/generated/*.tsclearly has it. The artifact tsconfig uses TS project references that resolve to the lib's builtdist/*.d.ts, which is stale. Vite (runtime) usessrcvia the packageexportsfield, 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) sodist/*.d.tsmatchessrc. - 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.