I read this as a read-only release-provenance audit of the exact v12 candidate - I’ll locate the frozen artifacts, independently recompute every binding and parity check, rerun the verifier and runtime-removed rehydration, then return a cryptographic verdict with any blockers or residual risk.


I read this as the evidence-analysis phase of the same audit - I found the v12 bundle and will now validate its cryptographic construction independently, distinguish candidate identity from the provenance-only `b34b2a...` tree digest, and establish the exact rerun commands without modifying the sealed tree.


message: WebSocket error

stop_reason: error


I read this as the execution phase of the audit - I’ll now run the frozen verifier from the sealed bundle, independently recompute hashes/chains/RECORDs and claimed counts, then create an offline temporary venv from only the sealed wheelhouse to rerun runtime-removed rehydration and delete it afterward.


I read this as the final consistency and cleanliness pass - the cryptographic checks are clean after correcting two audit-script assumptions (wheel inventory hashes the full payload, and the gateway summary says “8327 tests passed”); I’ll compare the captured dirty-tree snapshot to live status and confirm no temporary audit runtime remains before issuing the verdict.


I read this as the final release-provenance verdict - I independently recomputed the bindings, reran the frozen verifier through fresh offline rehydration, and checked cleanup and ledger line 160.

# Cryptographic verdict: PASS

Candidate:

`5948498c6297d31f9cc8adfb26b0e3e1f3c8e5ade706e36dfae2c97997499a63`

Key results:

- Preexecution derivation independently reproduced:
  - `SHA256(canonical(derivation_inputs)) = 5948498c...99a63`
  - Golden execution had not started.
  - Evidence outputs are explicitly excluded from digest inputs.
- Candidate and product digest both equal `5948498c...99a63`.
- `b34b2a12...a3747` is used only as the 137-file source-provenance tree digest.
- Source and installed seven-receipt chains each bind `candidate_digest = 5948498c...99a63`, never `b34b2a...`.
- Outer manifest, candidate binding, candidate manifest, expected state, parity, ledger-ready receipt, and bundle seal hashes all match.
- Inventory is exact:
  - 365 evidence-inventory entries
  - plus `candidate.json` and `SEAL.json`
  - total: 367 sealed files
  - zero writable paths, links, ownership, or mode violations.
- Wheels:
  - 107 dependency wheels plus two product wheels.
  - All 109 ZIP inventories and RECORD hashes/sizes passed.
  - Dependency closure has no missing active requirement.
  - Fresh installed inventories: Hermes 998 entries; profile 61 entries.
  - Profile source/wheel parity passed for all 52 packaged Python files.
- Wheelhouse digest: `af426798...783c3`; bytes unchanged across rehydration.
- Source/installed candidate, tree, authority, outer-manifest and chain parity passed.
- Authority:
  - 21 hash-chained events
  - 11 qualifications, 10 revocations
  - current candidate is exactly `5948498c...99a63`
  - ledger head `53705512...a819`
  - registry head `0071841d...b305`
- Observer passed in both modes:
  - `dnotify_signalfd_v1`
  - one directory resource
  - zero inotify watches
  - five chained receipts.
- Recorded test/log counts match, including 8,327 gateway tests across 376 files with zero failures.
- Postfreeze nine-file bundle and seal passed.
- Ledger line 160 identity and referenced hashes passed.

## Actual reruns

A new private venv was built offline using only the sealed wheelhouse and product wheels with `--no-index --no-deps --no-compile`.

Frozen verifier result:

- `TASK26_FROZEN_CANDIDATE_PASS`
- `frozen_modes_verified=true`
- `rehydrated_runtime_verified=true`
- seven-clause installed chain head `0f23389a...27c98`
- candidate/product remained `5948498c...99a63`

The temporary runtime was removed afterward. No audit temporary directories remain; sealed wheel bytes were identical before and after.

A bare system-Python invocation cannot run after deliberate runtime removal because `checkin_cli` is absent. The required runtime-removed path—offline rehydration followed by the frozen verifier—passed.

## Cleanup and dirty tree

- Bundle writable paths: zero.
- Original and independent runtimes remain absent.
- Temporary audit runtime: removed.
- Captured pre/final git status snapshots are byte-identical.
- Live normal git status still exactly matches that captured dirty snapshot: 155 entries. The source repository is intentionally dirty, but it did not drift during qualification or this audit.

## Discrepancies / blockers

- None affecting candidate provenance or release identity.

## Residual risk

The declared trust boundary provides no external signature, non-repudiation, WORM protection, or protection against coherent operator/administrator compromise. Within the stated trusted-host/operator/toolchain boundary, the candidate passes.