Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Phase 203 — assemble the root tree with host-side Moss only

At a glance

FieldValue
Phase familyPhase 2 — bootable image
Run commandmake phase 203
Underlying make target/scriptvm/phase2/build-root-tree-host.sh
Runs onhost
Main proof/artifactAssembles 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
  • SHA256SUMS validates
  • host Moss can add the local repo index
  • host Moss can install onix-branding and onix-filesystem
  • /usr/lib/system-model.kdl records the installed packages
  • /etc/os-release points to ../usr/lib/os-release
  • /etc/fstab contains onix-root and ONIX-PERSIST
  • /tmp has sticky 1777 permissions
  • 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.