Skip to content

Trainlog v0.1.5

Latest

Choose a tag to compare

@labfytools labfytools released this 23 Sep 19:13
· 22 commits to main since this release

Trainlog v0.1.5 completes the factual cardio capture cycle and makes the
Android-to-Web Sleep workflow ready for real nightly use without adding
medical, sleep-stage, or causal inference.

Heart-rate capture and cardio sessions

  • Android persistently acquires real CYCPLUS Heart Rate Service measurements,
    retains factual observation timestamps, BPM and raw RR values, and exposes a
    global fresh/stale/disconnected indicator.
  • Training occurrences have explicit start/end timelines so synchronized
    heart-rate samples retain their stable exercise ownership instead of
    inferring it later from time overlap.
  • Dedicated cardio sessions, measured calibration profiles and fresh-signal
    BPM-guided phases use separate versioned companions and preserve the frozen
    historical session formats.
  • Guidance suspends on stale signal and records measured facts only; it does
    not estimate fitness, recovery, readiness or medical state.

Factual Web timelines

  • History and Sleep display synchronized heart-rate samples through one
    bounded native read model and responsive Web timeline.
  • Full-source min/mean/max and RR counts remain exact while large visual
    projections are bounded.
  • Cardio timelines show factual occurrence bounds, resolved targets,
    instruction changes and measured calibration points.
  • Sleep highlights notable relative rises and falls with a deterministic local
    median rule, explicitly without assigning a sleep stage or cause.

Sleep capture and medication quantity

  • Medication can be recorded before Couché. The first intake creates one
    durable pending 18:00-to-18:00 night; Couché advances the same stable entry,
    Réveil leaves heart-rate capture running, and Levé closes it at the factual
    final-get-up timestamp.
  • A missing sensor fabricates neither a capture nor a sample.
  • Sleep Diary V2 carries structured per-intake quantity while published V1
    remains strict and readable; historical intakes default to quantity one.
  • The Web agenda renders every night in the selected period on one aligned
    18:00-to-18:00 axis, and the selected night owns the full-width heart-rate
    detail. PDF reports retain their multi-night behavior and display quantity
    without replacing per-unit dose.

Compatibility and validation

  • Desktop schema v35 and Android schema v32 are additive migrations.
  • TRAINLOG_FORMAT_V1, mobile export V3, stable identities, causal revision
    lineage, generation/ACK semantics and Bluetooth/MTP transport ownership are
    unchanged.
  • Native tests, Android unit tests and APK assembly, Web tests/typecheck/build,
    JSON/import validation, changed-C formatting and exact Sleep V2 replay all
    pass at the release tag.

Assets

  • trainlog-android-v0.1.5.apk: signed public Android APK.
  • trainlog-tui-linux-x86_64-v0.1.5: Linux x86-64 runtime bundle containing
    the TUI, local Web adapter, synchronization helpers and required catalogs.
  • SHA256SUMS: SHA-256 checksums for both artifacts.