All 10 review criteria pass. No code changes required: implementation
matches spec exactly. Added two deferred-work items for only
requests.Timeout being caught (other fetch errors propagate without
stale marking) and the growing _run_one_cycle signature (RendererState
dataclass suggested for future). 103 tests pass, ruff clean.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When fetch times out or returns empty after prior data, retain last aircraft
with is_stale=True and render them as black outlines so the display stays
informative rather than blank or crashing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>