From 2cec4136bcef7d984ecbafe95ad5280d7fa463f0 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 29 Jun 2026 05:38:30 -0400 Subject: chore(todo): close the calendar-sync and video-audio split tasks Mark the two structural-refactor split tasks done as dated event-log entries: calendar-sync.el into ics/recurrence/org/source layers (54250d95) and video-audio-recording.el into devices + capture layers (c1227a36). The original task specs stay under each entry as the record. Claude-Session: https://claude.ai/code/session_014fyKMTTqLrZpL3rDF3dYc3 --- todo.org | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/todo.org b/todo.org index 629717583..da944094b 100644 --- a/todo.org +++ b/todo.org @@ -4120,7 +4120,8 @@ module deferral/autoloads, utility consolidation, keymap registration, which-key label drift, music/VAMP extraction, and known =dwim-shell= / =external-open= duplicates. -*** TODO [#B] Split calendar-sync.el into parser, recurrence, fetch/state, and Org rendering owners :refactor: +*** 2026-06-29 Mon @ 05:35:09 -0400 Split calendar-sync.el into ics/recurrence/org/source layers +Landed: commit 54250d95 — split into a thin public face plus calendar-sync-{ics,recurrence,org,source}.el; every function moved verbatim, public names unchanged; all 574 calendar-sync tests + the full 5390-test suite green; both header gates pass with the 4 new modules in the load-graph allowlist. Acceptance checks met: tests pass, =(require 'calendar-sync)= loads clean, parser/recurrence tests reach their layer through the require chain, C-; g and public names unchanged. Original task spec retained below as the record. Location: =modules/calendar-sync.el=. Issue: =calendar-sync.el= is the largest active module in the config @@ -4170,7 +4171,8 @@ Acceptance checks: timers, reading private config, or touching the network. - The public command names and =C-; g= behavior remain unchanged. -*** TODO [#B] Split video-audio-recording.el into device, process, UI, and command layers :refactor: +*** 2026-06-29 Mon @ 05:35:09 -0400 Split video-audio-recording.el into devices + capture layers +Landed: commit c1227a36 — split into a thin public face plus video-audio-recording-{devices,capture}.el; every function moved verbatim, public names unchanged; all 323 video-audio tests + the full 5390-test suite green; both header gates pass. Settled on devices+capture+top rather than the proposed device/process/ui split: config and the diagnostic/test/UI commands stay in the public top module, and the engine is one acyclic layer (no call crosses up into top, so zero forward-declared functions). Acceptance checks met: tests pass, device tests can require only the devices layer, command-construction tests only the capture layer, C-; r names/behavior unchanged. Original task spec retained below as the record. Location: =modules/video-audio-recording.el=. Issue: =video-audio-recording.el= is a broad workflow module -- cgit v1.2.3