I read this as a read-only final reliability and exactly-once audit - I’ll independently inspect the delivered artifact and authoritative receipts, then run only sealed/offline candidate-bound verification and adjudicate every F3 scenario.


The authoritative inputs and delivered tree are located. I’m now checking their candidate/seal bindings and mapping each F3 claim to executable delivered-root behavior rather than trusting receipt summaries.


The candidate-bound sealed verifier passes and independently recomputes all 482 delivered inventory entries with zero mismatches. One Task27 auxiliary checksum manifest is stale for the controller, so I’m separating that non-authoritative manifest defect from the authoritative cleanup receipt and directly exercising the sealed reliability tests and cleanup refusal/rollback cases.


The synchronous sealed tests pass. The first async invocation was a harness configuration failure (plugin autoload intentionally disabled, so async tests were not executed), not a product failure; I’m rerunning those exact nodes with the sealed `pytest_asyncio` plugin explicitly enabled.


I read this as the completed F3 reliability verdict - I independently verified the sealed candidate, exercised the relevant offline scenarios, and adjudicated all requirements.

# F3 VERDICT: PASS

**Confidence: High (0.96)**
**Candidate:** `d1109d8f78aaccf949ec4f664d9e62584c3cca33032030518bc3e2d712239112`
**Blockers:** None.

## Scenario matrix

| Requirement | Result | Verification |
|---|---|---|
| Owner/operator review survives restart | PASS | Both restart observability tests passed; committed approval was recovered without second review and original owner update produced one terminal receipt. |
| Stale capability/reference | PASS | Stale generation return, stale schedule reference, owner-version drift, and stale callbacks rejected. |
| Duplicate capability/callback | PASS | One-use capability and duplicate callback tests rejected replay without provider I/O. |
| Wrong actor/authority | PASS | Wrong user, wrong owner, wrong review authority, and owner-change cases rejected. |
| Expired capability/lease | PASS | Expired operator callback performed refresh only; expired worker/publication leases recovered exactly once. |
| Unknown provider outcome, no retry | PASS | Unknown outcome remained terminal across restart and reconciliation; transport count stayed unchanged. |
| Exactly one transport | PASS | Source and installed bundles each contain exactly one raw customer transport call. Concurrent reservation/atomic-claim tests passed. |
| Exactly one audited receipt | PASS | Source and installed bundles each contain exactly one `telegram-customer-surface-receipt-v2`, bound to the one provider message and delivery claim. |
| Atomic claim before provider I/O | PASS | Delivered code durably changes `pending -> unknown_provider_outcome` and capability `issued -> consumed` under the delivery lock before returning a dispatch claim. Atomic single-winner test passed. |
| Revocation ordering | PASS | Revocation waits for an active handler lease; revocation-first admits zero mutation/provider sends; cancellation releases leases. |
| Background/scheduled authority leases | PASS | Update/background cancellation and error paths release leases; schedule confirmation is one-use and rejects invalid authority. |
| Cleanup resume | PASS | Crash-after-each-phase forward-only resume tests passed. |
| Cleanup rollback | PASS | Task27 injected faults at `canonical_copied_verified` and `after_bootstrap_prune` restored the sealed baseline. |
| One-use cleanup refusal | PASS | Reexecution returned exit 2 with unchanged mutation state. |
| Terminal cleanup authority | PASS | Active, pending, unknown, and orphan counts are all zero; disabled, nonconsenting, archive-verified, journal-committed terminal state. |

## Executed verification

Candidate-bound interpreter:

- `/home/cube/miniconda3/bin/python3`
- Python `3.12.9`
- SHA-256: `d9bc96d1ad0161db7ebdc8fdbc690530a9c29299feb2001cba6b29072e2a9051`

Commands and outcomes:

1. `python3 -I .../verification-tools/independent_verify_candidate.py <delivered-root>`
   - Exit `0`
   - `TASK26_INDEPENDENT_CANDIDATE_PASS`
   - Runtime source: `sealed_wheelhouse_only`
   - Receipt SHA-256: `f3b347f9f8b3f2d82188afb4c146ab3deb2845a3da3ce38c52d68c7ba5ccf9e6`

2. Direct delivered inventory recomputation:
   - `482` entries checked
   - `0` type, mode, size, or SHA-256 mismatches.

3. Delivered-wheel gateway reliability tests:
   - Core delivery/restart batch: `12 passed`; one async node initially not executed because plugin autoload was disabled.
   - Corrected explicit sealed `pytest_asyncio` invocation: `6 passed`.
   - Owner restart observability: `2 passed`.
   - Adaptive authority/exactly-once batch: `8 passed`.
   - Total relevant gateway scenarios: `28 passed`.

4. Delivered profile-wheel cleanup tests:
   - `8 passed`, including parameterized crash-resume phases, concurrency, archive mismatch, projection tamper, and source mutation.

The intermediate async failures were harness collection failures (`pytest_asyncio` unavailable under disabled autoload), not assertion failures. Adding the sealed wheelhouse plugin explicitly produced clean passes.

## Evidence and hashes

Delivered root:

- `.omo/evidence/task26/task26-combined-v38-delivered-st_01a019d7`
- Delivered seal: `54be54cf89720057486596a21941ec5d456a1c54148f66dbde0475503a752f67`
- Postfreeze seal: `3002d815d7523c2971c990544d92c1f0d16fd51781f83d9d636ef6336b5878f6`
- Hermes wheel: `f8b3c779c58435dd33f8f9bbc89e9823bd09f81367a27366c6d678270c1860b1`
- Profile wheel: `a56da2417df0912f3fe407c0b78befd7362207d1c8a35271000af46701ba79d2`

Reliability evidence:

- `05-unknown_delivery_no_retry.json`: `c0026a7fa6919ea7c510f2252f25f94353500b413d458cec6ea3b170b97b854b`
- `06-successful_lifecycle.json`: `fcbf953f711f014913feee8e3a65083b88be93c1089e9c2ed815b60c102180cc`
- `07-cleanup_resume_terminal.json`: `0ef99d5b9fc213371ee944a8ff3ce7944b4cf25247c089d8b76ce1dc6770bf44`
- Six-lane receipt: `b063e92d5c8e60de3067794edd68412c676ebbaf2b0f942793d6ee41dc15ddf6`

Task27:

- Cleanup receipt: `.omo/evidence/task27/task27-live-cleanup-receipt.json`
  - SHA-256: `7848def41100aa4f4ef27239dfaae3cc634d5ad2b24df7966d4d80838f692a3a`
- Verification receipt: `.omo/evidence/task27/task27-verification-receipt.json`
  - SHA-256: `08264241a690d0189726132437712232ebe551b6f51392718bf82a290b8f7569`
- Current controller and receipt-bound controller:
  - `8aee38ea920cbaa2b18d7ebe0104aa1baeabcaeb49152f25819ee1380ebbc443`
- Recomputed live permission payload:
  - `b7d9dd391735913915627e94a759095b9ae10aeb5086ac458e6af422327c7f94`
  - Exactly matches the cleanup receipt.

## Non-blocking evidence defect

`.omo/evidence/task27/receipt-hashes.sha256` predates the live-authorized controller revision:

- It expects controller hash `d57c8564...`
- Current and cleanup-receipt-bound controller hash is `8aee38ea...`
- It also omits later live authorization/cleanup files.

This auxiliary manifest is stale, but it does not invalidate F3: the authoritative cleanup receipt binds the current controller, candidate, permission payload, delivered seals, exact profile, and terminal checks, all independently recomputed successfully.