From an adversarial review of the ADR 0083 cascade:
It routed swept machines through sendTo (all-or-nothing), so one swept machine's compose error failed the operator's named push and skipped its --wait — the intolerance the main path exists to avoid (ADR 0066). It now composes them through composeEach, exactly as the named send: a machine that cannot be worked out becomes a refusal in the final report and the rest are still sent. composeEach's tolerance is covered by TestOneUnresolvableNodeStillLetsTheRestBeSent.
The fixed 4-round cap could stop a real cascade short in silence; the loop is now bounded by node count (a node is flushed once, never revisited) and says so if the guard is ever hit.
Scope unchanged (a named push still flushes every machine behind, per ADR 0083). Proven by a green fresh built-store-cross-node run (17).
From an adversarial review of the ADR 0083 cascade:
- It routed swept machines through `sendTo` (all-or-nothing), so one swept machine's compose error failed the operator's named push and skipped its `--wait` — the intolerance the main path exists to avoid (ADR 0066). It now composes them through `composeEach`, exactly as the named send: a machine that cannot be worked out becomes a refusal in the final report and the rest are still sent. `composeEach`'s tolerance is covered by `TestOneUnresolvableNodeStillLetsTheRestBeSent`.
- The fixed 4-round cap could stop a real cascade short in silence; the loop is now bounded by node count (a node is flushed once, never revisited) and says so if the guard is ever hit.
Scope unchanged (a named push still flushes every machine behind, per ADR 0083). Proven by a green fresh built-store-cross-node run (17).
Two robustness fixes to the ADR 0083 cascade, from an adversarial review:
- It routed swept machines through sendTo, which is all-or-nothing — so
one swept machine's compose error failed the operator's named push and
skipped its --wait, the intolerance the main path exists to avoid
(ADR 0066). It now composes them through composeEach, exactly as the
named send does: a machine that cannot be worked out is a refusal in
the final report, and the rest are still sent. composeEach's tolerance
is already covered by TestOneUnresolvableNodeStillLetsTheRestBeSent.
- The fixed 4-round cap could stop a real cascade short in silence. The
loop is now bounded by the node count (a node is flushed once and never
revisited, so it cannot run longer) and says so if the guard is ever
hit, rather than passing over an unfinished cascade quietly.
Scope is unchanged: a named push still flushes every machine left behind,
per ADR 0083 as accepted.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
From an adversarial review of the ADR 0083 cascade:
sendTo(all-or-nothing), so one swept machine's compose error failed the operator's named push and skipped its--wait— the intolerance the main path exists to avoid (ADR 0066). It now composes them throughcomposeEach, exactly as the named send: a machine that cannot be worked out becomes a refusal in the final report and the rest are still sent.composeEach's tolerance is covered byTestOneUnresolvableNodeStillLetsTheRestBeSent.Scope unchanged (a named push still flushes every machine behind, per ADR 0083). Proven by a green fresh built-store-cross-node run (17).