fix(planner): align shared zod source enum with API; v0.6.6-rc23 #476

Merged
pm-bot merged 1 commit from fix/shared-schema-todo into main 2026-06-14 11:48:18 +02:00
Collaborator

Summary

Hotfix für rc22-Vorfall: /heute lud auf dem Device nicht mehr — Client warf 'Response from GET /planner/today did not match expected schema', weil der shared-zod candidateSourceSchema den in #472 hinzugefügten 'todo'-Wert nicht kannte.

Ursache

API-Drizzle-pgEnum (candidate_source) wurde in #472 um 'todo' erweitert; der parallel gepflegte zod-Mirror in packages/shared-types/src/day-plan.ts blieb auf 6 Werten. API liefert legitimen 'todo'-Source, Client-Parse explodiert. API-Integrationtests blieben grün, weil supertest die Response nicht durch die Client-zod parst — ein Web-Playwright-Test gegen /heute hätte das gefangen.

Changes

  • packages/shared-types/src/day-plan.tscandidateSourceSchema += 'todo'
  • packages/feature-day-planner/src/components/day-planner-screen.tsxSOURCE_LABEL Record um 'todo': 'Todo' ergänzt (typecheck fängt jetzt jeden zukünftigen Source-Drift)
  • apps/web/e2e/heute-todo-flow.spec.ts — Regression-Guard: Todo→/heute end-to-end, assertet Abwesenheit der Schema-Fehlermeldung
  • Version-Bump rc22 → rc23, roadmap.json-Eintrag

Test plan

  • pnpm --filter @mrrmlab/shared-types run build
  • pnpm --filter @mrrmlab/feature-day-planner run typecheck (verifiziert SOURCE_LABEL exhaustiveness)
  • CI grün (lint, typecheck, tests, web-e2e mit neuem Regression-Test)
  • Device-Test rc23 APK: /heute lädt nach Todo+dueDate=heute ohne Schema-Fehler

🤖 Generated with Claude Code

## Summary Hotfix für rc22-Vorfall: /heute lud auf dem Device nicht mehr — Client warf 'Response from GET /planner/today did not match expected schema', weil der shared-zod `candidateSourceSchema` den in #472 hinzugefügten `'todo'`-Wert nicht kannte. ## Ursache API-Drizzle-pgEnum (`candidate_source`) wurde in #472 um `'todo'` erweitert; der parallel gepflegte zod-Mirror in `packages/shared-types/src/day-plan.ts` blieb auf 6 Werten. API liefert legitimen 'todo'-Source, Client-Parse explodiert. API-Integrationtests blieben grün, weil supertest die Response nicht durch die Client-zod parst — ein Web-Playwright-Test gegen /heute hätte das gefangen. ## Changes - `packages/shared-types/src/day-plan.ts` — `candidateSourceSchema` += `'todo'` - `packages/feature-day-planner/src/components/day-planner-screen.tsx` — `SOURCE_LABEL` Record um `'todo': 'Todo'` ergänzt (typecheck fängt jetzt jeden zukünftigen Source-Drift) - `apps/web/e2e/heute-todo-flow.spec.ts` — Regression-Guard: Todo→/heute end-to-end, assertet Abwesenheit der Schema-Fehlermeldung - Version-Bump rc22 → rc23, roadmap.json-Eintrag ## Test plan - [x] `pnpm --filter @mrrmlab/shared-types run build` - [x] `pnpm --filter @mrrmlab/feature-day-planner run typecheck` (verifiziert SOURCE_LABEL exhaustiveness) - [ ] CI grün (lint, typecheck, tests, web-e2e mit neuem Regression-Test) - [ ] Device-Test rc23 APK: /heute lädt nach Todo+dueDate=heute ohne Schema-Fehler 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(planner): align shared zod source enum with API; v0.6.6-rc23
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
46039d53af
Fixes #472-followup: rc22 client zeigte /heute mit "did not match
expected schema". Ursache: candidateSourceSchema in shared-types
kannte den neuen 'todo'-Wert nicht, den das API-Drizzle-pgEnum
inzwischen ausliefert.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
pm-bot merged commit 846bad25a9 into main 2026-06-14 11:48:18 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp!476
No description provided.