During #182 focused validation, LocalBridgeClientTests.FullResolutionScreenPairIsComparedOrRejectsInvalidHalfBeforeDecode(nativeCase: "valid") failed at line 61: expected Rendered.Status=captured, observed unavailable. The controlled IPC fixture supplies matching valid 3840x2160 PNGs; the test took 7 seconds. Exact first evidence is retained in artifacts/agent-qa/expanded-campaign/startup-diagnostics.log and the final TRX for that run. Current source is b90ca39 plus the #182 IPC diagnostic/readiness changes; the screen processing code is unchanged.
CaptureScreenAsync compares the complete frames before saving either, sharing a request.TimeoutMs=5000 processing deadline. CompareScreenFrames uses per-pixel GetPixel calls; if it consumes that budget, Save sees cancellation and drops both already captured frames. The failure message currently hides whether cancellation, decode or filesystem caused Save to fail. The original failed result did not retain that distinction, so comparison budget exhaustion remains a hypothesis until measured/controlled reproduction.
Acceptance:
- Retain the original failure and add bounded stage/reason/timing evidence without image contents.
- Reproduce a comparison deadline or actual failing save cause; preserve already acquired valid evidence when optional comparison cannot complete, with explicit timeout/partial status and bounded caller cancellation.
- Compare every applicable pixel at 3840x2160 in the successful case; preserve dimension/byte/overflow/privacy guards. Do not shrink the tested image or simply raise all timeouts.
- Validate meaningful regression plus native paired captures through CLI/MCP; preserve exact unavailable-platform gaps.
Queued behind the sole active #182, with #172/#173/#174 expansion still unfinished. No release/publication.
During #182 focused validation, LocalBridgeClientTests.FullResolutionScreenPairIsComparedOrRejectsInvalidHalfBeforeDecode(nativeCase: "valid") failed at line 61: expected Rendered.Status=captured, observed unavailable. The controlled IPC fixture supplies matching valid 3840x2160 PNGs; the test took 7 seconds. Exact first evidence is retained in artifacts/agent-qa/expanded-campaign/startup-diagnostics.log and the final TRX for that run. Current source is b90ca39 plus the #182 IPC diagnostic/readiness changes; the screen processing code is unchanged.
CaptureScreenAsync compares the complete frames before saving either, sharing a request.TimeoutMs=5000 processing deadline. CompareScreenFrames uses per-pixel GetPixel calls; if it consumes that budget, Save sees cancellation and drops both already captured frames. The failure message currently hides whether cancellation, decode or filesystem caused Save to fail. The original failed result did not retain that distinction, so comparison budget exhaustion remains a hypothesis until measured/controlled reproduction.
Acceptance:
Queued behind the sole active #182, with #172/#173/#174 expansion still unfinished. No release/publication.