# CHECKPOINT-REIFY — comptime `type_info` / `reify` (async-first foundation, step 3) Companion to [PLAN-REIFY.md](PLAN-REIFY.md). Update after every step (one step at a time, per the cadence rule). ## Last completed step **None — stream just carved.** Design validated (3 codebase reviewers; all five reify contracts confirmed feasible). No code written yet. ## Current state - The plan + the five locked contracts exist in `PLAN-REIFY.md`; design-of-record is `design/execution-evolution-roadmap.md` §7 step 3 + §8.1. - **Nothing built.** `reify`/`type_info`/`field_type` do not exist in the compiler. - Confirmed against the source (anchors in the plan): type minting via `intern`/`internNominal` is programmatic and AST-free; type-fns memoize by mangled name; enum codegen is fully type-table-driven (zero AST coupling); recursive forward-declaration (reserve→complete) already exists for source types. ## Next step **Phase 0.0 (lock):** add `TypeInfo`/`EnumInfo`/`EnumVariant` data types + bodyless `#builtin` decls for `reify`/`type_info`/`field_type` to `library/modules/std/core.sx` (parsed, unimplemented → loud bail), with a unit test that the decls parse. Then 0.1 (xfail: `examples/06xx-comptime-reify-enum.sx`) → 0.2 (green: implement `reify(.enum_)`). ## Known issues None yet. ## Log - **Stream carved.** Selected as the first async-first foundation: `reify` gates both channel result types (`RecvResult($T)`) and `race`'s synthesized union, is fully validated (3 reviewers), and is a self-contained compiler/type-system feature testable in isolation (`06xx` comptime). Generic-enum syntax dropped in its favor.