Pilot Vertical Slice Smoke
Summary
Use this runbook to prove the pilot-critical provenance chain:
Decision -> Effect -> Ledger
The smoke command runs targeted integration tests and fails fast if linkage breaks.
Prerequisites
- Repository checked out locally.
- Rust toolchain installed for the workspace.
- Run from the repository root (the directory that contains
icn/,scripts/, anddocs/).
Procedure
- Run the one-command smoke verification:
cd "$(git rev-parse --show-toplevel)"
bash scripts/pilot_chain_demo.sh
Deterministic mode (run-twice invariant comparison + JSON artifact):
cd "$(git rev-parse --show-toplevel)"
PILOT_DETERMINISTIC=1 bash scripts/pilot_chain_demo.sh
cat tmp/pilot_chain_summary.json
Flow C treasury-governance operator demo:
cd "$(git rev-parse --show-toplevel)"
ICN_BASE_URL=http://127.0.0.1:7845 \
ICN_TOKEN=<jwt-token> \
ICN_COOP_ID=<coop-id> \
bash demo/flow-c-treasury-governance.sh
The script executes two tests:
test_decision_to_ledger_provenance_end_to_endtest_ledger_entry_carries_decision_provenance
The script enforces tripwires and exits non-zero on failure.
Verification
Confirm all of the following in output:
ICN PILOT PROVENANCE CHAIN VERIFIEDPILOT_LEDGER_ENTRY_HASH=...TRIPWIRE: Tests passed- Final banner:
PILOT INVARIANT PROVEN - In deterministic mode:
DETERMINISM VERIFIEDwhen all compared fields match under active policyDETERMINISM PARTIALwhendecision_receipt_idanddecision_hashmatch butledger_entry_hashdiffers (non-strict mode)
The script exit code must be 0.
Deterministic mode writes tmp/pilot_chain_summary.json with:
deterministic_modetimestamp_utcgateway_urldecision_receipt_iddecision_hashledger_entry_hash
Strict toggle:
PILOT_DETERMINISTIC_STRICT=1makesledger_entry_hashmismatch a hard failure.
Failure Handling
If the smoke check fails:
- Capture full output and failing test name.
- Re-run the specific test with logs:
cd icn
cargo test -p icn-core --test treasury_integration test_decision_to_ledger_provenance_end_to_end -- --nocapture
Check for provenance field mismatch:
decision_receipt_iddecision_hashledger_entry_hash
Block deployment until the smoke command passes again.
Rollback
This runbook is verification-only and does not mutate deployed state. No operational rollback is required.
Related
scripts/pilot_chain_demo.shdemo/flow-c-treasury-governance.sh- Troubleshooting
- Version Upgrade