3.5 KiB
Roadmap
This file describes the current project state and the next implementation
cursor. Historical checkpoint detail belongs in Git history and docs/reviews.
Gate 0 — Project contract
GATE_0=PASS
Development rules, ownership boundaries, identity rules, validation discipline, and Git workflow are established.
Gate 1 — Trainlog exchange format v1
GATE_1=PASS
TRAINLOG_FORMAT_V1=FROZEN
The published Trainlog JSON v1 compatibility boundary remains unchanged.
Gate 2 — Persistence and usable desktop TUI
GATE_2=PASS
DESKTOP_SCHEMA_V5=PASS
FIRST_USABLE_TUI=PASS
Completed baseline includes:
- SQLite persistence and explicit migrations;
- direct session entry;
- session history/detail/editing;
- exercise catalog;
- profile-aware set and continuous work;
- body history/editing/visualization;
- exercise performance history;
- strict validation and rollback behavior.
Android local client
ANDROID_LOCAL_WORKFLOWS=PASS
ANDROID_LOCAL_DATABASE_V3=PASS
Completed:
- exercise creation;
- inline exercise creation;
- profile-aware session entry;
- heterogeneous repetition sets;
- continuous activity;
- session history/detail;
- body measurements;
- exercise removal from the current session draft.
Variable set checkpoint
VARIABLE_REPETITION_SETS=PASS
REPETITION_SHORTHAND_5x10=PASS
REPETITION_EXPLICIT_LIST=PASS
REPETITION_PYRAMID=PASS
DESKTOP_SCHEMA_V5=PASS
V4_TO_V5_MIGRATION_REGRESSION=PASS
MOBILE_HETEROGENEOUS_SET_IMPORT=PASS
NO_FAKE_UNIFORM_TARGET=PASS
Direct MTP transport
USB_MTP_DETECTION=PASS
MTP_STORAGE_ACCESS=PASS
MTP_WRITE=PASS
MTP_LIST_FOLDER=PASS
MTP_READ=PASS
MTP_ROUNDTRIP=PASS
DIRECT_MTP_TRANSPORT=PASS
No mounted-filesystem dependency is required.
Bidirectional synchronization v1
ANDROID_TO_PC_MTP=PASS
DESKTOP_MOBILE_IMPORT_V1=PASS
DESKTOP_MOBILE_IMPORT_IDEMPOTENT=PASS
PC_CATALOG_EXPORT_V1=PASS
PC_TO_ANDROID_MTP_PUBLISH=PASS
COMMON_SYNC_ENGINE=PASS
TRAINLOG_SYNCD=PASS
ANDROID_TRIGGERED_SYNC=PASS
ANDROID_SYNC_RECEIPT=PASS
TUI_SYNC_LOG_SHOW=PASS
BIDIRECTIONAL_SYNC_V1=PASS
Validated architecture:
Android local change
-> automatic mobile snapshot
Android "Synchroniser maintenant"
-> request
trainlog-syncd
-> shared C sync engine
-> Android -> PC import
-> PC -> Android catalog
-> receipt
Android
-> matching receipt
-> catalog apply
-> final result
The TUI invokes the same engine manually.
Current quality baseline
DESKTOP_TESTS=19/19 PASS
ANDROID_BUILD=PASS
HARDWARE_SYNC_VALIDATION=PASS
TRAINLOG_FORMAT_V1=FROZEN
Current implementation cursor
No next product feature is frozen by this documentation checkpoint.
NEXT_FEATURE=UNFROZEN
Candidate future areas may include richer analytics, measured-max semantics, additional editing workflows, synchronization hardening, or other product work, but none is canonical until explicitly selected.
Permanent constraints
Do not regress to:
SQLite file synchronization
mandatory mounted Android filesystem
exercise-name identity heuristics
fake performed sets for continuous activity
fake uniform targets for heterogeneous actual sets
incompatible changes to Trainlog JSON v1
Measured max v1
MEASURED_MAX_V1=PASS
MEASURED_MAX_ONLY_FROM_MAX_TEST=PASS
MEASURED_MAX_HISTORY=PASS
MEASURED_MAX_GRAPH=PASS
WORKING_LOAD_PERCENTAGES=PASS
ANDROID_MAX_TEST_SESSION=PASS
DESKTOP_TESTS=20/20 PASS
No schema v6 and no Trainlog JSON v1 change were required.
The next product feature remains intentionally unfrozen:
NEXT_FEATURE=UNFROZEN