# Bundle D — runtime evidence

**Additional differences outside child exclusion are present; see “What else changed”.**

Both sides: fs-18, Linux x86_64 6.1.102, Node v26.12.1, OpenCode 1.18.18 / `anthropic/claude-haiku-5-5`, Python 3.12 + websocket-client 1.9.2. Before home `/tmp/lead-26983-r1/evidence-capture/20261029T150359-before-measured/home`, port 19684; after home `/tmp/lead-26983-r1/evidence-capture/20261029T151950-after-final/home`, port 19685. Each source checkout is pinned and clean; external Node load-hook observation is disclosed in the transcripts, with its exact SHA-256. Every restart has its spawn PID, actual server PID, source SHA, port, home, observer hash and UTC time above the corresponding capture. Independent fresh databases; `T3CODE_DEV_SEED=0`. No browser, rendering, viewport/theme, Diff0 or DiffT applies. Timed captures use the real UTC clock and real one-minute scheduler, with the same scripted waits and activity leases; no fake clock is claimed.


Counts are completed `branchPullRequest` service calls (L), with descendant git subprocess attempts (G), attributed through trace/parent ancestry beneath each `ThreadPullRequestServiceV2.synchronize`. A cache hit is still a lookup. F separates failed wrapper attempts from real git executions. These are scoped service counts, not whole-server/provider process totals.


Before recording: [D-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8531544ba5134f27/D-before.txt)  
After recording: [D-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4faeddc1330c33b1/D-after.txt)  
Raw evidence, complete state/events, scripts and counter: [runtime-evidence.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e2ef042f050fc63c/runtime-evidence.tar.gz)  
Reproduction: [reproduce.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1aaf0741be193d03/reproduce.md)

The ordered driver steps, exact UTC timestamps and restart environment appear before the paired trace excerpts inside each recording. Each per-request row contains trace/span IDs, branch attribution, discovery/validation counts, subprocess arguments/status and raw original service span objects.

## R09 — restore and deletion controls

| Event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Root unarchive, refresh:false | 1 L / 13 G | 1 L / 14 G |
| Child unarchive, refresh:false | 1 L / 20 G | 1 L / 20 G |
| Deleted separate control after public delete | deletedAt set; absent from active snapshot; no subsequent call | deletedAt set; absent from active snapshot; no subsequent call |

## R10 — child refresh:false selectors

| Event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| New genuine shared branched delegate thread.created | 1 L | 1 L |
| Child first metadata update | 1 L / 0 G | 1 L / 0 G |
| Child unarchive | 1 L / 20 G | 1 L / 20 G |

## R11 — targeted settled read and refresh:true selectors

| Event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Metadata while child stays settled, refresh:false | 1 L / 0 G | 1 L / 0 G |
| Public child unsettle, refresh:true | 1 L / 19 G | 1 L / 19 G |
| Genuine child checkpoint.captured, refresh:true | 1 L / 19 G | 1 L / 19 G |

## R12 — genuine completion plus labelled selector replay

| Event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Genuine child run.updated completed, refresh:true | 1 L / 18 G | 1 L / 18 G |
| Replay completed / failed / cancelled / interrupted, separate requests | 1 L per event | 1 L per event |
| Replay preparing / queued / starting / running / waiting / rolled_back | 0 requests each | 0 requests each |
| Replay thread.settled / thread.archived | 0 requests each | 0 requests each |

## Subsequent sweep after child events

| Measured interval or event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Root + child next eligible minute | 2 L / 0 G | 1 L / 0 G |

## R14 — existing public PR discovery and separate persistence validation

| Measured interval or event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Observed events: no-remote root; no-remote child; first child; equal child; fork metadata | 0 L / 0 G; 0 L / 0 G; 1 L / 0 G; 1 L / 0 G; 1 L / 12 G | 0 L / 0 G; 0 L / 0 G; 2 L / 6 G (1 discovery + 1 validation); 1 L / 0 G; 1 L / 12 G |
| Origin added while stopped, startup discovery | 4 L / 19 G (2 discovery + 2 validation) | 2 L / 9 G (1 discovery + 1 validation) |
| Subsequent minute with saved/equal references | 2 L / 10 G | 1 L / 5 G |

## R15 — deliberate lack of sweep-only child discovery

| Event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Before child event, automatic reference after startup | Root and child saved | Root saved; child null |
| First child metadata event | 1 L (existing ref) | 2 L (discovery + persistence validation) |
| Second child metadata event | 1 L (equal ref) | 1 L (equal ref) |

The R14 observed-event sequence above is: no-remote root, no-remote child, first child event, equal child event, fork metadata. Actual existing PR [#26983](https://github.com/pingdotgg/t3code/pull/26983) was read only; no forge write/push occurred. R12 replays enter the actual service selector and drain its worker; this is explicitly internal harness evidence, separate from genuine completed-child/checkpoint events. Full replay inputs and acknowledgements are in the archive.


## What else changed

Beyond excluded sweeps, deletion-control creation changes 20→18 G, root unarchive 13→14 G, and root unsettle 18→19 G, with one lookup each. Genuine child event counts remain one. Replay/creation preparation have additional git-count variations enumerated below; the replay is internal harness coverage. Known-PR first child event needs persistence validation only after because its sweep no longer discovers the reference. Provider completion may straddle phase boundaries; unmatched rows remain explicitly inventoried.

Synthetic IDs, provider transcript wording, real UTC timestamps, process IDs and scratch paths differ naturally. Same normalized fixture data and public actions are compared. Earlier after pilots are excluded from acceptance and retained separately.

Complete non-equal request-count inventory for these recording windows (including setup and provider boundary requests). An absent side means no corresponding request in that phase window; it is not silently treated as zero. The JSON inventory retains exact timestamps and span IDs. [count-differences.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac35fe3a11109701/count-differences.json).

| Phase / request (thread, event, status, refresh, ordinal) | Before L/G | After L/G |
|---|---|---|
| D / `["A-parent", "thread.unarchived", null, false, 1]` | 1/13 | 1/14 |
| D / `["A-parent", "thread.unsettled", null, true, 1]` | 1/18 | 1/19 |
| D / `["D-deleted", "thread.created", null, false, 1]` | 1/20 | 1/18 |
| D / `["all", "sweep", null, false, 1]` | 2/0 | 1/0 |
| R10-created / `["B-local-parent", "thread.unarchived", null, false, 1]` | 1/2 | 1/3 |
| R10-created / `["B-local-parent", "thread.unsettled", null, true, 1]` | 1/19 | 1/18 |
| R10-created / `["R10-created-child", "run.updated", "completed", true, 1]` | 1/16 | absent |
| R12-harness / `["B-local-child", "run.updated", "completed", true, 1]` | 1/18 | 1/22 |
| R12-harness / `["B-local-child", "run.updated", "interrupted", true, 1]` | 1/19 | 1/18 |
| R12-harness / `["all", "startup", null, false, 1]` | 1/20 | 0/0 |
| PR / `["PR-child-first-event", "thread.metadata-updated", null, false, 5]` | 1/0 | 2/6 |
| PR / `["PR-fork", "thread.created", null, false, 1]` | 1/0 | 1/5 |
| PR / `["all", "startup", null, false, 1]` | 4/19 | 2/9 |
| PR / `["all", "sweep", null, false, 1]` | 2/10 | 1/5 |
