Skip to content

Commit 5daab8d

Browse files
committed
test(service-automation): record the measured ablation ledger (#14333)
The REVERT-PROOF block carried a predicted 5 red / 6 green. Measured on the committed tree, with the mutation confirmed on disk by anchored counts and the blob hash, it is 4 red / 4 green — with the failing values named case by case, so the ledger describes the file that exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AUF1NoViznQK32gqpK8wS8
1 parent d9282c3 commit 5daab8d

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

packages/services/service-automation/src/concurrent-replica-resume-race.test.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,27 @@
4747
*
4848
* ## REVERT-PROOF
4949
*
50-
* Delete the `claimAdvance` call from `resumeInternal` (resume unconditionally
51-
* through `forgetSuspendedRun`, as before this card) and this file goes
52-
* 5 red / 6 green — measured, not predicted, and recorded in the PR body with
53-
* the mutation's on-disk proof.
50+
* Replace the `claimAdvance` call in `resumeInternal` with the unconditional
51+
* `await this.forgetSuspendedRun(run, 'resumed')` it had before this card, and
52+
* this file goes 4 red / 4 green — measured on the committed tree, not
53+
* predicted, with the mutation confirmed on disk by anchored counts and the
54+
* blob hash (recorded in the PR body):
55+
*
56+
* - `SHAPE A` → `[ 'notify', 'notify' ]` where `[ 'notify' ]` is correct: the
57+
* action fired twice, which is the doubled side effect this card is about.
58+
* - `SHAPE B` → the same, for the automated-approve shape.
59+
* - `SIZED` → `{ trials: 25, doubled: 25, extraOpens: 25 }`: every raced run
60+
* advanced twice, and opened its next approval level a second time.
61+
* - the declared-degradation case → no `warn` at all, because the seam that
62+
* emits it is the one the mutation removes.
63+
*
64+
* The four that stay green are the ones that must: the sequential single-
65+
* approver control (the shape the report called not obviously reachable), both
66+
* single-replica controls (the in-process `resuming` guard is untouched), and
67+
* the no-store control. A fix that moved the defect instead of removing it
68+
* would take one of those with it. `multi-replica-resume-staleness.test.ts`
69+
* stays 8/8 green under the same mutation — it pins the SEQUENTIAL half, and
70+
* this change does not touch it.
5471
*/
5572

5673
import { describe, it, expect } from 'vitest';

0 commit comments

Comments
 (0)