Renderer route warming: bounded independent replication

Recommendation: reject this candidate. Returning total usability did not reproduce: replication -45 ms (-1.47%), 95% CI [-15.56%, +8.53%]; combined -57 ms (-1.94%), CI [-14.15%, +1.91%]. No source promotion or further timing loop.

Ubuntu 24.04 x64 VM, default 4 CPU / 8 GB, Boat bx_9a2kqwpz, production packaged directory. Returning: frozen synthetic 12 projects / 48 threads and settings, matched cold compile/Chromium code caches. Fresh: every launch uses a unique empty home. No profiler, build, or metadata scans during replication.

Route warming: original, independent replication, combinedUbuntu 24.04 x64 · default 4 CPU / 8 GB · packaged dir · 20 pairs/cell/cohortReturning: 12 projects / 48 threads, cold code cache · Fresh: unique empty homesCandidate minus baseline · median paired change and descriptive 95% bootstrap interval-40%-20%+0%+20%+40%returning / original / Total usable-10.9% [-17.5, +1.9] n=19returning / original / First window-3.5% [-14.5, +6.3] n=20returning / original / Command-ready-3.2% [-8.5, +6.8] n=20returning / replication / Total usable-1.5% [-15.6, +8.5] n=20returning / replication / First window+13.3% [+1.2, +33.6] n=20returning / replication / Command-ready+6.6% [-3.7, +16.0] n=20returning / combined / Total usable-1.9% [-14.1, +1.9] n=39returning / combined / First window+2.6% [-5.7, +13.1] n=40returning / combined / Command-ready+3.3% [-5.2, +8.3] n=40fresh / original / Total usable+0.6% [-5.7, +10.4] n=18fresh / original / First window+16.0% [+7.4, +27.1] n=20fresh / original / Command-ready-0.3% [-10.8, +14.5] n=20fresh / replication / Total usable-1.4% [-12.0, +16.8] n=20fresh / replication / First window-0.9% [-11.5, +13.3] n=20fresh / replication / Command-ready+2.7% [-14.3, +12.9] n=20fresh / combined / Total usable-0.5% [-5.7, +9.5] n=38fresh / combined / First window+10.2% [-0.2, +16.0] n=40fresh / combined / Command-ready+1.7% [-10.4, +12.0] n=40Base 6417151c093e54dbba0e6c824c69d03983793b9a · canonical.patch SHA256:16f12bab2deb865dd0ece0e9ac29d808535423d77fe33caf8ccdf09233410443Baseline app.asar 75aab08523d3a1f3d5752d8414d2ccfa7595942c86dbcb8ff26a08ecae0d4e98Candidate app.asar b266c4dc51106a9bfa9cb1bd7027f65b494d5b0df59c6e0a5d09b6dceb89c11fCommand: boat exec --timeout 0 bx_9a2kqwpz -- xvfb-run -a -s '-screen 0 1280x900x24'python3 /home/user/t3-baseline/.local/renderer-bootstrap/replication.pyOriginal 80 attempts: 3 usability timeouts, baseline only. Replication 80: 0 usability failures;1 fresh candidate screenshot timeout AFTER usable. All endpoints and harness errors retained.First-window delay: original fresh +16.0%; replication -0.9%, inconclusive; combined +10.2%, inconclusive.Reject: returning total usable improvement did not reproduce. No further timing runs.All 160 measured attempts retained. Missing endpoints are censored, never replaced.Intervals condition on observed paired milestones. Combined resampling preserves cohort sizes.Original cohort metadata I/O at 13:35:28 UTC disclosed; no selective exclusions.

All-attempt startup success

CellPairs / attemptsBaseline successCandidate successHarness errors A / B
original returning20 / 4019/2020/201 / 0
replication returning20 / 4020/2020/200 / 0
combined returning40 / 8039/4040/401 / 0
original fresh20 / 4018/2020/202 / 0
replication fresh20 / 4020/2020/200 / 1
combined fresh40 / 8038/4040/402 / 1

Milestones, all cohorts kept separate

Milliseconds. Baseline and candidate columns show all-attempt median / nearest-rank p95; missing endpoints rank above successful endpoints and are explicitly censored. Paired deltas use only pairs with both milestones observed. Negative means candidate faster. Usable minus ready is descriptive only and has no acceptance interval.

