I read this as a read-only F4 real-surface evidence audit - I’ll trace the full Task22-27 evidence graph, independently verify every binding/hash/action claim against candidate `d110…9112`, and return a decisive adjudication with no external or mutating actions.


The authoritative lane is now identified: delivered v38 plus its postfreeze receipts and Task27 cleanup. I’m narrowing the audit to the plan’s exact F4 clauses and the immutable historical Task22-25 objects referenced by v38, rather than treating copied offline QA as new Telegram execution.


The evidence separates two claims correctly: Task22-25 supplies historical real-network proof; v38 supplies candidate-bound offline/loopback qualification. I’m now validating the cross-bindings byte-for-byte and resolving the remaining identity tuple (customer/owner route, card, generation, capability, delivery receipt) from retained immutable records, not from summary prose.


I read this as a read-only F4 real-surface evidence audit - I traced the historical Telegram lifecycle, v38 bindings, and Task27 cleanup without external or mutating action.

# F4 verdict: PASS

**Confidence: 0.96**

The evidence supports one historical real-Telegram happy path on the intended private customer and owner/operator surfaces. Candidate v38 does **not** falsely claim that historical execution as its own; its offline and loopback qualification legitimately complements that proof.

## Cross-binding matrix

| Claim | Bound evidence |
|---|---|
| Customer private DM | user/chat `8527916639`, topic `0`, customer `task22_dm_rehearsal` |
| Owner private DM | user/chat `8693203710`, topic `0` |
| Owner onboarding approval | session `rb_f4L9siIlDP-R6IF27GwxdA`, update `629525053`, message `126`, generation `29` |
| Check-in | session `6f31a1da4bea79f91675feffca5ffbeb`, event `wizard_995f04a3b8bc256fa13ff407`, revision `f266949e…f117ae1` |
| Final owner card | token/draft `c8eab7b6685c3c65`, message `156`, route `8693203710/8693203710/0`, approved generation `4` |
| Explicit send | accepted event `pilot_98dfe3a55ae098d313aa03d0`; approval preceded send by about 8m29s |
| Customer delivery | exactly one row, chat `8527916639`, topic `0`, provider message `157`, `sent_audited` |
| Terminal generation | generation `7`, receipt `157`, record `f1ced618…3a596b` |
| Duplicate protection | stale/repeat/wrong-role: zero sends and mutations; one post-send restart, duplicate count zero |
| Historical capability | Pre-capability legacy execution; no capability ID is falsely invented |
| v38 source capability | `ec953b56…0b65f3`, owner `100`, customer `200`, card `700`, generation `4`, message `9001`, consumed |
| v38 installed capability | `a62b0e24…19210`, same logical bindings, consumed |
| Candidate binding | `d1109d8f…39112`, product binding `1b016220…5611c` |

The archived generation chain is ordered:

`approved` generation 4 → `delivery_pending` 5 → `delivered` 6/message `157` → `sent_audited` 7/message `157`.

There is exactly one delivery ledger row and one accepted `draft_sent` event.

## Historical integrity and retention

Authoritative archive:

- ID: `2009ac177177839cefddb98f285e27fa`
- Digest: `644d74b05bc8115f9e3aeeba035188da195a7de18f1bc737648931d64bf43bcf`
- 23 retained scopes
- Manifest: `ca4811444e114a06749620b9a44e05c8bd62bc3223ec80b1b5740c832c4a84c1`
- Receipt: `e81a84a8584400401f83aace36283dee18660144ede11e854758e725796e7fb3`

Task index hashes, all matching current bytes:

- Task22: `cc4ac1264d947226f0e2ebfdd2f3845781d48ab298a71ae96c09517eecb26309`
- Task23: `86b72c4c21b9f1113cb34e81b293e93ed7df7ac1388d3d1b31d9dc01dca3987a`
- Task24: `4df0f8712887f2125e100ba8d7585914b7b8810a298c37f9a32584b31fabe04d`
- Task25: `c3c40ff9406dbb2609ee7ef89be2fdc20fa139064b5d65e494c6efc8b2a80ed2`
- Combined index digest: `419511b6fadb7920e155dcd5b57d20661d750a989ef0912e9ddf1bfbc0cb0abe`

Core paths:

- `.omo/evidence/dualcoach-task-24-live-terminal-evidence.json` — `7431b043…2258b4`
- `.omo/evidence/dualcoach-task-25-live-terminal-evidence.json` — `30275bb8…d6378d`
- `.omo/evidence/task26/task26-repaired-archive-successor-2e0894ea…/bindings/historical-archive-binding.json`
- `.omo/evidence/task26/task26-repaired-archive-successor-2e0894ea…/bindings/task22-25-reconciliation-index.json`
- `/home/cube/.hermes/profiles/dualcoachtest/data/rehearsal-reset-archives/2009ac177177839cefddb98f285e27fa`

## v38 qualification boundary

v38 correctly labels Task22-25 as:

`historical_only_not_execution_on_successor`

and states:

`historical_execution_retargeted_to_successor: false`.

Candidate/seal evidence:

- Candidate: `d1109d8f78aaccf949ec4f664d9e62584c3cca33032030518bc3e2d712239112`
- Prefreeze seal: `257498e6…b037b9`
- Postfreeze seal: `3002d815…5878f6`
- Delivered bundle: `54be54cf…752f67`
- Delivered inventory: 482 entries; all 396 file hashes independently matched
- Postfreeze PASS: `83b8ca5c…bafa2`
- Qualification proof: `8187d6a9…90f68`

Source and installed Golden Paths independently bind candidate, owner/customer routes, card, generation, capability, message, and `sent_audited` receipt. Their Telegram API exercise was loopback-only with `external_traffic:false`, not new real-surface execution.

## Task26/27 external-action adjudication

**Task26:** zero Telegram actions and zero live-customer actions, confirmed by:

- `.omo/evidence/task26/task26-v38-final-six-lane-review.json`
- `.omo/start-work/ledger.jsonl:170`
- Local-socket receipts show no external traffic.

**Task27:** an explicitly authorized internal profile cleanup occurred, but no Telegram/provider action, activation, delivery, service start, release, push, or commit occurred.

- Authorization: `c3b43617…ad5e`
- Cleanup receipt: `7848def4…2a3a`
- Operation: `e90fcc341e9f49c2a2c57ce46dd50c12`
- Customer disabled/nonconsenting; service inactive/dead; active/pending/unknown/orphan counts zero.
- Canonical cleanup manifest: `816a59cc…2704`
- Bootstrap cleanup manifest: `e4f5b5c9…049f`
- `.omo/evidence/task27/task27-live-cleanup-receipt.json`

## Gaps

Non-blocking integrity/documentation gaps:

- Task22 records screenshots as unavailable.
- One Task22 index child path, `.omo/senpi-task/children/st_019ff472/evidence/authorized-replay-evidence.json`, is absent from the current workspace. The core route/delivery chain remains independently retained in the verified archive.
- `task27/receipt-hashes.sha256` predates the authorized cleanup: it omits the authorization/final cleanup receipts and contains the earlier controller hash. The final cleanup receipt directly binds the current controller hash `8aee38ea…443`.
- Historical retention is hash-sealed and host-permission protected, not external WORM; this matches the plan’s disclosed trusted-host residual risk.

## Blockers

**None for F4.** The gaps above do not break the customer/owner route, explicit-send ordering, exactly-one delivery, retention, candidate-bound qualification, or no-new-external-action clauses.