[OCaml] High Intensity Training Online
docs consolidate feedback backlog
ENHANCEMENTS.org
@@ -1,125 +1,390 @@
1
1
#+TITLE: Hito Enhancements log
2
2
#+AUTHOR: Marius Peter
3
Removed:
#+STARTUP: overview
3
Added:
#+STARTUP: content
4
4
#+TODO: TODO IN-PROGRESS TESTING TESTED BLOCKED | CANCELLED DONE
5
5
6
6
* Dispatch
7
7
8
Added:
** TODO Show feedback author and contribution count
9
Added:
SCHEDULED: [2026-09-05 Sat 21:24]
10
Added:
11
Added:
feedback should display username that submitted it, alongside their total number of feedback contributions.
12
Added:
13
Added:
Clarification:
14
Added:
- Users should see real usernames.
15
Added:
- Rank the feedback list by upvotes.
16
Added:
- Let users upvote feedback submitted by other users they think is valuable.
17
Added:
18
Added:
** CANCELLED Keep the routine as a table
19
Added:
CLOSED: [2026-09-05 Sat 22:02] SCHEDULED: [2026-09-05 Sat 21:24]
20
Added:
:PROPERTIES:
21
Added:
:ID: 6b126d4c-6058-4b7a-8c67-640ce6160ba7
22
Added:
:END:
23
Added:
24
Added:
- note :: Duplicate. The routine already renders as an HTML table (commit 4e4acac, "Replace routine accordions with an HTML table"). No new work.
25
Added:
routine must absolutely be a table.
26
Added:
27
Added:
Clarification:
28
Added:
- This is a duplicate request.
29
Added:
30
Added:
** TODO Use POST-redirect-GET for all forms
31
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
32
Added:
33
Added:
Ensure proper POST redirect GET patter for all forms
34
Added:
35
Added:
Clarification:
36
Added:
- Apply this to feedback, application feedback, and workout forms.
37
Added:
- Preserve success and error messages for toast display on the redirected page.
38
Added:
39
Added:
** TODO Standardize shared CRUD patterns
40
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
41
Added:
42
Added:
Rationalize shared CRUD pattern for domain objects, user data, and app feedback
43
Added:
44
Added:
** TODO Use worse-same-better subjective feedback
45
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
46
Added:
47
Added:
Subjective Feedback evidence should be collected against the following pattern: Worse, Same, Better [than usual]
48
Added:
49
Added:
Clarification:
50
Added:
- Ask, "How are you feeling?"
51
Added:
- Collect Worse, Same, and Better through inline button groups.
52
Added:
- Apply this to sleep, appetite, readiness, motivation, and perceived difficulty.
53
Added:
- This probably has an impact on core data types as well.
54
Added:
55
Added:
** TODO Make Write feedback the primary action
56
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
57
Added:
58
Added:
"Write feedback" should be the single Primary action on the app-feedback page. Secondary actions are CRUD operations on previous feedback items.
59
Added:
60
Added:
Clarification:
61
Added:
- Secondary CRUD actions are editing and removing the user’s feedback items.
62
Added:
- Show the primary action once.
63
Added:
64
Added:
** TODO Import Hevy CSV from profile
65
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
66
Added:
:PROPERTIES:
67
Added:
:ID: 2559dd31-18e1-4f62-8d16-92f96d782203
68
Added:
:END:
69
Added:
70
Added:
- note :: Deferred by the request clarification. Left open under Dispatch; not implemented this session.
71
Added:
On profile page, user should be able to import Hevy CSV
72
Added:
73
Added:
Clarification:
74
Added:
- Defer this feedback feature.
75
Added:
76
Added:
** CANCELLED Fix workout cancellation flow
77
Added:
CLOSED: [2026-09-05 Sat 21:58] SCHEDULED: [2026-09-05 Sat 21:25]
78
Added:
79
Added:
workout cancellation flow still has bug
80
Added:
81
Added:
- note :: No remaining defect. Prior commits 7d9ee9e, 5aaa11f, and test ea1f211 fixed cancellation: CSRF-guarded discard, no stale record, 303 redirect to Home. test_web.ml cancellation cases pass (203 tests green).
82
Added:
** TODO Emphasize the secondary color
83
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
84
Added:
85
Added:
oxblood color is still too dominant; secondary color needs to be more emphasized
86
Added:
87
Added:
Clarification:
88
Added:
- Use brass for secondary buttons, such as cancellation.
89
Added:
90
Added:
** TODO Use progressive subjective feedback buttons
91
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
92
Added:
93
Added:
subjective feedback affordances should be more progressive. not dropdowns, but button groups containing three buttons each for below, usual, and above.
94
Added:
95
Added:
** TODO Store database timestamps as ISO 8601
96
Added:
SCHEDULED: [2026-09-05 Sat 21:25]
97
Added:
98
Added:
database timestamps should be stored as ISO8601 strings
99
Added:
100
Added:
Clarification:
101
Added:
- Store timestamps in UTC Zulu time.
102
Added:
- Use the ISO 8601 format.
103
Added:
- Do not migrate existing data.
104
Added:
- Existing data can be dropped safely.
105
Added:
106
Added:
** TODO Make the builder subagent produce one commit per feature
107
Added:
SCHEDULED: [2026-09-05 Sat 22:30]
108
Added:
109
Added:
the enhancement builder should produce one commit per feature.
110
Added:
111
Added:
Clarification:
112
Added:
- The builder is the builder subagent.
113
Added:
8
114
* Core domain
9
115
10
116
* Navigation
117
Added:
11
118
** DONE Use one desktop-to-mobile breakpoint
119
Added:
12
120
Desktop has top navigation. Mobile has an identical bottom navigation.
121
Added:
13
122
** DONE Use three always-available navigation actions
123
Added:
14
124
Use `Home`, `Routine` when the user is not logging (changing to `Current Workout` while logging), and `<username>` for the workout log. Keep all three actions available in both modes.
125
Added:
15
126
** DONE Simplify the top bar brand
127
Added:
16
128
Replace the top bar brand with `hito` in Work Sans, without a subtitle.
129
Added:
17
130
** DONE Remove the mobile hamburger menu
131
Added:
18
132
Do not show a hamburger menu on mobile.
133
Added:
19
134
** DONE Increase the masthead brand size
135
Added:
20
136
Make the masthead brand name appear much larger.
137
Added:
21
138
** DONE Hide sign-out on mobile
139
Added:
22
140
Do not show the sign-out button on mobile.
141
Added:
23
142
** DONE Remove thick black bars from mobile bottom navigation
143
Added:
24
144
Remove the thick black bars visible in the mobile bottom navigation.
145
Added:
25
146
** DONE Fix active bottom-navigation state for current workout and logbook
147
Added:
26
148
When a current workout is open, selecting the logbook tab marks both Current Workout and Logbook as active in the bottom navigation. Ensure only the selected page is highlighted.
149
Added:
27
150
** DONE Increase bottom-navigation button text size
151
Added:
28
152
Increase the bottom-navigation button text font size to better support WCAG-aligned readability.
153
Added:
29
154
** DONE Animate page transitions
155
Added:
30
156
Animate page transitions between Home, Current Workout, and Logbook.
157
Added:
31
158
** DONE Standardize Logbook navigation and add a mobile profile button
159
Added:
32
160
Always label the logbook tab `Logbook`. Add a dedicated profile button for the user name in the mobile top navigation bar.
161
Added:
33
162
** DONE Return the middle navigation tab to Routine after cancellation
163
Added:
34
164
After cancelling workout logging, change the middle navigation tab from Current Workout back to Routine.
35
165
- result :: model=kiro-cli commit=ea1f211 tests=pass
36
166
37
167
* Workout logging
168
Added:
38
169
** DONE Add placeholders to load and reps fields
170
Added:
39
171
Add placeholder values to the load and reps fields on the workout logging page.
172
Added:
40
173
** DONE Remove the redundant fieldset legend
174
Added:
41
175
Remove the redundant fieldset legend from workout logging.
176
Added:
42
177
** DONE Show an in-progress workout card on Home
178
Added:
43
179
When the user is logging a current workout, show a Home card that indicates the workout is in progress and links to the Current Workout tab.
180
Added:
44
181
** DONE Make workout cancellation unconditional
182
Added:
45
183
When cancelling a workout, always leave the current workout view without showing an invalid-form response. Save the workout log as-is for later editing, then redirect the user to Home.
184
Added:
46
185
** DONE Add a sticky workout timer bar
186
Added:
47
187
When logging a workout, show a sticky bar at the top of the screen with a workout timer.
188
Added:
48
189
** DONE Replace the exercise button group with a dropdown
190
Added:
49
191
Use a dropdown menu to select the exercise instead of the exercise button group.
192
Added:
50
193
** DONE Remove the boulder top border from exercise logging cards
194
Added:
51
195
Do not show a boulder top fieldset border on the exercise logging fieldset card.
196
Added:
52
197
** DONE Confirm workout cancellation in a modal
198
Added:
53
199
Show a modal menu that confirms workout logging cancellation before cancelling.
200
Added:
54
201
** DONE Make workout logging fields compact on mobile
202
Added:
55
203
Use a grid layout so the exercise name, load input, and reps input appear on one row on mobile.
204
Added:
56
205
** DONE Preserve and navigate after modal workout cancellation
206
Added:
57
207
When cancellation is confirmed, return the Current Workout tab to the Routine tab, save the workout as a partial logbook entry, and keep it editable later.
208
Added:
58
209
** DONE Use shared load and reps column headings
210
Added:
59
211
In exercise logging fieldsets, show Load and Reps as column headings instead of repeating them above every input in a multi-exercise group.
212
Added:
60
213
** DONE Hide exercise-selector submit buttons in SPA mode
214
Added:
61
215
When JavaScript progressive enhancement is active, do not show the submit button for exercise selection.
216
Added:
62
217
** DONE Fix workout cancellation persistence
218
Added:
63
219
Cancelling workout logging currently redirects without actually cancelling the workout. Make the cancellation operation take effect.
64
220
- result :: model=kiro-cli commit=5aaa11f tests=pass
221
Added:
65
222
** DONE Make the entire logging fieldset a responsive grid
223
Added:
66
224
Use one responsive grid for the entire workout logging fieldset instead of separate exercise-field layouts.
67
225
- result :: model=kiro-cli commit=6b62f25 tests=pass
226
Added:
68
227
** DONE Update the workout elapsed timer live
228
Added:
69
229
Ensure the elapsed duration timer in the Current Workout view updates continuously while logging.
70
230
- result :: model=kiro-cli commit=f9cfb69 tests=pass
231
Added:
71
232
** DONE Fix the workout cancel button
233
Added:
72
234
[2026-09-05 Sat 17:23]
73
235
Fix the workout cancel button bug. We are cancelling a workout does not properly cancel the workout and redirect to the home page
236
Added:
74
237
** DONE Hide the exercise choice label
238
Added:
75
239
[2026-09-05 Sat 17:26]
76
240
Make the exercise choice label invisible in the current workout logging page
77
241
242
Added:
** DONE Remove spurious Page updated mention
243
Added:
CLOSED: [2026-09-05 Sat 21:57] SCHEDULED: [2026-09-05 Sat 21:25]
244
Added:
245
Added:
Spurious "Page updated" mention in workout logging screen
246
Added:
247
Added:
- result :: model=kiro-cli commit=dab53ca tests=pass
248
Added:
** DONE Fix workout log exercise selection
249
Added:
CLOSED: [2026-09-05 Sat 22:02] SCHEDULED: [2026-09-05 Sat 21:24]
250
Added:
:PROPERTIES:
251
Added:
:ID: 45453231-7ac9-444c-96c2-af387a34bb0c
252
Added:
:END:
253
Added:
254
Added:
- result :: model=kiro-cli commit=61bf45c tests=pass
255
Added:
Broken workout log editing: exercise selection button.
256
Added:
257
Added:
Clarification:
258
Added:
- This concerns editing a previously logged workout on mobile.
259
Added:
- The user must be able to select and switch the exercise correctly.
260
Added:
261
Added:
** DONE Confirm workout override with a modal
262
Added:
CLOSED: [2026-09-05 Sat 22:23] SCHEDULED: [2026-09-05 Sat 21:25]
263
Added:
:PROPERTIES:
264
Added:
:ID: b9d05a7f-c8f9-4fb6-878f-a9d1f89ed45d
265
Added:
:END:
266
Added:
267
Added:
- result :: model=kiro-cli commit=7c9f701 tests=pass
268
Added:
Implement a modal confirmation when beginning a workout under override
269
Added:
270
Added:
Clarification:
271
Added:
- The override condition is training before full rest has completed.
272
Added:
- Show a confirmation modal menu before starting the workout.
273
Added:
274
Added:
** DONE Show early workout notice as a toast
275
Added:
CLOSED: [2026-09-05 Sat 22:26] SCHEDULED: [2026-09-05 Sat 21:25]
276
Added:
:PROPERTIES:
277
Added:
:ID: 8052f6e1-7281-4a57-a615-504476ca6c16
278
Added:
:END:
279
Added:
280
Added:
- result :: model=kiro-cli commit=9702a02 tests=pass
281
Added:
"begin before recovery finished" should be a toast message rather than a component in the main content.
282
Added:
283
Added:
Clarification:
284
Added:
- The toast is informational only because the modal already confirms the override.
285
Added:
- Display it for 3 seconds, or for the duration recommended by WCAG.
286
Added:
78
287
* Logbook and feedback
288
Added:
79
289
** DONE Replace history with a logbook endpoint
290
Added:
80
291
Replace the history endpoint with a logbook endpoint that shows all recorded evidence for the user.
292
Added:
81
293
** DONE Allow spontaneous logbook feedback
294
Added:
82
295
Allow users to submit subjective feedback at any time from the Logbook. Suggest this feedback flow at the end of each workout, while keeping it available independently.
296
Added:
83
297
** DONE Gate logbook feedback form behind a button
298
Added:
84
299
The feedback form under the logbook tab should be accessed via a dedicated button not displayed outright in the logbook page
85
300
- result :: model=kiro-cli commit=6cc9062 tests=pass
301
Added:
86
302
** DONE Add authenticated app feedback
303
Added:
87
304
[2026-09-05 Sat 17:45]
88
305
Next to the profile button in the top header, add an app feedback button which will insert app-specific feedback written by the user to an appropriate SQLite table on the server. On the user app feedback screen, the user should be able to type freeform feedback on the application in one tab and in a second tab view the list of feedback submitted
89
306
90
307
* Routine display
308
Added:
91
309
** DONE Add animations to routine accordions
310
Added:
92
311
Add animations to the routine accordions.
312
Added:
93
313
** DONE Style workout accordions with CSS
314
Added:
94
315
Style the workout accordions with CSS.
316
Added:
95
317
** DONE Replace routine accordions with an HTML table
318
Added:
96
319
Replace the routine accordion interface with a basic HTML table.
97
320
- result :: model=kiro-cli commit=4e4acac tests=pass
98
321
99
322
* Styling and theme
323
Added:
100
324
** DONE Remove all doctrine-note elements
325
Added:
101
326
** DONE Use brass for secondary buttons
327
Added:
102
328
Use a secondary brass color for secondary buttons.
329
Added:
103
330
** DONE Style exercise names as headings
331
Added:
104
332
In the exercise fieldset, style the exercise name as a black Work Sans heading.
333
Added:
105
334
** DONE Limit Courier Prime Mono usage
335
Added:
106
336
Use Courier Prime Mono only for numerical inputs and outputs, and eventually for tabular data.
337
Added:
107
338
** DONE Harmonize UI corner radii
339
Added:
108
340
Use uniformly rounded corners for all buttons, cards, and other UI elements.
341
Added:
109
342
** DONE Harmonize keyboard-focus halo styling
343
Added:
110
344
Change the WCAG keyboard-navigation focus halo color so it follows the general UI theme and is less visually obtrusive.
345
Added:
111
346
** DONE Style the cancellation modal to match the UI
347
Added:
112
348
Style the modal cancellation menu so it matches the overall UI aesthetic.
349
Added:
113
350
** DONE Style form dropdowns to match the UI
351
Added:
114
352
Style form dropdown menus so they match the overall UI aesthetic.
115
353
116
354
* Account and profile
355
Added:
117
356
** DONE Add a dedicated profile page
357
Added:
118
358
Make the top-bar profile button open a dedicated profile page instead of the Logbook. Allow users to change their username and update their password.
119
359
- result :: model=kiro-cli commit=430a6ea tests=pass
120
360
361
Added:
* Errors
362
Added:
363
Added:
** DONE Add custom error pages
364
Added:
CLOSED: [2026-09-05 Sat 22:20] SCHEDULED: [2026-09-05 Sat 21:25]
365
Added:
:PROPERTIES:
366
Added:
:ID: 965d5284-a593-43ca-b8e4-202b093e6502
367
Added:
:END:
368
Added:
369
Added:
- result :: model=kiro-cli commit=34ab578 tests=pass
370
Added:
Need custom 404 etc. pages
371
Added:
372
Added:
Clarification:
373
Added:
- Add the most common 400 and 500 error pages.
374
Added:
- Do not expose specific information from the server.
375
Added:
- Keep the desktop top navigation affordance.
376
Added:
- Keep the mobile bottom navigation affordance.
377
Added:
121
378
* Miscellaneous
122
379
123
380
# Local Variables:
124
381
# org-log-done: time
125
382
# End:
383
Added:
** DONE Capture each prompt as its own request
384
Added:
CLOSED: [2026-09-05 Sat 22:01] SCHEDULED: [2026-09-05 Sat 21:31]
385
Added:
:PROPERTIES:
386
Added:
:ID: cfdca5b4-80d3-448f-bf54-a365dd36a578
387
Added:
:END:
388
Added:
389
Added:
- result :: model=kiro-cli commit=d5553a2 tests=pass
390
Added:
Edit the stream-of-thought SKILL so each individual prompt in a session becomes its own feature request, not the whole session as one request.