CellMilestoneBaseline median / p95Candidate median / p95Paired ms / %95% paired % intervalFaster / paired n
original returningTotal usable2952.0 / 4392.02582.4 / 3635.8-254.6 / -10.9%-17.5 to 1.911/19
original returningFirst window623.2 / 1927.5564.2 / 881.9-21.5 / -3.5%-14.5 to 6.313/20
original returningCommand-ready1773.3 / 3167.91660.7 / 2550.7-68.5 / -3.2%-8.5 to 6.811/20
original returningUsable minus ready (descriptive only)1065.9 / 1336.9917.7 / 1206.9-234.3 / -19.9%descriptive only14/19
replication returningTotal usable3202.3 / 4109.12914.5 / 4695.1-45.2 / -1.5%-15.6 to 8.511/20
replication returningFirst window607.0 / 686.2680.5 / 1282.990.4 / 13.3%1.2 to 33.65/20
replication returningCommand-ready1775.9 / 2035.51834.8 / 3534.7128.5 / 6.6%-3.7 to 16.07/20
replication returningUsable minus ready (descriptive only)1309.7 / 2243.01023.3 / 1986.3-207.1 / -17.9%descriptive only15/20
combined returningTotal usable3042.2 / 4342.42742.2 / 4695.1-56.8 / -1.9%-14.1 to 1.922/39
combined returningFirst window613.7 / 899.0595.4 / 1282.914.8 / 2.6%-5.7 to 13.118/40
combined returningCommand-ready1775.9 / 3055.11795.6 / 3114.452.7 / 3.3%-5.2 to 8.318/40
combined returningUsable minus ready (descriptive only)1183.1 / 2243.0959.8 / 1986.3-208.1 / -17.9%descriptive only29/39
original freshTotal usable3363.4 / right-censored3342.9 / 5770.916.4 / 0.6%-5.7 to 10.49/18
original freshFirst window704.4 / 899.5832.7 / 2246.9103.3 / 16.0%7.4 to 27.14/20
original freshCommand-ready2203.5 / 70971.32246.9 / 4584.7-5.8 / -0.3%-10.8 to 14.510/20
original freshUsable minus ready (descriptive only)1122.3 / right-censored974.2 / 1356.94.3 / 0.5%descriptive only9/18
replication freshTotal usable4591.7 / 6797.64266.6 / 5468.3-55.2 / -1.4%-12.0 to 16.810/20
replication freshFirst window960.4 / 1508.6921.7 / 1306.4-6.3 / -0.9%-11.5 to 13.311/20
replication freshCommand-ready2897.3 / 4744.92714.1 / 3678.971.8 / 2.7%-14.3 to 12.99/20
replication freshUsable minus ready (descriptive only)1583.6 / 2107.91440.0 / 2008.7-9.7 / -0.6%descriptive only10/20
combined freshTotal usable3760.3 / 6956.13873.6 / 5770.9-15.0 / -0.5%-5.7 to 9.519/38
combined freshFirst window793.2 / 1201.7879.1 / 2080.392.7 / 10.2%-0.2 to 16.015/40
combined freshCommand-ready2586.0 / 5289.32541.2 / 4149.240.3 / 1.7%-10.4 to 12.019/40
combined freshUsable minus ready (descriptive only)1308.7 / 2731.11254.5 / 1975.7-4.0 / -0.4%descriptive only19/38

Interpretation

The original returning total usable result (-255 ms, -10.93%) did not reproduce (-45 ms, -1.47%). Both intervals cross zero. Returning usable-minus-ready remains lower (replication -207 ms, -17.90%), but is descriptive and cannot replace total usable. Returning first window instead worsened by +90 ms (+13.27%, interval [+1.22%, +33.56%]). The original fresh-window delay (+103 ms, +16.02%) did not reproduce (-6 ms, -0.89%, interval [-11.47%, +13.25%]); combined fresh window remains +93 ms (+10.22%) with interval [-0.20%, +15.98%]. Fresh total usable remains inconclusive in each cohort and combined. No established total startup gain justifies promotion.

Failures and interference

Replication fresh candidate pair 12 reached usability, then page.screenshot timed out at 1000 ms. Its usability timing remains valid and its harness failure is counted separately. Startup success uses observed usability, not screenshot success; this yields 80/80 usable replication launches and 79/80 harness passes.

Every attempted measured launch is retained, including failures, without replacement. Original returning run stopped and resumed missing launches after its baseline failure. The replication controller retains failed samples and continues the predeclared 20 pairs, unchanged from the original resume policy. The milestone observer deadline is 90 seconds per until operation, not a single 90-second launch deadline; waits can be sequential. Failed usability is right-censored, never assigned an invented 90-second duration. Command-ready failures and times retain the harness semantics.

