docs(train): setting up and keeping the Loop (ADR 0030, D34)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-28 17:45:50 +01:00
commit 2acc9fc6b6
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1,6 +1,6 @@
# ADR 0030: Halkyon Train, what it does and where its data comes from
- **Status:** decided 27–28 Oct 2026, by the developer (D1–D33 below). The shell (D12)
- **Status:** decided 27–28 Oct 2026, by the developer (D1–D34 below). The shell (D12)
is built; recording (D13–D28) is built on Android, iOS waiting for a Mac; Health
Connect (D29) comes next.
- **Numbering:** 0025 is held by the federation draft (stashed), 0026–0029 by the .NET
@ -565,6 +565,24 @@ Strava. What was found, 27 Oct:
band alone, a blank staying blank in Train; a change reaches the band at its next
connection. The same figures serve calories and heart-rate zones later (D31), on every
device of the person's. Weight is one current value for now.
- **D34 Setting up and keeping the Loop** (the developer's; 28 Oct): `profile` one row
per person, its fields as D33's (sex female or male, birth date, height in cm, weight
in kg, resting and highest heart rate, VO2max, Polar's six training backgrounds, typical
day sitting, standing or moving, sleep goal 5 to 11 h), each optional, edited on *Your
body* from the account sheet. A *Polar Loop* row there (Android) opens the band's
screen; *Set up a Loop* opens a sheet looking for Loops nearby, nearest first; the one
chosen is connected through Polar's SDK (Android's pairing dialog may show; nearby
devices asked first where not granted), set up with the profile (a short form asks
for what is missing, Polar's defaults offered to the band alone), its clock set, and
remembered in the person's folder (`loop.json`, not synced: one phone holds it, D3).
The band's screen: its name, battery and charging, firmware version, connected or when
last seen; *Set up again*; *Let the band go* (a factory reset after asking, the only way
to pair it elsewhere). The SDK connects while Train is open and the band in reach, each
connection setting its clock and sending what changed in the profile; background
syncing is decided with 7b. Firmware moves after 7b, as D10 syncs the band before an
update erases it. A Kotlin class of `MainActivity`'s on `app.halkyon.train/loop`, the
SDK at 8.3.0 from JitPack (a repository for Polar's package alone, its checksums
verified), Polar's notice in the licence list.
## Consequences