fy59
|
34c6c0b369
|
feat(sync): add generation MTP and Android backup
|
2026-09-17 14:38:23 +02:00 |
|
fy59
|
86b317c5bd
|
fix(sync): reject unavailable physical transport
|
2026-09-17 13:51:09 +02:00 |
|
fy59
|
dd991830ac
|
build(sync): add candidate and recovery readiness tools
|
2026-09-17 13:50:08 +02:00 |
|
fy59
|
7b34ca15d8
|
feat(sync): wire bounded generation coordination
|
2026-09-17 13:50:08 +02:00 |
|
fy59
|
ae4e493253
|
feat(web): add full-generation sync control
|
2026-09-17 13:06:59 +02:00 |
|
fy59
|
ef435148f8
|
feat(sync): add durable web orchestration API
|
2026-09-17 13:06:54 +02:00 |
|
fy59
|
a6fe9be296
|
feat(sync): add generation acknowledgements
|
2026-09-17 12:29:14 +02:00 |
|
fy59
|
444508b8b9
|
test(sync): prove remaining causal deletion domains
|
2026-09-17 11:14:53 +02:00 |
|
fy59
|
70cb7a116b
|
fix(sync): close causal deletion guarantees
|
2026-09-17 10:40:26 +02:00 |
|
fy59
|
98cb40749f
|
feat(sync): add causal deletion protection
|
2026-09-17 10:02:16 +02:00 |
|
fy59
|
4b8f5b02b8
|
test(sync): close lifecycle validation evidence
|
2026-09-17 09:24:23 +02:00 |
|
fy59
|
77c15172e1
|
test(sync): freeze current synchronization behavior
|
2026-09-17 07:16:36 +02:00 |
|
fy59
|
14b863eb0f
|
test(sync): add isolated validation harness
|
2026-09-17 06:31:07 +02:00 |
|
fy59
|
32877f11e9
|
docs(sync): freeze complete synchronization gap contract
|
2026-09-16 22:07:55 +02:00 |
|
fy59
|
1674059203
|
feat(android): refine field workflows and bilingual UI
|
2026-09-16 07:45:54 +02:00 |
|
fy59
|
48d163b0a6
|
feat: add AI session draft sync workflow
|
2026-09-14 19:21:32 +02:00 |
|
fy59
|
32fae197ee
|
feat(trainlog): complete stats knowledge and sync hardening
|
2026-09-13 20:56:16 +02:00 |
|
fy59
|
2dec03e7b2
|
feat(trainlog): add synchronized training feedback
|
2026-09-12 18:34:53 +02:00 |
|
fy59
|
bb3790588f
|
feat(trainlog): adopt machine-specific exercise model
|
2026-09-12 09:41:36 +02:00 |
|
fy59
|
b2249b10b1
|
feat(exercises): add canonical naming and finalize app shell
|
2026-09-11 14:16:31 +02:00 |
|
fy59
|
1f027743f2
|
feat(trainlog): complete app shell and exercise merge
|
2026-09-11 07:21:54 +02:00 |
|
fy59
|
7cb49964e3
|
feat(generator): add body-zone session generation
|
2026-09-10 07:08:20 +02:00 |
|
fy59
|
fd955315cc
|
feat(training): complete training knowledge v1
|
2026-09-09 19:43:11 +02:00 |
|
fy59
|
1aad7b48b3
|
feat(exercises): add hierarchical body zones
|
2026-09-09 14:37:16 +02:00 |
|
fy59
|
1b08db009e
|
feat(sets): add per-set reps and weight editing
|
2026-09-09 10:34:25 +02:00 |
|
fy59
|
f4271c9f3e
|
test: cover exercise label reconciliation
|
2026-09-09 04:08:43 +02:00 |
|
fy59
|
56535704ca
|
feat(max): add explicit max test results and migrate legacy 1x1 entries
|
2026-09-08 19:58:55 +02:00 |
|
fy59
|
8066b39ce3
|
feat(sync): stabilize bidirectional sync and equipment reconciliation
|
2026-09-08 17:57:03 +02:00 |
|
fy59
|
7093dd5606
|
fix(tui): use shared header on history screen
|
2026-09-07 23:05:10 +02:00 |
|
fy59
|
c9c4d3b9ce
|
Modernize TUI and harden Android workout capture
|
2026-09-07 16:14:01 +02:00 |
|
fy59
|
b3734b8674
|
Add variable sets and session exercise removal
|
2026-09-06 16:53:25 +02:00 |
|
fy59
|
dfd6717cb7
|
Define Trainlog v1 catalog identity rules
|
2026-09-05 19:25:54 +02:00 |
|
fy59
|
9d9a9223a0
|
Define Trainlog v1 freeze candidate
|
2026-09-05 19:22:37 +02:00 |
|
fy59
|
bc54d6b4ce
|
Harden Trainlog v1 exchange contract
|
2026-09-05 19:13:53 +02:00 |
|