{
  "utc": "2026-11-08T13:35:28Z",
  "cohort": "original",
  "overlappingUsableInterval": [
    {
      "fixture": "fresh",
      "round": 11,
      "side": "b",
      "started": "2026-11-08T13:35:26.183Z",
      "usableMs": 3078.3802100000003
    }
  ],
  "launchAndCleanupInterval": [
    {
      "fixture": "fresh",
      "round": 11,
      "side": "b",
      "started": "2026-11-08T13:35:26.183Z",
      "usableMs": 3078.3802100000003
    }
  ],
  "note": "Point-in-time supplied by dispatcher. Inspection duration unknown; no rows excluded."
}

The metadata inspection duration is unknown. Its timestamp maps to the original fresh candidate pair 11 launch interval. No row has been removed. The timestamp occurs after that launch first-window milestone (13:35:27.019 UTC), but before command-ready and usability. It cannot explain the earlier window timestamp for this sample. The original interference and interruption limit causal confidence. Bootstrap intervals use 10,000 paired resamples, seed 20261108; combined resampling preserves the original and replication cohort counts, and remains descriptive under temporal drift and censoring.

{
  "cohort": "original",
  "fixture": "returning",
  "round": 15,
  "side": "a",
  "started": "2026-11-08T13:26:09.824Z",
  "windowMs": 533.1025199999999,
  "commandReadyMs": 70705.098915,
  "usableMs": null,
  "error": "Error: milestone timeout: locator.count: Target page, context or browser has been closed\n    at until (file:///home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:17:8)\n    at async file:///home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:51:3"
}
{
  "cohort": "original",
  "fixture": "fresh",
  "round": 3,
  "side": "a",
  "started": "2026-11-08T13:30:53.411Z",
  "windowMs": 907.740333,
  "commandReadyMs": 72086.471935,
  "usableMs": null,
  "error": "Error: milestone timeout: locator.innerText: Target page, context or browser has been closed\n    at until (file:///home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:17:8)\n    at async file:///home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:51:3"
}
{
  "cohort": "original",
  "fixture": "fresh",
  "round": 6,
  "side": "a",
  "started": "2026-11-08T13:32:54.211Z",
  "windowMs": 735.570121,
  "commandReadyMs": 70971.25608600001,
  "usableMs": null,
  "error": "Error: milestone timeout: locator.innerText: Target page, context or browser has been closed\n    at until (file:///home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:17:8)\n    at async file:///home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:51:3"
}
{
  "cohort": "replication",
  "fixture": "fresh",
  "round": 12,
  "side": "b",
  "started": "2026-11-08T13:51:29.541Z",
  "windowMs": 1098.693167,
  "commandReadyMs": 3214.230247,
  "usableMs": 5272.38737,
  "error": "page.screenshot: Timeout 1000ms exceeded.\nCall log:\n  - taking page screenshot\n  - waiting for fonts to load...\n  - fonts loaded\n\n    at /home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs:75:14"
}

Exact provenance and protocol

Base source 6417151c093e54dbba0e6c824c69d03983793b9a. Corrected candidate is an experimental artifact with the canonical patch below, not a source commit. Original artifact immutable; both use the identical Electron binary. Singleton lock/cookie/socket filtering is active. Original public-router failure probe is retained in the original archive. No source files were edited.

--- /home/user/t3-baseline/.local/source/apps/web/src/main.tsx	2026-11-08 12:05:26.000000000 +0000
+++ /home/user/t3-baseline/.local/renderer-bootstrap/source-min50k/apps/web/src/main.tsx	2026-11-08 13:20:15.319618433 +0000
@@ -24,6 +24,16 @@
   }
 });
 
+const initialMatches = router.matchRoutes(router.latestLocation);
+const initialRoutes = Object.values(router.routesById).filter((route) =>
+  initialMatches.some((match) => match.routeId === route.id),
+);
+if (initialMatches.some((match) => match.routeId === "/_chat/")) {
+  initialRoutes.push(router.routesById["/_chat/draft/$draftId"]);
+}
+// Canonical route loading retains the router's rejected promise and owns its error surface.
+void Promise.all(initialRoutes.map((route) => router.loadRouteChunk(route))).catch(() => {});
+
 const app = <AppRoot router={router} />;
 
 // Split by runtime to keep Clerk out of local startup and clerk-js out of browser builds.
