Evidence & testing

DipshitOS has unusually serious verification machinery for a hobby OS. The core rule: a feature is only "observed" when a matching gate passes. No evidence, no claim.

The two classes

Class What it is Where it runs
A — deterministic formatting, unit tests, a byte-identical console transcript, the build/image pipeline GitHub CI, every push/PR
B — live-gated boots a real Virtualization.framework VM on Apple silicon and asserts on what the kernel reports developer host, not CI

The distinction matters because class B is the only thing that observes the kernel running under real firmware — and it cannot run in CI.

The honest vocabulary

Term Meaning
observed a saved log or capture exists under artifacts/ matching the claim
inferred reasoned about or documented, but not yet observed on hardware
claim a filed unit of work with an id, scope, and gate
gate a script (tools/verify-*.sh) that exits 0 only on passing evidence

Hardware assumptions are marked [observed] vs [inferred] in docs/hardware-contract.md and only flip when a matching probe or serial log lands.

Reproducing the checks

just verify-portable   # class A, mirrors CI
just verify-vz         # class B, Apple silicon, boots real VMs

The aggregate verify-vz sweep re-checks the shared seam across every subsystem in one class B run — the project's standing regression proof.