Bug bash round 3: tasks #1395

Open
opened 2026-10-07 19:01:14 +00:00 by kayg · 8 comments
Owner

AREA: Tasks and Journal/Log. Task create/complete/reorder/drag, due dates and reminders, recurring tasks, subtasks, task promotion, log entries with block anchors, day navigation, Copy link for tasks and log entries, quick add with natural-language dates, keyboard flows.

Tracking issue for the 2026-10-08 night bug bash round 3. Every bug found gets its own issue, linked here.

AREA: Tasks and Journal/Log. Task create/complete/reorder/drag, due dates and reminders, recurring tasks, subtasks, task promotion, log entries with block anchors, day navigation, Copy link for tasks and log entries, quick add with natural-language dates, keyboard flows. Tracking issue for the 2026-10-08 night bug bash round 3. Every bug found gets its own issue, linked here.
Author
Owner

Started round 3 on branch job/bash3-tasks. Worktree starts at base commit 0419170fe4. I am reviewing rounds 1 and 2 before testing so this pass covers unfinished flows and avoids known bugs.

Started round 3 on branch job/bash3-tasks. Worktree starts at base commit 0419170fe456b58614befcb12d9c9d255118f1c0. I am reviewing rounds 1 and 2 before testing so this pass covers unfinished flows and avoids known bugs.
Author
Owner

Filed #1428: timed Task checkbox is 20.35 px above the title center at 390 px / light theme. The production capture is artifacts/bash3-tasks/taskday/alignment-390-light.png. This is in shared packages/ui Calendar code, so it is filed only under the area ownership rule.

Filed #1428: timed Task checkbox is 20.35 px above the title center at 390 px / light theme. The production capture is `artifacts/bash3-tasks/taskday/alignment-390-light.png`. This is in shared `packages/ui` Calendar code, so it is filed only under the area ownership rule.
Author
Owner

Filed #1430: in the production Task Inspector flow, Undo after a concurrent Task property update shows “The Task change could not be undone. Try again.” and the Task remains Done. Evidence: artifacts/bash3-tasks/task-undo-revision-evidence.txt. I am checking whether the conflict comes from the Tasks UI or the shared Notes writer before editing.

Filed #1430: in the production Task Inspector flow, Undo after a concurrent Task property update shows “The Task change could not be undone. Try again.” and the Task remains Done. Evidence: `artifacts/bash3-tasks/task-undo-revision-evidence.txt`. I am checking whether the conflict comes from the Tasks UI or the shared Notes writer before editing.
Author
Owner

Follow-up on #1430: the revision-guarded Undo PATCH receives 412 (Task changed) immediately after the successful status write. The evidence is in artifacts/bash3-tasks/task-undo-revision-evidence.txt; this appears to cross the shared Notes revision/write boundary, so the bug remains filed only.

Follow-up on #1430: the revision-guarded Undo PATCH receives 412 (`Task changed`) immediately after the successful status write. The evidence is in `artifacts/bash3-tasks/task-undo-revision-evidence.txt`; this appears to cross the shared Notes revision/write boundary, so the bug remains filed only.
Author
Owner

Filed #1431: in the Task Note Inspector, after creating a nested checkbox and changing the root Task to Doing, Add reminder shows “This Task cannot have a reminder yet” and does not open the picker. Production screenshot: artifacts/bash3-tasks/task-reminder-open-probe.png. This appears to be shared Notes editor reminder-anchor handling, so it is filed only.

Filed #1431: in the Task Note Inspector, after creating a nested checkbox and changing the root Task to Doing, `Add reminder` shows “This Task cannot have a reminder yet” and does not open the picker. Production screenshot: `artifacts/bash3-tasks/task-reminder-open-probe.png`. This appears to be shared Notes editor reminder-anchor handling, so it is filed only.
Author
Owner

Correction: the reminder picker finding is #1432 (not #1431). Steps and evidence remain as described: artifacts/bash3-tasks/task-reminder-open-probe.png; it appears to be shared Notes editor reminder-anchor handling and is filed only.

Correction: the reminder picker finding is #1432 (not #1431). Steps and evidence remain as described: `artifacts/bash3-tasks/task-reminder-open-probe.png`; it appears to be shared Notes editor reminder-anchor handling and is filed only.
Author
Owner

Round 3 report

Branch: job/bash3-tasks
Head: d395b6e25da20d8c67b8b9fc1a593b813939c8a7
The worktree is clean. There is no job-authored commit because every confirmed product defect is in shared UI or Notes editor/revision code that this area must file only.

Findings

Issue Symptom Severity Result
#1428 Timed Calendar Task checkbox is 20.35 px above its title center at 390 px / light theme. Cosmetic Filed only; shared packages/ui Calendar component. Evidence: artifacts/bash3-tasks/taskday/alignment-390-light.png.
#1430 Inspector Status Undo gets HTTP 412 after an interleaved Task property update; the Task stays Done and the UI reports that Undo failed. Minor Filed only; crosses the shared Notes revision/write boundary. Evidence: artifacts/bash3-tasks/task-undo-revision-evidence.txt.
#1432 On a Task Note with a nested checkbox Task, Add reminder reports “This Task cannot have a reminder yet” and does not open the picker. Minor Filed only; shared Notes editor reminder-anchor path. Evidence: artifacts/bash3-tasks/task-reminder-open-probe.png.

