Track project · 04
Migrate TaskFlow Lite to TypeScript
Move the working JavaScript TaskFlow Lite into TypeScript without hiding the runtime boundaries.
Definition of done
What you are building
Deliverables
Build plan
Work through it one observable step at a time
- 01
Enable strict TypeScript settings.
- 02
Define the smallest useful `Task` and `TaskStatus` types from actual runtime data.
- 03
Migrate functions one at a time and remove implicit `any`.
- 04
Represent loading/success/error UI state as a discriminated union.
- 05
Use `unknown` for parsed or external data and narrow before access.
- 06
Add Zod at one real runtime boundary and compare it with TypeScript-only safety.
- 07
Add an exhaustiveness check to one state switch.
- 08
Run typecheck, then intentionally create three type errors and explain each diagnostic.
Evidence
Do not rely on “it seems to work”
Evidence to collect
Project exit ticket