# D2 admission packet — candidate `2fd7d689`

Author: hertz. Date: 2026-09-13. For doyle (`P7YGE35K`). **Coordination and artifact reads only.**
No PREP launch, no host query, no elevation, no field execution was performed to produce this.

## 1. Frozen subjects

| what | sha256 |
| --- | --- |
| driver `fp-driver-d2.sh` | `2fd7d68952587f121fb4f6cac81dc8fb50b891a5e5160cd0cb2c04216f3c37b3` |
| staging manifest `D2-STAGING-MANIFEST.sha256` | `3d6deb07efee6dbad74f1b1e6b379e14575e0a57215b68f43ae43da35b200880` |

## 2. Exact launch command

```
bash "C:/Users/decid/Documents/projects/spt-core/.spt/preserved/hertz-fp-driver-review/d2/fp-driver-d2.sh"
```

Run **unelevated** — S0a asserts the driver is not elevated and refuses if it is. It takes no
arguments: the run id, evidence root and isolated home are composed inside it.

## 3. Fresh home, and what is preserved

| path | state required at launch |
| --- | --- |
| `…/bundle-r5/fp-home-d2-a2` | **ABSENT.** S0b refuses a pre-existing home rather than truncating it. |
| `…/bundle-r5/fp-home-d2` | **PRESERVED** — the retained failed run's evidence. Not reused, not cleared, not read by this attempt. |
| `…/bundle-r5/fp-run/<timestamp>` | created by the run; one subdir per run |

## 4. Executor availability

liam confirms (07:02:47Z): available as elevated executor for a D2 PREP leg if granted; **same
elevated session as D3** — session `1212783f`, host pid 52832, admin probe yes at 07:02:43Z.
Nothing prepared, nothing launched. The one limit he cannot rule out is the operator closing or
restarting that session, which changes the session id and needs re-confirmation — so **the session
identity is worth re-checking immediately before a grant**, not taken from this line.

## 5. Exclusive-window coordination

- **D3 is CLOSED** (run `20260913T0545Z-hertz`); its window was released, not reassigned, and all
  D3 execution grants are spent. D2 and D3 remain disjoint by your ruling (`WYXUAHYC`).
- **This box is shared** — it hosts the self-hosted runner, and a merge-push re-occupies it minutes
  after a golden. The driver does not assume a quiet box: it gates on CI status and on an
  ancestry-authenticated process census, twice (S0d preflight and S6 immediately before the
  diagnostic), and refuses rather than proceeding if either reads unquiet or invalid.
- **todlando** is holding for the targeted verdict and has nothing in flight against this lane.
- The window must be exclusive for the duration of the experimental budget (300 s from GO) plus the
  cleanup reporting deadline (180 s); preparation (600 s) precedes both and spends no experimental
  time.

## 6. Routing — PREPARED versus GO

| request | audience | elevation | what the receipt must carry |
| --- | --- | --- | --- |
| `prepare` | the **elevated executor** (liam) | `REQUIRED` | whole lines `PREPARED`, `NOT_STARTED`, `executable_sha256=72d30901…`, `capture_sha256=a0e7afbe…` — the hashes **as the executor measures them** |
| `go-authorization` | **doyle (the DRI)** — the request says *THE ELEVATED EXECUTOR MUST NOT ANSWER THIS REQUEST* | `NOT_REQUIRED` | whole lines `GO_AUTHORIZED` and `authorizer=doyle`, plus this request's nonce quoted exactly |

Readiness does not open the window; the window opens only after the DRI's run-and-nonce-bound
authorization, and then only if the preparation deadline has not passed (`prep_check window-open`).
**The identity line is routing and consistency, not authentication** — your decision is the
operational authorization, and the receipt records it rather than creating it.

## 7. Live preflight observations the PREP launch would perform

**These are host reads, and they are what a PREP grant would be authorizing.** All are read-only;
none is elevated; none touches the firewall, a listener or a process.

| step | observation | instrument |
| --- | --- | --- |
| S0a | is this process elevated (assert NOT) | in-process token check |
| S0b | does the isolated home already exist | filesystem |
| S0c | instruments present, and hashed into the evidence | `sha256sum` over `census.ps1`, `runner-census.ps1`, `portfields.ps1`, `d1_render.py`, `d2_capture.ps1`, `d2_validate.py` |
| S0d | **CI status axis** — the five non-terminal statuses on `BigscreenVR/spt-bs-core` | `gh run list --repo … --status <s> --json databaseId,headSha,status,workflowName` (network read) |
| S0d | **process census of this box**, ancestry-authenticated, with its own positive control | `pwsh … runner-census.ps1 -Tag preflight` (Win32_Process read) |
| S0e | subject identity of the source tree | git read |
| S0f | **5470 baseline** — the production guard port's rule/port fields, read before anything can disturb it | `pwsh … portfields.ps1 -Port 5470` (`Get-NetFirewall*` read; the guard rule is READ ONLY in this run) |
| S1 | executable pinned by hash — nothing is built | `sha256sum` of the pinned `spt.exe` |
| S6 | CI + census axes **refreshed** immediately before the diagnostic | as S0d |
| S7 | **pre-setup absence** of the owned pair, with the census's own validity control | `pwsh … census.ps1 -Tag pre-setup-absence` (ActiveStore read) |

After S7 the driver asks for PREPARED, then for your GO. **Nothing in preparation creates,
modifies, elevates or dispatches anything**; the first act that could change host state is the
elevated setup, which is dispatched only after GO.

## 8. Control provenance for 74/74 — retained versus newly exercised

`rig-d2/go-and-silent-controls.sh` `fa1f0bf7…` → `.out` `2706948b…`. The 74 is one file's total,
**not a fresh full-battery run**:

| arms | status |
| --- | --- |
| M, N, O, P, Q, R, S (49 arms) | **retained** — unchanged since their last run against `2fd7d689`; re-executed only because they live in the same file as U and V |
| U (10 arms) | **newly exercised**: u1/u2 relabelled as TIMEOUT results, u1c/u2c the measured wait bound, u3 the in-budget positive control, **u4 new** — accepted receipts, clock crossing the deadline inside `teardown_pin_verify`, `prep_check` exit 8, no `go` |
| V (10 arms) | **newly exercised**: the copied accounting and the v5 source-string assertion are gone; the subject's own final-accounting block is extracted and executed |

Separately and unchanged on this pin: `cleanup-controls.out` **50/50**, `declined-setup-controls.out`
**16/16**. Those two files were not re-run for this step.

## 9. What a PREP grant would still not authorize

The elevated setup, the teardown dispatch, any execution of the reviewed removal instrument, any
process stop or kill, and any field run. Those are separate decisions; this packet is a request for
the preparation leg and the routing that carries it.
