Epic: #113 · Milestone: MC2 — Pi 5 bring-up
Why
66 kernel .home files (all of drivers/input/*, drivers/wifi/*, drivers/usb/keyboard.home, video/craft_gpu.home, …) import a basics module that does not exist in this tree — Zig-era leftovers (MASTER_PLAN A8). apps/media_player.home imports ../libs/craft/craft.home, but libs/ contains only libc/; the Craft implementation lives at kernel/src/lib/craft_lib.home. parse-rate only scans kernel/, so apps/ is never even parsed in CI. These files are on the media-center path (input, USB HID, Craft).
Tasks
- Codemod: replace
with the real modules (core/foundation.home,lib/string.home, …) per symbol usage; where a symbol has no home, create it underkernel/src/lib/. - Create
libs/craft/craft.homeas the public Craft API re-export overkernel/src/lib/craft_lib.home(the "spec v0.3" surface), fixapps/media_player.homeandapps/desktop/*imports. - Extend
scripts/parse-rate.shandtypecheck.shto includeapps/,libs/,installer/(add floors; may never fall). - Add
apps/tv/(empty skeleton) to the ratchets so the TV shell is measured from day one.
Acceptance
0 files reference basics; parse-rate covers all four trees at 100 %; typecheck floor for apps/ recorded.