# Precheck receipt — D1/D2, single granted launch (#300)

**Status: CLOSED.** This closes the precheck only. It is **not** an answer to #300's
submission-provenance question and **not** adapter acceptance. No rerun, resume, or battery is
authorized.

| | |
|---|---|
| Plan pin | `6cec8a5c46abfc0f11aebaf559d79b359c9980ba` — `PROVENANCE-PRECHECK-PLAN.md` |
| Granted by | doyle, single-launch window, closed on this receipt |
| Launch | PID **36676**, creation identity `2026-09-12T15:24:16.5359830-07:00` |
| Launched at | `2026-09-12T15:24:16.5476395-07:00` (local, −07:00) |
| Deadline | `2026-09-12T15:27:16.5476395-07:00` (180 s from launch, one clock) |
| Elapsed | **12.8 s** |
| Native exit code | **−1** (consistent with termination rather than self-exit) |
| Kill trigger | `attributed-tool-evidence-recorded`, +12.5 s |
| Termination | `CONFIRMED-EXIT` at trigger, then `ABSENT` at cleanup |
| Residual uncertainty | **none** — no `QUERY-FAILURE`, `EXIT-UNCERTAIN`, or `KILL-UNCONFIRMED` |
| Nonce | `PRECHECK-20260912-152416` |

## Results — recorded narrowly

**D1 = YES, for this one print-mode submission.** `UserPromptSubmit` fired, evidenced by artifacts in
*its own attributed transcript* (new since the pre-launch inventory **and** carrying the nonce):
`hook_additional_context`/`hook_success` with `hookName=UserPromptSubmit`, plus `SessionStart`
artifacts that establish the hook configuration loaded for that spawn independently of D1 itself.
**This is not a universal hook guarantee** — it is one submission, on this host, in this
configuration.

**D2 = YES, for transcript persistence after termination.** An attributed transcript existed on disk
after the process was terminated. **`WINDOW=UNESTABLISHED`**, so **neither mid-turn termination nor
resumability was established** — the earlier phrasing "persisted through mid-turn termination"
overstated it and is withdrawn. Tool-call evidence is a *recording* time; it does not establish the
turn was live at termination. No resume was performed.

**Unexplained, and left unexplained:** the `hook-trace.log` slice for this window contained no entry
attributable to the spawn — only two lines from the live `perri` session. The trace did not roll (the
slice was read under the roll guard and returned clean). No causal conclusion is drawn.

## Evidence directory — full path

```
C:\Users\decid\AppData\Local\Temp\claude\C--Users-decid-Documents-projects-spt-claude-code\19d48c98-d787-4436-90c2-da3f52339ae1\scratchpad\precheck\out
```

That directory is the session scratchpad and is session-scoped, so it is **not** a durable locator on
its own. It is left **untouched**.

## Durable archive — recoverable bytes, not just hashes

```
C:\Users\decid\Documents\projects\spt-claude-code\.claude\reports\2026-09-12-precheck-d1-d2\archive
```

All **18** evidence files were copied there and **verified against the manifest below: 18/18 hash and
length match, 0 mismatches**, 885,793 bytes total. The scratchpad source and the original transcript
were left untouched.

The archive carries a `.gitignore` excluding its own contents: this repo mirrors publicly and the
archived transcript is raw session content that must not ride along. **The bytes are retained locally
and deliberately not committed or mirrored** — this receipt is what is committed.

### SHA-256, size (bytes), name

```
cd565803cf46dcd6174dbbe501068677b7046a73d11787ed9f8c6580b36f5352        83  argv-stub.ps1
781ee2f4cef7bed0f417e9468a48b65a65fa824d1129da5dc851af05dbb8dfaa    524486  hook-trace.1.pre.log
824d60cd70f56a573ca000b1f463d0a8c8d7de3d083470ca8a55f1fb9974f252    219724  hook-trace.pre.log
e1694adcb7efc21fc9709766469dbdbda1088af43e8a428b142c9fd7107bac36    139923  precheck.3886ff4c-0d53-47c6-b780-d6519efdb741.jsonl
9deebbd6d9fb39b2335a68a04d9ad68dcfe8e1856278fe9aee9c365f77a0d765       195  precheck.argv.txt
99c3a88ffee64c47189d16cae71f10db6ae5913f56b4ceb685a9b5d6ec97b970        27  precheck.argvproof.txt
52bcc7a60ab47388668598f7ada40251739fc17ed00dfa7d3d667f83f2bd4dbf       260  precheck.attributed.txt
94c42c7ea38be46565fd3f649692554171bec6413d4e3b4a953eb8e5542f8de8        44  precheck.cleanup.txt
47acd618a9d45e43b901feaf0edae12ffaa1764399fb271bebf55607e9e7d9a5         6  precheck.DONE.txt
16fc68b82da8e6edb22f89bec231b78450071371273b77eff7826aa3c2a2d720       133  precheck.kill.txt
e96d3aa5c4210c981f1cd32e66a9ae73002ff3d9b1f298e1f514f73fc7d8fe8f       111  precheck.killtrigger.txt
cff8836bbd9614170badc646d0aa93190d8e4fd912e8f4a1ac575687d287f7a1       176  precheck.launches.txt
8457a9308164b05b11d714de6c297674a0acf78f2da17fa69a77e27127d73b62        28  precheck.outcome.txt
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855         0  precheck.preexisting.txt
2e8d637f11c42d53f4a5bedfb7cda995398400bafa22e723eb0c41733df6ef47       250  precheck.slugstate.txt
7eb70257593da06f682a3ddda54a9d260d4fc514f645237f5ca74b08f8da61a6         2  precheck.spawn.err
7eb70257593da06f682a3ddda54a9d260d4fc514f645237f5ca74b08f8da61a6         2  precheck.spawn.json
450d2cf726cc6836d74ef7fc6ca495a647c249dfb6ca4c454dc0f2343cf51115       343  precheck.trace.txt
```

`precheck.preexisting.txt` is **0 bytes**: **the scoped pre-launch inventory contained no records.**
That is a statement about the transcripts under this one slug and nothing more — it says nothing about
shared files outside that inventory. `precheck.spawn.json` / `.err` are empty — the child was terminated
before print mode emitted its JSON.

## Retained in place — nothing was deleted

| Artifact | Full path | SHA-256 |
|---|---|---|
| Original transcript (**not** removed) | `C:\Users\decid\.claude-spt\accounts\alt\projects\C--Users-decid-AppData-Local-Temp-claude-C--Users-decid-Documents-projects-spt-claude-code-61a5cd70-a460-42b8-9332-60f6bfe05a40-scratchpad-trust-probe31\3886ff4c-0d53-47c6-b780-d6519efdb741.jsonl` | `e1694adcb7efc21fc9709766469dbdbda1088af43e8a428b142c9fd7107bac36` |
| `WORK` (created empty by this attempt) | `C:\Users\decid\AppData\Local\Temp\claude\C--Users-decid-Documents-projects-spt-claude-code\61a5cd70-a460-42b8-9332-60f6bfe05a40\scratchpad\trust-probe31` | directory, 0 entries |

The evidence copy and the retained original hash **identically** (`e1694adc…`), so the copy is
byte-for-byte the file that was left in place.

## Bounds held

One launch; no retry, resume, interactive fallback, elevation, fleet mutation, or artifact deletion.
No trust or settings write. Ordinary runtime transcript/session bookkeeping in the shared credential
root occurred as ruled acceptable for this one check.
