# Bundle A — 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: [A-before.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c00724b5b667ba27/A-before.txt)  
After recording: [A-after.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0f8e629b57400313/A-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.

## R01 — empty and genuine branchless root/child

| Measured interval or event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| L-empty | 0 L / 0 G | 0 L / 0 G |
| L-empty-startup-minute | 0 L / 0 G | 0 L / 0 G |
| L-branchless | 0 L / 0 G | 0 L / 0 G |
| L-branchless-startup-minute | 0 L / 0 G | 0 L / 0 G |

## R02 — composite root, fork, three worktree delegates

| Measured interval or event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Seeded startup | 5 L / 11 G | 2 L / 10 G |
| Minutes 1–6, in order; fifth crosses five-minute git-state expiry | 5 L / 0 G; 5 L / 0 G; 5 L / 0 G; 5 L / 0 G; 5 L / 10 G; 5 L / 0 G | 2 L / 0 G; 2 L / 0 G; 2 L / 0 G; 2 L / 0 G; 2 L / 40 G; 2 L / 0 G |

## R05 — direct fork of a subagent remains eligible

| Event | Before [37fbefd](https://github.com/pingdotgg/t3code/commit/37fbefd147197fab9d88f9c120560c3f21b52cfc) | After [45c1162](https://github.com/pingdotgg/t3code/commit/45c1162b91872e5e7a7ddd7843b24364caca0f4d) |
|---|---|---|
| Fork contribution at startup and every minute | 1 L each | 1 L each |

Fork lineage is `relationshipToParent: fork` and its parent has `subagent` lineage. R02 after branches are only `evidence-root` and `evidence-fork`; no ancestor-based exclusion is claimed. The three genuine worktree delegates are separate tuples.


## What else changed

Beyond child exclusion, startup git attempts are 11→10. At the fifth minute total git attempts are 10→40; retained root/fork contribute 4→40 and removed children 6→0. Other warm minutes use zero git attempts. The retained-group increase is unexplained by this capture and is flagged for maintainer review; no overall git/CPU/disconnect reduction is claimed. Empty and branchless outcomes stay zero.

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 |
|---|---|---|
| A / `["all", "startup", null, false, 1]` | 5/11 | 2/10 |
| A / `["all", "sweep", null, false, 1]` | 5/0 | 2/0 |
| A / `["all", "sweep", null, false, 2]` | 5/0 | 2/0 |
| A / `["all", "sweep", null, false, 3]` | 5/0 | 2/0 |
| A / `["all", "sweep", null, false, 4]` | 5/0 | 2/0 |
| A / `["all", "sweep", null, false, 5]` | 5/10 | 2/40 |
| A / `["all", "sweep", null, false, 6]` | 5/0 | 2/0 |
