# Lappy v0.7.0 — sessions and VBO export

**Superseded candidate — do not install this original binary.** Physical testing found an internal-memory startup failure. Use [v0.7.0+hw1](RELEASE_NOTES_v0.7.0+hw1.md), which contains the hardware memory corrections and passed the no-Dragy Wi-Fi bench. The text below records the original software-only candidate scope.

v0.7.0 adds automatic circuit/P2P session archives and phone downloads over an on-demand Wi-Fi network. This is a software-validated release candidate; it has not been installed on a physical Lappy or accepted on an iPhone/Android device.

## Owner workflow

1. Use Track normally with a healthy FAT SD card. Arming starts a session; disarming, finishing a P2P run, or an invalidating timing fault closes it. Circuit laps remain in one session until timing ends. Course reconnaissance is also archived; resuming creates a separate session.
2. Open **Settings → Diagnostics → SESSIONS**. **STOP & SAVE** explicitly disarms Track/Drag and stops an active course recording. Wait for the session save to complete.
3. Tap **START WI-FI**. Active Track, Drag, course recording, or a pending session save prevents transfer mode from starting. Recording and Dragy resume/pair selection are blocked until transfer mode ends.
4. Join the displayed `Lappy-…` network using its temporary password. Stay connected when the phone reports that the network has no internet.
5. Open **http://192.168.4.1** in the phone browser. Save a VBO, session JSON, or original session archive to the phone's Files/Downloads. The page has no external assets or internet requirement.
6. Tap **STOP WI-FI** on Lappy, or let the ten-minute inactivity timeout stop transfer mode. Lappy restores the prior Dragy pause state. Reconnect the phone to its usual network before using an overlay website with separately recorded video.

**Archive** in the phone page requires a named confirmation and hides the session reversibly. It retains the `.archived` original on the SD card; it does not free that space. There is no automatic deletion or retention purge.

## Data and compatibility

- Dedicated `/sessions/s-XXXXXXXX-XXXXXXXX.lps` files contain explicit, CRC-protected records. Original `.lpr` captures, Track result journals, course files, PB/reference formats and NVS keys remain intact.
- Samples are recorded at the received rate, with bounded queues and one-second/25-sample commit batches. Export keeps valid position/UTC samples without decimation, interpolation or filling missing sections. Duplicate/backward UTC is omitted. Quality counters and recovery status accompany the data.
- VBO includes satellites, receiver UTC, latitude/longitude in VBO minutes with west-positive longitude, speed in km/h, heading and MSL height. The manual display clock is never substituted for UTC. No VBO is offered when no usable GPS position/UTC pair exists.
- JSON retains Lappy's full native timing results, course identity/revision and quality information. VBO alone does not guarantee that an external tool reproduces Lappy's exact laps, sectors or P2P interpretation. No video, OBD, RPM, throttle, or measured IMU channels are invented.
- Existing pre-v0.7.0 `.lpr` captures are retained and remain readable by the existing tools. They are not automatically migrated into the new session catalog.
- No phone USB, USB mass-storage, DLAP, cloud service, OTA, or companion app is added. Existing computer USB console/updater/recovery remain supported.

## Validation and acceptance

Host tests cover one hour at 25 Hz, circuit/P2P data, exact native timing values, UTC/midnight/hemisphere conversion, duplicate/gap handling, truncated recovery, failed writes, queue saturation, pagination, path rejection and concurrent transfer exclusion. Real Track/Drag adapters are exercised with the archive service. The embedded phone page was checked at 390 px width using synthetic sessions and a byte-identical VBO download.

Generated VBO channels were read successfully by the locally retained laptimer.com parser reviewed on 2026-10-28. This is not a full current-site video-overlay acceptance test.

Before installation is considered field-accepted, verify Wi-Fi start/stop and memory watermarks on V2, long SD captures, phone downloads on iOS/Android, interruption/retry/shutdown, and a real video-overlay workflow. See [architecture](SESSION_EXPORT.md) and [implementation/validation](IMPLEMENTATION_v0.7.0.md).
