The Harmony skeleton is **Prescriptive**; it defines the authoritative rules for file organization based on fundamental properties (invariants). This system is designed to formalize concepts, eliminate ambiguity, and serve as a central working point for the team.
* 1. Core Prescriptive Invariants
-The separation is based on **Provenance (Origin)** and **Transience (State)**.
+
+** The Aphorism
+The project's philosophy is rooted in this fundamental distinction:
+- **God, Artists, and SQL programs create things.**
+- **Factories (Build Tools) make things.**
+
+The directory structure enforces this semantic separation.
** Provenance: Authored vs. Made
- **Authored** (The Artist): Trees holding human-written intent. Tools must treat as *read-only*.
** =developer/made/=
- **Invariant:** Architecture-Agnostic Output.
-- **Contents:** Shared scripts, wrappers, and symlinks to authored code (e.g., Python entry points) that are the **result of a setup process**.
+- **Contents:** Symlinks to authored code (e.g., Python entry points) that are the **result of a setup process**, files for the OS loader, in general things generated by programs.
** =developer/scratchpad/=
- **Invariant:** Transient Workspace.
- **Contents:** Intermediate files, object files, dependency files.
** =developer/scratchpad/made/=
-- **Invariant:** Machine-Made Binaries (Intermediate).
+- **Invariant:** Machine-Made Binaries (Intermediate), generally OS loadable made things that are not to be tracked.
- **Contents:** Compiled binaries and libraries derived by the build system. The contents of =scratchpad/= are permanently Git-ignored.
* 3. Release Structure (The Central Working Point)