Files
teatea-pension/.trellis/tasks/archive/2026-07/07-02-care-execution-workspace/implement.md

62 lines
1.9 KiB
Markdown

# Implementation Plan
## 1. Schema And Migration
- Add care enums and `care_tasks` table to `modules/core/server/schema.ts`.
- Add indexes for queue and schedule queries.
- Run `pnpm db:generate`.
- Review generated SQL.
## 2. Types And Permissions
- Add `care:read` and `care:manage` to `modules/core/types.ts`.
- Add permission definitions and default role grants in `modules/core/server/permissions.ts`.
- Move navigation `/care` permission to `care:read`.
- Add care DTOs, labels, and validators in `modules/care/types.ts`.
## 3. TDD API Tests
- Add `app/api/care/care-routes.test.ts` before implementation.
- Cover:
- list care tasks
- permission denial
- missing active organization
- start task
- complete task with notes
- invalid status
- missing/cross-organization task
## 4. Server Operations And API Routes
- Add `modules/care/server/operations.ts`.
- Add `GET /api/care/tasks`.
- Add `PATCH /api/care/tasks/[id]`.
- Use `requirePermission`, structured failures, organization scoping, and audit logs.
## 5. Workspace UI
- Replace `app/(app)/app/care/page.tsx` placeholder with real Server Component.
- Keep scoped route delegating to the unscoped route.
- Add `modules/care/components/CareWorkspaceClient.tsx`.
- Implement metrics, filters, table, and start/complete actions.
## 6. Default Workspace Data
- Extend `modules/core/server/default-workspace-data.ts` with care task examples tied to seeded elders.
- Keep seed insertion inside the first-run default workspace transaction.
## 7. Verification
- `pnpm test`
- `pnpm lint`
- `pnpm type-check`
- `pnpm db:generate`
- Review generated SQL.
- `pnpm build`
## Rollback Points
- Before migration generation: remove schema and care module files.
- After migration generation: remove generated care migration plus schema changes.
- After UI/API: remove care API routes, `modules/care`, page changes, permissions, nav permission change, and seed rows.