# Phase 20.9 — Structure (Lang Line) Decision - Introduce `lang/` at the repository root to host the C ABI kernel and related artifacts (no Rust here). - Keep Rust engine/crates under `crates/` and `src/` untouched. The `lang` line is a separate box. Layout - `lang/` — top-level - `c-abi/` — headers and libc-backed shim for canaries - `README.md` — responsibilities and contracts - `README.md` — scope and principles Rationale - Clear separation of concerns: script-driven ABI vs. Rust runtime internals. - Makes it easy to package/link the C shim with external harnesses without dragging Rust sources. Notes - Migration is incremental: existing headers/shims remain in `include/` and `c/abi/` until references are updated. - CI/docs should point to `lang/c-abi` once stabilized; older paths deprecated after a grace period.