Rewrite the lens to one the fixture did not draw (L1 c3.s1.f1)
The illegal-transition pin rewrote the recorded lens to Numen, but its
fixture draws under uniform weights with a random world id, so about one
run in eight the lens was already Numen and assert_ne! failed. The rewrite
now picks Patina when the recorded lens is Numen and Numen otherwise, so
the lens rewrite always differs from the row.
Measured: at ef64008, 3 of 40 runs failed at controllers.rs:10230 with the
recorded lens Numen; after the change, 120 of 120 runs pass.
Test-only; no production code changes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
ef6400884a
commit
f63dfd12fc
1 changed files with 11 additions and 2 deletions
|
|
@ -10136,7 +10136,8 @@ mod tests {
|
|||
}
|
||||
|
||||
/// Row to row, a session is whole: from a persisted in-flight checkpoint,
|
||||
/// a next checkpoint that differs only in the lens, only in the text (with
|
||||
/// a next checkpoint that differs only in the lens (always another lens
|
||||
/// than the recorded one), only in the text (with
|
||||
/// its invocation prepared under that text, so integrity passes and the
|
||||
/// refusal is progression's), or only in the ancestry is refused by the
|
||||
/// real store as an illegal transition. The unchanged checkpoint is
|
||||
|
|
@ -10218,7 +10219,15 @@ mod tests {
|
|||
invocation,
|
||||
}
|
||||
};
|
||||
let lens = rewrite(&|session| session.lens = Lens::Numen);
|
||||
// Another lens than the one the fixture drew, whichever that was: the
|
||||
// fixture draws under uniform weights, so no fixed lens is safe.
|
||||
let lens = rewrite(&|session| {
|
||||
session.lens = if session.lens == Lens::Numen {
|
||||
Lens::Patina
|
||||
} else {
|
||||
Lens::Numen
|
||||
}
|
||||
});
|
||||
let text = with_texts(
|
||||
&checkpoint,
|
||||
"text a later build wrote",
|
||||
|
|
|
|||
Loading…
Reference in a new issue