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/keyboard-compat.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'modules/keyboard-compat.el') diff --git a/modules/keyboard-compat.el b/modules/keyboard-compat.el index 22263e9c..914a343a 100644 --- a/modules/keyboard-compat.el +++ b/modules/keyboard-compat.el @@ -2,7 +2,17 @@ ;; author: Craig Jennings ;;; Commentary: - +;; +;; Layer: 1 (Foundation). +;; Category: F/S. +;; Load shape: eager. +;; Eager reason: normalizes terminal/GUI key input so the first session's +;; keybindings resolve consistently. +;; Top-level side effects: adds `cj/keyboard-compat-terminal-setup' to +;; `emacs-startup-hook'. +;; Runtime requires: host-environment. +;; Direct test load: yes (registers a startup hook; batch-safe). +;; ;; This module fixes keyboard input differences between terminal and GUI Emacs. ;; ;; THE PROBLEM: Meta+Shift keybindings behave differently in terminal vs GUI -- cgit v1.2.3