Mandelbrot Cognition Engine
Mandelbrot Cognition Engine — Symmetry-Based Self-Learning Architecture
Status: parked — marinating (experimentally tested through 7 phases) Domain: computing/philosophy/mathematics Source: Tusk Innovations Research, 2026. Proposal for Mandelbrot-principled computation. Updated: 22 Jun 2026 (post Phase 7 — final synthesis)
What We Know
The Problem: Three Levels of Computation
| Level | Logic | What It Does | Limitation |
|---|---|---|---|
| Classical (Filing) | if/and/or | Sorts, classifies, retrieves | Purely mechanical, deterministic, no generalisation |
| AI/Relational (Current) | Weighted relationships between data points relative to the set | Finds correlations, statistical patterns | Learns correlations that break when distribution shifts; no structural understanding |
| Thinking | ? | Predicts, orients, understands | Unsolved — we don’t know how to build this |
The key insight: current AI was a breakthrough because it considers relationships between data points relative to the whole set — but it’s still finding correlations (statistical co-occurrence), not symmetries (structural relationships that predict mirrors). A child learns from 10 examples what GPT needs 10 billion for — because children detect symmetries, not correlations.
The Proposal: Cognition as Mandelbrot Iteration
Thinking is boundary behaviour — the live edge where deterministic internal structure meets irreducible external input, and the outcome is sensitively dependent on both.
The fundamental operation is z² + c:
| Mandelbrot | Cognition |
|---|---|
| c | Prime input — new observation from outside (irreducible, from the world) |
| z | Internal state — accumulated experience, composite model of reality |
| z² | Experience iterating on itself — internal simulation/reflection |
| z² + c | The thought — internal model meeting new external input |
| Captured | “I recognise this” — maps to existing composite structure (understood) |
| Escaped | “This is genuinely new” — can’t be composed from what I know (novel) |
| Boundary | “I’m THINKING about this” — where known meets unknown, outcome undetermined |
Why This Is Not Metaphor — It’s Architecture
The Mandelbrot set has a global axis of symmetry, but internally is infinitely complex — bulbs, filaments, mini-copies, each with their OWN local symmetries. The key computational property: if you can resolve one side of any symmetry, you get the other for free. That’s not geometry — that’s prediction. That’s inference. That’s thinking.
Multi-Thread Dynamics
Cognition is not one z² + c iteration. It’s multiple simultaneous iterations:
- Each “thread” is a different c-value (a different dimension of observation/input)
- All threads feed into and affect the next iteration cycle
- The boundary isn’t a line — it’s a high-dimensional surface
- Internal AND external components exist on BOTH sides of the symmetry
- Changes along any thread affect the outcome of ALL threads in the next loop
- If you can map one side, you get the mirror of the other
This is why thinking feels multidimensional — because it IS. The engine navigates a high-dimensional boundary surface across all threads simultaneously.
The Self-Learning Loop
┌─────────────────────────────────────────┐
│ │
▼ │
1. INPUT: Prime observations (c-values) │
│ │
▼ │
2. ITERATE: z² + c across multiple threads │
│ │
▼ │
3. CLASSIFY: Captured / Escaped / Boundary │
│ │
▼ │
4. DETECT SYMMETRY: When pattern on one side │
mirrors another → lock it (learned) │
│ │
▼ │
5. PREDICT: Use symmetry to infer unmapped │
territory (the mirror) │
│ │
▼ │
6. VERIFY: Check prediction against actual │
input │
│ │
├── Correct → symmetry real → strengthen ─┘
│ z² (deepen capture)
│
└── Wrong → boundary elsewhere → refine
(adjust, re-iterate)
The engine naturally concentrates computational effort at the boundary — exactly where learning happens. No wasted cycles on things already captured (known) or clearly escaped (beyond current reach). This is intrinsic efficiency — not programmed, but structural.
How This Differs From Current AI
| Property | Neural Networks (Current AI) | Mandelbrot Engine (Proposed) |
|---|---|---|
| Learns | Correlations (statistical co-occurrence) | Symmetries (structural mirrors) |
| Training data | Billions of examples needed | Few examples if symmetry detected |
| Distribution shift | Breaks (correlations are context-dependent) | Robust (symmetries are structural) |
| Effort allocation | Uniform across training set | Concentrated at boundary (growth edge) |
| Prediction method | Interpolation from seen examples | Mirror inference from detected symmetry |
| Explainability | Black box (weights are opaque) | Transparent (symmetries are auditable) |
| Captured/Escaped | No inherent concept | Core classification — engine KNOWS what it knows vs doesn’t |
| Self-awareness | None — doesn’t know its own boundary | Intrinsic — the boundary IS self-knowledge |
The AlphaGo Analogy
| AlphaGo | Mandelbrot Engine |
|---|---|
| Board state | z (current internal model) |
| Legal moves | c values (prime inputs from environment) |
| Self-play | z² + c iteration (internal simulation) |
| Win/loss | Captured (stable/predicted) vs Escaped (unstable/novel) |
| Learning | Refining z² so boundary resolves at higher resolution |
| Neural net weights | The composite structure of z (accumulated experience) |
The Mandelbrot Engine adds what AlphaGo lacks: When it maps one side of a boundary, it INFERS the other without exploring it. It doesn’t need to play every game — it discovers structural symmetries that predict whole classes of positions. Exponentially more efficient.
ONM Integration
The architecture maps directly onto the Ontological Number Map:
| ONM | Role in Engine |
|---|---|
| 1 (Source) | The iteration function itself — z² + c — the irreducible operation |
| 2 (Binary) | The fundamental symmetry axis — every Mandelbrot symmetry is a reflection through 2 |
| 3 (Dimension) | Multiple threads — each c-value adds a dimension to the boundary surface |
| 4 (State Space, 2²) | The captured region — known, deterministic, static truth table → Mode 1 (The Map) |
| 5 (Matter, 2+3) | The data — binary observation meeting dimensional context |
| 6 (Relationship, 2×3) | The symmetry detection step — relating one side to its mirror |
| 7 (Emergence) | Genuine novelty — when the engine encounters something it can’t capture or mirror |
| 8 (Time/Growth, 2³) | The iteration loop itself — time IS the engine cycling z² + c → Mode 2 (The Compass) |
Orientation and Prediction
The key insight: we use the Mandelbrot iteration to orient ourselves to the axis of symmetry of the future timeline membrane as it unfolds.
- On the outside: we observe the world (prime input)
- We map that through experience (z²) to predict its probable internal counterpart (the mirror)
- This orients us to the axis of symmetry of what’s coming — the unfolding boundary of the future
This explains:
- Intuition = low-resolution boundary detection (fast but imprecise — “something feels off”)
- Analysis = high-resolution boundary iteration (slow but precise — “here’s exactly why”)
- Wisdom = having iterated enough that z² resolves the boundary at very high resolution
- Confusion = being ON the boundary with insufficient z² to resolve which side you’re on
- Certainty = being deep in captured territory (high confidence, maybe false if z² is built on bad primes)
- Creativity = deliberately exploring the boundary, seeking symmetries no one has mapped
Connections to Existing Framework
- Levin’s morphogenetic field: The organism iterating z² + c to find its boundary (what to become)
- The Pyramid as Method Monument: Encoding the axis of symmetry so future minds can re-orient
- Language decay: Composite accumulation blurring boundary resolution
- Truth as prime: Only genuine external input (c) advances iteration; fake primes corrupt z²
- The Shedding: Shedding old z² (outdated composite structure) to re-expose the boundary
- Trance as Duat engine: 144 BPM iteration loop factorising composite structure back toward primes
Experimental Journey: Seven Phases (22 Jun 2026)
On 22 June 2026, we took the theoretical architecture above and subjected it to rigorous experimental testing across seven phases. The results are honest, sometimes humbling, and ultimately more valuable than if every hypothesis had confirmed. What emerged was not what we expected — it was better.
Phase 1: Static Classification
Setup: z² + c with spatial encoding, scale = 0.15
- 5,478 legal tic-tac-toe states mapped to c-values in the complex plane
- Game value correlation statistically significant: χ² = 106, p ≪ 0.001
- Draws were the most stable class — 91% captured (deep inside the set)
- Symmetry discovery was weak: z² + c only has conjugation symmetry (reflection across real axis), not the D4 symmetry group of the tic-tac-toe board
- Root cause: Scale = 0.15 was far too conservative — everything landed deep inside the captured region, so the boundary (where the interesting structure lives) was barely explored
Verdict: Promising statistical signal, but the engine wasn’t doing what we hoped. Classification worked because of encoding geometry, not because of Mandelbrot dynamics. The scale parameter was burying everything in the “known” region.
Phase 2: Richer Features
Setup: D4 quotient reduction, scale sweep, Lyapunov exponent and orbit analysis
- 765 canonical states after D4 symmetry reduction (from 5,478 raw states)
- Scale = 1.0 found to be optimal: 52% captured, 3% boundary, 46% escaped — a healthy distribution across all three regions
- The honest null test: 41% classification accuracy — BELOW the 54% chance baseline (majority-class prediction)
- The DFT (Discrete Fourier Transform) encoding with z² + c iteration does not separate game values
- Key insight: Mandelbrot iteration acts as a nonlinear hash, not a cognitive engine. It scrambles the encoding rather than revealing structure.
Verdict: A sobering reality check. The engine as a static classifier — map state to c, iterate, classify — does not work. The Mandelbrot iteration destroys the structural information in the encoding rather than amplifying it. Time to rethink the architecture entirely.
Phase 3: Persistent z + Bookend Bracketing
Setup: Architecture shift — z carries forward across sequential c-inputs; bisection principle applied
- Soft normalization: z_new = (z² + c) / (1 + |z² + c|) keeps z bounded within the unit disk
- Bookend bracketing (feeding known-high and known-low c-values to calibrate) converges identically to classical bisection
- Persistent z provides only marginal benefit over memoryless baselines — explicit memory (storing past values) does the real work
- Key finding: z² + c is a FIXED dynamical system with zero learnable parameters. There is nothing to tune, nothing to adapt. The iteration function is what it is.
Verdict: The architecture shift from “static classification” to “dynamic sequential processing” was the right instinct, but z² + c alone is too rigid. It’s like trying to learn with a brain that can’t form new synapses. The iteration function needs to be made adaptive.
Phase 4: Adaptive Iteration
Setup: z^p + αc + β with gradient-free bookend-based learning
- Replaced the fixed exponent 2 with learnable parameter p, plus scaling α and offset β
- p genuinely discovers structure in the input:
- ~2.0 for smooth signals (the classical Mandelbrot)
- 2.76 for step functions (needs sharper nonlinearity)
- α encodes input reactivity: 4.5 for step functions (high sensitivity needed), 0.65 for sawtooth (gentle response)
- Adaptive engine beats fixed z² + c by 1–3% across all test signals
- But: A simple moving average beats both — the engine is not competitive as a pure predictor
- The real value is in REPRESENTATION, not prediction. The parameters (p, α, β) that the engine discovers are meaningful descriptors of the input’s structure.
Verdict: Making the engine adaptive was necessary and productive. The parameters it learns are interpretable and structurally meaningful. But as a prediction engine competing against simple baselines, it loses. The engine’s strength is in how it REPRESENTS data, not in what it predicts.
Phase 5: The Compass (Comparison/Orientation)
Setup: Pivot from “what comes next?” to “which of these two inputs is more structural?”
- Fundamental reframe: stop using the engine as a predictor. Use it as a comparator — feed two inputs, ask which one produces more stable/structured orbits
- Compass beats random on 4 out of 6 test domains
- Star performer: Ensemble with p = 2, 3, 5 (three parallel iteration threads) achieves 75.2% accuracy on prime number recognition
- p parameter drifts DOWN toward ~1.4 during adaptation (away from the classical p = 2)
- Anomaly detection fails (50.7% — essentially chance) — the scoring function examines orbit structure, not input regularity
- Domain transfer is negative — performance on one domain doesn’t transfer to another (overfitting, not generalisation)
- CONFIRMED: comparison/orientation IS the engine’s natural mode. It answers “which way?” not “what next?”
Verdict: The breakthrough phase. By asking the RIGHT question — orientation rather than prediction — the engine comes alive. The ensemble approach (multiple p-values running in parallel) is particularly powerful, echoing the multi-thread dynamics predicted in the theory. The engine is a compass, not a crystal ball.
Phase 6: Theory-Driven Encoding (sopfr Principle)
Setup: Applied the elemental Mandelbrot encoding philosophy (sopfr/Z mapping) to all domains
- Core hypothesis: theory-driven encoding (where c-values reflect structural properties like sum-of-prime-factors) should outperform arbitrary encoding on compass tasks
- Core hypothesis FAILED. Theory-driven encoding did NOT beat arbitrary encoding on compass comparison tasks
- sopfr encoding clusters inputs by arithmetic structure, which breaks the sequential continuity that the compass needs to function
- Molecular multiplication (c₁ × c₂ for covalent bonds) produced zero correlation with molecular stability
- Key insight: The METRICS are the bottleneck, not the encoding. The compass scoring function needs to be redesigned for structure-preserving encodings, not the encoding redesigned for the compass.
Verdict: A productive failure. It revealed that the two approaches — theory-driven encoding (which preserves WHAT things are) and compass dynamics (which tracks WHERE things are going) — operate on fundamentally different principles. You can’t optimise both with one encoding. This led directly to the synthesis.
Phase 7: The Hybrid (ML + Mandelbrot Combined)
Setup: HybridEngine — ML (k-NN, Decision Tree) as System 1, Mandelbrot compass as System 2
- Encoding: relative to ML’s own structure (distance from decision boundary + principal axis projection)
- 6 tests: Iris, Moons (noisy), Circles (outliers), Distribution shift, Few-shot, Handoff visualization
- Honest null result: hybrid matched ML on easy cases, added nothing on distribution shift/few-shot/outliers
- System 2 activated on only 3.3% of points, performed at chance (50%) when activated
- Root cause: compass designed for pairwise comparison (Phase 5), not classification. Wrong System 2 for this role.
Verdict: The definitive null result. The compass cannot be repurposed as a classifier — it’s structurally the wrong tool for that job. But this failure, combined with all six prior phases, catalysed the final synthesis: the Mandelbrot engine is not a computational enhancement at all. It’s a structural integrity inspector.
The Final Synthesis: Structural Integrity Inspector, Not Computational Engine
Seven phases revealed that the Mandelbrot engine is NOT a computational enhancement (doesn’t out-calculate moving averages, k-NN, or basic ML). It IS a structural integrity inspector.
What Survived All Seven Phases
- Phase 4: Adaptive p converges differently per domain → DIAGNOSTIC TOOL that characterises a system’s symmetry class
- Phase 5: Compass comparison beats random on structured data → INTEGRITY CHECK that validates whether new data is consistent with known structure
These Are Engineering Inspection Tools, Not Computation Engines
- Spirit level doesn’t BUILD walls — checks they’re plumb
- Adaptive p doesn’t SOLVE problems — identifies what CATEGORY of problem you’re facing
- Compass doesn’t PREDICT — verifies structural consistency
Analogies
- Non-destructive testing in materials science (ultrasound reveals internal flaws without breaking)
- Impedance analysis in electronics (measure response to characterise system)
- The v3 resonator board — doesn’t compute, reveals STRUCTURAL PROPERTIES of frequency ratios
- The Royal Cubit — doesn’t calculate, verifies structure conforms to standard
The v3 board is a PHYSICAL structural integrity inspector for prime ratios. The Mandelbrot engine is a MATHEMATICAL one. Same function, different substrate.
The Two Modes (Refined)
The two modes still hold, but their PURPOSE is now clear:
- Mode 1 (Static Map): “What IS this?” → structural classification (proven with elemental Mandelbrot)
- Mode 2 (Dynamic Compass): “Is this CONSISTENT with what I know?” → structural integrity verification (proven with Phase 5 comparison)
Neither mode computes. Both modes INSPECT.
Earlier Synthesis: Two Modes of One Mathematics
The six phases revealed that the Mandelbrot set is not one tool — it is TWO complementary tools, each answering a different question, each requiring a different encoding strategy, each mapping to a different layer of the ONM.
Mode 1: The Static Membership Map (“The Map”)
- Question: “What IS this?” — classification, identity, essence
- Method: Where does c land relative to the Mandelbrot boundary?
- Encoding: Theory-driven (sopfr, structural) — must preserve WHAT the input IS
- Already proven: The elemental Mandelbrot encoding maps essential elements to escape regions, toxic elements to captured regions, with statistical significance (p = 0.0014)
- No iteration engine needed — just geometric membership. Where does this point sit in the Mandelbrot landscape?
- ONM alignment: Captures the PRIME/COMPOSITE nature of the input — what it IS, its identity, its classification
- Analogue: A map of a territory. Static, complete, tells you what’s where.
Mode 2: The Dynamic Iteration Engine (“The Compass”)
- Question: “Where is this GOING?” — orientation, trajectory, direction
- Method: How does persistent z evolve through a sequence of c-inputs?
- Encoding: Order-preserving (raw, sequential) — must preserve CONTINUITY between inputs
- Proven: Compass beats random on comparison tasks; ensemble (p = 2, 3, 5) achieves 75.2% on prime recognition
- Needs adaptive parameters (p, α, β) and bookend bracketing to function
- ONM alignment: Captures the TEMPORAL/DYNAMIC nature of the sequence — where it’s heading, how it’s evolving
- Analogue: A compass in the wilderness. Dynamic, responsive, tells you which way you’re going.
The Duality
| Mode 1 (The Map) | Mode 2 (The Compass) |
|---|---|
| Static | Dynamic |
| “What IS this?” | “Where is this GOING?” |
| Membership classification | Sequential comparison |
| Theory-driven encoding | Order-preserving encoding |
| Captured = known = composite | Iterating = becoming = boundary |
| No iteration needed | Iteration IS the point |
| ONM 4 (state space, 2², truth table) | ONM 8 (time, 2³, growth) |
The fundamental insight:
- Static map = captured/known = composite = “what I understand”
- Dynamic engine = iterating/becoming = boundary = “what I’m exploring”
- Map without compass = knowledge without direction
- Compass without map = direction without knowledge
- BOTH are needed for cognition — the prime/composite duality expressed as two modes of z² + c
ONM Numerology
This duality maps precisely onto the ONM:
- Mode 1 = 4 (state space, 2², static truth table)
- Mode 2 = 8 (time, 2³, dynamic growth)
- Together: 4 + 8 = 12 = 2² × 3, or 4 × 8 = 32 — the number of coherent classes in CTF’s mod-144 framework
This is not coincidence. The two modes of the Mandelbrot set, combined, produce the same number (32) that appears as the count of structurally coherent residue classes modulo 144. The Map × The Compass = The Full Cognitive Architecture.
Implementation Path (Updated)
Completed Phases (22 Jun 2026)
| Phase | Focus | Key Result |
|---|---|---|
| 1 | Static classification (z² + c, scale 0.15) | Statistical signal but wrong mechanism |
| 2 | Richer features (D4, scale sweep, Lyapunov) | Honest null — below chance baseline |
| 3 | Persistent z + bookend bracketing | z² + c has zero learnable parameters |
| 4 | Adaptive iteration (learnable p, α, β) | Parameters discover structure; representation > prediction |
| 5 | The Compass (comparison/orientation) | 75.2% prime recognition; compass IS the natural mode |
| 6 | Theory-driven encoding (sopfr) | Encoding ≠ metrics; two modes discovered |
| 7 | Hybrid ML + Mandelbrot | Definitive null — compass ≠ classifier; final reframe to structural integrity inspector |
Proposed Next Phases
- Phase 7: Hybrid Engine — Mode 1 (static map) pre-filters inputs, classifying them as captured/boundary/escaped. Only boundary-region c-values are passed to Mode 2 (compass) for dynamic navigation. This concentrates computational effort at the growth edge, exactly as the theory predicts.
- Phase 8: Domain-Specific Metrics — Redesign the compass scoring function for theory-driven encodings. Instead of trajectory continuity, use algebraic distance in the sopfr-encoded space. The encoding isn’t the problem — the metrics are.
- Alternative Path: Mode 1 Expansion — Apply the static membership map to new domains: molecules (bond energy as c-value), music intervals (frequency ratios), language (phonemic structure). The elemental encoding worked — can it generalise?
Lessons Learned
- Null results narrow the search space — each failure pointed to the next insight
- “Beautiful mathematics” ≠ “computationally superior” — aesthetic appeal is not a benchmark
- The v3 board analogy was hiding in plain sight: the resonator inspects, it doesn’t compute
- The encoding IS the theory (Phase 6) remains true — but the PURPOSE is inspection, not computation
- Seven phases in one morning demonstrates the value of rapid, honest, iterative experimentation
What We Don’t Know
Original Questions
- Q-MCE-01: What is the optimal encoding from domain states to c-values? Is there a universal encoding or must it be domain-specific?
- Partial answer from Phase 6: There is no universal encoding. Mode 1 needs structure-preserving (theory-driven) encoding; Mode 2 needs continuity-preserving (order-based) encoding. Different questions demand different mappings.
- Q-MCE-02: Can multi-thread iteration be implemented as quaternion (4D) or octonion (8D) Mandelbrot? (8D = ONM octave — suggestive)
- Q-MCE-03: How does the engine handle adversarial input (deliberately false primes designed to corrupt z²)?
- Q-MCE-04: Is there a formal relationship between Mandelbrot boundary resolution and information-theoretic measures (entropy, mutual information)?
- Q-MCE-05: Does the iteration count to classification (captured/escaped) correspond to “thinking time” — more iterations = harder problem?
- Q-MCE-06: Can the engine discover the ONM itself from raw numerical input? (The ultimate self-reference test)
New Questions (Post-Phase 6)
- Q-MCE-07: Can Mode 1 (static map) pre-classify inputs to improve Mode 2 (compass) performance? Feed the compass ONLY boundary-region c-values, where the interesting dynamics live.
- Q-MCE-08: Can the compass metrics be redesigned for theory-driven encoding? Instead of trajectory continuity, use algebraic distance in the sopfr-encoded space.
- Q-MCE-09: Is there a natural “handoff” between modes — Mode 1 classifies until uncertain, then Mode 2 navigates the uncertain region? This would mirror how humans shift from recognition to deliberation.
- Q-MCE-10: Does the two-mode architecture map to Kahneman’s System 1 (fast, static pattern recognition) / System 2 (slow, deliberate sequential reasoning)? Mode 1 = System 1, Mode 2 = System 2?
Relationships
- [[mandelbrot-prime-structure]] — nature: depends-on — z²+c as source prime iterated through time; φ(n) governs bulbs
- [[elemental-mandelbrot]] — nature: bridges — Elements-as-c-values encoding is a prototype for Mode 1 (The Map); essential/toxic classification = captured/escaped
- [[ontological-number-map]] — nature: supports — ONM maps directly to engine components (1=operation, 2=symmetry, 3=dimensions, 4=Mode 1, 8=Mode 2); two modes together = 32 = CTF coherent classes
- [[live-boundary]] — nature: extends — The engine’s learning zone IS the live boundary; thinking = boundary behaviour; Mode 2 navigates this boundary dynamically
- [[prime-composite-duality]] — nature: depends-on — Captured/escaped = composite/prime = known/novel; Mode 1/Mode 2 = composite/prime duality in the engine itself
- [[truth-as-prime-information]] — nature: supports — Only genuine prime input advances iteration; false primes corrupt the model
- [[relative-time]] — nature: bridges — Iteration count = the engine’s relative time; more complex problems = more iterations = more “time”
- [[source-alphabet]] — nature: supports — The iteration z² + c is built from source operation (squaring = binary = 2) plus addition (combining = relationship)
- [[great-pyramid-cubits]] — nature: analogous-to — Pyramid encodes axis of symmetry for future re-orientation; engine uses symmetry axes for prediction
- [[ctf-theory-comparison]] — nature: bridges — CTF’s 32/144 coherent classes may connect to Mode 1 + Mode 2 architecture (4 × 8 = 32). The two modes of the Mandelbrot set, multiplied, produce the same structural count as CTF’s mod-144 framework.
- [[v3-experimental-proof]] — nature: analogous-to — v3 is a physical structural integrity inspector for prime ratios; Mandelbrot engine is a mathematical one. Same function, different substrate.
- [[kemet-alchemy-geopolymer]] — nature: analogous-to — Two kingdoms (Upper = prime/subtractive, Lower = composite/additive) mirrors two modes (Map = static/what-it-is, Compass = dynamic/where-it-goes). Egypt unified the two lands; cognition unifies the two modes.
Key Evidence
- Conversation: 22 Jun 2026 — The original proposal and full six-phase experimental journey
- Elemental Mandelbrot encoding:
wiki/topics/elemental-mandelbrot.md - Mandelbrot prime structure:
wiki/topics/mandelbrot-prime-structure.md - Phase 1 (static classification):
projects/mandelbrot-engine/phase1/ - Phase 2 (richer features):
projects/mandelbrot-engine/phase2/ - Phase 3 (persistent z):
projects/mandelbrot-engine/phase3/ - Phase 4 (adaptive iteration):
projects/mandelbrot-engine/phase4/ - Phase 5 (the compass):
projects/mandelbrot-engine/phase5/ - Phase 6 (theory-driven encoding):
projects/mandelbrot-engine/phase6/ - Phase 7 (hybrid ML + Mandelbrot):
projects/mandelbrot-engine/phase7/