Phase 203 — assemble the root tree with host-side Moss only
At a glance
| Field | Value |
|---|---|
| Phase family | Phase 2 — bootable image |
| Run command | make phase 203 |
| Underlying make target/script | vm/phase2/build-root-tree-host.sh |
| Runs on | host |
| Main proof/artifact | Assembles artifacts/onix-root-tree/ with host-side Moss only. |
Phase 203 is the replacement for Phase 201.
It consumes the same Phase 1 exported repo artifact:
artifacts/onix-publish/
and the host-side Moss binary from Phase 202:
artifacts/host-tools/bin/moss
Then it builds the canonical root tree directly on the host:
artifacts/onix-root-tree/
The Phase 203 flow is:
host artifacts/onix-publish/
│
▼
host artifacts/host-tools/bin/moss install --to root-tree
│
▼
host materializes image-owned /etc glue
│
▼
host artifacts/onix-root-tree/
There is no SSH. There is no forge copy. There is no forge Moss.
Why Phase 203 matters
This is the point where image assembly becomes host-native.
Before Phase 203, the host could hold artifacts, but the forge still understood the package format. After Phase 203, the host understands the package format too.
That changes the role of the forge:
before 203: forge is needed for root tree assembly
after 203: forge is only bootstrap/build scaffolding
Future disk-image steps should consume the host-built root tree from Phase 203, not the bridge root tree from Phase 201.
Phase 201 vs Phase 203
Both phases produce:
artifacts/onix-root-tree/
But the assembly path is different:
201: host repo -> forge moss -> host root tree
203: host repo -> host moss -> host root tree
Phase 203 intentionally overwrites the same canonical artifact path because the disk builder should not care how the tree was assembled. It only cares that the root tree contract is satisfied.
What Phase 203 verifies
Phase 203 verifies:
- Phase 200 readiness still passes
- Phase 1 exported repo artifact is clean
- host Moss exists and matches the pinned
OS_TOOLS_REF SHA256SUMSvalidates- host Moss can add the local repo index
- host Moss can install
onix-brandingandonix-filesystem /usr/lib/system-model.kdlrecords the installed packages/etc/os-releasepoints to../usr/lib/os-release/etc/fstabcontainsonix-rootandONIX-PERSIST/tmphas sticky1777permissions- no Moss assembly state leaks into the root tree
- no forbidden mixed-case brand spelling appears
The generated system-model.kdl should now mention:
ONIX Phase 203 host image assembly repo
That tells us the root tree was produced by the host-native path, not the earlier forge path.