From 2d83f8f55977dbf69f4f80e490ed0b96aeea4eee Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 24 May 2026 16:13:01 -0500 Subject: docs(load-graph): seed module inventory and annotate foundation headers I started the init.el load-graph classification with the foundation batch. I added docs/design/module-inventory.org as the living per-module inventory and annotated the seven foundation modules (system-lib, user-constants, host-environment, system-defaults, keyboard-compat, keybindings, config-utilities) with the load-graph header contract: layer, category, load shape, eager reason, top-level side effects, runtime requires, and direct-test-load safety. I changed no load order, so init.el keeps its current eager order. The inventory records one hidden dependency for Phase 2: system-defaults uses host-environment and user-constants symbols at load while declaring them eval-when-compile, so the compiled module cannot load standalone. --- modules/system-defaults.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'modules/system-defaults.el') diff --git a/modules/system-defaults.el b/modules/system-defaults.el index d0b9f835..33d93bbc 100644 --- a/modules/system-defaults.el +++ b/modules/system-defaults.el @@ -2,6 +2,21 @@ ;; author: Craig Jennings ;; ;;; Commentary: +;; +;; Layer: 1 (Foundation). +;; Category: F/S. +;; Load shape: eager. +;; Eager reason: establishes core Emacs behavior (encoding, clipboard, +;; scrolling, kill/quit defaults) the first interactive session relies on. +;; Top-level side effects: mutates global defaults (many `setq'), advises +;; `display-warning', adds a `display-buffer-alist' entry, remaps one global +;; key. +;; Runtime requires: autorevert, server, bookmark; host-environment +;; (`env-bsd-p') and user-constants (`user-home-dir') are read at load but +;; currently only required via eval-when-compile — Phase 2 to make explicit. +;; Direct test load: conditional (host-environment and user-constants must load +;; first; the compiled module cannot resolve them standalone yet). +;; ;; Loads during init to set sane defaults: UTF-8 everywhere, quiet prompts, synced clipboards, ;; and hands-off async shell buffers. Nothing to call—just launch Emacs and the environment is ready. ;; Native compilation is tuned for performance and its warnings get logged to comp-warnings.log. -- cgit v1.2.3