Review story 2.1: aircraft data model and fetcher passes all ACs
All 5 ACs verified clean: field mapping, safe defaults, timeout propagation, MLAT detection, and FileFixtureFetcher. 64 tests pass, ruff check and format clean. Sprint status updated to done, deferred-work updated with runtime verification note for HttpFetcher on live dump1090. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Story 2.1: Aircraft Data Model & Fetcher
|
# Story 2.1: Aircraft Data Model & Fetcher
|
||||||
|
|
||||||
Status: review
|
Status: done
|
||||||
|
|
||||||
## Story
|
## Story
|
||||||
|
|
||||||
|
|||||||
@@ -83,3 +83,12 @@ Description: `provision.py` calls `app.run(port=80)` which requires root privile
|
|||||||
Story: `1-5-provisioning-execution-tile-download-cache-validation-and-wifi-kill`
|
Story: `1-5-provisioning-execution-tile-download-cache-validation-and-wifi-kill`
|
||||||
Category: Technical debt
|
Category: Technical debt
|
||||||
Description: The `POST /submit` handler is fully synchronous — the browser connection stays open while tile download, airspace download, and cache validation complete (potentially 2–5 minutes). This is acceptable for MVP but a streaming response (using `flask.stream_with_context` or a background thread with server-sent events) would improve UX by allowing the browser to render progress feedback without holding an open connection.
|
Description: The `POST /submit` handler is fully synchronous — the browser connection stays open while tile download, airspace download, and cache validation complete (potentially 2–5 minutes). This is acceptable for MVP but a streaming response (using `flask.stream_with_context` or a background thread with server-sent events) would improve UX by allowing the browser to render progress feedback without holding an open connection.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Story 2.1: Aircraft Data Model & Fetcher
|
||||||
|
|
||||||
|
### [2-1] HttpFetcher live dump1090 runtime verification
|
||||||
|
Story: `2-1-aircraft-data-model-and-fetcher`
|
||||||
|
Category: Runtime verification
|
||||||
|
Description: `HttpFetcher` is tested with mocks only. Live feed at `http://localhost:8080/data/aircraft.json` can only be verified on device with an RTL-SDR dongle connected and dump1090 running. No automated test covers the real HTTP path to dump1090.
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
|
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
|
||||||
|
|
||||||
generated: 2026-04-22
|
generated: 2026-04-22
|
||||||
last_updated: 2026-04-22 # 2-1 story created, epic-2 in-progress
|
last_updated: 2026-04-22 # 2-1 done, epic-2 in-progress
|
||||||
project: planeMapper
|
project: planeMapper
|
||||||
project_key: NOKEY
|
project_key: NOKEY
|
||||||
tracking_system: file-system
|
tracking_system: file-system
|
||||||
@@ -53,7 +53,7 @@ development_status:
|
|||||||
|
|
||||||
# Epic 2: Live Radar Display
|
# Epic 2: Live Radar Display
|
||||||
epic-2: in-progress
|
epic-2: in-progress
|
||||||
2-1-aircraft-data-model-and-fetcher: ready-for-dev
|
2-1-aircraft-data-model-and-fetcher: done
|
||||||
2-2-coordinate-projection-and-base-map-loading: backlog
|
2-2-coordinate-projection-and-base-map-loading: backlog
|
||||||
2-3-home-marker-and-airspace-outlines: backlog
|
2-3-home-marker-and-airspace-outlines: backlog
|
||||||
2-4-altitude-colour-bands-and-aircraft-type-icons: backlog
|
2-4-altitude-colour-bands-and-aircraft-type-icons: backlog
|
||||||
|
|||||||
Reference in New Issue
Block a user