From b2b55ac11bb5ea11db525db43f5ac715cdf83c67 Mon Sep 17 00:00:00 2001 From: Matt Edholm Date: Wed, 22 Apr 2026 22:42:20 -0400 Subject: [PATCH] Review story 1.3: WiFi hotspot and captive portal form passes all ACs Co-Authored-By: Claude Sonnet 4.6 --- ...-3-wifi-hotspot-and-captive-portal-form.md | 2 +- .../implementation-artifacts/deferred-work.md | 19 +++++++++++++++++++ .../sprint-status.yaml | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/_bmad-output/implementation-artifacts/1-3-wifi-hotspot-and-captive-portal-form.md b/_bmad-output/implementation-artifacts/1-3-wifi-hotspot-and-captive-portal-form.md index 142fe13..5d8584a 100644 --- a/_bmad-output/implementation-artifacts/1-3-wifi-hotspot-and-captive-portal-form.md +++ b/_bmad-output/implementation-artifacts/1-3-wifi-hotspot-and-captive-portal-form.md @@ -1,6 +1,6 @@ # Story 1.3: WiFi Hotspot & Captive Portal Form -Status: review +Status: done ## Story diff --git a/_bmad-output/implementation-artifacts/deferred-work.md b/_bmad-output/implementation-artifacts/deferred-work.md index f4550c3..dba47f4 100644 --- a/_bmad-output/implementation-artifacts/deferred-work.md +++ b/_bmad-output/implementation-artifacts/deferred-work.md @@ -21,3 +21,22 @@ Description: Entry points verified on host (Pi 5, Linux). Full AC1 verification ## Story 1.2 review — no new deferred items Story `1-2-configuration-read-write-wipe` reviewed 2026-04-22. All 4 ACs pass, all 7 tests pass, ruff check and format clean. No deferred items required: `config.write()` already handles directory creation via `mkdir(parents=True, exist_ok=True)`, so deployment to a fresh device with no `/etc/planemapper/` directory is covered at runtime. + +--- + +## Story 1.3: WiFi Hotspot & Captive Portal Form + +### [1-3] hostapd and dnsmasq system packages +Story: `1-3-wifi-hotspot-and-captive-portal-form` +Category: Infrastructure/environment +Description: `hostapd` and `dnsmasq` require system packages installed on the Pi; AP mode requires `wlan0` in AP-capable state. Cannot be verified without hardware. + +### [1-3] Captive portal device testing +Story: `1-3-wifi-hotspot-and-captive-portal-form` +Category: Runtime verification +Description: Actual captive portal detection behaviour (iOS/Android/Windows triggering) requires physical device testing. Automated tests confirm redirect routes are correct but cannot simulate OS-level captive portal probe behaviour. + +### [1-3] Provisioning loop placeholder +Story: `1-3-wifi-hotspot-and-captive-portal-form` +Category: Infrastructure/environment +Description: `provision.py` provisioning loop currently exits after one iteration (placeholder `provisioned = True`) — full sequence wired in Story 1.5. diff --git a/_bmad-output/implementation-artifacts/sprint-status.yaml b/_bmad-output/implementation-artifacts/sprint-status.yaml index 5261df1..99bbe89 100644 --- a/_bmad-output/implementation-artifacts/sprint-status.yaml +++ b/_bmad-output/implementation-artifacts/sprint-status.yaml @@ -46,7 +46,7 @@ development_status: epic-1: in-progress 1-1-project-scaffold-and-verified-entry-points: done 1-2-configuration-read-write-wipe: done - 1-3-wifi-hotspot-and-captive-portal-form: review + 1-3-wifi-hotspot-and-captive-portal-form: done 1-4-location-resolution-icao-and-address: backlog 1-5-provisioning-execution-tile-download-cache-validation-and-wifi-kill: backlog epic-1-retrospective: optional