docs rename ENHANCEMENTS.org to REQUESTS.org

Shift the log vocabulary from enhancements to requests, which better fits problem reports and change requests. Update the file title to match. Rename preserves history (git mv).

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