Add subscription stage snapshot tests covering AC4
This commit includes the subscription stage snapshot tests and fixtures
that exercise the two-connection backfill/live-tail strategy, plus all
fixes identified in Phase 5c code review cycle 2:
C2: Fixed cargo fmt by reformatting overly long lines in subscription.rs
C3: Added LiveTailOutcome::ConnectFailed variant to properly represent
second-connect failures and suppress spurious double-row rendering;
added new test live_tail_connect_failure_emits_network_error
I1: Changed file-level #![allow(dead_code)] in tests/common/mod.rs to
explain why #[expect] cannot be used (per-binary compilation causing
unused-ness variation); removed redundant per-item #[allow] from FakeFrameStream
I2: Removed dead live_tail_connect_failed flag; replaced with
LiveTailOutcome::ConnectFailed enum variant used directly in reporting
M1: Added terminal periods to 9 comments in tests/labeler_subscription.rs
M2: Added empty_stream/.gitkeep to fixtures (already in git)
Snapshot tests:
- backfill_completes_within_budget_passes: 3 frames with idle gap
- backfill_exceeds_budget_triggers_live_tail: 20 frames @ 150ms, exceeds budget
- empty_stream_advisories: no frames in backfill
- malformed_frame_emits_spec_violation: detects invalid CBOR
- error_frame_malformed_payload_spec_violation: error frame with bad payload
- unreachable_endpoint_network_error: first connect fails
- live_tail_connect_failure_emits_network_error: second connect fails (new)
All intermediate commits now pass cargo test individually.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This is a binary file and will not be displayed.
This is a binary file and will not be displayed.
This is a binary file and will not be displayed.
This is a binary file and will not be displayed.
This is a binary file and will not be displayed.