Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build an app slice with fully type-safe data flow from an untyped boundary to the consumer: validate external data at runtime with a schema (e.g. Zod) that DERIVES the TypeScript types, so the runtime check and the static type can't drift. Type the whole pipeline (validate → transform → consume) with no `as`/`any` casts at the boundary, and demonstrate that a schema change propagates type errors through the codebase.
External data validated at runtime with a schema; types DERIVED from it (single source of truth); no unchecked `as` casts.
The full pipeline is typed; a schema/type change propagates errors to every affected site (the refactor-safety demo).
any/unknown used correctly (unknown at the boundary, narrowed); no type holes.
Tested; the validation-and-types story is clear and documented.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Schema-validated, end-to-end typed data flow ## Goal Build an app slice with fully type-safe data flow from an untyped boundary to the consumer: validate external data at runtime with a schema (e.g. Zod) that DERIVES the TypeScript types, so the runtime check and the static type can't drift. Type the whole pipeline (validate → transform → consume) with no `as`/`any` casts at the boundary, and demonstrate that a schema change propagates type errors through the codebase. ## Acceptance criteria - [ ] Boundary validation: External data validated at runtime with a schema; types DERIVED from it (single source of truth); no unchecked `as` casts. - [ ] End-to-end typing: The full pipeline is typed; a schema/type change propagates errors to every affected site (the refactor-safety demo). - [ ] Honest types: any/unknown used correctly (unknown at the boundary, narrowed); no type holes. - [ ] Engineering: Tested; the validation-and-types story is clear and documented. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.