diff --git a/infra/fast-time/class-v5-signal.mjs b/infra/fast-time/class-v5-signal.mjs index 3ebc4fa8..9406bacf 100644 --- a/infra/fast-time/class-v5-signal.mjs +++ b/infra/fast-time/class-v5-signal.mjs @@ -222,6 +222,11 @@ while (Date.now() - t0 < SECS * 1000) { if (firstV4 != null && daa != null && daa >= (firstV4.epoch + 3) * EPOCH) { endAt = +since(); break; } if (firstV4 == null && daa != null && daa >= EPOCHS * EPOCH) { endAt = +since(); break; } } +// the miners stop before the final read: with every node mining at the fast-time rate a node's own newest block is +// a tip its peers have not seen for a moment, and a read taken while they mine compares sinks mid-propagation (the +// 19:50 UK run of 7 October 2026 read 666/665/665 blocks and two sinks on three agreeing nodes). Their logs stay. +const nodeProcs = new Set(nodes.map(n => n.proc)); +for (const p of started) if (!nodeProcs.has(p)) { try { p.kill('SIGINT'); } catch { } } await sleep(3000); const dag = await Promise.all(nodes.map(async n => { try { return await n.rpc.call('getBlockDagInfo'); } catch (e) { return { error: e.message }; } }));