It’s actually not that hard, wrote the instructions here: https://github.com/infu/neutron/blob/main/doc/how_to_verify.md
This is the result:
1. **Browser Motoko compiler — PASS.** Two fresh builds of `neutron_motoko` commit `d7ed0a92b6219d784b7143e0851ed64b55dfc25a` matched byte-for-byte; the compiler Wasm is `6807a1f38a755497e2f5ef0e632359ea053597f8549f9be22074b5222bff543b`.
Neutron commit `32298b947c7723dc7f550373dd29ee0cea38b696` vendors those exact artifacts, and Kernel `v0.3.6` embeds the complete vendored compiler directory byte-for-byte.
2. **Dispenser — PASS.** Fresh `icp build -e ic dispenser` produced 983,848 raw Wasm bytes with SHA-256 `46032684e925b02c10aa92fea90cddf1ba0a374b3eaeadea066e36598dfa1f10`, exactly matching live canister `2o4cy-waaaa-aaaay-aacqq-cai`.
The live target-subnet query also matches production; this compares raw installed Wasm with raw build output, never gzip transport bytes.
3. **Starter pack — PASS.** All 12 pinned archives match their tracked size and SHA-256, and two uncached builds reproduced live deployment `6f7f333a53e9076185e63497a9743e9d` and gzip hash `a1bd30da35c5eade7774aab861b268ebd56a18a7cb9280e36add133acdd8044b`.
Live revision 1 has the expected app order, 2,255,438 Wasm bytes, and all 460 stored files match aggregate SHA-256 `e68c764e70d9e79521b9435beee9573ba15d141eba478c5f029cc5e1c5e3630f`.
4. **Post-starter compilation — PASS through the Dispenser boundary.** Package/source identities are content-hashed, the browser compiler builds the combined actor, and installation verifies the resulting module rather than standalone per-app Wasms.
The problems it addresses are a lot, it’s not a replacement workflow for every kind of app you build on the IC, it’s something new. It will make sense with time. There isn’t anything optional, except the apps - by design. It does help verification Neutron treats every ordinary app - including first-party apps - as untrusted, potentially adversarial code.
Apps receive explicit, finite, owner-approved authority scoped to their exact installation.
That is enforced through closed manifests, restricted Motoko source, generated app scopes, narrow capability handles, runtime broker checks, quotas, isolated browser frames, and private message ports.
In other words, we verify the kernel which limits and controls hundreds of apps, so they need a lot less verification if any. That’s good for AI too, when coding apps, it can’t get out and put slop all around the place or use things it’s not allowed to. To help you imagine it better, one app - even inside the same canister, can hold tokens in a ledger and even tho other apps share the same backend, they can’t touch these tokens. All the cryptography capabilities, certified assets, etc are app scoped as well. That’s to protect the Neutron owner, however to one Neutron another Neutron is potentially adversarial as well, since it’s fully controlled by the owner.