chore: initial commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# ADR 0003: LAN User Configuration Transport and Lifecycle
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
|
||||
The browser-based birth-profile workflow previously depended on Web Bluetooth
|
||||
and an externally hosted page. It must instead run from the ESP32 and be
|
||||
reachable by devices on the same local network.
|
||||
|
||||
## Decision
|
||||
|
||||
- Remove the BLE provisioning transport and Web Bluetooth utility.
|
||||
- Retain the existing `TQ-EYE` SoftAP portal only for initial Wi-Fi setup.
|
||||
- `platform` owns a bounded raw HTTP server contract, socket worker lifecycle,
|
||||
mDNS publication, request limits, and deterministic stop fallback.
|
||||
- `domain` owns the embedded page, `/api/profile` and `/api/fortune` semantics,
|
||||
validation, persistence calls, and mapping to platform HTTP types.
|
||||
- `control_plane` starts the domain web service while STA is connected, stops
|
||||
it on disconnect or runtime shutdown, and retries start after reconnect.
|
||||
- The service is plain HTTP without authentication and is intended only for a
|
||||
trusted LAN. It is advertised as `tq-cat.local` and logs the DHCP address.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Browsers no longer need Web Bluetooth support or a separately hosted page.
|
||||
- User information is readable and writable by any client on the same LAN.
|
||||
- SoftAP and LAN pages remain separate, so the vendored Wi-Fi portal does not
|
||||
need project-specific user-profile semantics.
|
||||
- A future authentication or HTTPS requirement needs a separate decision and
|
||||
credential lifecycle design.
|
||||
Reference in New Issue
Block a user