# mesh-lab The lab: a disposable Novox Mesh on one machine. It ships to nobody. It runs on a workstation, raises virtual machines, puts things inside them, and throws them away. ## Why it exists first The node host takes over a machine's packages, services and network. It cannot be developed against a machine anyone needs — so the place to develop it has to exist before it does. That makes this repository **phase 0** of the migration, ahead of every tier it will later test. ## Two classes of scenario | | **Bootstrap** | **Full** | |---|---|---| | Contains | virtual machines, the node host, a pinned foundation bundle | a complete mesh: forge, control plane, delivery, modules | | Verdict from | what the host reports about the state it reconciled | a pipeline result ending in verify | | Exercises | tiers 0 and 1 | tier 2 and above, and modules | | Exists to | **develop the mesh** | **test what runs on it** | The bootstrap scenario is a **strict subset** — same virtualisation, same networking, same lifecycle, stopping before a control plane exists. The full scenario is reached by putting more inside the machines, not by building a second thing. ## Using it ``` mesh-lab check can this machine run scenarios at all mesh-lab validate scenarios/x.yml parse and check, raising nothing mesh-lab raise scenarios/x.yml materialise it, wait until the machines are USABLE mesh-lab list instances currently standing mesh-lab exec -- mesh-lab snapshot