# PR 24949 isolated running-server proof

Before: `9296c20e82cef89371e2a4fb433f31c314384261`
After: `de68dbb1e55355950669fbb33a67aa0f6e2a8c8e`
Merge-base: exact before SHA. No source edits were made during evidence capture.

| Observation | Before | After |
| --- | --- | --- |
| Real running server; fresh isolated home, no seeding | PASS | PASS |
| D/A/K: two completed fixture-provider turns each | PASS | PASS |
| Ready checkpoints per thread (baseline + two turns) | 3 each | 3 each |
| Hidden refs before deletion | 9 | 9 |
| Archive A leaves every ref/object ID unchanged | PASS | PASS |
| D deletion committed in SQLite | PASS | PASS |
| Durable checkpoint.cleanup outbox row | None | Present |
| Actual D ref lock forces cleanup failure | No cleanup attempted | Pending retry; git exit 128 |
| Restart same SHA/home with owned lock retained | Not applicable | PASS; retry observed after restart |
| Remove owned lock; cleanup succeeds | Not applicable | PASS, attempt count 4 |
| Final D hidden refs | 3 retained (bug reproduced) | 0 |
| Final A/K hidden refs and object IDs | All 6 unchanged | All 6 unchanged |

Fixture scope: supported local ACP command configuration runs the repository's existing acp-mock-agent.ts. These are fixture-provider turns, not commercial-model inference. All checkpoint capture, deletion, Git operations, persistence, outbox execution, and restart happen through the real server. No refs or events were manually injected.

See transcript.txt for exact launch arguments, captured PIDs, thread IDs, ready checkpoints, git ref/object stdout, committed deletion, and retry states. The harness is retained locally as proof.ts. No live user data was accessed.
