docs(release): record 0.1.5 validation
This commit is contained in:
parent
246e47ee8f
commit
8f8b361915
4 changed files with 36 additions and 3 deletions
|
|
@ -36,7 +36,7 @@ Programs. Sessions → Programmes remains the technical administration/import,
|
||||||
list, detail, archive, and delete surface.
|
list, detail, archive, and delete surface.
|
||||||
Web Exercises administration, the factual Dashboard/Analyse read model, and the
|
Web Exercises administration, the factual Dashboard/Analyse read model, and the
|
||||||
synchronized Sleep Diary workspace are the stable v0.1.4 baseline. Version
|
synchronized Sleep Diary workspace are the stable v0.1.4 baseline. Version
|
||||||
0.1.5 development now has validated persistent CYCPLUS acquisition, the global `♥ BPM` indicator, training exercise timestamps, one-tap Android Sleep capture, dedicated synchronized `cardio` sessions, versioned measured Cardio calibration, fresh-signal BPM-guided phases and factual Web heart-rate timelines in History/Sleep; complete 0.1.5 validation is the current implementation cursor.
|
0.1.5 development now has validated persistent CYCPLUS acquisition, the global `♥ BPM` indicator, training exercise timestamps, one-tap Android Sleep capture, dedicated synchronized `cardio` sessions, versioned measured Cardio calibration, fresh-signal BPM-guided phases and factual Web heart-rate timelines in History/Sleep; software validation is complete; private-device visual review is the current implementation cursor.
|
||||||
|
|
||||||
## Releases
|
## Releases
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,8 @@ parallel implementation of its rules.
|
||||||
| Cardio calibration | `TRAINLOG_CARDIO_CALIBRATION_V1=PASS`: reserved system Calibration cardio exercise, real measured observed peak, ≥3 min recovery with bounded +1/+2/+3 min factual samples, immutable profile and Android→desktop calibration companion |
|
| Cardio calibration | `TRAINLOG_CARDIO_CALIBRATION_V1=PASS`: reserved system Calibration cardio exercise, real measured observed peak, ≥3 min recovery with bounded +1/+2/+3 min factual samples, immutable profile and Android→desktop calibration companion |
|
||||||
| Cardio BPM guidance | `TRAINLOG_CARDIO_BPM_GUIDANCE_V1=PASS`: absolute/calibration-derived immutable BPM targets, 2 BPM hysteresis, 3 s confirmation, stale-signal suspension, durable phase/condition history, Android live guidance UI and strict Android→desktop `trainlog-cardio-guidance` V1 sync |
|
| Cardio BPM guidance | `TRAINLOG_CARDIO_BPM_GUIDANCE_V1=PASS`: absolute/calibration-derived immutable BPM targets, 2 BPM hysteresis, 3 s confirmation, stale-signal suspension, durable phase/condition history, Android live guidance UI and strict Android→desktop `trainlog-cardio-guidance` V1 sync |
|
||||||
| Cardio Web visualization | `TRAINLOG_CARDIO_WEB_VISUALIZATION_V1=PASS`: one bounded factual heart-rate timeline read model/HTTP endpoint powers Web History and Sleep with raw BPM/RR, real session/exercise/Sleep markers, guided targets/instructions and calibration facts; no sleep-stage or medical inference |
|
| Cardio Web visualization | `TRAINLOG_CARDIO_WEB_VISUALIZATION_V1=PASS`: one bounded factual heart-rate timeline read model/HTTP endpoint powers Web History and Sleep with raw BPM/RR, real session/exercise/Sleep markers, guided targets/instructions and calibration facts; no sleep-stage or medical inference |
|
||||||
| Current operational cursor | `TRAINLOG_0_1_5_VALIDATION_V1`: complete Android/native/Web regression, migration, package, sync/replay and private-device smoke validation before any stable release decision |
|
| 0.1.5 validation | `TRAINLOG_0_1_5_VALIDATION_V1=SOFTWARE_PASS / DEVICE_VISUAL_PENDING`: complete native 111/111, Android 300 tests (295 pass + 5 historical skips), Web 183/183 + typecheck/build, vc43 in-place private update with schema v31/integrity/data preservation and live CYCPLUS 94–95 BPM foreground capture validated while locked |
|
||||||
|
| Current operational cursor | `TRAINLOG_0_1_5_DEVICE_VISUAL_REVIEW_V1`: unlock the private phone and visually smoke-test the Android Sommeil, Calibration cardio and active guided-cardio presentation before any stable release decision |
|
||||||
| Complete synchronization gap contract | Frozen dependency contract; operational USB/Drive slices required by v0.1.2 are delivered |
|
| Complete synchronization gap contract | Frozen dependency contract; operational USB/Drive slices required by v0.1.2 are delivered |
|
||||||
| Isolated synchronization test environment | `TRAINLOG_SYNC_TEST_ENV_V1=PASS/FROZEN` |
|
| Isolated synchronization test environment | `TRAINLOG_SYNC_TEST_ENV_V1=PASS/FROZEN` |
|
||||||
| Synchronization characterization | `TRAINLOG_SYNC_CHARACTERIZATION_V1=PASS/FROZEN` |
|
| Synchronization characterization | `TRAINLOG_SYNC_CHARACTERIZATION_V1=PASS/FROZEN` |
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ sensor. Heart-rate ingestion must not reuse or overload the frozen Trainlog
|
||||||
Bluetooth synchronization transport contract.
|
Bluetooth synchronization transport contract.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
CURRENT_OPERATIONAL_CURSOR=TRAINLOG_0_1_5_VALIDATION_V1
|
CURRENT_OPERATIONAL_CURSOR=TRAINLOG_0_1_5_DEVICE_VISUAL_REVIEW_V1
|
||||||
```
|
```
|
||||||
|
|
||||||
The focused `TRAINLOG_SYNC_CAUSAL_DELETE_V1_CLOSEOUT` is complete before this
|
The focused `TRAINLOG_SYNC_CAUSAL_DELETE_V1_CLOSEOUT` is complete before this
|
||||||
|
|
|
||||||
|
|
@ -1862,3 +1862,35 @@ test covers valid empty GET, bad context rejection and GET-only semantics. The
|
||||||
2026-09-23 closeout passes the complete native inventory **111/111** and the
|
2026-09-23 closeout passes the complete native inventory **111/111** and the
|
||||||
complete Web inventory **29 files / 183 tests**; Web typecheck and production
|
complete Web inventory **29 files / 183 tests**; Web typecheck and production
|
||||||
build also succeed.
|
build also succeed.
|
||||||
|
|
||||||
|
## Trainlog 0.1.5 complete validation
|
||||||
|
|
||||||
|
`TRAINLOG_0_1_5_VALIDATION_V1=SOFTWARE_PASS / DEVICE_VISUAL_PENDING` closes the
|
||||||
|
complete software regression after Cardio Web visualization. The native Meson
|
||||||
|
inventory passes **111/111**. Android reports **300 JVM tests: 295 passed, five
|
||||||
|
historical/external skips, zero failures/errors**, and `assembleDebug`
|
||||||
|
succeeds. Web passes **29 files / 183 tests**, TypeScript typecheck and the
|
||||||
|
production Vite build.
|
||||||
|
|
||||||
|
The authorized SM_G990B was backed up before the final private candidate. The
|
||||||
|
pre-update `trainlog-android.db` was copied while the app was force-stopped and
|
||||||
|
verified at 1,892,352 bytes. Private Trainlog 0.1.5 advanced in place from
|
||||||
|
versionCode 42 to versionCode 43 using the exact same Android debug signing
|
||||||
|
certificate; `adb install -r` succeeded without uninstall or data clear.
|
||||||
|
|
||||||
|
Before and after vc43, the Android store remained schema v31 with identical
|
||||||
|
high-level business counts: 12 completed sessions, 45 catalogue exercises and
|
||||||
|
2 Sleep Diary entries. The four cardio-guidance tables are present after the
|
||||||
|
update, `PRAGMA integrity_check` returns `ok`, and
|
||||||
|
`PRAGMA foreign_key_check` returns no row.
|
||||||
|
|
||||||
|
The locked-device background smoke test confirms both Trainlog foreground
|
||||||
|
services remain alive. `HeartRateSensorService` continued receiving the real
|
||||||
|
CYCPLUS H2 and exposed 94 then 95 BPM through its foreground notification while
|
||||||
|
the phone was dozing, proving the final candidate still acquires live heart
|
||||||
|
rate without requiring the activity to remain visible.
|
||||||
|
|
||||||
|
The phone was locked during the final UI probe, so the visual smoke test of
|
||||||
|
Sommeil, Calibration cardio and active guided-cardio presentation remains
|
||||||
|
`DEVICE_VISUAL_PENDING`. No stable `v0.1.5` tag or release is authorized by
|
||||||
|
this closeout.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue