# Proof audit, pass 2 — held-queue continuation evidence

## Findings

No blocking proof finding. All 21 rows meet the supplied matrix's stated minimum for [#17885](https://git.cafe/pingdotgg/t3code/pull/17885), head [c740ee52fa](https://github.com/pingdotgg/t3code/commit/c740ee52fabfabea61f16a43a1591c5777d54eca) against merge-base [e5ea25d129](https://github.com/pingdotgg/t3code/commit/e5ea25d1292e5342db8508bf48ded67b88b82b82). The separate latest-commit guard comparison uses parent [39c49baf05](https://github.com/pingdotgg/t3code/commit/39c49baf05620e1c1c0e1a4af251f301a51944c3).

1. **Minor — stale N2 driver filename in command markers.** `N2-codex-before.txt` and `N2-codex-after.txt` say `runtime-driver.mjs` in START/END COMMAND. That filename is hard-coded into the variants; it does not identify which variant ran. Both transcripts contain the final driver's distinctive companion prompt, including `write_stdin on ONLY THIS NEW companion session` and `ACTIVE_FINISHED`, and record a 90000 ms observation window: before 14:38:11.769–14:39:41.771 UTC; after 14:38:13.115–14:39:43.116 UTC. They match the linked [runtime-driver-final-codex.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d9084a8ea214708f/runtime-driver-final-codex.mjs), rather than the essay/65000 ms recipe in `runtime-driver.mjs`. The sheet links the correct recipe. Annotate the stale filename when publishing the Evidence section; it does not require a new capture.
2. **Body refresh — the saved Limits text predates these captures.** It says native Codex command-completion/release was not run and that no direct assertion observes the changed delivery field. The new N2 pair and the three direct adapter scratch replay cases supersede those evidence limitations. The replay assertion is outside the committed PR source; do not imply a new committed adapter test. Keep the remaining limits about native Stop/workspace-failure controls, other clients/providers, and already-held pre-upgrade wakes. The current Change text is consistent with the code and new evidence. The old Verification section was excluded as instructed.

## Row dispositions

“SUFFICIENT” means the specified minimum, with the published subvariant limits retained. T references are the exact named cases in the [automated sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d18defe6d23578a1/automated-evidence-sheet.md); N references are the [native sheet](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e43575bd7b8bca8f/native-runtime-evidence-sheet.md). No viewport, theme, image or pixel threshold applies.

| Row | Status | Inspected evidence and boundary |
|---|---|---|
| F01 | SUFFICIENT | T1 fails on base's inherited wake hold and passes at head; independently reproduced both. N1 has W created while A blocks, Q held and no Stop marker for A; head starts W once after A completes and leaves Q unchanged. |
| F02 | SUFFICIENT | N1 native local_agent completes on both revisions. Base has no persisted child row in the interval. Head records the same native ID progressing through 63 updates, completedAt/result `PROBE_17885_OK`, and completed provider wake original run 7. Post-failure ping equivalence is expressly limited. |
| F03 | SUFFICIENT | T1's initial idle provider start and the four Provenance cases preserve Q on both revisions. N1 records idle-to-A via MCP; it does not mislabel MCP as a provider wake. |
| F04 | SUFFICIENT | T8 both notification parameters, T10 both stores and T7 explicit false-after-resume controls pass on both revisions. Nonqueued held-field variation remains code-equivalent coverage. |
| F05 | SUFFICIENT | T2 commits Stop before interrupt effects, then proves the newly queued provider wake remains held. Green on both revisions; F01 distinguishes an unrelated historical Stop. |
| F06 | SUFFICIENT | T1 server text, T5 delivery mapping, four Provenance cases and N2 cover inherited holds for nonbuffered provenance. The scratch cases include MCP, scheduled user/web and user/provider. |
| F07 | SUFFICIENT | T9 web send releases holds; T7 explicit resume preserves ordering/replay. Both revisions green. No native mobile-client verification claimed. |
| F08 | SUFFICIENT | T3 failed/interrupted setup checks late queued work remains held with unresolved worktree; T4 covers arrivals during preparation and failure/interruption. Automated minimum; no native provider session is claimed before setup exists. |
| F09 | SUFFICIENT | Current T3 sequence starts later user A before the provider wake. Both variants pass on base/head and fail the wake hold assertion on parent. This distinguishes the newest guard. |
| F10 | SUFFICIENT | T6 memory and SQL fail readiness on base, pass head; N1 supplies SQL-to-native integration while Q stays held. |
| F11 | SUFFICIENT | T10/T7 pass on both revisions for held-only/empty/terminal controls; head T6 exercises its remaining negatives. Base T6 stops at the changed positive assertion, as disclosed. |
| F12 | SUFFICIENT | T10 explicitly covers preparing/starting/running/waiting in both stores; T6 adds the mixed held queue/running case and T8 one-at-a-time promotion. |
| F13 | SUFFICIENT | T10 both stores covers archived/deleted threads and typed missing-thread failure. Green on both revisions. |
| F14 | SUFFICIENT | T1/T8/T11/T12 plus two combined Edges cases cover held filtering, eligible automatic priority, queuePosition/ordinal ties and one start per resume. Base combined cases fail the earlier eligibility prerequisite, not an ordering assertion. |
| F15 | SUFFICIENT | T7 startup/shutdown recovery and T17 selected-command receipt replay pass on both revisions. An imported pre-upgrade native-wake row was not separately exercised. |
| F16 | SUFFICIENT | T13's held available-provider Resume passes base/head; parent incorrectly checks the thread's limited provider and rejects. Limited-provider refusal, T18 empty queue and T14 monitor selection controls also run. |
| F17 | SUFFICIENT | T17 selected held user message/replay, T19 running race and two Edges invalid notification/delegated selections pass on both revisions. |
| F18 | SUFFICIENT | HeldError directly proves head fails the eligible unsupported handoff, preserves older held Q and advances the next eligible provider; T20 supplies the unchanged ordinary failure control. Base fails the inherited-hold prerequisite before targeting. Malformed identities remain untested subvariants. |
| F19 | SUFFICIENT | T15 usage-limit/provider-error variants, T16 disabled instance, T4 workspace preparation and T13 provider selection controls pass on both revisions. |
| F20 | SUFFICIENT | N2 real settled-root command completes while companion work blocks; persisted provenance changes agent/provider→agent/server. Both retain Q/W until Resume, then send exactly one command-detail prompt. Three direct adapter replay cases observe actual `message_text` on head, undefined on base. Runtime field inference is labeled. Minor driver filename correction above. |
| F21 | SUFFICIENT | Direct Guards captures cover nonsettled, missing service, retained-context duplicate, in-flight interruption, child command and existing thread-closure/termination controls. Replay covers exit 0/7/null and completed/failed/unknown outcomes. T21/T22 are supporting controls, not substituted offer-site proof. |

## Capture examination and comparison

I downloaded the index, both sheets, manifest, matrix, scripts archive and raw-log archive with curl, extracted each archive into its own new empty directory under my scratch directory, and treated scripts as untrusted. All 37 public artifact links appearing in the index/sheets/manifest downloaded successfully and matched their corresponding archive or separately supplied file byte-for-byte. All 11 catalog test overlays match the exact head Git objects; the catalog log hashes match those files. Production was not overlaid.

I read the accepted catalog and scratch logs, all four accepted native transcripts, their exact/semantic comparisons, the driver/extraction/replay source and relevant test assertions. I also examined the retained attempt transcripts, server/driver diagnostics and initial scratch failures; these are excluded provenance, not additional accepted cases. Examples that must stay excluded include the replay parse-error/service-error logs with no tests, the initial Edges cancelled-versus-interrupted fixture assumption, and the initial interruption fixture that failed on both sides. None is used for a required red or green in the sheets.

The 22 catalog filters at each revision execute 31 cases: head 31 pass; base 28 pass/3 fail. Base failures are exactly T1 and both T6 stores, at the changed hold/readiness assertions. Parent runs only T3/T13: two missing-worktree hold failures and one incorrect-provider Resume rejection, with the same cases green on base/head. Scratch counts are separate: head 23 pass (17 new + 6 existing controls); base 16 pass/7 fail. Base Edges/HeldError fail their eligibility prerequisite; Replay and duplicate Guards reach a real offer and fail its missing delivery field. Skipped tests and overlapping aggregate logs were not counted as executed proof.

I independently reconstructed all five exact textual diffs byte-for-byte from their source logs/run-state files, and all five semantic diffs from their stated count/field projections. The substantive differences are consistent with the sheets' “what else changed” list and the production diff. Raw path/ID/clock/timing/provider-wording differences are preserved in exact diffs. N2's run-state semantic diff intentionally does not prove notification provenance; the full event payloads and direct replay supply that evidence.

For all four native captures, I independently rebuilt run-creation boundaries from event sequence and checked the supplied acceptance assertions against the transcript payloads. The recomputed acceptance JSON is identical to the delivered JSON. Sequence is authoritative: base N1 creates W at sequence 81 before A's completed event at sequence 90 even though the completion's occurredAt was generated earlier. Head creates W at sequence 75, completes A at 90 and starts W at 94. Neither W creation has a Stop marker for A. Q is unchanged throughout N1 and through N2's pre-release boundary.

**N1 observer limitation is honest and sufficient for the stated proof.** Base's last streamed snapshot stays `waiting`, but the included persisted sequence shows A completed; W remains queued/held with zero starts. The native child finishes with the marker, yet no same-ID subagent update persists. On head the native child is discovered before the conditional pings, progresses, completes and produces another consumed provider wake. Base does not reach those two pings. Therefore this proves the verified held-wake route and head's downstream recovery, not an identical post-failure ping experiment or the separate idle-launch Claude adapter variant. Describing the new base capture as a persisted child “remaining Running” would overstate what it shows; the new sheets correctly say the row is absent.

**Codex inference is honest and sufficient.** N2 contains the actual command item/native root-turn IDs, native root completion before command completion, matching persisted notification detail/provenance, a held run while companion work blocks, no native turn/start between command completion and Resume, and one matching detail input afterward. The unchanged continuation mapping ties head's agent/server provenance to message_text; the runtime does not directly log that field. The separate real-adapter replay observes the offer object directly for exit 0, 7 and null. This combination closes F20; the unrelated native-child offer test is not used as a substitute.

The current Change text matches the reviewed seven-file source diff: eligible queued selection/readiness, the Stop and unresolved-worktree hold guards, explicit Resume provider selection and Codex command-completion classification. No changed client/render/contract code calls for images or separate viewport/theme captures. This is an evidence verdict, not a merge recommendation or current-CI certification.

## Independent rebuild

[Independent F01 raw logs and environment](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/03e0a1ab27561459/independent-F01-reproduction.log) · [Audit reconstruction scripts and checks](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a81faba1d4d98cd1/proof-audit-2-reproduction-and-checks.zip).

Created `/home/ubuntu/wt/pr-17885-proof-audit-2` using `git -C /home/ubuntu/t3code worktree add --detach`, first at exact head. Installed frozen dependencies offline, then ran:

```text
vp test run apps/server/src/orchestration-v2/runtimeLayer.test.ts -t 'starts a provider wake queued beside a held queue'
```

Repeated in that checkout at exact merge-base with only the byte-identical head test file overlaid. Test SHA256 on both runs: `d19873121f61da367adf8571f02d52e285c9a4edef15cd8be2c71805cb684cd0`.

Environment matched the delivered deterministic-test environment: fs-33, Linux 6.1.102 x86_64, Node v26.12.1, Vite+/Vitest 5.0.5. No provider subprocess, browser or rendering was needed for this test; no runtime environment substitution was made. Head: exit 0, one pass/89 skipped. Merge-base: exit 1, one failure/89 skipped, same `wake.queueHeld` assertion at `runtimeLayer.test.ts:5127`. No outcome/assertion delta. Expected incidental differences: checkout path, UTC time, transform/test duration (delivered versus independent: head 48.38s/25.21s; base 51.14s/14.75s). No native rerun was necessary for the required rebuild.

## Scope and cleanup

Completed the supplied 21-row audit within the 60-minute budget. Did not edit the lead checkout, production code, PR body, forge comments or branches; no commits or pushes. Saved current PR body was read-only; old-head Verification was excluded. Live forge checks/reviews were unavailable and are not claimed. No app server, browser, emulator or lease was started by this audit. The temporary artifact-network proxy was stopped, my second checkout and step scratch directory were removed, and the lead checkout/parent scratch directory were preserved. Disk remained at 18 GB available. Independent logs and reconstruction evidence were uploaded before cleanup.

FRICTION:

infra | VM IPv4 DNS resolution failed for artifact/forge hosts; explicit curl resolution and a temporary TLS passthrough proxy restored transport | Working IPv4 DNS in the audit VM.

forge | GitCafe accepted transport but rejected the saved credential with AUTHENTICATION_REQUIRED; lead supplied the saved current PR body | Valid read credentials or a saved current PR body (provided).

VERDICT: SUFFICIENT
