<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-org-agenda-config-skip-functions.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-14T01:14:41+00:00</updated>
<entry>
<title>feat(org-agenda): add VERIFICATION and IN-PROGRESS blocks around SCHEDULE</title>
<updated>2026-05-14T01:14:41+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-14T01:14:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=9a8a2096303c702f86f5175cb332e0938dd420d0'/>
<id>urn:sha1:9a8a2096303c702f86f5175cb332e0938dd420d0</id>
<content type='text'>
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 -&gt; HIGH PRIORITY -&gt; VERIFICATION -&gt; SCHEDULE -&gt; IN-PROGRESS -&gt; 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.
</content>
</entry>
<entry>
<title>refactor(org-agenda): extract main-agenda prefix format into a defvar</title>
<updated>2026-05-13T21:14:50+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-13T21:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=e58f58b656cff9d9dc0e4b9fa59e236f0431e1b4'/>
<id>urn:sha1:e58f58b656cff9d9dc0e4b9fa59e236f0431e1b4</id>
<content type='text'>
`org-agenda-custom-commands` inlined `  %i %-15:c%?-15t% s` four times across the "d" command's overdue / high-priority / schedule / priority-B blocks. New `cj/--main-agenda-prefix-format` defvar holds the literal once; every block now references the symbol so a format tweak lands in one place.

Regression test walks the "d" command's blocks and asserts each `org-agenda-prefix-format` cell resolves to the shared symbol -- a block that silently diverges fails the check.
</content>
</entry>
<entry>
<title>fix(org-agenda): skip CANCELLED entries from main agenda SCHEDULE</title>
<updated>2026-05-13T18:04:50+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-13T18:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=8e579508a1e23e66513d2e8f97844d0eab2156d7'/>
<id>urn:sha1:8e579508a1e23e66513d2e8f97844d0eab2156d7</id>
<content type='text'>
The "d" command's (agenda ...) block had no org-agenda-skip-function. The global org-agenda-skip-scheduled-if-done is nil. CANCELLED tasks with a SCHEDULED date rendered in the forward-looking schedule unfiltered.

The fix adds an org-agenda-skip-function to the SCHEDULE block: (org-agenda-skip-entry-if 'todo '("CANCELLED")). The scope is deliberate. Only CANCELLED is filtered, not DONE or FAILED. A scheduled DONE task is a record of when something happened and stays visible.

Tests cover the configuration: the form must appear on the agenda block and must not appear on the overdue, hi-pri, or priority-B blocks.
</content>
</entry>
<entry>
<title>test: add 38 tests for org-agenda-config and org-refile-config</title>
<updated>2026-02-16T03:14:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-16T03:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=e8aac566086562de95dae81986e15cbe9d146653'/>
<id>urn:sha1:e8aac566086562de95dae81986e15cbe9d146653</id>
<content type='text'>
- testutil-org.el: shared dynamic timestamp helpers (days-ago, days-ahead, today)
- org-agenda-config: 31 tests across 2 files (skip functions + add-files)
- org-refile-config: 7 tests for ensure-org-mode validation
- Remove prog-shell from checklist (fully covered by existing 9 tests)
</content>
</entry>
</feed>
