Record the pass that beat the bands with a clamp

No constant sits in both bands, which is true and is not the rule. A wait that
caps itself at a second passes every scenario, and capping a wait so shutdown
gets noticed is the most ordinary way that line will ever be written. An offset
and a scale survive beside it.

A fresh Windows clone also cannot run the documented Linux path at all, because
nothing tells git to leave shell scripts alone and the container dies on a
carriage return in the interpreter line. The mount fix works; this sat behind
it.

The equivalence holds, but on two premises nobody had written down, and
narrowing both wakes survives while being equivalent to nothing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-09-17 02:36:37 +02:00
commit 367c9bc2b8

View file

@ -437,9 +437,63 @@ answer was an argued equivalence rather than a swap.
Named limits: the 600 ms mutant lives only in the report; `payloadfit` and
`polltimeout` run only in the assertion configuration, so the pop-before-copy
kill rests on an unsanitized crash and an exit code rather than an
address-sanitizer configuration the harness still lacks. **Fifth Soul pass in
flight**, asked to settle the rules question and to test the two-band argument
against a mutant that scales or derives its wait rather than replacing it.
address-sanitizer configuration the harness still lacks. **Soul's fifth pass, 2026-09-17** (Opus). Both targets reproduced end to end
from a fresh clone at a different path. **Cut 3 still does not close, and for
the same underlying reason in a third costume: the scenario proves the wait is
not a constant, not that it is the host's.**
- **F1, confirmed, high: an expression defeats the two-band argument.** No
constant sits in both bands, which is true and is not the rule. Any mapping
that is identity at 200 and 900 passes for free, and the late tolerance is a
flat 300 ms. Three mutants, each run through all five Windows scenarios, all
**survived all five**: clamping the wait to at most a second, adding 150 ms,
and scaling by six fifths. **The clamp is the one that matters**, because its
failure is verbatim the bug this batch claims to fix — a host asking for five
seconds gets one, forever, with nothing reporting it — and "cap the wait so
shutdown gets noticed" is the most ordinary spelling that line will ever be
given. The close is cheap: raise the long probe above any plausible ceiling,
which kills the clamp and the scale, and make the tolerance proportional
rather than flat, which kills the offset.
- **F2, confirmed, medium: a Windows clone cannot run the documented Linux
path at all.** `.gitattributes:2` is `* text=auto` with no rule for shell
scripts, so a default Windows clone writes the build script with carriage
returns and the container dies in under a second complaining about the
interpreter line. Soul hit it from a clean clone before anything else ran.
The mount fix works; this is a second, independent blocker on the same
documented path, and it fires for the likeliest newcomer. One line repairs
it.
- **F3, confirmed, low: the only non-comment source change in the range is
pinned by nothing.** Reverting the hold's new guard survived all five
scenarios, because the timeout scenario never arms the hold and the other two
never let a timeout expire, so nothing is ever in both states at once. The
seam folds away in release, so nothing shipped is at risk; it is the
recurring shape again.
**The declared equivalence holds, and its stated reason was the weaker half.**
Narrowing the close's wake to one waiter is genuinely equivalent, reproduced.
But the equivalence rests on two premises together: the closing flag is set
permanently under the gate before the notify and appears in every waiter's
predicate, so after a close begins no poller can block at all; and each exiting
call's own destructor takes the gate, decrements and wakes everyone, cascading.
Soul then narrowed **both** wakes, which also survived and **is not equivalent
by any argument**, since a notify consumed by the closer stalls the chain. It
passes on wait-queue ordering alone. The premises belong beside the entry so
the claim is checkable rather than assertable.
**Held:** Linux 18 killed and Windows 16 with two honest skips, both
reproduced; 600 ms dying to the new scenario and surviving the older two;
the closed-port probe reaching the two-phase poll and both pop-before-copy
entries dying on both targets; the release shape clean on both, with the new
local folding away. **The red-control path proved itself unasked** — a run
from a deep temporary path failed MSBuild's file tracker, and the harness
reported a red control with the child's output rather than banking eighteen
kills it had not earned.
**Two record corrections.** The source digest quoted in the previous report is
checkout-dependent, because line-ending conversion changes it; Soul's clone
restored to a different one. It is not a portable identity. And the Windows
harness needs a short checkout path or the control fails on the file tracker,
which belongs where a newcomer meets it. **Fifth fix batch in Hands.**
**Cut 1 Soul findings, 2026-09-16.** Held: every test count, both negative
greps, all twelve mutations rerun and killed, the control catching a