1.9 KiB
1.9 KiB
Roadmap
Gate 0 — Project contract
Status: PASS
GATE_0=PASS
Gate 1 — Exchange format v1 freeze
Status: PASS
GATE_1=PASS
TRAINLOG_FORMAT_V1=FROZEN
Gate 2 / Weekend MVP — Usable persistence + direct entry
Status: IN PROGRESS
Current vertical slice:
WEEKEND_MVP_TUI=IMPLEMENTED
GATE_2=IN_PROGRESS
DATABASE_SCHEMA_V1=DRAFT
Delivered in this slice:
- SQLite persistence foundation;
- UUIDv4 creation;
- frozen Unicode exercise-name normalization;
- direct exercise creation;
- direct session creation;
- automatic start/end timestamps;
- reps/duration tracking;
- none/external/assistance load modes;
- actual set recording;
- planned rest;
- standalone body measurements;
- session history;
- dashboard;
- colored ncursesw interface;
- weight sparkline.
Validation required before push:
python tools/validate_json.py
python tools/validate_import_contract.py
CC=clang meson setup build
meson compile -C build
meson test -C build --print-errorlogs
CC=clang meson setup build-asan \
-Db_sanitize=address,undefined \
-Db_lundef=false
meson compile -C build-asan
meson test -C build-asan --print-errorlogs
git diff --check
Next vertical slice:
- Android v0.1 recorder;
- JSON v1 export;
- C17 JSON importer;
- catalog reconciliation;
- idempotent import.
Gate 2 remains open until import transactions and idempotency are complete.
Gate 3 — TUI polish
The minimal colored TUI has been pulled forward for the Monday usability target.
Gate 3 later adds:
- richer navigation;
- session details;
- editing;
- more graphs;
- advanced layout polish.
Gate 4 — Android recorder
Pulled forward immediately after Weekend MVP TUI.
Gate 5 — Analytics
- body-weight trends;
- measurement trends;
- exercise performance;
- volume;
- max/estimated max;
- balance analysis.
Gate 6 — Hardening
- migrations;
- packaging;
- broader tests;
- first tagged release.