#294 NEXT DISCRIMINATING MEASUREMENT — proposal only, no execution Hertz available; no loaded run authorized/started. IR-96 and IR-97 remain cause-unclassified. Retained diagnostic ed8ecd94, B2 subject PID42784, exchange pull-2: store-init9.130515s; acceptance expiry precedes send-submission entry by1.191840s; decoded matching inbound row registered764us after submission entry. This identifies the stage of THIS expiry, not the cause of the store delay or the original golden failures. Source specimen: .spt/preserved/deployah-294-armB-20260910/todlando-paired-stages.json and B2/events.jsonl. Carried-in0/6/12 cohorts and UNVERIFIED overlap remain attached to cross-run comparisons. Next step is an ISOLATED fresh-store measurement/control, not another loaded suite. Exercise the real ContextStore::open_or_init_in -> BranchStore path against a new explicit temp root; retain a second invocation on that SAME completed root as a branch-coverage control. Do not pre-initialize the first root or alter sync acceptance. A fresh-root success is instrumentation proof only, not reproduction of the9.13s delay. Discriminating records (temporary diagnostic only, same parent monotonic clock): - BranchStore: HEAD existence result, mkdir entry/return, every init/config operation and attempt number, raw status/error, planned backoff and measured sleep. This distinguishes retries/backoff from a slow successful first attempt. - gitrun: command/cwd category and invocation ID; entry; before/after Command::spawn; child PID+birth+image; start of wait; first observed exited status; stdout/stderr join entry/return; final return. Record child output byte counts. No generic second outer timer. - Enable Git's own Trace2 to per-run files only after a small positive-control check shows the installed Git emits expected start/exit and operation records. Keep child durations within their own clock domain; do not align FILETIME/UTC to parent Instant without justified bounds. Trace2 begins inside Git, so it does not measure all work from OS process creation to Git main. - Preserve observer overhead and possible output-file effects as limitations. No broad WMI/ETW dependency is needed to separate parent spawn-call and post-status join intervals. If lifecycle timing cannot be established, do not rename spawn-return-to-status-observed as child execution time. Ranked hypotheses/predictions to test, not claims: 1. Retry/backoff path contributes: a slow sample should show multiple failed init/config attempts and measured backoff within the aggregate. Single-attempt success falsifies retry/backoff as that sample's explanation. 2. Parent spawn call contributes: before/after-spawn interval grows while later intervals do not. This localizes cost to the API call, not specifically process startup, antivirus or scheduler. 3. Work inside Git contributes: child-local Trace2 durations/regions expand with the store bracket. Short traced Git work plus a large parent interval instead leaves pre-Trace2 startup, scheduling and observation gaps unresolved. 4. Parent exit observation/pipe-drain/join contributes: retained parent stages show delay after observed exit or during joins. Do not infer that from child wall time minus the outer bracket. Pinned source inspected: v0.69.0 gitrun.rs:113 (spawn),145 (timeout clock starts AFTER spawn/read-thread setup),146-165 (try_wait+10ms sleeps),167-170 (joins). BranchStore phase/attempt detail identified by read-only scout; verify against the exact diagnostic source before instrumenting. Preserve public error propagation, subprocess/time budgets and cleanup semantics; no fix or suppression. Before ANY loaded follow-up: prove record completeness in the isolated fresh/existing-root pair, publish command/fixture hash and raw traces, set capacity/ownership and per-run identity-safe cleanup, then report the observed discriminating result and proposed single-variable load manipulation to Doyle. A loaded run is not implied by this proposal. Do not repeat the ArmB between-run residue deviation.