Version. 0.1 · Date. 2026-08-10 · Author. Claude.ai (drafting) / Marvin Percival (approving).
Target. /Users/dunin7/loomworks-engine, branch main.
Baseline. Engine f338f3f — the first green push run in seven. CC confirms at Step 0.
Companion to. standing-notes/dunin7-build-list-v0_58 (B-84); B-83's entry, which this closes the residue of.
Charter. Autonomous regime. Status. Ready for CC execution, with a read-first Step 1.
test_external_polling::test_concurrent_polls_for_different_specialists failed in 2 of the 6 suite-reaching runs during B-83's investigation — "Expected ≥2 polled events committed before slow poll returns, got 1" — and passed on rerun with no code change. Green locally throughout.
Why this ranks where it does. B-83 made the gate green. It did not make it trustworthy. A test that fails at random means the next red result is ambiguous, and ambiguity is exactly what produced six unsignalled pushes: nobody could distinguish a new failure from the standing one. An intermittently-red gate gets read as noise, and once people learn to rerun rather than read it, it has stopped being a gate.
Read before touching anything. The remedy depends entirely on which of two things is true, and they need opposite fixes:
CC reports which, with the reasoning. If it is (2), halt and report — rewriting a test to assert a different property is a decision about what the system guarantees, not an implementation choice.
Also establish: does anything in production depend on the interleaving this test asserts? If nothing does, the test is pinning an incidental behaviour, and that changes what "fixing" it means.
Widening the timeout is not a fix and must not be taken. It makes the failure rarer without making it impossible, which converts a visible flake into an invisible one — the same trade B-83 just spent six pushes paying for. If the only available remedy is a wider timeout, halt and say so; that is a finding, not a build.
"Retry on failure" is likewise out. A gate that reruns until green is a gate that reports green regardless.
Make the test deterministic — it passes every run or fails every run, and its failure means something.
Observed failing first, per the standing note, with a message naming the invariant. And because this test is already known to fail sometimes, the observation has to distinguish a deliberate break from the flake itself: CC states how it established that the failure it observed was the one it caused.
B-69 applies. External polling is unlikely to touch seed state — record it as Kind C if so. A null finding is an entry.
| Step | What | Mode |
|---|---|---|
| 0 | Pre-flight — confirm baseline, tree clean. | Auto |
| 1 | Read per §2. Report which case, and whether production depends on the interleaving. Halt if case (2). | Auto, conditional halt |
| 2 | Make it deterministic. Halt if the only remedy is a wider timeout. | Auto, conditional halt |
| 3 | Observed failing first, distinguishing the deliberate break from the flake. | Auto |
| 4 | Run the test in a loop — at least 20 iterations — and report the pass count. A single green run is not evidence about a flake. | Auto |
| 5 | Full engine suite; ruff 0; mypy at/below baseline. | Auto |
| A | Checkpoint. | Checkpoint |
| 6 | Tag cr-2026-198-b84-polling-determinism. Push. Watch the CI run and report its result — this CR is about the gate, so its own gate result is part of the evidence. | Auto |
Execute CR-2026-198 v0.1 at ~/Downloads/cr-2026-198-loomworks-b84-
polling-determinism-v0_1.md. Confirm the CR number first.
B-84: test_concurrent_polls_for_different_specialists failed 2 of 6
suite-reaching runs during B-83's investigation and passed on rerun.
B-83 made the gate green; this makes it trustworthy.
Step 1 decides the remedy and the two cases need opposite fixes: either
the property is real and the test's grip is loose, or the property isn't
what the test names. HALT if it's the second — rewriting a test to
assert a different property is a decision about what the system
guarantees.
Also establish whether anything in production depends on the
interleaving this test asserts. If nothing does, it's pinning incidental
behaviour and that changes what fixing it means.
§3 is a hard prohibition: widening the timeout is NOT a fix. It makes
the failure rarer without making it impossible, converting a visible
flake into an invisible one — the trade B-83 just spent six pushes
paying for. If that's the only available remedy, HALT and say so. Same
for retry-on-failure.
Step 3 has a wrinkle worth planning for: this test already fails
sometimes, so observing your deliberate break has to distinguish the
break from the flake. State how you established that.
Step 4: 20 consecutive runs, report the count. One green run is not
evidence about a flake.
Step 6: watch the push CI run and report its result. This CR is about
the gate — assuming its own gate result would be the wrong ending.
DUNIN7 — Done In Seven LLC — Miami, Florida CR-2026-198 — B-84 polling determinism — v0.1 — 2026-08-10