Files
archipelagoandClaude Fable 5 43a26c9784 test(lifecycle): make the electrumx suite sync-aware instead of sync-destroying
Two problems with running the gate against a mid-initial-sync electrumx:

1. The (now honest) protocol probe can only fail — ElectrumX serves no
   sessions until it has caught up to its daemon, so the failure names a
   state nobody can act on.
2. Worse, the destructive stop/start/restart tests actively destroy sync
   progress: electrumx flushes its DB cache at 1GB, i.e. rarely, and every
   restart discards all unflushed work back to the last flush. This node
   spent 8d14h in initial sync largely because gate runs and reboots kept
   taking hours of progress away — it restarted at 06:16 and resumed from
   959,774, the same height it had reported hours earlier.

The suite now detects initial sync POSITIVELY — a fresh (<30 min)
"our height: N daemon: M" line from electrumx's own log, gap > 10 — and
skips the probe and the four destructive tests with the gap named:

  # skip electrumx initial sync in progress (1672 blocks behind) — ...

This is not the container-absent skip trap fixed earlier: absence of the
log line means "unknown" and the tests run and fail honestly. Validated
against the live mid-sync node: all four guards fired with the real gap;
on a synced node the line shows gap 0-1 and everything runs.

Unblocks the release gate from waiting hours on a sync it was itself
prolonging.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 07:03:31 -04:00
..