aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-13 20:14:41 -0500
committerCraig Jennings <c@cjennings.net>2026-05-13 20:14:41 -0500
commit9a8a2096303c702f86f5175cb332e0938dd420d0 (patch)
tree30d989a28a2d1904f5f32f8abb28aa596a0030da /todo.org
parent541318c8f0747c1784cae9e429ea7120316961ca (diff)
downloaddotemacs-9a8a2096303c702f86f5175cb332e0938dd420d0.tar.gz
dotemacs-9a8a2096303c702f86f5175cb332e0938dd420d0.zip
feat(org-agenda): add VERIFICATION and IN-PROGRESS blocks around SCHEDULE
The main "d" agenda view grows two new blocks. A VERIFICATION block lists tasks in the VERIFY TODO state, placed just above the day's SCHEDULE. An IN-PROGRESS block lists tasks in the DOING TODO state, placed just under SCHEDULE. The full block order is now: OVERDUE -> HIGH PRIORITY -> VERIFICATION -> SCHEDULE -> IN-PROGRESS -> PRIORITY B. Scope matches the other blocks (every entry in `org-agenda-files`). Scheduled and deadlined entries are included -- a VERIFY task with a date appears in both VERIFICATION and SCHEDULE, mirroring how HIGH PRIORITY behaves. Habits are skipped via `cj/org-skip-subtree-if-habit`; PROJECT-keyword parents wouldn't match `(todo "VERIFY")` exact-state filters anyway, so no extra skip there. Two new header defvars (`cj/main-agenda-verify-title`, `cj/main-agenda-doing-title`) for symmetry with the existing four. Both blocks reference the shared `cj/--main-agenda-prefix-format` so a format tweak still lands in one place. Five new tests in `test-org-agenda-config-skip-functions.el` lock the block order, each new block's header / prefix-format / skip-function, and the include-scheduled-entries contract.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org47
1 files changed, 46 insertions, 1 deletions
diff --git a/todo.org b/todo.org
index 598692cb..f65bcb3d 100644
--- a/todo.org
+++ b/todo.org
@@ -70,6 +70,51 @@ Decide whether to (a) leave it asymmetric and let the row fill in as
new launchers arrive, (b) move an existing icon down to balance 5/5/2
or similar, or (c) reorganize by category (work / read / chat / play).
Surfaced when Telegram landed in Row 3 alone.
+** DONE [#B] Add VERIFY and DOING blocks to the main agenda view :feature:
+
+The main agenda "d" command (=cj/main-agenda-display=, F8) currently
+renders four blocks: OVERDUE -> HIGH PRIORITY UNRESOLVED -> SCHEDULE
+-> PRIORITY B. Insert two new blocks around SCHEDULE so a glance at
+the daily view also surfaces what's in flight and what's waiting on a
+manual check:
+
+- Above SCHEDULE: all tasks with TODO state VERIFY (header:
+ =VERIFICATION=).
+- Below SCHEDULE: all tasks with TODO state DOING (header:
+ =IN-PROGRESS=).
+
+Resulting block order:
+
+ OVERDUE -> HIGH PRIORITY -> *VERIFICATION* -> SCHEDULE -> *IN-PROGRESS* -> PRIORITY B
+
+Decisions:
+- *Scope*: same as the other blocks -- every entry in
+ =org-agenda-files=, no per-project filter.
+- *Scheduled / deadlined entries*: included. A VERIFY task with a
+ scheduled date for today appears in both the VERIFICATION block and
+ the SCHEDULE block. Mirrors the HIGH PRIORITY block's behavior.
+- *Habit / PROJECT skips*: skip habits via
+ =cj/org-skip-subtree-if-habit=. Don't skip PROJECT-keyword entries
+ (the =(todo "VERIFY")= and =(todo "DOING")= match is keyword-exact
+ so PROJECT parents wouldn't appear anyway, and a PROJECT in VERIFY
+ state would be deliberate).
+
+Implementation locations:
+- =modules/org-agenda-config.el= -- two new entries inside
+ =org-agenda-custom-commands= "d" block, each a =(todo "STATE" ...)=
+ with =org-agenda-overriding-header=, the shared
+ =cj/--main-agenda-prefix-format=, and the habit skip-function.
+- =modules/org-agenda-config.el= -- two header defvars
+ (=cj/main-agenda-verify-title= / =cj/main-agenda-doing-title=) for
+ symmetry with =cj/main-agenda-overdue-title= etc.
+
+Regression coverage:
+- Extend =tests/test-org-agenda-config-skip-functions.el= with
+ structural assertions: the "d" command has six blocks in the
+ expected order, the new VERIFICATION / IN-PROGRESS blocks reference
+ the shared prefix-format symbol, carry the right
+ =org-agenda-overriding-header=, and run the habit skip.
+
** DONE [#A] Org Agenda fixes :bug:
*** 2026-05-13 Wed @ 13:05:21 -0500 Skip CANCELLED entries from main agenda SCHEDULE
see the following screenshot
@@ -208,7 +253,7 @@ created (=one-window-p= still t). Existing tests dropped their
=pop-to-buffer= stub since =switch-to-buffer= works directly in batch.
Full =make test-unit= green.
-** TODO [#B] Add ERT coverage for modules below 70% :tests:
+p** TODO [#B] Add ERT coverage for modules below 70% :tests:
Coverage snapshot from =make coverage-summary= on 2026-05-13 (post-push):
=4716/6853= executable lines covered (=68.8%=) across 73 tracked module files.