7722b3b95b0a31e24906f8046c1bf29cb03c1b99f67058b0b9a4c0e8681c0d87  /home/user/t3-baseline/.local/artifact-original/linux-unpacked/t3code
75aab08523d3a1f3d5752d8414d2ccfa7595942c86dbcb8ff26a08ecae0d4e98  /home/user/t3-baseline/.local/artifact-original/linux-unpacked/resources/app.asar
7722b3b95b0a31e24906f8046c1bf29cb03c1b99f67058b0b9a4c0e8681c0d87  /home/user/t3-baseline/.local/renderer-bootstrap/artifact-route-warm-canonical/linux-unpacked/t3code
b266c4dc51106a9bfa9cb1bd7027f65b494d5b0df59c6e0a5d09b6dceb89c11f  /home/user/t3-baseline/.local/renderer-bootstrap/artifact-route-warm-canonical/linux-unpacked/resources/app.asar
32541a67ce260b153ef275240d782d914baa40999c33b46019d5b8cb4d69e8e0  /home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/bench.mjs
d4f573022a82ba1c09e52626e97941531d5a347ce8a98114320bc969eef50c1b  /home/user/t3-baseline/.local/renderer-bootstrap/toolkit-latest/pairs.py

Fixture manifest and SHA256 per file are retained in replication-preflight.json, including the frozen database and settings. The same installed package and source directory resolve Playwright for both artifacts. No NODE_DISABLE_COMPILE_CACHE or BENCH_TRACE is set. Two discarded warmups per side per fixture precede measurement; all eight warmup records are archived separately.

boat exec --timeout 0 bx_9a2kqwpz -- xvfb-run -a -s '-screen 0 1280x900x24' python3 /home/user/t3-baseline/.local/renderer-bootstrap/replication.py

import pathlib,json,os,shutil,subprocess
E=pathlib.Path('/home/user/t3-baseline/.local/renderer-bootstrap');R=E.parent;N=str(R/'toolchain/node-v26.12.1-linux-x64/bin/node');B=str(E/'toolkit-latest/bench.mjs');source=str(R/'source')
for fixture in ('returning','fresh'):
 if True:
  for side in 'ab':
   out=E/f'replication-warmup-{fixture}-{side}';out.mkdir()
   binary=R/'artifact-original/linux-unpacked/t3code' if side=='a' else E/'artifact-route-warm-canonical/linux-unpacked/t3code'
   if fixture=='returning':
    (out/'fixtures').mkdir();shutil.copytree(E/'fixture-cold-code/returning',out/'fixtures/returning',symlinks=True,ignore=shutil.ignore_patterns('SingletonLock','SingletonCookie','SingletonSocket'))
   with (out/'controller.log').open('w')as log:subprocess.run([N,B,str(binary),source,str(out),fixture,'2'],stdout=log,stderr=subprocess.STDOUT,check=True)
 root=E/f'replication-{fixture}';root.mkdir(exist_ok=False);rows=[]
 for r in range(20):
  pair={'round':r}
  for side in ('ab'if r%2==0 else'ba'):
   out=root/f'{r:03}-{side}';sample=out/'samples.jsonl'
   if not sample.exists():
    out.mkdir(exist_ok=True)
    if fixture=='returning':
     (out/'fixtures').mkdir();shutil.copytree(E/'fixture-cold-code/returning',out/'fixtures/returning',symlinks=True,ignore=shutil.ignore_patterns('SingletonLock','SingletonCookie','SingletonSocket'))
    env={**os.environ,'BENCH_PORT_BASE':str(40000+r*2+(side=='b')),'BENCH_CDP_PORT_BASE':str(41000+r*2+(side=='b'))}
    binary=R/'artifact-original/linux-unpacked/t3code' if side=='a' else E/'artifact-route-warm-canonical/linux-unpacked/t3code'
    with(out/'controller.log').open('w')as log:subprocess.run([N,B,str(binary),source,str(out),fixture,'1'],stdout=log,stderr=subprocess.STDOUT,env=env,check=False)
   pair[side]=json.loads(sample.read_text().strip())
   if pair[side].get('profiled'):raise SystemExit('unexpected profile')
  rows.append(pair)
  (root/'pairs-complete.jsonl').write_text(''.join(json.dumps(row)+'\n'for row in rows))
  print(f'{fixture} pair {r} retained errors '+str({s:bool(pair[s].get('error'))for s in 'ab'}),flush=True)
subprocess.run(['sha256sum',str(R/'artifact-original/linux-unpacked/t3code'),str(R/'artifact-original/linux-unpacked/resources/app.asar'),str(E/'artifact-route-warm-canonical/linux-unpacked/t3code'),str(E/'artifact-route-warm-canonical/linux-unpacked/resources/app.asar'),B,str(E/'toolkit-latest/pairs.py')],stdout=(E/'replication-sha256.txt').open('w'),check=True)

Original commands, run/resume scripts and artifacts remain in full20-results.tar.gz. Replication logs, scripts, harness source, hashes, warmups and raw samples remain in replication-results.tar.gz. Combined exact samples are replication-all-attempts.jsonl and full derived statistics are replication-analysis.json. No native macOS or Windows timing claim. PostPlan uses fallback black and white because the active host theme could not be read.