28fb3b0e83
The mid-stream resub pattern (resub1 at events.size==1, resub2 at events.size==5) has four receive() calls between the two subscribe calls. On a slow CI worker that's enough time for resub1 (filtersShouldIgnore, kind 10002 limit 500) to actually reach the relay and start streaming events before resub2 replaces it, so the loop's second EOSE can come from filtersShouldIgnore — which can deliver up to 50 events (the preloaded count for that kind), well past the previous 1..11 bound. Drop the phase-specific count asserts and verify only structural invariants: exactly two EOSEs, the loop stopped on the second, every non-EOSE entry is a valid 64-char id, and the total event count stays within the worst-case envelope. https://claude.ai/code/session_01L4qS7BhX3L7ApiS3HsCozn