CHECKPOINT-COMPILER-API: THE WALL broken — dedicated Type TypeId wired end-to-end

This commit is contained in:
agra
2026-06-18 14:05:50 +03:00
parent 554871ba0b
commit 7b1212b41e

View File

@@ -26,10 +26,16 @@ with ONE welded mechanism. Branch: `reify` (off `master`). Update after every st
> breaks cross-compilation — host vs target layout — and loses the sandbox. A
> flat-memory VM keeps both while getting native bytes + speed.)
>
> **Next action (2026-06-18) — PAUSED at a clean boundary; next step decided.** Phase 3 READ
> and WRITE sides are DONE, and the VM is now WIRED at the lowering-time comptime site
> (hardened, with legacy fallback). The first **HANDLED** lowering-time type-fn is gated on a
> **dedicated `Type` builtin TypeId** — that is the next focused effort (see "THE WALL" below).
> **Next action (2026-06-18) — THE WALL IS BROKEN; paused at a clean 3-commit boundary.** The
> dedicated **`Type` builtin TypeId** (8B, distinct from the 16-byte `.any`) now exists and is
> wired end-to-end: foundation (`6844fb9`), resolver flip + full `.any`-ref migration (`94f60c5`),
> and the VM models `.type_value` natively (`554871b`). **697/0 BOTH gates + 494 unit tests.**
> `first_user` is now **100** (slots 2099 reserved builtin headroom so future builtins don't
> renumber user TypeIds / churn snapshots). What remains is the PAYOFF, no longer gated on the WALL:
> port the **WRITE side** (declare_type / register_type / pointer_to) into `Vm.callCompilerFn` +
> give the lowering-time path a **REAL Context** (CAllocator thunk func-refs, not zeroed) → the
> first **HANDLED** lowering-time type-fn end-to-end on the VM. Today those type-fns run partway on
> the VM then bail cleanly at the `define`/`register_type` `call_builtin` → legacy mints (parity).
>
> Done so far in Phase 3:
> - **READ side (7 readers, dual-path):** `find_type`/`type_kind`/`type_field_count`/