Commit Graph

9 Commits

Author SHA1 Message Date
Matt Edholm be32469284 review(2-4): pass story 2-4 — altitude colour bands & aircraft type icons
All 7 ACs verified. No code fixes required: boundary logic (<=), category
map, callsign prefix guard, altitude fallback thresholds, empty-category
guard, and type annotations are all correct. 89/89 tests pass, ruff clean.

Added two deferred items: hardcoded _AIRLINE_PREFIXES subset and A-category
military aircraft misclassification. Story and sprint-status marked done.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 23:23:37 -04:00
Matt Edholm 2ba3d03c96 Review story 2.3: home marker and airspace outlines passes all ACs
All 10 review criteria pass without any code fixes required. Two tech-debt
items added to deferred-work: non-Polygon geometry types silently skipped
(intentional for MVP) and null-geometry GeoJSON features would raise
AttributeError (acceptable for controlled OpenAIP input).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 23:17:42 -04:00
Matt Edholm 34e3736c10 Review story 2.2: coordinate projection and base map loading passes all ACs
All 10 review criteria pass without fixes. Deferred two tech-debt items
(equirectangular distortion at high latitudes, missing dimension assertion
in basemap.load()). Story and sprint-status marked done.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 23:12:14 -04:00
Matt Edholm 2fdb58c516 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>
2026-04-22 23:04:44 -04:00
Matt Edholm 9c53ccb524 Review story 1.5: provisioning execution passes all ACs — Epic 1 complete
Fix portal.py error handling so validate_cache failures return retry HTML while
kill_wifi ProvisioningError propagates (re-raise) per AC4. All 56 tests pass.
Update sprint-status.yaml: 1-5 → done, epic-1 → done. Append story 1.5 deferred
items to deferred-work.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 22:57:55 -04:00
Matt Edholm 6216e933a6 Review story 1.4: location resolution passes all ACs
All 5 ACs verified: ICAO lookup via importlib.resources, Nominatim
geocoding with User-Agent and timeout, exact error messages, mocked
HTTP in tests, portal POST /find-location returns 200 on success and
error. 45 tests pass, ruff clean. Sprint status updated to done.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 22:48:02 -04:00
Matt Edholm b2b55ac11b Review story 1.3: WiFi hotspot and captive portal form passes all ACs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 22:42:20 -04:00
Matt Edholm c08ec9fc89 Review story 1.2: config read/write/wipe passes all ACs
All 4 ACs verified, 7 tests pass, ruff clean. No issues found.
Story status updated to done; no new deferred items.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 22:36:37 -04:00
Matt Edholm f3e6586a7a Review story 1.1: project scaffold passes all acceptance criteria
Fix ruff import-boundary enforcement: replace stray TID252 ignore with
proper TID251 banned-api rule so `planemapper.main` cannot import from
`planemapper.provisioning.*`. Add deferred-work.md. Advance sprint
status 1-1 → done.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 22:30:01 -04:00