Coverage

Flow Tested Viewport / input Bugs or limits
Task create, complete, reorder and drag Yes, partial 1440 px; pointer and keyboard Create/complete, drag preview/cancel/drop, keyboard preview/commit and Undo passed. tasks.mjs then stopped at a stale focus assertion: it expected “Change status · Doing” to be focused first, while the menu focused “Hide”.
Due dates Yes 1440 px; Inspector pointer controls Due date save passed.
Reminders Attempted 1440 px; Inspector pointer Failed as #1432; shared Notes editor path.
Recurring Tasks Yes 1440 px; Inspector pointer every Monday saved and appeared in the Task projection.
Subtasks Yes 1440 px; keyboard Space Nested Task completed and reached the Task projection.
Task promotion Yes, interpreted as Status promotion 1440 px; Inspector pointer To do → Doing passed. No separate “Promote Task” action appears in the current UI or DESIGN text.
Log entry block anchors Yes Desktop; link opening and navigation Copy link remained anchored when the Log entry moved to another day.
Calendar day navigation Yes 1440 px; keyboard J/K Next and previous day navigation passed.
Copy link for Tasks and Log entries Yes Desktop; menu/link action Stable Task and Log links passed; the Log block link followed its moved entry.
Quick add with natural-language dates Yes 1440 px; keyboard N, typing, ⌘↩ “pay rent by friday p1 #home” saved Friday 2026-10-09 with urgent priority; “yesterday 7-8am morning run #fitness” saved the prior day with 07:00–08:00 and its tag.
Task and Log visual matrix No, incomplete 390/820/1440 and light/dark matrix did not complete Calendar Day stopped at the 390 px/light alignment assertion. The Tasks Board script stopped before its screenshot matrix.
Touch, reduced motion, offline/slow network, two-tab edits, reload mid-action, full screen-reader pass, 5-minute memory, oversized/rich/Unicode input No Not completed Time-boxed round stopped after the production flow failures above.

The Composer E2E stopped at its existing chrome assertion (5 !== 4) before its NLP cases. The focused production probe covered Task and Log NLP directly. The deep-link E2E passed Task links, Log block links and moved-day restoration; it later stopped on a generic Note heading check outside this area.

Performance

No p50/p95, CPU, RSS, long-task or five-minute memory measurements were collected in this round. The focused production probes were functional checks, not benchmark runs.

UX gaps

No code-level gap was closed. The Reminder picker failure, shared Task checkbox alignment, and guarded Undo conflict remain filed. Full responsive/theme/input-mode coverage is incomplete as shown above.

Decisions

I treated “task promotion” as moving a Task from To do to Doing because no separate promotion action is described in DESIGN or shown in the UI. If the intended flow is promoting a Log entry into a Task, that flow was not found and remains untested.

Gates

cargo fmt --check:

(no output; exit 0)

bun run check final output:

perf-lint: PASS; 0 violations; 22544 scoped exceptions
User browser caches use userStorage; only documented device/public-link exceptions remain.
Glass alpha, blur and backdrop-filter roles use packages/ui/src/tokens.css.
Text sizes and UI shape values use shared role tokens.
Keyboard focus rings use the shared focus tokens.
UI transitions and animation options use shared motion tokens or documented exceptions.
svelte-check found 0 errors and 4 warnings in 2 files

The four Svelte warnings are in Mail and Money CSS selectors. bun run test was not run; the owner’s verification policy reserves the full web suite for the merge round. No Rust crate changed, so Rust clippy/test gates were not run. cargo clean output: Removed 1 file, 356B total.

For the merge round

Run cd apps/web && bun run test to prove the full web suite on the combined branch. Re-run the Calendar Day responsive/light-dark screenshots after #1428 is fixed, and rerun the Task Note reminder and Inspector Undo production flows after their shared-core fixes.

