diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-24 16:32:07 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-24 16:32:07 -0500 |
| commit | 219018602f817bffedbb3d157fd9267d21f97098 (patch) | |
| tree | f940ea51e3be586686fa456d790a581959e64d03 /docs | |
| parent | 61dad3bd7b327eb0cf5bb3a6a0421a7055ed126b (diff) | |
| download | dotemacs-219018602f817bffedbb3d157fd9267d21f97098.tar.gz dotemacs-219018602f817bffedbb3d157fd9267d21f97098.zip | |
docs(load-graph): classify programming modules
Sixth classification batch: prog-general plus the language modules — prog-c, prog-go, prog-lisp, prog-python, prog-webdev, prog-json, prog-yaml, prog-shell, prog-training. I annotated each header, added a Batch 6 table to the inventory, and extended the validation allowlist. 52 of 102 modules are now classified.
prog-general owns the shared defaults and tree-sitter/LSP policy and stays eager. The language modules are eager only by init order and should load by major mode, so they're tagged Phase 6 deferral candidates. prog-shell's after-save executable hook is the one side effect worth scoping. No new hidden dependencies.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design/module-inventory.org | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/docs/design/module-inventory.org b/docs/design/module-inventory.org index dbde1557..ea9ecda3 100644 --- a/docs/design/module-inventory.org +++ b/docs/design/module-inventory.org @@ -28,7 +28,8 @@ This inventory is independent from the helper inventory owned by - Batch 3 (Core libraries and command modules): classified. 7 modules. - Batch 4 (UI / core-UX modules, Layer 2): classified. 10 modules. - Batch 5 (Dev entry-points, diff, help, lint, VC, Layer 2): classified. 9 modules. -- 42 of 102 modules classified. +- Batch 6 (Programming modules, Layer 2-4): classified. 10 modules. +- 52 of 102 modules classified. - No load-order changes have been made; =init.el= keeps its current eager order. * Legend @@ -136,6 +137,25 @@ Command entry points and package config for the development workflow: coverage | =test-runner= | 2 | C/L | eager | eager | ert, cl-lib, keybindings | test keymap under cj/custom-keymap | yes | | =vc-config= | 2 | C/P | eager | eager | user-constants, keybindings | 2 keymaps under cj/custom-keymap, package config | yes | +** Batch 6 — Programming modules (Layer 2-4) + +prog-general owns the shared programming defaults and tree-sitter/LSP policy and +stays eager. The language modules are eager only by init order and should load +by major mode (Phase 6); prog-training is optional and already autoloads. + +| Module | Layer | Cat | Current | Target | Runtime requires | Top-level side effects | Direct load | +|--------+-------+-----+---------+--------+------------------+------------------------+-------------| +| =prog-general= | 2 | C/P/S | eager | eager | none | 4 add-hook, package config | yes | +| =prog-c= | 3 | D/P | eager | mode | none | 6 add-hook, package config | yes | +| =prog-go= | 3 | D/P | eager | mode | none | package config | yes | +| =prog-lisp= | 3 | D/P | eager | mode | none | 2 add-hook, package config | yes | +| =prog-python= | 3 | D/P | eager | mode | system-lib | package config; warns if pyright missing | yes | +| =prog-webdev= | 3 | D/P | eager | mode | system-lib | package config; warns if prettier missing | yes | +| =prog-json= | 3 | D/P | eager | mode | none | 1 add-hook, package config | yes | +| =prog-yaml= | 3 | D/P | eager | mode | none | 1 add-hook, package config | yes | +| =prog-shell= | 3 | D/P/S | eager | mode | none | 5 add-hook (after-save executable hook flagged) | yes | +| =prog-training= | 4 | O/D/P | eager | command | none | package config (autoloaded) | yes | + * Hidden dependencies found Discoveries that belong to Phase 2 (make dependencies explicit). Recorded here, @@ -164,7 +184,7 @@ not fixed here. * Pending classification -The remaining 60 modules required by =init.el=, awaiting per-module inspection. +The remaining 50 modules required by =init.el=, awaiting per-module inspection. Each batch reads these against their source and moves them into [[*Classified modules][Classified modules]] with a load-graph header. Suggested batch order follows the spec: text/editing command modules, then UI, then programming, then @@ -208,16 +228,6 @@ Org, then optional integrations. - [ ] org-roam-config - [ ] org-webclipper - [ ] pdf-config -- [ ] prog-c -- [ ] prog-general -- [ ] prog-go -- [ ] prog-json -- [ ] prog-lisp -- [ ] prog-python -- [ ] prog-shell -- [ ] prog-training -- [ ] prog-webdev -- [ ] prog-yaml - [ ] quick-video-capture - [ ] reconcile-open-repos - [ ] restclient-config |
