ReviewOS

home-lang/home-os

Fix the 66 kernel files using `@import("basics")` and the dangling `libs/craft/craft.home` import so `apps/` and drivers can enter the compile ratchet

#65
Open chris opened this 9 days ago ·
9 days ago

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 under kernel/src/lib/.
  • Create libs/craft/craft.home as the public Craft API re-export over kernel/src/lib/craft_lib.home (the "spec v0.3" surface), fix apps/media_player.home and apps/desktop/* imports.
  • Extend scripts/parse-rate.sh and typecheck.sh to include apps/, 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.

Size: M · Depends on: — (can start now) · Blocks: #92, #99

Sign in to comment on this issue.