1.8 KiB
1.8 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 03-boot-hydration | Boot hydration | done | 1 | plan.md | ../../specs/tasks/requirements/quick-chat-expiration.md |
Task 03: Boot Hydration
Acceptance
- SPA boot payload includes
initialState.quickChat.sessionsfor the active workspace whenever an active workspace can be resolved. - Restored sessions exclude config-mode and automation-run ephemeral tasks, require a primary session, and are ordered by newest last activity first.
- Frontend hydration keeps existing local quick-chat rename overlays and remains type-correct.
Verification
cd apps/backend && go test ./internal/backendapp -run 'TestBoot.*QuickChat|TestBootPayload'cd apps && pnpm --filter @kandev/web test -- --run lib/state/hydration/hydrator.test.ts src/boot-payload.test.tscd apps/web && pnpm run typecheck
Files likely touched
apps/backend/internal/backendapp/boot_state.goapps/backend/internal/backendapp/boot_state_routes.goapps/backend/internal/backendapp/helpers_test.goapps/web/lib/api/domains/workspace-api.tsapps/web/app/page.tsxapps/web/lib/state/hydration/hydrator.test.ts- Optional
apps/web/src/boot-payload.test.ts
Dependencies
None. This can proceed in parallel with Task 01 because it can use existing ListTasksByWorkspace plus session enrichment.
Inputs
- Spec sections: API surface, Persistence guarantees, Scenarios.
- Existing patterns: home/tasks boot-state helpers in
apps/backend/internal/backendapp/boot_state.goandboot_state_routes.go; quick-chat local rename overlay inapps/web/lib/state/hydration/hydrator.ts.
Output contract
Update this task status to done, update the Wave 1 checkbox in plan.md, and report the files changed, tests run, and any routes where quick-chat hydration intentionally no-ops.