#+TITLE: Kernel Bootstrap (setup.org) #+AUTHOR: Amr #+FILETAGS: :harness:kernel:bootstrap: #+STARTUP: content * Overview: Architectural Intent The Kernel Bootstrap is the transition from a bare POSIX shell to a running Lisp environment. It's the only part of Passepartout that executes before the Lisp image is ready. The bootstrap has exactly three jobs, nothing more: 1. **Directory Resolution**: Locating and creating XDG paths for config, data, and state 2. **System Tangle**: Transforming literate Org sources into runnable Lisp files 3. **Dependency Check**: Ensuring SBCL, Quicklisp, and Emacs are available This minimal interface is deliberate. The bootstrap should NOT know about LLM providers, diagnostic suites, or gateway configuration. Those are the job of the Lisp-level setup wizard, which runs after the bootstrap is complete. * Phase A: Demand (Thinking) ** The Minimalist Kernel To maintain sovereignty, the harness must remain a "dumb" bus. It should not know about LLM providers or diagnostic suites. Its only responsibilities are: 1. **Directory Resolution**: Locating XDG paths. 2. **System Tangle**: Transforming literate Org sources into runnable Lisp. 3. **Dependency Check**: Ensuring SBCL and Quicklisp are available. * Phase B: Protocol (Success Criteria) ** Bootstrap Verification 1. `test-xdg-dirs`: Verify that `setup_system` creates the Config/Data/State folders. 2. `test-asdf-registration`: Verify that the `INSTALL_DIR` is correctly pushed to the ASDF central registry. * Phase C: Implementation (Build) ** The Installer Script (passepartout) The shell script is the primary entry point. It handles the initial git clone, dependency installation, and literate tangle. #+begin_src bash :tangle no #!/bin/bash # (The content here is a duplicate of the main passepartout for literate consistency) # [Note: Implementation is already verified in the top-level script] #+end_src