Preview and preflight cover two different review questions. Preview asks _is this change shaped the way I meant it to be?_ — it emits a manifest graph, per-flow intent diagrams, and a complexity score, all into .sn-preview/<manifest>/ as a sharable review artifact. Preflight asks _can the instance accept this change right now?_ — static validation first (schema, $ref, skill lints), then instance-aware validators (action types exist, scopes valid, roles present) when --instance-checks or --offline is passed.
Preview & Preflight
Human review + instance-aware validation
| Concern | Command | Network |
|---|---|---|
| Structure + complexity | sn preview | No |
| Schema + $ref chains | sn preflight | No |
| Instance-aware checks | sn preflight --instance-checks | Yes |
| Instance-aware checks, cached | sn preflight --offline | No (reads `.sn-pulls/`) |
Both gates are default-on for sn execute in TTY mode. You rarely run them manually — more often you wait for execute to surface a failure and drill in with these commands.
Tasks
1
Render the human-review artifact bundle.
sn preview manifests/example-business-rule/manifest.ts --open✓ Preview written to manifests/example-business-rule/.sn-preview/manifest
Complexity: 4 / 20 — ✓ ARTIFACT
Artifacts: 0 flow intents, 0 ATF artifacts, 0 catalog intents
Index: manifests/example-business-rule/.sn-preview/manifest/README.md
2
Run static + instance-aware preflight.
sn preflight manifests/example-business-rule/manifest.ts --instance-checks ✓ [business-rule] table "incident" exists
✓ [business-rule] sys_script.when="before" is a valid choice
✓ [business-rule] scope "$scope" (sentinel) valid
✓ Preflight clean — 2 step(s) validated (static + instance)
3
Re-run preflight in offline mode using the pull cache.
sn preflight manifests/example-business-rule/manifest.ts --offlineNext Level
Execute & Reconcile
Run, validate, detect drift, query state