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/user-constants.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'modules/user-constants.el') diff --git a/modules/user-constants.el b/modules/user-constants.el index 2cc4a50c..293bc806 100644 --- a/modules/user-constants.el +++ b/modules/user-constants.el @@ -1,7 +1,17 @@ ;;; user-constants.el --- User Constants -*- lexical-binding: t; coding: utf-8; -*- ;; author: Craig Jennings ;;; Commentary: - +;; +;; Layer: 1 (Foundation). +;; Category: F. +;; Load shape: eager. +;; Eager reason: defines the path constants referenced across the config and +;; creates the required directories/files before other modules load. +;; Top-level side effects: file writes — creates configured directories and +;; stub files via `cj/initialize-user-directories-and-files' at load. +;; Runtime requires: none. +;; Direct test load: conditional (touches the filesystem on load). +;; ;; This module defines important file and directory paths used throughout the ;; Emacs configuration, and ensures they exist during startup. ;; -- cgit v1.2.3