diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-24 16:57:56 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-24 16:57:56 -0500 |
| commit | cad351ec00c3f78cfb6e203d87c7309a620e485c (patch) | |
| tree | a3698e1e1c83269a437efa350024eb35246e08a1 /modules/calendar-sync.el | |
| parent | 02baa68063f02cc571789c03b1101c28d139200d (diff) | |
| download | dotemacs-cad351ec00c3f78cfb6e203d87c7309a620e485c.tar.gz dotemacs-cad351ec00c3f78cfb6e203d87c7309a620e485c.zip | |
docs(load-graph): classify domain, integration, and optional modules
Eighth classification batch: 17 domain/integration/optional modules — ai-config, ai-vterm, browser-config, calendar-sync, calibredb-epub-config, chrono-tools, dirvish-config, dwim-shell-config, erc-config, eshell-config, eww-config, flyspell-and-abbrev, games-config, gloss-config, httpd-config, jumper, latex-config. I annotated each header, added a Batch 8 table to the inventory, and extended the validation allowlist. 82 of 102 modules are now classified.
Almost all are eager only by init order and become command/hook/mode-loaded. calendar-sync stays eager when its .local.el is present. One new hidden dependency: calendar-sync guards its C-; g registration with a boundp shim and doesn't require keybindings, so the binding drops standalone.
I deferred elfeed-config rather than annotate it. Its header edit triggers byte-compilation, and the existing tests only pass when the module loads as interpreted source — the compiled cj/elfeed-process-entries inlines an elfeed struct accessor the stubs can't intercept, and the batch test environment has no elfeed package to build real structs. It needs its tests rewritten first, recorded in the inventory and a new todo task.
Also made the header allowlist scoping test durable: it used games-config (now classified) as its unclassified example; switched to a sentinel name plus a duplicate-entry guard.
Diffstat (limited to 'modules/calendar-sync.el')
| -rw-r--r-- | modules/calendar-sync.el | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/modules/calendar-sync.el b/modules/calendar-sync.el index 4ccb0917..4d1ea219 100644 --- a/modules/calendar-sync.el +++ b/modules/calendar-sync.el @@ -4,7 +4,21 @@ ;; Created: 2025-11-16 ;;; Commentary: - +;; +;; Layer: 3 (Domain Workflow). +;; Category: D/S. +;; Load shape: eager only when calendar-sync.local.el configures calendars. +;; Eager reason: daily-driver workflow; calendars are expected synced at the +;; first session. Timers and network fetches are guarded for batch/test loads. +;; Top-level side effects: defines a calendar keymap and conditionally registers +;; it under cj/custom-keymap; timer and network fetches guarded by +;; config/noninteractive checks. +;; Runtime requires: cl-lib, subr-x, system-lib, cj-org-text-lib. keybindings is +;; needed for the C-; g binding but only reached through a boundp guard, so the +;; binding silently drops standalone. Phase 2 fix. +;; Direct test load: conditional (C-; g registration skipped without keybindings; +;; private config optional). +;; ;; Simple, reliable one-way sync from multiple calendars to Org mode. ;; Downloads .ics files from calendar URLs (Google, Proton, etc.) and ;; converts to Org format. No OAuth, no API complexity, just file conversion. |
