# V3 step 7 — syslib port (planned, required for self-hosting) Status: not started. ## Scope - Rewrite compiler-owned `FileIO` on `SysIO+Storage` only; ban gm2-only imports (`Environment, FileSysOp, TextIO, RawIO, WholeIO, IOChan, SysClock, ProgramArgs`) from ALL compiler sources; `grep` gate in `run_tests.sh` fails the suite on any occurrence. - `runtime/syslib`: `SYSTEM` (ADR/TSIZE/BYTE), `Storage` (malloc/free), `SysIO` (open/read/write/argv/exit), `SysClock` stub, `Trap`, `Utf8`. - Stage1 remains gm2-built, but sources are syslib-clean. ## Acceptance (planned) - Full suite green with syslib-only sources; `grep` gate clean. ## Files (planned) - `runtime/syslib/*`; ported `compiler/src/FileIO`; `bootstrap/stage1/` notes. - This file filled in on landing.