TypeScript + Zod at Boundaries

Every system boundary — file input, CLI arguments, API responses — gets a Zod schema, so invalid data fails loudly at the edge instead of deep inside the program. Full write-up coming soon.