## Round 3 report Branch: `job/bash3-tasks` Head: `d395b6e25da20d8c67b8b9fc1a593b813939c8a7` The worktree is clean. There is no job-authored commit because every confirmed product defect is in shared UI or Notes editor/revision code that this area must file only. ### Findings | Issue | Symptom | Severity | Result | |---|---|---|---| | #1428 | Timed Calendar Task checkbox is 20.35 px above its title center at 390 px / light theme. | Cosmetic | Filed only; shared `packages/ui` Calendar component. Evidence: `artifacts/bash3-tasks/taskday/alignment-390-light.png`. | | #1430 | Inspector Status Undo gets HTTP 412 after an interleaved Task property update; the Task stays Done and the UI reports that Undo failed. | Minor | Filed only; crosses the shared Notes revision/write boundary. Evidence: `artifacts/bash3-tasks/task-undo-revision-evidence.txt`. | | #1432 | On a Task Note with a nested checkbox Task, `Add reminder` reports “This Task cannot have a reminder yet” and does not open the picker. | Minor | Filed only; shared Notes editor reminder-anchor path. Evidence: `artifacts/bash3-tasks/task-reminder-open-probe.png`. | ### Coverage | Flow | Tested | Viewport / input | Bugs or limits | |---|---|---|---| | Task create, complete, reorder and drag | Yes, partial | 1440 px; pointer and keyboard | Create/complete, drag preview/cancel/drop, keyboard preview/commit and Undo passed. `tasks.mjs` then stopped at a stale focus assertion: it expected “Change status · Doing” to be focused first, while the menu focused “Hide”. | | Due dates | Yes | 1440 px; Inspector pointer controls | Due date save passed. | | Reminders | Attempted | 1440 px; Inspector pointer | Failed as #1432; shared Notes editor path. | | Recurring Tasks | Yes | 1440 px; Inspector pointer | `every Monday` saved and appeared in the Task projection. | | Subtasks | Yes | 1440 px; keyboard Space | Nested Task completed and reached the Task projection. | | Task promotion | Yes, interpreted as Status promotion | 1440 px; Inspector pointer | To do → Doing passed. No separate “Promote Task” action appears in the current UI or DESIGN text. | | Log entry block anchors | Yes | Desktop; link opening and navigation | Copy link remained anchored when the Log entry moved to another day. | | Calendar day navigation | Yes | 1440 px; keyboard J/K | Next and previous day navigation passed. | | Copy link for Tasks and Log entries | Yes | Desktop; menu/link action | Stable Task and Log links passed; the Log block link followed its moved entry. | | Quick add with natural-language dates | Yes | 1440 px; keyboard N, typing, ⌘↩ | “pay rent by friday p1 #home” saved Friday 2026-10-09 with urgent priority; “yesterday 7-8am morning run #fitness” saved the prior day with 07:00–08:00 and its tag. | | Task and Log visual matrix | No, incomplete | 390/820/1440 and light/dark matrix did not complete | Calendar Day stopped at the 390 px/light alignment assertion. The Tasks Board script stopped before its screenshot matrix. | | Touch, reduced motion, offline/slow network, two-tab edits, reload mid-action, full screen-reader pass, 5-minute memory, oversized/rich/Unicode input | No | Not completed | Time-boxed round stopped after the production flow failures above. | The Composer E2E stopped at its existing chrome assertion (`5 !== 4`) before its NLP cases. The focused production probe covered Task and Log NLP directly. The deep-link E2E passed Task links, Log block links and moved-day restoration; it later stopped on a generic Note heading check outside this area. ### Performance No p50/p95, CPU, RSS, long-task or five-minute memory measurements were collected in this round. The focused production probes were functional checks, not benchmark runs. ### UX gaps No code-level gap was closed. The Reminder picker failure, shared Task checkbox alignment, and guarded Undo conflict remain filed. Full responsive/theme/input-mode coverage is incomplete as shown above. ### Decisions I treated “task promotion” as moving a Task from To do to Doing because no separate promotion action is described in DESIGN or shown in the UI. If the intended flow is promoting a Log entry into a Task, that flow was not found and remains untested. ### Gates `cargo fmt --check`: ```text (no output; exit 0) ``` `bun run check` final output: ```text perf-lint: PASS; 0 violations; 22544 scoped exceptions User browser caches use userStorage; only documented device/public-link exceptions remain. Glass alpha, blur and backdrop-filter roles use packages/ui/src/tokens.css. Text sizes and UI shape values use shared role tokens. Keyboard focus rings use the shared focus tokens. UI transitions and animation options use shared motion tokens or documented exceptions. svelte-check found 0 errors and 4 warnings in 2 files ``` The four Svelte warnings are in Mail and Money CSS selectors. `bun run test` was not run; the owner’s verification policy reserves the full web suite for the merge round. No Rust crate changed, so Rust clippy/test gates were not run. `cargo clean` output: `Removed 1 file, 356B total`. ### For the merge round Run `cd apps/web && bun run test` to prove the full web suite on the combined branch. Re-run the Calendar Day responsive/light-dark screenshots after #1428 is fixed, and rerun the Task Note reminder and Inspector Undo production flows after their shared-core fixes.
Author
Owner

Evidence attachments are now available on the individual findings:

Evidence attachments are now available on the individual findings: - #1428 calendar Task alignment: [screenshot](https://git.kayg.org/attachments/0c540c6e-0827-4fa8-b31b-a588cd580f17) - #1430 Inspector status Undo conflict: [reproduction details](https://git.kayg.org/attachments/95d4e71c-42d6-4edd-aed7-de5738817d6b) - #1432 Task reminder picker: [screenshot](https://git.kayg.org/attachments/36a85287-4378-4734-a7f3-96d112d91225) - Tasks deep link: [desktop screenshot](https://git.kayg.org/attachments/84acfe26-0419-432b-a9c8-baabe43d870d)
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1395
No description provided.