From 67d8040ad19461cf2a393af95268f92b784d7ece Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 24 May 2026 16:26:06 -0500 Subject: docs(load-graph): classify core libraries and command modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Third classification batch: the remaining core and library command modules from init.el's early block — external-open, media-utils, auth-config, keyboard-macros, system-utils, text-config, undead-buffers. I annotated each with the load-graph header contract, added a Batch 3 table to the inventory, and extended the validation allowlist. 23 of 102 modules are now classified. No new hidden dependencies in this batch. auth-config stays eager because other modules need credentials early; the command libraries (external-open, media-utils, keyboard-macros) are eager only by init order and flagged as Phase 4 deferral candidates. --- modules/auth-config.el | 9 +++++++++ modules/external-open.el | 9 +++++++++ modules/keyboard-macros.el | 9 +++++++++ modules/media-utils.el | 9 +++++++++ modules/system-utils.el | 10 ++++++++++ modules/text-config.el | 9 +++++++++ modules/undead-buffers.el | 10 ++++++++++ 7 files changed, 65 insertions(+) (limited to 'modules') diff --git a/modules/auth-config.el b/modules/auth-config.el index 02fc7858..7f729f02 100644 --- a/modules/auth-config.el +++ b/modules/auth-config.el @@ -3,6 +3,15 @@ ;;; Commentary: ;; +;; Layer: 1 (Foundation). +;; Category: F/D. +;; Load shape: eager. +;; Eager reason: auth-source and GPG/epa setup that other modules rely on for +;; credentials early in the session. +;; Top-level side effects: auth-source/epa configuration via use-package and setq. +;; Runtime requires: system-lib, user-constants. +;; Direct test load: yes (configuration only). +;; ;; Configuration for Emacs authentication and GPG integration: ;; • auth-source diff --git a/modules/external-open.el b/modules/external-open.el index 57cffadc..22e56a29 100644 --- a/modules/external-open.el +++ b/modules/external-open.el @@ -3,6 +3,15 @@ ;; ;;; Commentary: ;; +;; Layer: 2 (Core UX). +;; Category: L/D. +;; Load shape: eager. +;; Eager reason: command library with no side effects; eager only by init order. +;; A deferral candidate (autoload commands) for Phase 4. +;; Top-level side effects: none. +;; Runtime requires: host-environment, system-lib, external-open-lib, cl-lib. +;; Direct test load: yes (pure command helpers). +;; ;; This library provides a simple mechanism for opening files with specific ;; extensions using your operating system’s default application rather than ;; visiting them in an Emacs buffer. It offers: diff --git a/modules/keyboard-macros.el b/modules/keyboard-macros.el index 5cd89f21..4e801096 100644 --- a/modules/keyboard-macros.el +++ b/modules/keyboard-macros.el @@ -3,6 +3,15 @@ ;;; Commentary: ;; +;; Layer: 2 (Core UX). +;; Category: C/L. +;; Load shape: eager. +;; Eager reason: lightweight keyboard-macro commands; eager only by init order. +;; A deferral candidate (autoload commands) for Phase 4. +;; Top-level side effects: none. +;; Runtime requires: subr-x, user-constants. +;; Direct test load: yes. +;; ;; This library provides a simple, end-user–focused interface for ;; creating, naming, saving, and replaying keyboard macros in Emacs. ;; All commands are built on top of the built-in =kmacro= machinery, but diff --git a/modules/media-utils.el b/modules/media-utils.el index db66a71f..685530d8 100644 --- a/modules/media-utils.el +++ b/modules/media-utils.el @@ -2,6 +2,15 @@ ;; ;;; Commentary: ;; +;; Layer: 3 (Domain Workflow). +;; Category: D/L. +;; Load shape: eager. +;; Eager reason: command library with no side effects; eager only by init order. +;; Downloads and players should run by command, so a Phase 4 deferral candidate. +;; Top-level side effects: none. +;; Runtime requires: system-lib. +;; Direct test load: yes (pure command helpers). +;; ;; This library provides reusable Emacs methods for working with online and ;; local media, to support media download and playback from Emacs. ;; diff --git a/modules/system-utils.el b/modules/system-utils.el index 43200403..7cf95867 100644 --- a/modules/system-utils.el +++ b/modules/system-utils.el @@ -3,6 +3,16 @@ ;; ;;; Commentary: ;; +;; Layer: 2 (Core UX). +;; Category: L/C/S. +;; Load shape: eager. +;; Eager reason: registers global keys (C-c b, C-, list-buffers remap) and +;; a startup hook for its enhanced commands. +;; Top-level side effects: three keymap-global-set, one emacs-startup-hook, plus +;; use-package configuration. +;; Runtime requires: system-lib, external-open-lib. +;; Direct test load: yes. +;; ;; A "system-util" is an enhancement to common a Emacs command, or the extension ;; of an existing command. Perhaps this group can be better named. ;; diff --git a/modules/text-config.el b/modules/text-config.el index 4e9208bc..5a946d52 100644 --- a/modules/text-config.el +++ b/modules/text-config.el @@ -3,6 +3,15 @@ ;;; Commentary: ;; +;; Layer: 2 (Core UX). +;; Category: C/P. +;; Load shape: eager. +;; Eager reason: general text-editing defaults and mode hooks the first session +;; relies on. +;; Top-level side effects: three add-hook plus use-package package configuration. +;; Runtime requires: none (configures packages via use-package). +;; Direct test load: yes. +;; ;; Configuration for text editing features including: ;; - Basic text mode settings (visual line mode, indentation, spacing) ;; - Text manipulation (move-text, expand-region, change-inner) diff --git a/modules/undead-buffers.el b/modules/undead-buffers.el index c85bde94..fe43575e 100644 --- a/modules/undead-buffers.el +++ b/modules/undead-buffers.el @@ -2,6 +2,16 @@ ;;; Commentary: ;; +;; Layer: 2 (Core UX). +;; Category: C. +;; Load shape: eager. +;; Eager reason: global kill-buffer remap and window-kill bindings wanted from +;; the first session. +;; Top-level side effects: three keymap-global-set (remaps kill-buffer; binds +;; M-S-o, M-S-m). +;; Runtime requires: none. +;; Direct test load: yes. +;; ;; This library allows for "burying" selected buffers instead of killing them. ;; Since they won't be killed, I'm calling them "undead buffers". ;; The main function cj/kill-buffer-or-bury-alive replaces kill-buffer. -- cgit v1.2.3