# Bootstrap Plan (Archival) Consolidated from the original BOOTSTRAP.md and IMPLEMENTATION_PLAN.md. The package structure defined here was largely followed and then exceeded. Current codebase has 38+ packages in pkg/ vs the 8 originally planned. ## Why Go Go is not a compromise. It is a structural fit. - **Interfaces are negative space types.** They don't say what a thing is. They say what a thing must do. The type is defined entirely by the constraint envelope. Any concrete type satisfying the constraint IS that interface, without declaring itself to be. - **Goroutines are Brownian walkers.** Cheap, numerous, uncoordinated. You launch them into the constraint space and let the structure capture them. Channels are the bonding sites -- typed surfaces where a walker gets captured and its value locks into the lattice. - **Select statements are ambiguity resolution.** Multiple channels ready simultaneously -- multiple valid fillers for the same lattice site. The runtime picks one structurally. - **Garbage collection is dissolution.** When no constraint holds an element, it returns to the pool. Accretion and dissolution running simultaneously. - **No inheritance.** Composition only. The lattice grows by accretion of compatible elements, not by extending a class tree. Inheritance creates grain boundaries. - **Small language.** Twenty-five keywords. Three bits. Eight opcodes. - **go generate.** Build-time lattice growth. The ribosome reading DNA and producing proteins. ## Bootstrap Sequence 1. Hard-code the axiom pair (coherence = determinism, incoherence = nondeterminism) 2. The three bits fall out of the axiom (bonding, constraint, energy) 3. Eight trigram opcodes from the three bits 4. Feed input -- enzymes decompose raw substrate into typed elements 5. Lattice grows -- random walk, constraint capture, typed bonding 6. Self-reference -- the lattice applies opcodes to itself 7. Seed dissolution -- the axiom becomes the symmetry group, everywhere 8. Sporulation -- compressed seeds bootstrap new instances ## Original 10-Phase Build Order | Phase | Package | Status | |-------|---------|--------| | 0 | go mod init | Done | | 1 | axiom/, state/ (axiom pair, trigrams) | Done: pkg/axiom, pkg/state | | 2 | lattice/ (nodes, sites, constraints) | Done: pkg/lattice | | 3 | enzyme/ (input decomposition) | Done: pkg/enzyme | | 4 | walk/, bond/ (Brownian walk, bonding) | Done: pkg/walk, pkg/bond | | 5 | dissolve/ (dissolution, lock-in eval) | Done: pkg/dissolve | | 6 | Coherence field (type-layer separation) | Integrated into lattice | | 7 | Ambiguity management | Integrated into lattice | | 8 | hexagram/ (64 dynamical states) | Done: pkg/hexagram | | 9 | Self-reference (ingest own source) | In progress (pkg/colony, pkg/grow, pkg/emit) | | 10 | Sporulation (portable seeds) | In progress (pkg/colony spore format) | Additions beyond original plan: pkg/crypto (gnarl, cayley, hamadryad, shadow channels), pkg/kismet (consensus), pkg/causal, pkg/grammar, pkg/colony, pkg/grow, pkg/emit, and 20+ other packages. ## Connection Map | Source Document | Role | |-----------------|------| | NEGATIVE_SPACE.md | Axiom + crystal/fungal growth model | | SEED_INSTRUCTION_SET.md | Three bits and eight opcodes | | HIGHER_DIMENSIONS.md | Lattice geometry | | ALGEBRAIC_DECOMPOSITION.md | Mathematical substrate | | NANNY_PLAN.md | Developmental roadmap beyond sporulation |