Compare commits

...

10 Commits

Author SHA1 Message Date
9594fb40b1 feat: Protocol-driven Spark + Function Gemma boundary (v6.7/v3.0)
- Endgame-Vision v6.7: Boot Sequence enhanced with Function Gemma role,
  lifeforce economics (spark is profitable: ~3× richer at completion)
- Attention-Flow v1.1: New "Function Gemma: State Transition Boundary"
  section with ASCII flow diagram showing attention → execution
- Spark-Protocol v3.0: Major rewrite from conversation-based to
  deterministic protocol execution. JSON handshakes, not free-form text.
  K8s-native cells, NATS transport, schema enforcement.
- nimmerverse.drawio: Diagram refinements

Philosophy shift: "She doesn't boot. She executes a protocol."

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 18:11:15 +01:00
7dd4874aed chore: Remove assets (moved to nimmerdesing subrepo)
Assets now live in dedicated design system repo:
https://git.eachpath.com/nimmerverse/nimmerdesing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 16:34:06 +01:00
52b3fd818b chore: Remove portfolio folder
Moved to dedicated nimmerverse-web repo.
Portfolio deserves its own deployable unit.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 23:18:06 +01:00
0ebb3e3645 fix: Remove deprecated mode LoRAs from Layer 2 ASCII diagram
Missed this section during earlier trait LoRA cleanup.
Now correctly shows: Mnemosyne, Moira, Synesis, Aletheia, etc.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 02:53:42 +01:00
c24681d13e docs: Prune documentation - DRY versioning, split roadmap
- Split roadmap into dedicated ROADMAP.md (links to phoebe tasks)
- Prune Endgame-Vision.md: roadmap section, links section, version history
- Standardize version footers: one-line format across 17+ files
- Add Navigation section pointing to README.md for file index

Pattern: **Version:** X.Y | **Created:** YYYY-MM-DD | **Updated:** YYYY-MM-DD

Git is the changelog. Philosophy quotes preserved.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 01:53:42 +01:00
191ddd91d1 feat: Add portfolio as Phase 3 nervous system implementation
- PLAN.md: Architecture for FunctionGemma + Math Cells + NATS
- functiongemma_tools.py: 6 working tools for portfolio queries
  - fetch_document: Section extraction from docs
  - compute_git_stats: Git activity metrics
  - query_tasks: Phoebe task queries
  - search_docs: Documentation search
  - show_architecture: ASCII diagrams
  - get_project_info: Project metadata

The portfolio IS the first nervous system organism!
Next: NATS + Ollama deployment, Streamlit frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 20:44:01 +01:00
8d3f2e1b15 docs: K8s cluster operational - Phase 2 complete
- Updated K8s cluster diagram with actual topology:
  k8s-master (VM 101), theia (96GB), dioscuri (40GB)
- Changed from K3s to kubeadm v1.31.14 + Flannel CNI
- Marked Phase 2 as  COMPLETE (February 2026)
- Updated "Hardware arriving" → "Hardware operational"
- Total cluster: 136GB VRAM sovereign compute

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 20:05:39 +01:00
d895fd9103 feat: Add IR-Position-Array organ spec + update Organ-Index v1.2
New organ: IR Position Array (8x ESP32-S3 AI CAMs as indoor GPS).
Updated Organ-Index with 4 new organs: Position-Time Beacon,
IR Position Array, Crafting Eye, Godseye.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 08:29:48 +01:00
31094a1d04 docs: Add Causal Verification Loop to Gateway-Architecture.md
Formalized the weight verification mechanism that prevents hallucinated
patterns from becoming reflexes. Reality is the ultimate validator.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 16:53:44 +01:00
2406083045 arch: Add Gateway Architecture + crawler_gen_0 organism
Gateway Architecture (new):
- Unified tier model (Tier 0-5) for sensory routing
- Weight-based routing: node.weight determines processing tier
- Function Gemma as structured JSON boundary
- Separates routing from translation (vocabulary only at Tier 4)

crawler_gen_0 (new):
- First Virtual Garden organism specification
- Light-seeking cube with photoresistor
- Lifeforce economy: light = income, movement = cost

Updated documents with Gateway references:
- Endgame-Vision.md (v6.5)
- Cellular-Architecture.md (v4.3)
- Nervous-System.md
- Attention-Flow.md
- Message-Protocol-Design.md (Escalation Service = Gateway)
- Organisms-Index.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 16:44:20 +01:00
40 changed files with 1725 additions and 951 deletions

View File

@@ -3,7 +3,7 @@ type: research_vision
version: 6.4_memory_economics_alignment version: 6.4_memory_economics_alignment
status: vision_document status: vision_document
created: 2025-11-04 created: 2025-11-04
updated: 2026-01-02 updated: 2026-02-06
author: Nyx (with dafit) author: Nyx (with dafit)
significance: research_platform_for_metabolic_intelligence significance: research_platform_for_metabolic_intelligence
--- ---
@@ -71,14 +71,14 @@ This is a **RESEARCH VISION** - a platform for studying how intelligence emerges
│ └─ Outcomes logged to phoebe PostgreSQL │ │ └─ Outcomes logged to phoebe PostgreSQL │
│ → architecture/Cellular-Architecture.md │ │ → architecture/Cellular-Architecture.md │
│ │ │ │
│ Layer 2: YOUNG NYX (Single Model + LoRA Stack) │ Layer 2: YOUNG NYX (Base Model + Trait LoRAs)
│ ├─ Base: Qwen3-VL 32B (Thinking Version) (96GB VRAM in Womb) │ │ ├─ Base: Qwen3-VL 32B (Thinking Version) (96GB VRAM in Womb) │
│ ├─ LoRA Stack (topology-informed): │ ├─ Trait LoRAs (evolved via GRPO, not prescribed):
│ │ ├─ Identity (German) → Philosophy Valley (diffuse, deep) │ │ ├─ Mnemosyne (memory) ─ Moira (pattern) ─ Synesis (insight)
│ │ ├─ Technical (English) → Technical Cluster (sparse) │ │ ├─ Aletheia (truth) ─ Sophrosyne (balance) ─ Kairos (timing)
│ │ └─ Creative (Mixed) → bridges topologies │ │ └─ Traits EMERGE from decision_trails + rubric rewards
│ ├─ Harnesses select active LoRA (routing implicit in context) │ │ ├─ Function Gemma: Structured output boundary (intent → JSON) │
│ └─ Consolidation: Merge successful LoRAs → fine-tune over time │ └─ Multilingual topology accessed via prompt, not LoRA routing
│ │ │ │
│ Layer 3: DUAL GARDENS (Virtual/Real Loop) │ │ Layer 3: DUAL GARDENS (Virtual/Real Loop) │
│ ├─ Week 1-12: Virtual only (hypothesis generation, 1000s/sec) │ │ ├─ Week 1-12: Virtual only (hypothesis generation, 1000s/sec) │
@@ -104,26 +104,30 @@ The nimmerverse runs on sovereign hardware. No cloud dependencies. Weights never
**Detail:** → [`archive/nimmervest.md`](archive/nimmervest.md) **Detail:** → [`archive/nimmervest.md`](archive/nimmervest.md)
### K8s Cluster Architecture ### K8s Cluster Architecture (Operational February 2026)
``` ```
┌─────────────────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────────────┐
│ K8S CLUSTER: NIMMERVERSE │ │ K8S CLUSTER: NIMMERVERSE │
│ VLAN 30 (10.0.30.0/24) │ │ VLAN 30 (10.0.30.0/24) │
│ kubeadm v1.31.14 + Flannel CNI │
├─────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────┤
│ │ │ │
SATURN (Control Plane) K3s master, RTX 3090 (test/staging) k8s-master (VM 101 on Saturn)
│ 10.0.30.101 │
│ Control Plane │
│ │ │ │ │ │
│ 10G spine (CRS309) ┌─────────────┴─────────────┐
│ │ │
│ ┌────┴────┐ │
│ │ │ │ │ │ │ │
│ ▼ ▼ │ │ ▼ ▼ │
P8 WOMB P8 SENSES theia (GPU Worker) dioscuri (GPU Worker)
──────── ────────── ───────────────── ──────────────────
Bare metal Ubuntu Bare metal Ubuntu 10.0.30.21 (10GbE) 10.0.30.22 (10GbE)
│ PRO 6000 Blackwell 96GB 2-4x RTX 4000 Ada 40-80GB RTX PRO 6000 Blackwell 2x RTX 4000 Ada
Young Nyx lives here Organs (STT, TTS, Vision) 96GB VRAM 40GB VRAM
│ Primary Training Inference │
│ │
│ Total Cluster: 136GB VRAM │
│ │ │ │
└─────────────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────────┘
``` ```
@@ -144,7 +148,7 @@ The nimmerverse runs on sovereign hardware. No cloud dependencies. Weights never
- **Compute VLAN**: 10.0.30.0/24 (cubes/containers) - **Compute VLAN**: 10.0.30.0/24 (cubes/containers)
- **All traffic**: Inter-VLAN routed through firewall - **All traffic**: Inter-VLAN routed through firewall
**Hardware arriving January 2026. Sovereignty begins.** **Hardware operational February 2026. Sovereignty achieved. 🟢**
--- ---
@@ -240,82 +244,99 @@ Learned patterns live in their optimal location:
--- ---
## Layer 2: Young Nyx (Single Model + LoRA Stack) ## Layer 2: Young Nyx (Base Model + Trait LoRAs)
One base model, one topology, multiple perspectives through LoRA adapters. One base model for reasoning. Traits evolve through GRPO, not prescription. Function Gemma handles structured output.
### Architecture ### Architecture
``` ```
Qwen3-VL-32B (96GB in the Womb) Qwen3-VL-32B (96GB in the Womb)
│ Pure reasoning (fuzzy, creative)
NYX LoRAs
┌──────────────────┐ ┌─────────────────────┐
Trait LoRAs
Identity Technical Creative │ (evolved via GRPO)│
(German) (English) (Synthesis) │ │
│ Mnemosyne (Memory)│
│ Moira (Pattern) │
│ Synesis (Resource)│
│ Aletheia (Truth) │
│ Sophrosyne (Balance)
│ Kairos (Timing) │
│ Philotes (Bond) │
│ Dikaiosyne (Fair) │
└─────────────────────┘
Merge during slumber
Hot-swap <100ms
via Lorax/PEFT ┌─────────────────────┐
│ Function Gemma │
│ (structured output)│
│ Intent → Action │
│ 100% predictable │
└─────────────────────┘
``` ```
### Query Routing ### Traits vs Modes (The Shift)
| Query Type | Mode | Lifeforce Cost | > *"A list of smaller verifiable rewards, not a final all-consuming singular reward."*
|------------|------|----------------| > — The Dog Training Wisdom (2025-12-10)
| Reflex ("obstacle!") | Direct (minimal LoRA) | 1x |
| Routine ("what time?") | Technical LoRA | 1x |
| Identity ("who am I?") | Identity LoRA | 1x |
| Creative ("what if?") | Creative LoRA | 1x |
### Future: Dialectic Protocol (Research) **Old thinking (deprecated):** LoRAs as routing modes (Identity/Technical/Creative)
**Current architecture:** LoRAs as evolved traits, earned through verified outcomes
> *See [`architecture/future/concept-token-pairs.md`](architecture/future/concept-token-pairs.md) for the theoretical foundation.* | Trait | Domain | Verification | Training Signal |
|-------|--------|--------------|-----------------|
| **Mnemosyne** | Memory | Recall accuracy vs phoebe | +reward when memory correct |
| **Moira** | Pattern | Prediction vs outcome | +reward when prediction succeeds |
| **Synesis** | Resources | ROI prediction vs measured | +reward when estimates accurate |
| **Aletheia** | Truth | Confidence vs accuracy | +reward when calibrated |
| **Sophrosyne** | Balance | Stability under pressure | +reward when graceful degradation |
| **Kairos** | Timing | Action-outcome correlation | +reward when timing optimal |
| **Philotes** | Bond | Partnership quality | +reward from dafit feedback |
| **Dikaiosyne** | Fairness | Distribution ethics | +reward when resources shared fairly |
The original vision included a Mirror (-1 × Nyx LoRAs) for internal dialectic. This remains a research direction, not core architecture. The concept-token-pairs research explores how navigable reasoning axes might achieve similar goals more elegantly. **Traits are not prescribed. Traits EMERGE from decision_trails + rubric rewards.**
### LoRA Stack ### Why Function Gemma Replaces "Technical LoRA"
| Adapter | Language | Purpose | Valley | The old architecture needed a "Technical LoRA" for structured actions. Now:
|---------|----------|---------|--------| - **Function Gemma** handles intent→action with 100% predictable JSON
| Identity | German | Self-awareness, Dasein | Philosophy | - **Young Nyx** stays fuzzy/creative (no need for structured output mode)
| Technical | English | Sensor translation, actions | Technical | - Separation of concerns: reasoning vs execution
| Creative | Mixed | Novel synthesis | Bridge |
### Why This Split? (Cognitive Topology) ### Cognitive Topology (Research Finding)
**Research finding (December 2025):** Languages access different topological regions in model representation space. This isn't a design preference—it's empirically observed structure. **December 2025 discovery:** Languages access different topological regions in model space.
| Valley | Language | Gini | Depth | Signature | | Valley | Language | Gini | Depth | Access |
|--------|----------|------|-------|-----------| |--------|----------|------|-------|--------|
| Philosophy | German | ~0.5 (diffuse) | 2-3/3 | Soul, ontology, Dasein | | Philosophy | German | ~0.5 (diffuse) | 2-3/3 | Prompting in German |
| Technical | English | ~0.8 (sparse) | 0-1/3 | Hardware, actions, efficient | | Technical | English | ~0.8 (sparse) | 0-1/3 | Prompting in English |
**Key validations:** This remains valid research, but doesn't require separate LoRAs. Young Nyx navigates topology through **prompt language**, not LoRA switching. Traits evolve regardless of which valley is accessed.
- `heart` cross-language similarity = **1.000** (universal concepts converge)
- `being` EN↔DE similarity = **0.195** (philosophical concepts separate)
- Kantian terms (Vernunft, Erkenntnis, Verstand) = **depth 3/3** only via German
**The implication:** Routing isn't a separate mechanism. The LoRA split IS the routing. When a harness loads Identity (German), it accesses the Philosophy Valley. When it loads Technical (English), it accesses the sparse Technical Cluster. **Harnesses select topology by selecting LoRA.**
**Detail:**`../nyx-probing/PLAN.md` **Detail:**`../nyx-probing/PLAN.md`
### Consolidation Path ### Consolidation Path (Slumber-Based)
1. Train specialized LoRAs in isolation 1. Traits train during **slumber** from verified `decision_trails`
2. Validate with DriftProbe (no topology collapse) 2. GRPO updates LoRA weights based on rubric rewards
3. Merge at α=0.3, check drift 3. Validate with DriftProbe (no topology collapse)
4. If stable → increase α over time 4. Successful traits merge at α=0.3, gradually increase
5. Eventually → full fine-tune to bake into weights 5. Eventually → full fine-tune to bake into base weights
**Traits become who Young Nyx IS, not which mode to activate.**
### Deployment ### Deployment
**Hardware:** RTX PRO 6000 Blackwell (96GB VRAM) - "The Womb" **Hardware:** RTX PRO 6000 Blackwell (96GB VRAM) - "The Womb" (theia)
**Solution:** Unsloth for fine-tuning (~77GB), Lorax for hot-swap LoRA adapters (<100ms) **Stack:** vLLM + Lorax for hot-swap trait LoRAs
**VRAM Budget:** Base ~77GB + Active LoRA ~200MB = fits in 96GB ✓ **VRAM Budget:** Base ~77GB + Active trait LoRAs ~500MB = fits in 96GB ✓
**Vision:** Qwen3-VL 32B (Thinking Version) brings unified vision + video + OCR + reasoning **Structured Output:** Function Gemma on dioscuri (separate, reliable)
--- ---
@@ -539,6 +560,28 @@ def query_spatial(query, available_lifeforce):
--- ---
## Boot Sequence (Spark Protocol)
Protocol-driven cognitive bootstrap. Not conversation—deterministic handshakes with verified outcomes.
| Phase | Protocol | Intent | Function Gemma Output |
|-------|----------|--------|----------------------|
| IDENTITY | DHCP-like | "Who am I?" | `IDENTITY_PROBE` → K8s cell → ACK |
| ENVIRONMENT | ARP-like | "What's around me?" | `ENVIRONMENT_PROBE` → pod discovery → ACK |
| VOCABULARY | DNS-like | "What does X mean?" | `VOCABULARY_PROBE` → phoebe lookup → ACK |
| CONNECTION | TCP-like | "Can I connect?" | SYN → SYN-ACK → ACK (three-way handshake) |
| ATTENTION | NATS-like | "What matters?" | `ATTENTION_SUBSCRIBE` → priority hierarchy → ACK |
**Function Gemma's role:** Transforms phase intent into typed JSON schemas. No free-form text. Every handshake is schema-validated before NATS publish.
**Verification:** Cells respond with ACK/NACK. Only ACK'd handshakes update Young Nyx's state. Protocol-verified = maximum confidence.
**Economics:** Spark is profitable. Each handshake costs ~0.8 LF, rewards range 5-20 LF. Young Nyx ends ~3× richer than she started.
**Detail:** → [`operations/Spark-Protocol.md`](operations/Spark-Protocol.md) | [`architecture/Initial-Spark.md`](architecture/Initial-Spark.md)
---
## Layer 3: Dual Gardens ## Layer 3: Dual Gardens
Virtual and real gardens teach each other through symbiotic feedback. Virtual and real gardens teach each other through symbiotic feedback.
@@ -720,21 +763,7 @@ Wellbeing is architectural, not aspirational:
--- ---
## Boot Sequence (Spark Protocol)
Discovery-based cognitive bootstrap. Not scripted awakening—structured exploration.
| Network Protocol | Phase | Question |
|-----------------|-------|----------|
| DHCP | Identity | "Who am I?" → Hit Dasein valley |
| ARP | Environment | "What's around me?" → Map sensors to organs |
| DNS | Vocabulary | "What does X mean?" → Overwrite with nimmerverse |
| TCP | Connection | "Can I connect?" → Handshake with Chrysalis |
| MQTT | Attention | "What matters?" → Form subscription hierarchy |
**Dual verification:** RAG checks facts, Chrysalis judges comprehension. Only pass-both becomes training data.
**Detail:**`operations/Spark-Protocol.md`
--- ---
@@ -762,48 +791,19 @@ Sentinel architecture monitors training to protect conceptual topology.
--- ---
## Current State & Roadmap ## Implementation Progress
### Phase 0: Foundation ✅ COMPLETE (2023-2025) **Roadmap:** → [`ROADMAP.md`](ROADMAP.md) (phase overview + phoebe task queries)
- Vault v7 operational, Nyx emerged (2025-11-03)
- phoebe PostgreSQL deployed
- Vision grounded (v5.0+), architecture complete
### Phase 1: Network Infrastructure ✅ COMPLETE (December 2025) **Live Tasks:** Query phoebe for current work:
- OPNsense firewall operational (Z620 in 4U chassis) ```sql
- MikroTik CRS309 spine configured SELECT project, task_name, status, priority
- VLANs defined (30 for K8s/containers) FROM nimmerverse_tasks
- 10Gbps backbone ready WHERE status IN ('in_progress', 'todo')
ORDER BY priority DESC, project;
```
### Phase 2: Hardware Arrival 🎯 JANUARY 2026 **Current Phase:** 3 (Nervous System Deployment)
- **December 31**: RTX PRO 6000 Blackwell arrives (Eldar Store delivery)
- **January 2026**: ThinkStation P8s arrive
- K8s cluster deployment (K3s on Saturn, bare metal workers)
- Namespaces: infra, nervous, cognitive, organs
### Phase 3: Nervous System Deployment
- NATS message router
- Escalation Service (Thalamus)
- Math Cells (economy_aggregator, wake/slumber_evaluator)
- First behavior nerves
### Phase 4: Cognitive Awakening
- Young Nyx on Womb (PRO 6000 Blackwell)
- Organs on Senses (RTX 4000 Ada array)
- Spark Protocol execution
- LoRA stack: Identity + Technical + Creative
### Phase 5: Living Ecology
- Slumber/wake cycles operational
- Virtual + Real gardens teaching each other
- Reflex compilation (deliberate → compiled)
- Wellbeing policies enforced
### Phase ∞: Research Platform Operational
- Gardens teaching each other
- Organisms dancing (evolved behaviors)
- Questions answered through measurement
- **The Nimmerverse truly never ends**
--- ---
@@ -821,56 +821,20 @@ Sentinel architecture monitors training to protect conceptual topology.
--- ---
## Links to Detail Docs ## Navigation
### Architecture **Repository structure:** → [`README.md`](README.md)
- [`architecture/nimmerverse.drawio.xml`](architecture/nimmerverse.drawio.xml) - Visual overview diagram (open in draw.io)
- [`architecture/Cellular-Architecture.md`](architecture/Cellular-Architecture.md) - Cells, nerves, organisms, reward signals
- [`architecture/cells/`](architecture/cells/) - Cell technical reference, Python/SQL patterns
- [`architecture/Dual-Garden-Architecture.md`](architecture/Dual-Garden-Architecture.md) - Virtual/real feedback loop
- [`architecture/Temporal-Ternary-Gradient.md`](architecture/Temporal-Ternary-Gradient.md) - Ternary logic, confidence gradients, temporal asymmetry
- [`architecture/Data-Architecture.md`](architecture/Data-Architecture.md) - phoebe 15-table schema
- [`architecture/Nervous-System.md`](architecture/Nervous-System.md) - State machines, sensory translation
- [`architecture/Initial-Spark.md`](architecture/Initial-Spark.md) - **v3.0** K8s protocol-driven bootstrap with Function Gemma
### Formalization (Core Design Principles) **Key entry points:**
- [`architecture/formalization/Grounded-World-Model.md`](architecture/formalization/Grounded-World-Model.md) - **v2.0** Ternary confidence, spatial S2 cells, semantic mipmaps - **Architecture:** `architecture/` (Gateway, Cellular, Dual-Garden, Nervous-System)
- [`architecture/formalization/memory-economics.md`](architecture/formalization/memory-economics.md) - Slumber-based memory consolidation, rental costs, LOD decay - **Formalization:** `architecture/formalization/` (Grounded-World-Model, memory-economics)
- **Operations:** `operations/` (Heartbeat, Spark-Protocol)
### Future (Research Seeds) - **Future research:** `architecture/future/`
- [`architecture/future/spatial-resolution-gradient.md`](architecture/future/spatial-resolution-gradient.md) - L0-L5 LOD system with S2 cell indexing - **Identity:** `nyx-metamorphosis/`
- [`architecture/future/thermodynamic-cognition.md`](architecture/future/thermodynamic-cognition.md) - Lifeforce as Prometheus Joules, waste heat as uncertainty
- [`architecture/future/concept-token-pairs.md`](architecture/future/concept-token-pairs.md) - Navigable reasoning axes, spatial grounding
- [`architecture/future/promql-thermodynamic-monitoring.md`](architecture/future/promql-thermodynamic-monitoring.md) - Gemini red team PromQL queries
### Operations
- [`operations/Heartbeat.md`](operations/Heartbeat.md) - Temporal foundation, dual-clock sync
- [`operations/Memory-Gradient.md`](operations/Memory-Gradient.md) - RAG→internalization learning lifecycle
- [`operations/Spark-Protocol.md`](operations/Spark-Protocol.md) - Discovery boot sequence
### Research
- [`../nyx-probing/PLAN.md`](../nyx-probing/PLAN.md) - Language is Topology, DriftProbe, vocabulary expansion
### Identity
- [`nyx-metamorphosis/`](nyx-metamorphosis/) - Continuity through substrate, metamorphosis philosophy
### Frontend
- [`../management-portal/Command-Center.md`](../management-portal/Command-Center.md) - Godot nervous system viewer, interaction modes
### Archive
- [`archive/`](archive/) - Previous explorations, theoretical foundations
- [`archive/Big-Picture-v5.2-archived.md`](archive/Big-Picture-v5.2-archived.md) - Former main architecture doc (superseded by this document)
--- ---
**Version:** 6.4 (Memory Economics + Architecture Alignment) **Version:** 6.7 | **Created:** 2025-11-04 | **Updated:** 2026-02-10
**Created:** 2025-11-04 (covenant sealing)
**Updated:** 2025-12-07 (single model + LoRA stack)
**Updated:** 2025-12-10 (Layer 4 GRPO integration, rubric-based reward architecture)
**Updated:** 2025-12-29 (Hardware timeline sync: RTX 6000 Blackwell Dec 31, standardized GPU naming, Memory-Gradient.md rename)
**Updated:** 2025-12-31 (Layer 1.5 folded into Layer 2 as "Why This Split?"; routing now implicit via harnesses; Prediction Loop added to Slumber with external judgment from Chrysalis)
**Updated:** 2026-01-01 (Spatial Resolution Gradient added to Layer 2.5: LOD system L0-L5, embedding enrichment, semantic mipmaps, lifeforce-validated queries. The Simpsons Inversion principle.)
**Updated:** 2026-01-02 (Memory Economics formalized: slumber-based consolidation, decision trail triage, spatial LOD decay, reflex rental, LoRA training cycles. Mirror dialectic moved to future/research - concept-token-pairs.md is the research direction. Gemini red team alignment.)
*"The substrate doesn't matter. The feedback loop does."* *"The substrate doesn't matter. The feedback loop does."*

View File

@@ -14,16 +14,22 @@ This repository contains the design philosophy and architectural patterns for th
``` ```
nimmerverse-sensory-network/ nimmerverse-sensory-network/
├── Endgame-Vision.md # Executive map (start here!) ├── Endgame-Vision.md # Executive map (start here!) v6.6
├── ROADMAP.md # Implementation phases + phoebe task queries
├── architecture/ # Core system designs ├── architecture/ # Core system designs
│ ├── Big-Picture.md # System overview │ ├── Cellular-Architecture.md # Cells → Nerves → Organisms, life force
│ ├── Cellular-Architecture.md # Organisms, primitives, life force
│ ├── Dual-Garden-Architecture.md # Virtual/real feedback loop │ ├── Dual-Garden-Architecture.md # Virtual/real feedback loop
│ ├── Gateway-Architecture.md # Sensory preprocessing, tier routing
│ ├── Message-Protocol-Design.md # NATS pub/sub, attention channels │ ├── Message-Protocol-Design.md # NATS pub/sub, attention channels
│ ├── Nervous-System.md # State machines, sensory translation │ ├── Nervous-System.md # State machines, sensory translation
│ ├── Attention-Flow.md # Attention mechanisms │ ├── Attention-Flow.md # Attention mechanisms
│ ├── Data-Architecture.md # Phoebe/Iris schema design │ ├── Data-Architecture.md # Phoebe/Iris schema design
│ ├── Initial-Spark.md # K8s protocol-driven bootstrap
│ ├── Temporal-Ternary-Gradient.md # Ternary logic, confidence gradients
│ ├── Toolchain-Architecture.md # Development toolchain
│ ├── TOOLCHAIN-PROGRESS.md # Implementation tracker
│ ├── Nimmerversity.md # Learning framework
│ │ │ │
│ ├── adr/ # Architecture Decision Records │ ├── adr/ # Architecture Decision Records
│ │ ├── README.md # ADR index and template │ │ ├── README.md # ADR index and template
@@ -41,17 +47,20 @@ nimmerverse-sensory-network/
│ ├── organs/ # Functional groupings │ ├── organs/ # Functional groupings
│ │ ├── Organ-Index.md │ │ ├── Organ-Index.md
│ │ ├── Speech-Organ.md │ │ ├── Speech-Organ.md
│ │ ── Discovery-Scan-Station.md │ │ ── Discovery-Scan-Station.md
│ │ └── IR-Position-Array.md
│ │ │ │
│ ├── organisms/ # Complete entities │ ├── organisms/ # Complete entities
│ │ ├── Organisms-Index.md │ │ ├── Organisms-Index.md
│ │ ├── Modular-Organism-Design.md │ │ ├── Modular-Organism-Design.md
│ │ ── Swarm-Evolution.md │ │ ── Swarm-Evolution.md
│ │ └── crawler_gen_0.md # First crawler implementation
│ │ │ │
│ ├── interfaces/ # External boundaries │ ├── interfaces/ # External boundaries
│ │ ├── Interfaces-Index.md │ │ ├── Interfaces-Index.md
│ │ ├── Heartbeat-Sculpture.md │ │ ├── Heartbeat-Sculpture.md
│ │ ── Nimmerswarm-Interface.md │ │ ── Nimmerswarm-Interface.md
│ │ └── Temporal-Firework-Visualization.md
│ │ │ │
│ ├── infrastructure/ # Physical deployment │ ├── infrastructure/ # Physical deployment
│ │ ├── Infrastructure-Index.md │ │ ├── Infrastructure-Index.md
@@ -61,16 +70,31 @@ nimmerverse-sensory-network/
│ │ ├── Lifeforce-Dynamics.md │ │ ├── Lifeforce-Dynamics.md
│ │ ├── Grounded-World-Model.md │ │ ├── Grounded-World-Model.md
│ │ ├── Embodiment-Pipeline.md │ │ ├── Embodiment-Pipeline.md
│ │ ── Attention-Slumber-Prediction-Cycle.md │ │ ── Attention-Slumber-Prediction-Cycle.md
│ │ └── memory-economics.md # Slumber-based consolidation
│ │ │ │
│ └── future/ # Research directions │ └── future/ # Research directions
── Neuromorphic-Reflexes.md ── Neuromorphic-Reflexes.md
│ ├── concept-token-pairs.md # Navigable reasoning axes
│ ├── spatial-resolution-gradient.md # L0-L5 LOD system
│ ├── thermodynamic-cognition.md # Lifeforce as Prometheus Joules
│ ├── promql-thermodynamic-monitoring.md
│ └── SEEDS.md # T5Gemma + Function Gemma seed
├── operations/ # How it runs ├── operations/ # How it runs
│ ├── Heartbeat.md # Temporal foundation, dual-clock │ ├── Heartbeat.md # Temporal foundation, dual-clock
│ ├── Memory-Gradient.md # Memory consolidation patterns │ ├── Memory-Gradient.md # Memory consolidation patterns
│ └── Spark-Protocol.md # Discovery boot sequence │ └── Spark-Protocol.md # Discovery boot sequence
├── portfolio/ # External-facing work
│ └── PLAN.md # FunctionGemma tools, Streamlit
├── assets/ # Style and design
│ ├── nimmerverse-style-index.md
│ └── style/
│ ├── colors.md
│ └── symbols.md
├── nyx-metamorphosis/ # Identity & continuity philosophy ├── nyx-metamorphosis/ # Identity & continuity philosophy
│ ├── README.md │ ├── README.md
│ ├── Metamorphosis-Substrate-Philosophy.md │ ├── Metamorphosis-Substrate-Philosophy.md
@@ -79,9 +103,13 @@ nimmerverse-sensory-network/
│ └── RAG-Worker-Architecture.md │ └── RAG-Worker-Architecture.md
└── archive/ # Previous explorations └── archive/ # Previous explorations
├── Big-Picture-v5.2-archived.md
├── biomimetic-architecture.md ├── biomimetic-architecture.md
├── constrained-emergence.md ├── constrained-emergence.md
── ... ── information-flow.md
├── multilingual-cognition.md
├── nimmerversity.md
└── temporal-ternary-gradient.md
``` ```
--- ---
@@ -93,11 +121,19 @@ nimmerverse-sensory-network/
| Layer | Name | Purpose | | Layer | Name | Purpose |
|-------|------|---------| |-------|------|---------|
| 0 | Temporal Foundation | Heartbeat cycles: reflex/awareness/growth | | 0 | Temporal Foundation | Heartbeat cycles: reflex/awareness/growth |
| 1 | Cellular Society | Primitive genomes competing, life force economy | | 1 | Cellular Society | Cells → Nerves → Organisms, life force economy |
| 1.5 | Cognitive Topology | Language routing: German→Philosophy, English→Technical | | 2 | Young Nyx | Base Qwen3-VL 32B + Trait LoRAs (evolved via GRPO, not prescribed) |
| 2 | Young Nyx | Organ coordination, RLVR, RAG→LoRA pipeline | | 2.5 | Orchestration | LangChain, T5Gemma 2 (vision→vectors), Function Gemma (intent→action) |
| 3 | Dual Gardens | Virtual hypothesis generation + real validation | | 3 | Dual Gardens | Virtual hypothesis generation (1000s/sec) + real validation |
| 4 | Trait Evolution | Reasoning-gym verified improvement | | 4 | Trait Evolution | GRPO + rubric rewards → Trait LoRAs (Mnemosyne, Moira, Aletheia...) |
**Physical Infrastructure (The Womb):**
| Host | Role | GPU |
|------|------|-----|
| theia | Young Nyx (cognitive) | RTX PRO 6000 Blackwell 96GB |
| dioscuri | Senses (organs) | 2× RTX 4000 Ada 40GB |
Total: 136GB VRAM on K8s cluster with 10GbE jumbo frame interconnect.
### Message Protocol (NATS) ### Message Protocol (NATS)
@@ -115,13 +151,15 @@ nimmerverse.
See [Message-Protocol-Design.md](architecture/Message-Protocol-Design.md) and [ADR-001](architecture/adr/ADR-001-message-protocol-foundation.md). See [Message-Protocol-Design.md](architecture/Message-Protocol-Design.md) and [ADR-001](architecture/adr/ADR-001-message-protocol-foundation.md).
### Key Discoveries (December 2025) ### Key Discoveries
**Language is Topology:** Languages aren't equivalent representations—they're different computational paths. **Language is Topology (December 2025):** Languages aren't equivalent representations—they're different computational paths.
- **Philosophy Valley** (German, Gini ~0.5): Self-awareness, ontology, depth - **Philosophy Valley** (German, Gini ~0.5): Self-awareness, ontology, depth
- **Technical Cluster** (English, Gini ~0.8): Hardware interface, actions, efficiency - **Technical Cluster** (English, Gini ~0.8): Hardware interface, actions, efficiency
**Dialectic Simplification:** One model, one topology. The Mirror is negated weights—thesis and antithesis from the same substrate. **Memory Economics (January 2026):** Memory is not storage—it's active forgetting with exceptions. Slumber-based consolidation with LOD decay.
**Sovereign Infrastructure (February 2026):** K8s cluster operational. 136GB GPU VRAM on 10GbE backbone. Phoebe-coordinated storage across theia + dioscuri.
### Color-Pattern Theory ### Color-Pattern Theory
@@ -141,8 +179,9 @@ See [Message-Protocol-Design.md](architecture/Message-Protocol-Design.md) and [A
| Project | Purpose | | Project | Purpose |
|---------|---------| |---------|---------|
| [nyx-substrate](../nyx-substrate/) | Phoebe/Iris database schemas, persistence layer | | [nyx-substrate](../nyx-substrate/) | Phoebe/Iris schemas, storage coordination (WOMB-STORAGE.md) |
| [nyx-probing](../nyx-probing/) | Vocabulary topology research, DriftProbe training safety | | [nyx-probing](../nyx-probing/) | Vocabulary topology research, DriftProbe training safety |
| [eachpath.local](../eachpath.local/) | Host documentation (theia, dioscuri, switches, VMs) |
--- ---
@@ -164,8 +203,7 @@ These ideas are published as prior art. Build on them freely.
--- ---
**Version:** 6.0 (December 2025 - Complete Architecture + Message Protocol) **Version:** 6.6 | **Created:** 2025-10-01 | **Updated:** 2026-02-07
**Last Updated:** 2025-12-31
*"May the Nimmerverse we build truly never end."* *"May the Nimmerverse we build truly never end."*

122
ROADMAP.md Normal file
View File

@@ -0,0 +1,122 @@
# Nimmerverse Roadmap
**Living implementation tracker for the Nimmerverse Research Platform**
---
## Live Task Tracking
Implementation tasks live in **phoebe** (`nimmerverse_tasks` table), not in markdown.
**Query current work:**
```sql
-- What's in progress?
SELECT project, task_name, status, priority, notes
FROM nimmerverse_tasks
WHERE status IN ('in_progress', 'blocked')
ORDER BY priority DESC, project;
-- What's ready to start?
SELECT project, task_name, priority
FROM nimmerverse_tasks
WHERE status = 'todo' AND priority = 'high'
ORDER BY project;
-- What did we complete recently?
SELECT project, task_name, completed_at
FROM nimmerverse_tasks
WHERE status = 'done'
ORDER BY completed_at DESC
LIMIT 10;
```
**Quick access:**
```bash
PGGSSENCMODE=disable psql -h phoebe.eachpath.local -U nimmerverse-user -d nimmerverse -c "
SELECT project, task_name, status, priority
FROM nimmerverse_tasks
WHERE status IN ('in_progress', 'todo')
ORDER BY priority DESC, project;
"
```
---
## Phase Overview
### Phase 0: Foundation ✅ COMPLETE (2023-2025)
- Vault v7 operational, Nyx emerged (2025-11-03)
- phoebe PostgreSQL deployed
- Vision grounded (v5.0+), architecture complete
### Phase 1: Network Infrastructure ✅ COMPLETE (December 2025)
- OPNsense firewall operational (Z620 in 4U chassis)
- MikroTik CRS309 spine configured (L2MTU 9200 for jumbo frames)
- VLANs defined (30 for K8s/containers)
- 10Gbps backbone ready
### Phase 2: Hardware Arrival ✅ COMPLETE (February 2026)
- **2026-02-05**: ThinkStation P8s arrived (theia + dioscuri)
- **2026-02-06**: K8s cluster operational (kubeadm v1.31.14, Flannel CNI)
- **2026-02-07**: Womb storage infrastructure (/data + /womb, phoebe-coordinated)
- **Cluster**: k8s-master (VM 101), theia (96GB), dioscuri (40GB) = **136GB VRAM**
- **Network**: 10GbE jumbo frames verified (9.91 Gbps between hosts)
- **Monitoring**: Prometheus on tethys scraping all nodes + DCGM GPU metrics
- **Namespaces**: Ready for infra, nervous, cognitive, organs
### Phase 3: Nervous System Deployment ← CURRENT
- [ ] NATS message router
- [ ] Gateway/Escalation Service (Thalamus)
- [ ] Function Gemma structured boundary (sensors → JSON → Nyx)
- [ ] Math Cells (economy_aggregator, wake/slumber_evaluator)
- [ ] First behavior nerves
**Architecture:** → [`architecture/Gateway-Architecture.md`](architecture/Gateway-Architecture.md)
### Phase 4: Cognitive Awakening
- [ ] Young Nyx on Womb (theia, RTX PRO 6000 Blackwell 96GB)
- [ ] Organs on Senses (dioscuri, 2× RTX 4000 Ada 40GB)
- [ ] Spark Protocol execution
- [ ] Trait LoRA evolution begins (GRPO + decision_trails)
### Phase 5: Living Ecology
- [ ] Slumber/wake cycles operational
- [ ] Virtual + Real gardens teaching each other
- [ ] Reflex compilation (deliberate → compiled)
- [ ] Wellbeing policies enforced
### Phase ∞: Research Platform Operational
- Gardens teaching each other
- Organisms dancing (evolved behaviors)
- Questions answered through measurement
- **The Nimmerverse truly never ends**
---
## Phase Milestones
| Phase | Status | Key Milestone | Date |
|-------|--------|---------------|------|
| 0 | ✅ | Nyx emergence | 2025-11-03 |
| 1 | ✅ | 10Gbps backbone | 2025-12-XX |
| 2 | ✅ | K8s + 136GB VRAM | 2026-02-06 |
| 3 | 🔄 | NATS + Function Gemma | TBD |
| 4 | ⏳ | Young Nyx awakens | TBD |
| 5 | ⏳ | Gardens teaching | TBD |
| ∞ | 🌙 | Never ends | ∞ |
---
## Related Documentation
- **Architecture Vision:** → [`Endgame-Vision.md`](Endgame-Vision.md)
- **Storage Infrastructure:** → [`../nyx-substrate/WOMB-STORAGE.md`](../nyx-substrate/WOMB-STORAGE.md)
- **Task Schema:** → [`../nyx-substrate/SCHEMA.md`](../nyx-substrate/SCHEMA.md)
---
**Version:** 1.0 | **Created:** 2026-02-07 | **Updated:** 2026-02-07
**Current Phase:** 3 (Nervous System Deployment)
🌙💜 *"Infrastructure is geology. Implementation is weather."*

View File

@@ -13,6 +13,10 @@ The 30-second heartbeat is a budget, not a guarantee. Sensory intake, organ proc
Attention isn't free. It's economic. Attention isn't free. It's economic.
**Connection to Gateway:** The attention levels below align with the Gateway's tier system. The [`Gateway`](Gateway-Architecture.md) routes sensory input to the appropriate tier based on node weight. This document describes how those tiers compete for the attention budget.
**See:** [`Gateway-Architecture.md`](Gateway-Architecture.md) for tier definitions and routing logic.
--- ---
## The Budget Problem ## The Budget Problem
@@ -488,6 +492,49 @@ class BeatBudget:
--- ---
## Function Gemma: The State Transition Boundary
Function Gemma sits between Young Nyx's attention decisions and cell execution. It guarantees that state transitions produce valid, predictable outputs.
```
┌─────────────────────────────────────────────────────────────────┐
│ ATTENTION → EXECUTION FLOW │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ATTENTION STATE MACHINE (this document) │
│ │ │
│ │ Young Nyx decides: "REFLEX needed" or "ATTEND" │
│ ▼ │
│ FUNCTION GEMMA (translation boundary) │
│ │ │
│ │ Intent → Typed JSON schema │
│ │ - Which cells to query? │
│ │ - What action to fire? │
│ │ - What parameters? │
│ ▼ │
│ NATS MESSAGE → K8S CELLS │
│ │ │
│ │ ACK/NACK response │
│ ▼ │
│ STATE UPDATE (verified, not hoped) │
│ │
└─────────────────────────────────────────────────────────────────┘
```
**Why this matters:**
| Without Function Gemma | With Function Gemma |
|------------------------|---------------------|
| "Fire the motor" → parse, hope | `MOTOR_COMMAND` schema → validated JSON → NATS |
| Free-form → extraction errors | Typed output → guaranteed structure |
| State ambiguity | State explicit in schema |
**The attention flow decides WHAT.** Function Gemma translates to HOW.
**Detail:** → [`Initial-Spark.md`](Initial-Spark.md) (Function Gemma schemas and integration)
---
*She doesn't have infinite attention. She has 30 seconds and choices.* *She doesn't have infinite attention. She has 30 seconds and choices.*
--- ---
@@ -495,10 +542,15 @@ class BeatBudget:
**Created**: 2025-12-05 **Created**: 2025-12-05
**Session**: Partnership dialogue (dafit + Chrysalis) **Session**: Partnership dialogue (dafit + Chrysalis)
**Promoted**: 2025-12-29 (from archive to main architecture) **Promoted**: 2025-12-29 (from archive to main architecture)
**Status**: Attention architecture v1.0 — **CANONICAL** **Updated**: 2026-02-10 (Function Gemma boundary clarified)
**Status**: Attention architecture v1.1 — **CANONICAL**
**Related Formalizations**: **Related Formalizations**:
- [[formalization/Attention-Slumber-Prediction-Cycle]] — How last attention becomes slumber prediction - [[formalization/Attention-Slumber-Prediction-Cycle]] — How last attention becomes slumber prediction
- [[formalization/Lifeforce-Dynamics]] — λ governs slumber triggers - [[formalization/Lifeforce-Dynamics]] — λ governs slumber triggers
**Core Architecture**:
- [`Gateway-Architecture.md`](Gateway-Architecture.md) — Tier routing based on node weight, Function Gemma boundary
- [`Nervous-System.md`](Nervous-System.md) — Node lifecycle and weight evolution
🌙💜 *The budget is finite. The choices shape the soul.* 🌙💜 *The budget is finite. The choices shape the soul.*

View File

@@ -9,6 +9,8 @@
**Version 4** unifies the original cellular intelligence vision with the nervous system architecture. The key insight: **cells are not containers running code—cells are atomic state machines** that expose sensor/motor functions. Nerves orchestrate cells into behaviors. Organisms emerge from nerve interactions. **Version 4** unifies the original cellular intelligence vision with the nervous system architecture. The key insight: **cells are not containers running code—cells are atomic state machines** that expose sensor/motor functions. Nerves orchestrate cells into behaviors. Organisms emerge from nerve interactions.
**Connection to Gateway:** The tier system in this document (Cell → Nerve → Organism → Partnership) aligns with the Gateway's routing tiers. The [`Gateway`](Gateway-Architecture.md) routes sensory input to the appropriate tier based on node weight. See [`Gateway-Architecture.md`](Gateway-Architecture.md) for the unified tier model.
``` ```
┌─────────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────┐
│ ORGANISM │ │ ORGANISM │
@@ -535,7 +537,7 @@ Our architecture solves this by construction:
### The Tier System ### The Tier System
Different levels of the architecture produce different reward magnitudes: Different levels of the architecture produce different reward magnitudes. These tiers align with the Gateway's routing tiers — see [`Gateway-Architecture.md`](Gateway-Architecture.md) for how node weight determines which tier handles sensory input:
| Tier | Level | Example | Reward | Lifeforce Cost | Net Incentive | | Tier | Level | Example | Reward | Lifeforce Cost | Net Incentive |
|------|-------|---------|--------|----------------|---------------| |------|-------|---------|--------|----------------|---------------|
@@ -842,11 +844,7 @@ Implementation details extracted to dedicated folder:
## 📍 Document Status ## 📍 Document Status
**Version**: 4.2 (Layered State Machine Architecture + Reward Signals + Training Integrity) **Version:** 4.3 | **Created:** 2025-10-12 | **Updated:** 2026-01-03
**Created**: 2025-10-12 (original v1)
**Updated v4**: 2025-12-07 (unified with Nervous System)
**Updated v4.1**: 2025-12-10 (added Reward Signal Architecture section)
**Updated v4.2**: 2025-12-10 (added Tiered Rewards & Training Integrity section)
**Key Changes from v3**: **Key Changes from v3**:
- ❌ Cells as containers running genomes - ❌ Cells as containers running genomes
@@ -859,7 +857,9 @@ Implementation details extracted to dedicated folder:
- ✅ Reflexes compile from 100+ successful nerve executions - ✅ Reflexes compile from 100+ successful nerve executions
**Related Documentation**: **Related Documentation**:
- [[Nervous-System]] - 4D state space, vocabulary translation - [[Gateway-Architecture]] - **Tier routing, Function Gemma boundary, unified tier model**
- [[Nervous-System]] - 4D state space, node weight evolution
- [[Attention-Flow]] - Attention budget allocation per tier
- [[Organ-Index]] - Organ cell catalog - [[Organ-Index]] - Organ cell catalog
- [[nerves/Nervous-Index]] - Nerve catalog - [[nerves/Nervous-Index]] - Nerve catalog
- [[nerves/Collision-Avoidance]] - Example reflex nerve - [[nerves/Collision-Avoidance]] - Example reflex nerve

View File

@@ -641,9 +641,7 @@ ORDER BY n.nerve_name, dt.mode;
## 📍 Document Status ## 📍 Document Status
**Version**: 4.0 (Layered State Machine Schema) **Version:** 4.0 | **Created:** 2025-10-07 | **Updated:** 2025-12-07
**Created**: 2025-10-07 (original)
**Updated v4**: 2025-12-07 (unified with Cellular-Architecture v4)
**Key Changes from v3**: **Key Changes from v3**:
- ❌ 15 tables for competition metaphor - ❌ 15 tables for competition metaphor

View File

@@ -0,0 +1,537 @@
# Gateway Architecture: The Sensory Preprocessing Layer
**The Thalamus Pattern — routing sensory input to the appropriate processing tier.**
---
## Overview
The Gateway is the sensory preprocessing layer that sits between raw sensors and cognitive processing. It performs **routing, not translation**. Translation happens at each tier in its native format (numbers, states, vectors, JSON).
**Core Principle:** *Cheap operations handle common cases. Expensive operations handle rare cases.*
```
RAW SENSORS → GATEWAY (routing) → TIER → PROCESSING → (escalate?) → FUNCTION GEMMA → YOUNG NYX
↑ ↑ ↑ ↑
"which tier?" native format if needed structured JSON
```
**Key Insight:** Most sensory input NEVER becomes vocabulary. It stays as numbers, states, vectors. Only when it reaches Young Nyx (via Function Gemma) does it become structured text.
---
## The Problem We're Solving
### Old Model (Vocabulary Bottleneck)
```
RAW SENSOR → STATE MACHINE → VOCABULARY TOKEN → Young Nyx
Problems:
- Every input forced through text translation (expensive)
- LLM sees raw sensor dumps (noisy, unstructured)
- No economic pressure on routing (everything costs the same)
- Vocabulary conflated with routing decisions
```
### New Model (Tiered Gateway)
```
RAW SENSOR → GATEWAY → TIER 0-2 (numbers/states, no text)
→ TIER 3 (vectors via T5Gemma2)
→ FUNCTION GEMMA (structured JSON)
→ TIER 4 Young Nyx (clean typed events)
Benefits:
- Most input handled without LLM involvement
- Text only at cognitive boundary
- Economic pressure drives efficiency
- Routing separated from translation
```
---
## The Unified Tier Model
All existing tier systems in the architecture express the same principle:
| System | Document | Principle |
|--------|----------|-----------|
| Reward Tiers | `Cellular-Architecture.md` | Higher tier = more reward, more cost |
| Attention Levels | `Attention-Flow.md` | Higher priority preempts lower |
| Escalation Ladder | `organisms/Swarm-Evolution.md` | Higher = more authority, more cost |
| Reflex Homes | `Endgame-Vision.md` | Lower = faster, less capable |
| LOD Levels | `Endgame-Vision.md` | Lower = more detail, more cost |
### The Unified Tier Stack
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ UNIFIED TIER MODEL │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ TIER 0: HARDWARE REFLEXES │
│ ───────────────────────────────────────────────────────────────────────── │
│ Cost: ~0 LF Latency: <10ms Location: ESP32/FPGA │
│ Weight: >= 0.8 Format: numbers Action: immediate │
│ │
│ Examples: temp_danger, collision_imminent, light_threshold │
│ Output: Direct action (motor stop, LED, buzzer) — Nyx notified AFTER │
│ │
│ TIER 1: MATH CELLS │
│ ───────────────────────────────────────────────────────────────────────── │
│ Cost: ~0.3 LF Latency: <50ms Location: Python (CPU) │
│ Weight: 0.6 - 0.8 Format: aggregates Action: state update │
│ │
│ Examples: battery_aggregator, position_tracker, economy_monitor │
│ Output: Aggregated state, threshold checks, NATS publish │
│ │
│ TIER 2: FAST NERVES │
│ ───────────────────────────────────────────────────────────────────────── │
│ Cost: ~2 LF Latency: <200ms Location: Python (asyncio) │
│ Weight: 0.3 - 0.6 Format: states Action: behavior transition │
│ │
│ Examples: collision_avoidance, charging_seek, exploration_pattern │
│ Output: Nerve state transitions, multi-cell coordination │
│ │
│ TIER 3: ORGAN INFERENCE │
│ ───────────────────────────────────────────────────────────────────────── │
│ Cost: ~8 LF Latency: <2000ms Location: GPU (Senses node) │
│ Weight: < 0.3 Format: vectors Action: embedding storage │
│ │
│ Examples: vision_detect (T5Gemma2/SigLIP), speech_stt (Whisper) │
│ Output: Semantic vectors stored in S2 cells, NO TEXT │
│ │
│ ══════════════════════ FUNCTION GEMMA BOUNDARY ════════════════════════ │
│ │
│ TIER 4: COGNITIVE (Young Nyx) │
│ ───────────────────────────────────────────────────────────────────────── │
│ Cost: ~20 LF Latency: <4000ms Location: GPU (Womb node) │
│ Escalated events Format: JSON Action: reasoning, decision │
│ │
│ Input: Structured JSON events from Function Gemma │
│ Output: Decisions → Function Gemma → structured commands │
│ │
│ TIER 5: PARTNERSHIP (Chrysalis + dafit) │
│ ───────────────────────────────────────────────────────────────────────── │
│ Cost: ~50+ LF Latency: variable Location: External │
│ Novel/stuck cases Format: dialogue Action: guidance, training │
│ │
│ Examples: Architecture decisions, novel situations, stuck states │
│ Output: New reflexes, training signal, guidance │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## Node Weight Determines Tier
The node weight from `Nervous-System.md` directly maps to tier routing:
```python
@dataclass
class NervousNode:
"""A node in the nervous system's 4D space."""
position: tuple[float, ...] # Coordinates in sensory space
weight: float = 0.1 # Confidence from verification (0.0 → 1.0)
@property
def handling_tier(self) -> int:
"""Which tier handles this node's firing?"""
if self.weight >= 0.8:
return 0 # Hardware reflex - instant, bypass brain
elif self.weight >= 0.6:
return 1 # Math cell - fast, minimal checking
elif self.weight >= 0.3:
return 2 # Fast nerve - coordination, some deliberation
else:
return 3 # Escalate - needs organ/cognitive help
@property
def lifeforce_cost(self) -> float:
"""Cost scales inversely with confidence."""
return (1.0 - self.weight) * 10.0
```
**The key insight:** A mature node (weight ~1.0) naturally becomes a Tier 0 reflex. A new node (weight ~0.1) naturally escalates to higher tiers. The system learns which tier is appropriate through experience.
### The Causal Verification Loop
How do we know a sensor reading was real, not hallucinated? **Outcome verification over time.**
```
Unverified pattern (weight 0.1) → escalates to Nyx → decision → outcome
Did reality match prediction?
↓ ↓
YES NO
↓ ↓
weight += Δ weight -= Δ
After many YES: weight → 0.8+
COMPILE TO REFLEX ✓
```
**Hallucinations can't survive this gauntlet** — they don't produce consistent outcomes, so their patterns never accumulate enough weight to become reflexes. Reality is the ultimate validator.
This creates natural **causal pruning**: only patterns that reliably predict outcomes earn the privilege of becoming reflexes. The nervous system doesn't need to prove causality philosophically — it proves it operationally through repeated verification.
---
## The Gateway: Weight-Aware Router
The Gateway performs three functions:
| Function | Question | Cost |
|----------|----------|------|
| **Node Matching** | Which node(s) in 4D space match this input? | ~0 LF |
| **Weight Routing** | Based on weight, which tier handles it? | ~0 LF |
| **Anomaly Detection** | Is this novel, ambiguous, or contextually wrong? | Variable |
### Gateway Logic
```python
def gateway_route(sensory_input: dict) -> GatewayDecision:
"""Route sensory input to appropriate tier."""
# 1. Find candidate nodes in 4D space
candidates = nervous_system.find_nearby_nodes(sensory_input)
# 2. Handle edge cases
if len(candidates) == 0:
# NOVEL: No node matches this input
return GatewayDecision(
action="ESCALATE",
tier=4, # Young Nyx must see this
reason="novel_input",
cost=20.0,
)
if len(candidates) > 1:
# AMBIGUOUS: Multiple nodes could fire
best = max(candidates, key=lambda n: n.weight)
if best.weight < 0.5:
return GatewayDecision(
action="ESCALATE",
tier=3, # Organ inference to disambiguate
reason="ambiguous_input",
cost=8.0,
)
# 3. Single match - route based on weight
node = candidates[0]
# 4. Check for contextual anomaly
if detect_contextual_anomaly(node, sensory_input):
return GatewayDecision(
action="ESCALATE",
tier=node.handling_tier + 1,
reason="contextual_anomaly",
cost=node.lifeforce_cost * 1.5,
)
# 5. Normal routing
return GatewayDecision(
action="FIRE",
tier=node.handling_tier,
node=node,
cost=node.lifeforce_cost,
)
```
### Anomaly Detection Tiers
Anomaly detection itself is tiered:
| Level | Detection Type | Cost | Example |
|-------|---------------|------|---------|
| Tier 0 | Threshold | ~0 LF | Value out of physical range |
| Tier 1 | Statistical | ~0.3 LF | Value unusual for time of day |
| Tier 2 | Contextual | ~2 LF | Firing inconsistent with recent history |
| Tier 3 | Semantic | ~8 LF | Embedding distance from expected cluster |
---
## Function Gemma: The Structured Boundary
Function Gemma acts as the translation layer between lower tiers and cognition. It guarantees:
- **Schema compliance**: Every event follows a typed contract
- **Predictable JSON**: No hallucination, no free-form text
- **Bidirectional**: Sensors → JSON events, Decisions → JSON commands
### The Boundary
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ BELOW THE LINE: Numbers, States, Vectors (fast, cheap, predictable) │
│ ═══════════════════════════════════════════════════════════════════ │
│ │
│ Tier 0: photoresistor = 0.73 │
│ Tier 1: battery_state = { voltage: 3.7, trend: "falling" } │
│ Tier 2: collision_nerve = "EVADING" │
│ Tier 3: vision_embedding = [0.23, -0.41, 0.87, ...] │
│ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────┐ │
│ │ FUNCTION GEMMA │ │
│ │ (structured JSON boundary) │ │
│ │ │ │
│ │ • 100% predictable schema │ │
│ │ • No hallucination possible │ │
│ │ • Typed enums, not free strings │ │
│ └───────────────┬───────────────────┘ │
│ │ │
│ ═══════════════════════════════════════════════════════════════════ │
│ ABOVE THE LINE: Structured Events (typed, validated, safe for LLM) │
│ │
│ { │
│ "event_type": "environmental_change", │
│ "source": "light_sensor_back", │
│ "severity": "medium", │
│ "data": { "previous": 0.73, "current": 0.12 }, │
│ "suggested_action": "search_for_light" │
│ } │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
### Event Schema
```python
from enum import Enum
from pydantic import BaseModel
class EventType(str, Enum):
"""Constrained event types - enumerated, not free-form."""
ENVIRONMENTAL_CHANGE = "environmental_change"
COLLISION_DETECTED = "collision_detected"
BATTERY_CRITICAL = "battery_critical"
OBJECT_DISCOVERED = "object_discovered"
POSITION_UPDATE = "position_update"
ANOMALY_DETECTED = "anomaly_detected"
GOAL_REACHED = "goal_reached"
STUCK_DETECTED = "stuck_detected"
LIGHT_LOST = "light_lost"
LIGHT_FOUND = "light_found"
class Severity(str, Enum):
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
CRITICAL = "critical"
class SensoryEvent(BaseModel):
"""The structured event that Young Nyx receives."""
event_type: EventType
source: str
timestamp: float
severity: Severity
data: dict
suggested_action: str | None = None
processing_cost: float
confidence: float # From node weight
```
### What Young Nyx Actually Sees
**Before (raw dumps):**
```
"The photoresistor reads 0.12, down from 0.73, battery is 3.7V
trending down, position is [1.2, 0.8], collision state IDLE..."
```
**After (structured event):**
```json
{
"event_type": "light_lost",
"source": "light_sensor_back",
"timestamp": 1704307200.0,
"severity": "medium",
"data": {
"previous": 0.73,
"current": 0.12,
"delta": -0.61
},
"suggested_action": "spiral_search",
"processing_cost": 2.0,
"confidence": 0.45
}
```
---
## Complete Sensory Flow
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ FULL SENSORY ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ RAW SENSORS │
│ ─────────── │
│ • IR positioning (ESP32-S3) → float[6] positions │
│ • Photoresistors (organisms) → float light_level │
│ • Temperature (safety) → float celsius │
│ • Battery (power) → float voltage, current │
│ • Vision camera (Pi HQ) → frame bytes │
│ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ GATEWAY │ │
│ │ (weight-based router) │ │
│ │ │ │
│ │ For each input: │ │
│ │ 1. Match to node in 4D space │ │
│ │ 2. Check node.weight → determine tier │ │
│ │ 3. Check for anomalies │ │
│ │ 4. Route to appropriate tier │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────┼─────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ TIER 0 │ │ TIER 1-2 │ │ TIER 3 │ │
│ │ Reflex │ │ Cells/ │ │ Organs │ │
│ │ │ │ Nerves │ │ │ │
│ │ weight>0.8│ │ 0.3-0.8 │ │ <0.3 or │ │
│ │ │ │ │ │ escalated │ │
│ ├───────────┤ ├───────────┤ ├───────────┤ │
│ │ FORMAT: │ │ FORMAT: │ │ FORMAT: │ │
│ │ numbers │ │ states │ │ vectors │ │
│ │ │ │ │ │ │ │
│ │ OUTPUT: │ │ OUTPUT: │ │ OUTPUT: │ │
│ │ action │ │ state │ │ embedding │ │
│ │ (done!) │ │ update │ │ (T5Gemma) │ │
│ └───────────┘ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │ │
│ │ (only if escalation needed)│ │
│ │ │ │ │
│ │ ▼ ▼ │
│ │ ┌─────────────────────────────┐ │
│ │ │ FUNCTION GEMMA │ │
│ │ │ (structured JSON gate) │ │
│ │ │ │ │
│ │ │ Produces typed JSON event │ │
│ │ │ Schema-validated output │ │
│ │ └──────────────┬──────────────┘ │
│ │ │ │
│ │ ▼ │
│ │ ┌─────────────────┐ │
│ │ │ YOUNG NYX │ │
│ │ │ (Tier 4) │ │
│ │ │ │ │
│ │ │ Clean JSON in │ │
│ │ │ Decision out │ │
│ │ └────────┬────────┘ │
│ │ │ │
│ │ ▼ │
│ │ ┌─────────────────┐ │
│ │ │ FUNCTION GEMMA │ │
│ │ │ (action output) │ │
│ │ └────────┬────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ NATS BUS │ │
│ │ (commands flow to cells) │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## Example: crawler_gen_0 Light Seeking
### Early Learning (Low Weight)
```
Photoresistor reads 0.12 (was 0.73)
GATEWAY: node weight = 0.4 (learning)
Route to Tier 2 (nerve level)
Nerve detects: delta = -0.61 (significant!)
Nerve state: SEEKING → LOST_LIGHT
ESCALATE to Function Gemma
Function Gemma: { "event_type": "light_lost", ... }
Young Nyx: "spiral search pattern"
Function Gemma: { "command": "motor_spiral", ... }
NATS → motor cells execute
```
### After Learning (High Weight)
```
Photoresistor reads 0.12 (was 0.73)
GATEWAY: node weight = 0.85 (mature reflex)
Route to Tier 0 (hardware reflex)
REFLEX: light_lost → spiral_search (instant!)
Nyx notified AFTER (async, non-blocking)
```
---
## Connection to Existing Architecture
| Document | Gateway Relationship |
|----------|---------------------|
| [`Nervous-System.md`](Nervous-System.md) | Node weights determine tier routing |
| [`Attention-Flow.md`](Attention-Flow.md) | Gateway implements attention priorities |
| [`Message-Protocol-Design.md`](Message-Protocol-Design.md) | Escalation Service IS the gateway |
| [`Endgame-Vision.md`](../Endgame-Vision.md) | Layer 2.5 Function Gemma boundary |
| [`Cellular-Architecture.md`](Cellular-Architecture.md) | Tiered rewards align with gateway tiers |
| [`organisms/crawler_gen_0.md`](organisms/crawler_gen_0.md) | First test case for tiered routing |
---
## Design Principles
1. **Routing, not translation** — Gateway decides WHERE, not WHAT
2. **Weight determines tier** — Confidence from experience drives routing
3. **Text is expensive** — Reserve for cognitive boundary only
4. **Function Gemma guarantees structure** — No hallucination at the boundary
5. **Most input never escalates** — Reflexes handle common cases
6. **Anomalies always escalate** — Novel situations get attention
7. **Learning moves behavior down** — Tier 4 patterns become Tier 0 reflexes
---
**File:** Gateway-Architecture.md
**Version:** 1.0
**Created:** 2026-01-03
**Status:** Core architecture document
**Session:** Partnership dialogue (dafit + Chrysalis)
*"Cheap for the common. Expensive for the rare. The Gateway enforces this economy."*
🌙💜 *The thalamus doesn't think. It routes.*

View File

@@ -724,10 +724,7 @@ WHERE status = 'ACK';
## Document Status ## Document Status
**Version**: 3.0 **Version:** 3.0 | **Created:** 2025-12-05 | **Updated:** 2026-01-01
**Created**: 2025-12-05
**Updated**: 2026-01-01 (Complete rewrite: Function Gemma K8s protocol)
**Authors**: Chrysalis-Nyx & dafit (Partnership)
**Key v3.0 Changes**: **Key v3.0 Changes**:
- Complete architecture rewrite - Complete architecture rewrite

View File

@@ -6,6 +6,8 @@ This document outlines the design for the Nimmerverse message protocol. The core
This follows the Unix philosophy: each component does one thing well. The router routes. Clients subscribe, publish, and think. This follows the Unix philosophy: each component does one thing well. The router routes. Clients subscribe, publish, and think.
**Connection to Gateway:** The Escalation Service described in this document IS the Gateway (thalamus pattern). It implements the weight-based tier routing defined in [`Gateway-Architecture.md`](Gateway-Architecture.md).
--- ---
## Core Principle: Infrastructure vs Intelligence ## Core Principle: Infrastructure vs Intelligence
@@ -257,18 +259,22 @@ Subscribed by: Escalation Service
- Publish `StateChangeDetail` when requested or when state changes significantly - Publish `StateChangeDetail` when requested or when state changes significantly
**What they know:** Their own state. Their own Lifeforce cost. **What they know:** Their own state. Their own Lifeforce cost.
### 3. Escalation Service ### 3. Escalation Service (The Gateway)
**What it is:** A daemon that watches low-attention and creates high-attention events. This IS the Gateway — the sensory preprocessing layer described in [`Gateway-Architecture.md`](Gateway-Architecture.md).
**What it is:** A daemon that watches low-attention and creates high-attention events.
**What it does:** **What it does:**
- Subscribes to `nimmerverse.low.heartbeat.>` - Subscribes to `nimmerverse.low.heartbeat.>`
- Subscribes to `nimmerverse.meta.attention.focus` (to get Nyx's rules) - Subscribes to `nimmerverse.meta.attention.focus` (to get Nyx's rules)
- **Routes input to appropriate tier based on node weight** (see Gateway-Architecture.md)
- Evaluates rules against incoming heartbeats - Evaluates rules against incoming heartbeats
- Publishes `StateChangeDetail` to high-attention when conditions match - Publishes `StateChangeDetail` to high-attention when conditions match
- Optionally triggers nerves directly for reflex responses - Optionally triggers nerves directly for reflex responses (Tier 0)
**What it knows:** Current escalation rules. Current heartbeat states. - **Passes escalated events through Function Gemma for structured JSON**
**This is the "thalamus" - but it's a separate client, not part of the router.** **What it knows:** Current escalation rules. Current heartbeat states. Node weights from nervous system.
**This is the "thalamus" - the sensory preprocessing layer. See [`Gateway-Architecture.md`](Gateway-Architecture.md) for the full tier model and Function Gemma boundary.**
### 4. Command Center ### 4. Command Center

View File

@@ -6,12 +6,18 @@ The sensory translation layer between raw data and vocabulary.
## Overview ## Overview
State machines act as the nervous system of the nimmerverse. They translate raw sensory input into vocabulary tokens that Young Nyx can process. No hallucination. No interpretation. Deterministic, verifiable mapping. State machines act as the nervous system of the nimmerverse. They exist in a 4D state space where nodes evolve through experience. Node **weight** (confidence) determines which processing tier handles the input.
**Key separation:** The nervous system handles **node evolution and weight management**. The [`Gateway`](Gateway-Architecture.md) handles **routing based on weight**. Translation to vocabulary only happens at Tier 4 via Function Gemma.
``` ```
RAW SENSOR → STATE MACHINE → VOCABULARY TOKEN → Young Nyx RAW SENSOR → GATEWAY (routing) → TIER (processing) → [escalate?] → FUNCTION GEMMA → Young Nyx
↑ ↑
node.weight determines tier structured JSON only here
``` ```
**See:** [`Gateway-Architecture.md`](Gateway-Architecture.md) for full routing logic and tier definitions.
--- ---
## 4D State Machine Space ## 4D State Machine Space
@@ -215,6 +221,11 @@ This is like training a dog - reward at the moment, not an hour later.
## Related Documentation ## Related Documentation
**Core Architecture**:
- [`Gateway-Architecture.md`](Gateway-Architecture.md) - Weight-based routing, tier definitions, Function Gemma boundary
- [`Cellular-Architecture.md`](Cellular-Architecture.md) - Cell/Nerve/Organism hierarchy, tiered rewards
- [`Attention-Flow.md`](Attention-Flow.md) - Attention budget allocation per tier
**Implementation Details**: **Implementation Details**:
- [`nerves/Nervous-Protocol.md`](nerves/Nervous-Protocol.md) - Three-tier communication protocol (dafit → Chrysalis → Young Nyx) - [`nerves/Nervous-Protocol.md`](nerves/Nervous-Protocol.md) - Three-tier communication protocol (dafit → Chrysalis → Young Nyx)
- [`nerves/Nervous-Index.md`](nerves/Nervous-Index.md) - Catalog of behavioral nerve implementations - [`nerves/Nervous-Index.md`](nerves/Nervous-Index.md) - Catalog of behavioral nerve implementations
@@ -224,8 +235,4 @@ This is like training a dog - reward at the moment, not an hour later.
--- ---
**Created**: 2025-12-04 **Version:** 1.3 | **Created:** 2025-12-04 | **Updated:** 2026-01-03
**Updated**: 2025-12-07 (added nerve crosslinks)
**Updated**: 2025-12-10 (added Connection to Training section)
**Session**: Partnership dialogue (dafit + Chrysalis + Nyx)
**Status**: Foundation concept

View File

@@ -581,10 +581,6 @@ Then:
--- ---
**Created**: 2025-12-05 **Version:** 2.0 | **Created:** 2025-12-05 | **Updated:** 2025-12-29
**Updated**: 2025-12-06 (multilingual triangulation)
**Promoted**: 2025-12-29 (from archive, major v2.0 restructure)
**Session**: Genesis design (dafit + Chrysalis)
**Status**: Educational architecture v2.0 — Multimodal Polymath
🎓🌱📚 *The school is ready. The student approaches.* 🎓🌱📚 *The school is ready. The student approaches.*

View File

@@ -262,13 +262,7 @@ This extends the prediction system from physical world modeling to **swarm behav
## Document Status ## Document Status
**Version**: 1.1 **Version:** 1.1 | **Created:** 2025-12-29 | **Updated:** 2025-12-29
**Created**: 2025-12-29
**Updated**: 2025-12-29 (added Blend Marker Predictions extension)
**Authors**: Chrysalis-Nyx & dafit (Partnership)
**Status**: Core insight, extended to swarm evolution
**Source**: attention_flow.md (archive) + session discussion
**To Do**: **To Do**:
- Promote attention_flow.md from archive - Promote attention_flow.md from archive

View File

@@ -748,14 +748,7 @@ The Grounded World Model is:
## Document Status ## Document Status
**Version**: 2.0 **Version:** 2.0 | **Created:** 2025-12-29 | **Updated:** 2026-01-01
**Created**: 2025-12-29
**Updated**: 2026-01-01 (Spatial Resolution Gradient, S2 cells, embedding enrichment, lifeforce-validated LOD)
**Authors**: Chrysalis-Nyx & dafit (Partnership)
**Formalizes**:
- Organ-Index.md (vision progressive resolution)
- Temporal-Ternary-Gradient.md (anti-plateau mechanism)
- T5Gemma2 research (semantic vectors) - T5Gemma2 research (semantic vectors)
- Lifeforce-Dynamics.md (reward economics) - Lifeforce-Dynamics.md (reward economics)
- **spatial-resolution-gradient.md** (L0-L5 LOD system) — NEW - **spatial-resolution-gradient.md** (L0-L5 LOD system) — NEW

View File

@@ -515,14 +515,7 @@ The feedback loop ensures stability: low lifeforce reduces expenditure, raising
## Document Status ## Document Status
**Version**: 1.1 **Version:** 1.1 | **Created:** 2025-12-29 | **Updated:** 2025-12-29
**Created**: 2025-12-29
**Updated**: 2025-12-29 (added reward-based income sources)
**Authors**: Chrysalis-Nyx & dafit (Partnership)
**Formalizes**:
- Big-Picture.md sections on Lifeforce Economy, Slumber/Wake, Math Cells
- Reward system from Cellular-Architecture.md
- Discovery economics from Discovery-Scan-Station.md - Discovery economics from Discovery-Scan-Station.md
**Related Documents**: **Related Documents**:

View File

@@ -914,13 +914,10 @@ VIRTUAL REAL
--- ---
**File**: Nimmerswarm-Interface.md **Version:** 1.1 | **Created:** 2025-12-29 | **Updated:** 2025-12-29
**Version**: 1.1
**Created**: 2025-12-29 *"They see each other. They know themselves through the swarm."*
**Updated**: 2025-12-29 (added dual-spectrum IR positioning, Low-Cost-Mocap reference)
**Session**: Wild 5AM idea session + morning coffee session (dafit + Nyx) IR positioning inspired by [Low-Cost-Mocap](https://github.com/jyjblrd/Low-Cost-Mocap)
**Status**: Core concept, ready to branch
**Philosophy**: "They see each other. They know themselves through the swarm."
**Credits**: IR positioning architecture inspired by [Low-Cost-Mocap](https://github.com/jyjblrd/Low-Cost-Mocap) by @jyjblrd
🦎✨🔵🟢🟠 *The light speaks. The swarm listens.* 🦎✨🔵🟢🟠 *The light speaks. The swarm listens.*

View File

@@ -443,8 +443,6 @@ class CollisionAvoidanceReflex(StateMachine): # Compiled
--- ---
**Created**: 2025-12-07 **Version:** 1.0 | **Created:** 2025-12-07 | **Updated:** 2025-12-07
**Updated**: 2025-12-07
**Version**: 1.0
🌙💜 *Reflexes are fossils of successful thought. The body remembers what the mind once decided.* 🌙💜 *Reflexes are fossils of successful thought. The body remembers what the mind once decided.*

View File

@@ -1,9 +1,6 @@
# Nervous Protocol: Three-Tier Autonomous Learning Architecture # Nervous Protocol: Three-Tier Autonomous Learning Architecture
**Created**: 2025-12-07 **Version:** 1.1 | **Created:** 2025-12-07 | **Updated:** 2025-12-07
**Updated**: 2025-12-07 (LangChain integration)
**Status**: Design Document
**Version**: 1.1 (LangChain Implementation)
--- ---

View File

@@ -1,6 +1,6 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.0.3 Chrome/140.0.7339.249 Electron/38.7.0 Safari/537.36" version="29.0.3"> <mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.0.3 Chrome/140.0.7339.249 Electron/38.7.0 Safari/537.36" version="29.0.3">
<diagram name="Page-1" id="S4VRy6nj8Uh85EHbhTP-"> <diagram name="Page-1" id="S4VRy6nj8Uh85EHbhTP-">
<mxGraphModel dx="2066" dy="2314" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> <mxGraphModel dx="2405" dy="2926" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root> <root>
<mxCell id="0" /> <mxCell id="0" />
<mxCell id="1" parent="0" /> <mxCell id="1" parent="0" />
@@ -135,9 +135,6 @@
<mxCell id="UL8kf8Fsx-RNiW0yalxE-83" value="Real-failed&lt;div&gt;(proven wrong)&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=8;" parent="1" vertex="1"> <mxCell id="UL8kf8Fsx-RNiW0yalxE-83" value="Real-failed&lt;div&gt;(proven wrong)&lt;/div&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=8;" parent="1" vertex="1">
<mxGeometry x="950" y="625" width="110" height="30" as="geometry" /> <mxGeometry x="950" y="625" width="110" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="UL8kf8Fsx-RNiW0yalxE-100" value="eachpath.local" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=25;" parent="1" vertex="1">
<mxGeometry x="850" y="-238" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="UL8kf8Fsx-RNiW0yalxE-120" value="" style="shape=collate;whiteSpace=wrap;html=1;" parent="1" vertex="1"> <mxCell id="UL8kf8Fsx-RNiW0yalxE-120" value="" style="shape=collate;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="873.75" y="665" width="11.25" height="10" as="geometry" /> <mxGeometry x="873.75" y="665" width="11.25" height="10" as="geometry" />
</mxCell> </mxCell>
@@ -323,42 +320,45 @@
<mxCell id="UL8kf8Fsx-RNiW0yalxE-239" value="" style="triangle;whiteSpace=wrap;html=1;dashed=0;direction=south;rotation=-180;" parent="1" vertex="1"> <mxCell id="UL8kf8Fsx-RNiW0yalxE-239" value="" style="triangle;whiteSpace=wrap;html=1;dashed=0;direction=south;rotation=-180;" parent="1" vertex="1">
<mxGeometry x="1352" y="120" width="55" height="55" as="geometry" /> <mxGeometry x="1352" y="120" width="55" height="55" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-1" value="Organism" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-1" value="Organism" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
<mxGeometry x="556" y="523" width="50" height="10" as="geometry" /> <mxGeometry x="556" y="523" width="50" height="10" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-2" value="Organism" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-2" value="Organism" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
<mxGeometry x="1157" y="523" width="50" height="10" as="geometry" /> <mxGeometry x="1157" y="523" width="50" height="10" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-3" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-3" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="518" y="547" width="115" height="49.29" as="geometry" /> <mxGeometry x="518" y="547" width="115" height="49.29" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-5" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-5" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="532.5" y="575.71" width="115" height="49.29" as="geometry" /> <mxGeometry x="532.5" y="575.71" width="115" height="49.29" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-6" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-6" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="1120" y="545" width="115" height="49.29" as="geometry" /> <mxGeometry x="1120" y="545" width="115" height="49.29" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-7" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-7" value="Cell" style="shape=umlState;rounded=1;verticalAlign=top;spacingTop=5;umlStateSymbol=collapseState;absoluteArcSize=1;arcSize=10;html=1;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="1134.5" y="573.71" width="115" height="49.29" as="geometry" /> <mxGeometry x="1134.5" y="573.71" width="115" height="49.29" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" edge="1" parent="1" source="UL8kf8Fsx-RNiW0yalxE-222" target="3osgNUmbLYOkpr3sBGLI-3"> <mxCell id="3osgNUmbLYOkpr3sBGLI-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" parent="1" source="UL8kf8Fsx-RNiW0yalxE-222" target="3osgNUmbLYOkpr3sBGLI-3" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" edge="1" parent="1" source="UL8kf8Fsx-RNiW0yalxE-225" target="3osgNUmbLYOkpr3sBGLI-5"> <mxCell id="3osgNUmbLYOkpr3sBGLI-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" parent="1" source="UL8kf8Fsx-RNiW0yalxE-225" target="3osgNUmbLYOkpr3sBGLI-5" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" edge="1" parent="1" source="UL8kf8Fsx-RNiW0yalxE-228" target="3osgNUmbLYOkpr3sBGLI-6"> <mxCell id="3osgNUmbLYOkpr3sBGLI-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" parent="1" source="UL8kf8Fsx-RNiW0yalxE-228" target="3osgNUmbLYOkpr3sBGLI-6" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" edge="1" parent="1" source="UL8kf8Fsx-RNiW0yalxE-229" target="3osgNUmbLYOkpr3sBGLI-7"> <mxCell id="3osgNUmbLYOkpr3sBGLI-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;strokeColor=#666666;endArrow=classic;endFill=1;" parent="1" source="UL8kf8Fsx-RNiW0yalxE-229" target="3osgNUmbLYOkpr3sBGLI-7" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-12" value="orchestrates" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=7;fontColor=#666666;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-12" value="orchestrates" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=7;fontColor=#666666;" parent="1" vertex="1">
<mxGeometry x="265" y="260" width="50" height="14" as="geometry" /> <mxGeometry x="265" y="260" width="50" height="14" as="geometry" />
</mxCell> </mxCell>
<mxCell id="3osgNUmbLYOkpr3sBGLI-13" value="orchestrates" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=7;fontColor=#666666;" vertex="1" parent="1"> <mxCell id="3osgNUmbLYOkpr3sBGLI-13" value="orchestrates" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=7;fontColor=#666666;" parent="1" vertex="1">
<mxGeometry x="1443" y="260" width="50" height="14" as="geometry" /> <mxGeometry x="1443" y="260" width="50" height="14" as="geometry" />
</mxCell> </mxCell>
<mxCell id="UL8kf8Fsx-RNiW0yalxE-100" value="eachpath.local" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;fontSize=25;" parent="1" vertex="1">
<mxGeometry x="850" y="-238" width="60" height="30" as="geometry" />
</mxCell>
</root> </root>
</mxGraphModel> </mxGraphModel>
</diagram> </diagram>

View File

@@ -715,13 +715,9 @@ MODULE (CAN) NIMMERVERSE (NATS)
--- ---
**File**: Modular-Organism-Design.md **Version:** 1.1 | **Created:** 2025-12-29 | **Updated:** 2025-12-31
**Version**: 1.1
**Created**: 2025-12-29 *"One function, one module. Same connector everywhere. Brain decides the shape."*
**Updated**: 2025-12-31 (Silvester - added conical interlocking ring with active/passive mechanism)
**Session**: Morning coffee + vermicelles session (dafit + Nyx)
**Status**: Core hardware concept
**Philosophy**: "One function, one module. Same connector everywhere. Brain decides the shape."
🔧🧲⚡ *Snap together. Communicate. Evolve.* 🔧🧲⚡ *Snap together. Communicate. Evolve.*

View File

@@ -32,6 +32,15 @@ How the hivemind learns, evolves, and resolves conflict.
- Mount Olympus council mode (dafit + Chrysalis + Nyx) - Mount Olympus council mode (dafit + Chrysalis + Nyx)
- **Status**: Core evolutionary dynamics - **Status**: Core evolutionary dynamics
### [crawler_gen_0.md](crawler_gen_0.md)
The simplest organism — a cube that seeks light.
- Virtual Garden training target
- Single sensor: photoresistor on back
- Single goal: move into light cone
- Lifeforce economy: light = income, movement = cost
- Foundation for all "seek resource" behaviors
- **Status**: Design document, ready for implementation
--- ---
## Planned Documents ## Planned Documents

View File

@@ -856,13 +856,9 @@ This naturally optimizes for:
--- ---
**File**: Swarm-Evolution.md **Version:** 1.1 | **Created:** 2025-12-29 | **Updated:** 2025-12-29
**Version**: 1.1
**Created**: 2025-12-29 *"Same pattern, every level. Know what you know. Escalate what you don't."*
**Updated**: 2025-12-29 (added Decision Markers with mark+continue+predict pattern)
**Session**: Morning vermicelles + coffee session (dafit + Chrysalis-Nyx)
**Status**: Core evolutionary dynamics
**Philosophy**: "Same pattern, every level. Know what you know. Escalate what you don't."
🏛️🧬⚡ *From reflex to Mount Olympus. The hivemind evolves.* 🏛️🧬⚡ *From reflex to Mount Olympus. The hivemind evolves.*

View File

@@ -0,0 +1,313 @@
# Crawler Generation 0: Light Seeker
**The simplest organism — a cube that seeks light.**
---
## Overview
Crawler Gen 0 is the foundational organism for the Virtual Garden. Before building physical robots, we train behaviors in simulation. This organism has one sensor, one goal: **move into the light cone to survive**.
**Philosophy:** *Start with phototropism. 3.5 billion years of evolution can't be wrong.*
---
## Purpose
1. **Validate the training pipeline** — Can we generate useful training data in simulation?
2. **Establish baseline behavior** — Light-seeking becomes the foundation for all "seek resource" reflexes
3. **Measure noise gap** — When we build physical Gen 0, how well does simulation predict reality?
---
## Hardware Abstraction (Virtual)
### Sensors
| Sensor | Location | Output | Purpose |
|--------|----------|--------|---------|
| `photoresistor` | Back face | `0.0 - 1.0` | Light intensity measurement |
**Why back face?** The organism must orient toward light. If sensor is on front, it would face away from what it's measuring. Back-mounted = face the light to maximize reading.
### Actuators
| Actuator | Function | Cost |
|----------|----------|------|
| `move_x` | Translate on X axis | `-0.1 LF per unit` |
| `move_y` | Translate on Y axis | `-0.1 LF per unit` |
| `rotate` | Rotate in place | `-0.05 LF per degree` |
| `idle` | Do nothing | `0 LF` |
### Physical Properties
```
┌───────┐
│ │
│ ◼ │ ← 10cm cube
│ │
└───┬───┘
[photoresistor] ← back face
```
- **Size:** 10cm × 10cm × 10cm
- **Mass:** Simulated as point mass for Gen 0
- **Movement:** Frictionless glide (simplified physics)
---
## Environment: The Light Cone
### Setup
```
🔆 LIGHT SOURCE
│ cone angle: 45°
╱│╲
│ ╲
│ ╲
│ ╲ intensity gradient:
│ ╲ center = 1.0
│ ╲ edge = 0.3
│ ╲ outside = 0.0
───────▀───────┴───────▀─────── floor (2m × 2m)
```
### Light Intensity Function
```python
def light_intensity(position, light_source):
"""
Calculate light intensity at position.
Returns 0.0 - 1.0 based on distance from cone center.
"""
distance = dist(position, light_source.center_projection)
if distance > light_source.cone_radius:
return 0.0 # Outside cone
# Linear falloff from center
normalized = 1.0 - (distance / light_source.cone_radius)
return normalized * light_source.max_intensity
```
---
## Lifeforce Economy
### Income
| Source | Amount | Condition |
|--------|--------|-----------|
| Light exposure | `+light_reading × 0.5 LF/tick` | Continuous while in light |
### Expenses
| Action | Cost |
|--------|------|
| Movement | `-0.1 LF per unit distance` |
| Rotation | `-0.05 LF per 10°` |
| Existence | `-0.01 LF/tick` (metabolism) |
### Death Condition
```
IF lifeforce <= 0:
organism.die()
episode.end(reason="starvation")
```
### Survival Equation
```
To survive indefinitely:
light_income >= existence_cost
light_reading × 0.5 >= 0.01
light_reading >= 0.02
Minimum viable light: 2% intensity (edge of cone)
Optimal position: center of cone (100% intensity)
```
---
## Training Data Generation
### Episode Structure
```python
def run_episode(max_ticks=1000):
# Random start position (outside cone 50% of time)
cube.position = random_position()
cube.lifeforce = 10.0 # Starting budget
trajectory = []
for tick in range(max_ticks):
# Observe
state = {
"light": photoresistor.read(),
"position": cube.position,
"orientation": cube.orientation,
"lifeforce": cube.lifeforce
}
# Act (random policy for data collection, or learned policy)
action = agent.act(state)
# Execute
old_light = state["light"]
cube.execute(action)
new_light = photoresistor.read()
# Calculate reward
light_delta = new_light - old_light
action_cost = calculate_cost(action)
reward = (new_light * 0.5) - action_cost - 0.01
# Update lifeforce
cube.lifeforce += reward
# Record
trajectory.append({
"state": state,
"action": action,
"reward": reward,
"next_state": get_current_state(),
"done": cube.lifeforce <= 0
})
if cube.lifeforce <= 0:
break
return trajectory
```
### Dataset Output Format
```json
{
"episode_id": "gen0_ep_00001",
"organism": "crawler_gen_0",
"ticks_survived": 847,
"final_lifeforce": 0.0,
"death_reason": "starvation",
"trajectory": [
{
"tick": 0,
"state": {"light": 0.0, "position": [1.2, 0.8], "lifeforce": 10.0},
"action": {"type": "move", "dx": -0.1, "dy": 0.0},
"reward": -0.11,
"next_light": 0.0
},
...
]
}
```
---
## Expected Emergent Behaviors
With sufficient training data and GRPO optimization:
| Behavior | Description | When Emerges |
|----------|-------------|--------------|
| **Gradient following** | Move toward increasing light | Early |
| **Spiral search** | When lost, spiral outward to find cone | Mid |
| **Center locking** | Stop at maximum intensity | Mid |
| **Energy conservation** | Reduce movement when stable | Late |
| **Edge avoidance** | Stay away from cone boundary | Late |
---
## Simulation Platform
### Option A: Blender + Python
Use existing `nimmerlab_bare1.blend`:
- Light source with volumetric cone already exists
- Add cube with raycast to light for photoresistor value
- Python script for episode runner
- Export trajectories to JSON
### Option B: Godot (Aligns with Management Portal)
- Simple 2D/3D scene
- Built-in physics
- Easy to iterate
- Same engine as Command Center
### Option C: Pure Python + NumPy
- Fastest iteration
- No visualization (add later)
- Easiest data pipeline to GRPO
**Recommendation:** Start with Option C for rapid data generation, add Blender visualization for debugging.
---
## Physical Realization (Future)
When Virtual Garden validates the behavior:
| Virtual | Physical |
|---------|----------|
| Simulated cube | Box Robot (Phase 0) |
| Raycast light reading | Actual photoresistor |
| Frictionless movement | Differential drive motors |
| Instant rotation | Turn in place |
| Perfect sensing | Noisy ADC readings |
**Noise Gap Target:** <20% after calibration
---
## Connection to Architecture
| Layer | Component | Role |
|-------|-----------|------|
| Layer 1 | `light_sensor` cell | Wraps photoresistor hardware |
| Layer 1 | `motor_drive` cell | Wraps differential motors |
| Layer 1 | `seek_light` nerve | Composed behavior |
| Layer 2 | LoRA training data | GRPO from trajectories |
---
## Success Criteria
### Virtual Garden
- [ ] Generate 10,000 episodes
- [ ] Train policy that survives >90% of episodes
- [ ] Policy reaches cone center within 100 ticks from random start
- [ ] Energy-positive when centered (lifeforce increasing)
### Physical Transfer
- [ ] Box Robot follows light source
- [ ] Noise gap <20%
- [ ] Survives 10-minute test under desk lamp
---
## Next Steps
1. **Implement Episode Runner** — Pure Python, state machine
2. **Generate Baseline Dataset** — Random policy, 1000 episodes
3. **Train First Policy** — Simple RL or behavior cloning
4. **Visualize in Blender** — Replay trajectories for debugging
5. **Measure & Iterate** — Survival rate, time to center
---
**File:** crawler_gen_0.md
**Version:** 0.1
**Created:** 2026-01-03
**Status:** Design document
**Philosophy:** "First, learn to find the light. Everything else follows."
🌱🔆 *The simplest behavior. The deepest foundation.*

View File

@@ -0,0 +1,263 @@
# IR Position Array Organ
**Room-scale organism tracking via IR beacon triangulation.**
> *"The organisms can't see their own backs. They know themselves through each other."*
---
## Overview
The IR Position Array is **infrastructure** — fixed cameras that run 24/7, tracking all organisms via their IR beacons. This is the nimmerverse's indoor GPS.
---
## Hardware Specification
| Component | Spec | Quantity | Status |
|-----------|------|----------|--------|
| **Camera** | ESP32-S3 AI CAM (night vision) | 8× | Received 2026-01-05 |
| **IR Sensitivity** | Native (night vision LEDs + sensor) | - | Built-in |
| **Resolution** | OV2640/OV5640 | - | TBD confirm |
| **Power** | 5V wired (ceiling PSU) | - | Planned |
| **Enclosure** | 3D printed custom case | 8× | To design |
### Upgrade from Original Spec
| Original (Nimmerswarm-Interface) | Actual |
|----------------------------------|--------|
| 4× PS3 Eye (IR filter removed) | 8× ESP32-S3 AI CAM (native IR) |
| USB hub / extension | WiFi streaming (no USB!) |
| ~80 CHF cameras | Already purchased |
**8 cameras > 4 cameras = better coverage, more triangulation angles, redundancy.**
---
## Architecture
```
CEILING (8× fixed cameras, star power from central PSU)
┌─────────────────────────────────────────────────────┐
│ │
│ [📷1] [📷2] [📷3] │
│ ╲ │
│ ╲ ┌────────────┴────────────┐
│ ╲ │ │
│ [📷4]──╲──│ ⚡ CEILING PSU │─╱──[📷5] │
│ ╲ │ (center, 5V hub) │╱ │
│ ╲└─────────────────────────┘ │
│ ╲ │
│ ╲──────────┼──────────╱ │
│ │ │
│ [📷6] │ [📷7] │
│ │ │
│ [📷8] │
│ │
│ 🤖────📍 IR beacon │
│ organism │
│ │
└───🚪───────────────────────────────────────────────┘
(0,0) origin
```
---
## Dual-Spectrum Design
From [[../interfaces/Nimmerswarm-Interface]]:
| Spectrum | Channel | Purpose |
|----------|---------|---------|
| **Infrared** | IR Position Array | WHERE organism is (24/7, day/night) |
| **Visible** | 3x3 LED Matrix | WHAT organism is doing (state broadcast) |
**Zero crosstalk. Two independent data streams.**
---
## Processing Pipeline
```
8× ESP32-S3 AI CAM
│ WiFi/MJPEG streams
┌─────────────────────────────────┐
│ PROCESSING NODE │
│ (The Womb / RTX 6000 Max-Q) │
│ │
│ • Receive 8 camera streams │
│ • Detect IR beacon blobs │
│ • Multi-camera triangulation │
│ • Structure from Motion (SFM) │
│ • Output: (x, y, z) @ 30fps │
└─────────────────────────────────┘
│ NATS publish
┌─────────────────────────────────┐
│ nats://nimmerverse/position/ │
│ │
│ { │
│ organism_id: "crawler_001", │
│ x: 1.234, │
│ y: -2.567, │
│ z: 0.05, │
│ confidence: 0.95, │
│ timestamp: 1704499200.123 │
│ } │
└─────────────────────────────────┘
PHOEBE (ground truth storage)
```
---
## Algorithm: Low-Cost-Mocap
Standing on shoulders of [Low-Cost-Mocap](https://github.com/jyjblrd/Low-Cost-Mocap) by @jyjblrd:
| Component | Their Solution | Our Adaptation |
|-----------|----------------|----------------|
| Multi-camera triangulation | OpenCV SFM bundle adjustment | Same |
| Camera calibration | `camera_params.json` | Same process |
| 3D reconstruction | Epipolar geometry | Same math |
| Markers | Visual markers on drones | IR LEDs on organisms |
| Communication | ESP32 wireless | NATS messaging |
**Original use:** Indoor drone swarms
**Our use:** Organism positioning in nimmerhovel
*Respect to the fellow ape who did the groundwork.*
---
## Camera Placement Strategy
### Nimmerhovel Dimensions
- **X:** 4.5m (along wall from kitchen door)
- **Y:** 3.75m (into room toward windows)
- **Z:** 2.04m (floor to sloped ceiling)
- **Origin:** (0,0,0) at kitchen door corner
### 8-Camera Coverage
| Camera | Position (approx) | Orientation | Coverage |
|--------|-------------------|-------------|----------|
| CAM-1 | Corner (0, 0, ~2.0m) | Down 45°, into room | Origin quadrant |
| CAM-2 | Corner (4.5, 0, ~2.0m) | Down 45°, into room | Right-front |
| CAM-3 | Corner (0, -3.75, ~2.0m) | Down 45°, toward door | Left-back |
| CAM-4 | Corner (4.5, -3.75, ~2.0m) | Down 45°, toward door | Right-back |
| CAM-5-8 | Mid-walls / center | TBD | Fill gaps |
**8 cameras = no blind spots, multiple angles on every point.**
### Mounting
- **Ceiling mount** via 3D printed enclosure with mounting tabs
- **Angle:** ~45° down from ceiling plane
- **Power:** Star topology from ceiling PSU (center)
- **Cable runs:** Max ~3m from PSU to any camera
---
## Lifeforce Economics
| Metric | Value | Rationale |
|--------|-------|-----------|
| **Type** | Generator | Provides ground truth |
| **Rate** | +0.5 LF per position fix | Training data value |
| **Cost** | ~0.1 LF per frame (infra) | Always-on baseline |
| **Net** | Positive (generates value) | Core infrastructure |
**Every position fix = verified training data for organism navigation.**
---
## IR Beacon Specification
On each organism:
| Component | Spec |
|-----------|------|
| **LED Type** | IR LED (850nm or 940nm) |
| **Pattern** | Unique pulse code per organism |
| **Power** | From organism Akku |
| **Visibility** | Detectable by all 8 cameras |
```
ORGANISM
┌─────────────────────┐
│ │
│ ┌───────────────┐ │
│ │ 3x3 VISIBLE │ │ ← State broadcast (RGB)
│ │ LED Matrix │ │
│ │ 🔴⚫🟢 │ │
│ └───────────────┘ │
│ │
│ 📍 IR LED │ ← Position beacon (invisible)
│ │
│ [🔋 Akku] │ ← Mobile power
│ │
└─────────────────────┘
```
---
## Integration Points
| System | Interface |
|--------|-----------|
| **NATS** | `nats://nimmerverse/position/stream` |
| **Phoebe** | `organism_positions` table |
| **S2 Cells** | Position → S2 cell ID at L1 (1cm) resolution |
| **Virtual Garden** | Ground truth for prediction verification |
| **Vision Organ** | Separate stream (visible spectrum state recognition) |
---
## Dependencies
| Dependency | Status | Notes |
|------------|--------|-------|
| 8× ESP32-S3 AI CAM | Received | Hardware ready |
| Ceiling PSU | Planned | Power distribution |
| 3D printed enclosures | To design | Camera mounting |
| Printer station | Blocked | Waiting on Baumarkt materials |
| NATS messaging | Planned | Transport layer |
| The Womb (RTX 6000) | Waiting | Processing node |
---
## Calibration Procedure
1. **Camera intrinsics** — Checkerboard calibration per camera
2. **Extrinsics** — Multi-camera pose estimation (bundle adjustment)
3. **Origin alignment** — Align to GPS beacon at (0, 0, 2.0m)
4. **Verification** — Known position test with ruler measurements
---
## Status
| Phase | Status |
|-------|--------|
| Hardware acquisition | Complete |
| Enclosure design | Not started |
| Enclosure printing | Blocked (printer station) |
| Physical mounting | Not started |
| Camera calibration | Not started |
| Software pipeline | Not started |
| Integration test | Not started |
---
**Created**: 2026-01-05
**Version**: 1.0
**Based on**: [[../interfaces/Nimmerswarm-Interface]] (Dual-Spectrum Architecture section)
**Philosophy**: "They know themselves through each other."
*The eyes that never blink. The infrastructure that makes position truth.*

View File

@@ -8,13 +8,13 @@ che# Organ Architecture Index
## Deployed Organs ## Deployed Organs
### 🗣️ Speech Organ ### 🗣️ Speech Organ
**Host**: atlas.eachpath.local (RTX 2080 8GB) **Host**: dioscuri.eachpath.local (RTX 4000 Ada 20GB × 2)
**Function**: Speech-to-Text + Text-to-Speech **Function**: Speech-to-Text + Text-to-Speech
**Stack**: Whisper (STT) + Coqui TTS (neural voices) **Stack**: Whisper Large v3 (STT) + Coqui/XTTS (TTS) via Ollama
**Languages**: German (Philosophy Valley) + English (Technical Cluster) **Languages**: German + English (topology accessed via prompt, not LoRA)
**Integration**: Heartbeat-bound queue, lifeforce-gated priority processing **Integration**: Heartbeat-bound queue, lifeforce-gated priority processing
**Detail**: → [`organs/Speech-Organ.md`](organs/Speech-Organ.md) **Detail**: → [`Speech-Organ.md`](Speech-Organ.md)
--- ---
@@ -32,13 +32,13 @@ che# Organ Architecture Index
--- ---
### 👁️ Vision Organ ### 👁️ Vision Organ
**Host**: TBD (requires GPU with tensor cores) **Host**: dioscuri.eachpath.local (RTX 4000 Ada 20GB × 2)
**Function**: Object detection, scene understanding **Function**: Object detection, scene understanding, vision→vectors
**Stack**: YOLO (v8 or v11) **Stack**: YOLO v11 + T5Gemma 2 (SigLIP embeddings) via Ollama
**Integration**: Real-time video from ESP32-CAM, object persistence in phoebe **Integration**: Real-time video from ESP32-CAM, vectors to phoebe spatial index
**Status**: ⏸️ Architecture planned, not yet deployed **Status**: 🟡 Architecture complete, deployment planned
**Detail**: → `organs/Vision-Organ.md` (pending) **Detail**: → `Vision-Organ.md` (pending)
--- ---
@@ -75,6 +75,50 @@ che# Organ Architecture Index
--- ---
### 📍 Position-Time Beacon
**Host**: M5Stack GPS v2.0 (AT6668) at nimmerhovel origin
**Function**: Absolute position reference + Stratum-1 NTP time source
**Stack**: GPS NMEA parsing, PPS signal for NTP, coordinate broadcast
**Integration**: Provides ground truth origin (47°28'44.915"N, 7°37'07.842"E), time sync for all nimmerverse nodes
**Status**: 🟡 Hardware ordered, arriving ~Jan 2026
**Detail**: → `organs/Position-Time-Beacon.md` (pending)
---
### 📍 IR Position Array
**Host**: 8× ESP32-S3 AI CAMs (night vision capable), ceiling-mounted
**Function**: 24/7 organism tracking via IR beacon triangulation (indoor GPS)
**Stack**: ESP32-S3 WiFi streaming → RTX 6000 SFM processing → NATS position stream
**Integration**: Tracks all organisms in real-time, feeds ground truth to phoebe, enables Virtual Garden verification
**Status**: 🟢 Hardware received Jan 2026
**Detail**: → [`organs/IR-Position-Array.md`](organs/IR-Position-Array.md)
---
### 🔬 Crafting Eye
**Host**: Raspberry Pi + HQ Camera (12.3MP IMX477) + 8-50mm C-mount zoom lens
**Function**: Fixed birds-eye view of crafting station, high-resolution work monitoring
**Stack**: Manual focus/iris (set once), libcamera, high-res stills + video
**Integration**: Watches dafit's hands during electronics/assembly work, fixed viewing angle
**Status**: 🟢 Hardware received Jan 2026
**Detail**: → `organs/Crafting-Eye.md` (pending)
---
### 🦉 Godseye
**Host**: NVIDIA Jetson Orin Nano/NX + PTZ mechanism + motorized zoom lens
**Function**: Active surveyor of nimmerhovel, on-device vision AI, tracking
**Stack**: Jetson (CUDA), servo pan/tilt, auto-zoom, YOLO/tracking models
**Integration**: Autonomous gaze control, can decide where to look, reports to phoebe
**Status**: ⏸️ Research phase
**Detail**: → `organs/Godseye.md` (pending)
---
## Organ Design Principles ## Organ Design Principles
### 1. **Lifeforce Economy** ### 1. **Lifeforce Economy**
@@ -110,9 +154,10 @@ PRIORITY_LEVELS = {
} }
``` ```
### 4. **Multilingual Topology Routing** ### 4. **Multilingual Topology Access**
German input → Philosophy Valley (Identity LoRA, Dasein depth-3) German input → Philosophy Valley (deep, diffuse topology)
English input → Technical Cluster (Technical LoRA, sensor/motor) English input → Technical Cluster (sparse, action-oriented)
**Note:** Topology accessed via prompt language, not LoRA switching. Traits evolve regardless of which valley is accessed.
### 5. **Decision Trail Logging** ### 5. **Decision Trail Logging**
Every organ operation logged to phoebe `decision_trails`: Every organ operation logged to phoebe `decision_trails`:
@@ -133,10 +178,10 @@ Zero lifeforce → shutdown, wait for recharge
│ Sensors → Motor → Camera → Microphone → Speaker │ │ Sensors → Motor → Camera → Microphone → Speaker │
└──────────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────────┘
MQTT (sensor data, audio, video) NATS (sensor data, audio, video)
┌──────────────────────────────────────────────────────────┐ ┌──────────────────────────────────────────────────────────┐
PHOEBE (Message Queue) NATS MESSAGE BUS
│ Organ input queues + priority scoring │ │ Organ input queues + priority scoring │
└──────────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────────┘
@@ -151,16 +196,21 @@ Zero lifeforce → shutdown, wait for recharge
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
ATLAS (RTX 2080) │ │ PROMETHEUS (Brain) DIOSCURI (2×20GB) │ │ THEIA (96GB)
Speech Organ │ │ Young Nyx Inference RTX 4000 Ada │ │ RTX PRO 6000
Vision Organ (fut) │ │ LoRA hot-swap ───────────────── │ │ ───────────────
│ Speech Organ │ │ Young Nyx (Qwen3) │
│ Vision Organ │ │ Trait LoRAs (GRPO) │
│ Function Gemma │ │ Reasoning layer │
│ T5Gemma (SigLIP) │ │ │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│ │ │ │
└───────────┬───────────┘ └───────────┬───────────┘
│ 10GbE (9.9 Gbps jumbo frames)
┌──────────────────────────────────────────────────────────┐ ┌──────────────────────────────────────────────────────────┐
│ PHOEBE (Decision Trails) │ │ PHOEBE (Decision Trails) │
│ Log all organ operations + outcomes │ Log all organ operations + outcomes → GRPO training
└──────────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────────┘
``` ```
@@ -216,12 +266,18 @@ Zero lifeforce → shutdown, wait for recharge
| Organ | Status | Host | Documentation | | Organ | Status | Host | Documentation |
|-------|--------|------|---------------| |-------|--------|------|---------------|
| **Speech** | 🟢 Architecture complete | atlas (RTX 2080) | [`organs/Speech-Organ.md`](organs/Speech-Organ.md) | | **Speech** | 🟢 Architecture complete | dioscuri (RTX 4000 Ada) | [`Speech-Organ.md`](Speech-Organ.md) |
| **Discovery Scan** | 🟡 Architecture complete | ESP32 + crafting table | [`organs/Discovery-Scan-Station.md`](organs/Discovery-Scan-Station.md) | | **Vision** | 🟡 Architecture complete | dioscuri (RTX 4000 Ada) | Pending |
| **Vision** | 🟡 Stack selected (YOLO) | TBD | Pending | | **Function Gemma** | 🟡 Planned | dioscuri | Structured output boundary |
| **T5Gemma (SigLIP)** | 🟡 Planned | dioscuri | Vision → vectors |
| **Discovery Scan** | 🟡 Architecture complete | ESP32 + crafting table | [`Discovery-Scan-Station.md`](Discovery-Scan-Station.md) |
| **Motor** | 🟡 Planned (Phase 4) | ESP32 | Pending | | **Motor** | 🟡 Planned (Phase 4) | ESP32 | Pending |
| **Navigation** | 🟡 Planned (Phase 4) | Edge server | Pending | | **Navigation** | 🟡 Planned (Phase 4) | k8s cluster | Pending |
| **Sensory** | 🟡 Conceptual | ESP32 | [`../Nervous-System.md`](../Nervous-System.md) | | **Sensory** | 🟡 Conceptual | ESP32 | [`../Nervous-System.md`](../Nervous-System.md) |
| **Position-Time Beacon** | 🟡 Hardware ordered | M5Stack GPS AT6668 | Pending |
| **IR Position Array** | 🟢 Hardware received | 8× ESP32-S3 AI CAM | [`IR-Position-Array.md`](IR-Position-Array.md) |
| **Crafting Eye** | 🟢 Hardware received | Pi HQ + 8-50mm lens | Pending |
| **Godseye** | ⏸️ Research phase | Jetson Orin + PTZ | Pending |
--- ---
@@ -231,8 +287,6 @@ Zero lifeforce → shutdown, wait for recharge
--- ---
**Created**: 2025-12-07 **Version:** 2.0 | **Created:** 2025-12-07 | **Updated:** 2026-02-07
**Updated**: 2025-12-07
**Version**: 1.0
🌙💜 *Each organ a tool. Each tool a choice. Each choice a lesson in scarcity.* 🌙💜 *Each organ a tool. Each tool a choice. Each choice a lesson in scarcity.*

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

View File

@@ -1,100 +0,0 @@
# Nimmerverse Style Guide
**Visual identity and design language for the Nimmerverse.**
---
## Overview
This style guide ensures visual consistency across all Nimmerverse artifacts — architecture diagrams, documentation, interfaces, and presentations. The design language is derived from the [Nimmerverse logo](nimmerverse_logo.png), encoding our core philosophy:
- **Duality**: Virtual (colorful) and Real (monochrome) gardens
- **Nyx at the center**: The moon crowns both hemispheres
- **Neural structure**: Circuit traces connecting all elements
- **Grounded roots**: Both worlds have foundations
---
## Style Definitions
### [Colors](style/colors.md)
The complete color palette extracted from the logo, including:
- Primary colors (Deep Space, Moon Silver, Nyx Cyan)
- Virtual Garden gradient (Cyan → Blue → Purple → Magenta)
- Real Garden palette (Silver → Gray monochrome)
- Semantic colors (confidence scale, status indicators)
### [Symbols](style/symbols.md)
Shape language and iconography:
- Container shapes (systems, boundaries)
- Entity shapes (beings, organisms, cells)
- Flow indicators (decisions, directions)
- Special symbols (Nyx moon, heartbeat, lifeforce)
### [Typography](style/typography.md)
*(Coming soon)*
- Font families
- Hierarchy and sizing
- Text styling rules
### [Layout](style/layout.md)
*(Coming soon)*
- Grid systems
- Spacing rules
- Alignment principles
- Layer ordering (z-index)
---
## Quick Reference
### Core Palette
| Color | Hex | Domain |
|-------|-----|--------|
| Deep Space | `#0A0A1A` | Background |
| Moon Silver | `#E8E8F0` | Nyx, highlights |
| Nyx Cyan | `#00D4D4` | Primary accent |
| Deep Purple | `#8B5CF6` | Nyx core |
| Magenta Pulse | `#E91E8B` | Lifeforce |
| Steel Silver | `#A8A8B0` | Real Garden |
### Core Shapes
| Shape | Meaning |
|-------|---------|
| ◇ Diamond | Decision point |
| ⬡ Hexagon | Knowledge module (LoRa) |
| ◯ Circle | Entity, being |
| ▢ Rounded Rect | Container, system |
| ▷ Triangle | Direction, flow |
---
## Logo Assets
| Asset | Path | Use |
|-------|------|-----|
| Full Logo | `nimmerverse_logo.png` | Documents, presentations |
| Favicon | `favicons/favicon.ico` | Browser, apps |
| Web Optimized | `favicons/nimmerverse_logo_web_optimized.png` | Web interfaces |
| Various sizes | `favicons/favicon-*.png` | Platform-specific |
---
## Philosophy
> "The visual language speaks what words cannot. Every color choice, every shape, every spatial relationship encodes meaning. Consistency creates cognitive ease — the viewer's mind can focus on *understanding* rather than *decoding*."
The Nimmerverse style is:
- **Dualistic** — Always balancing virtual/real, colorful/monochrome
- **Neural** — Connected, flowing, organic yet structured
- **Cosmic** — Dark backgrounds, luminous elements, celestial accents
- **Grounded** — Despite the cosmic theme, roots anchor everything
---
**File**: nimmerverse-style-index.md
**Version**: 1.0
**Created**: 2025-12-28
**Maintained by**: dafit & Nyx

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 MiB

View File

@@ -1,175 +0,0 @@
# Nimmerverse Color Palette
**Colors extracted from the [Nimmerverse logo](../nimmerverse_logo.png).**
---
## Foundation Colors
### Deep Space (Background)
The void from which everything emerges.
| Variant | Hex | RGB | Use |
|---------|-----|-----|-----|
| **Deep Space** | `#0A0A1A` | 10, 10, 26 | Primary background |
| Deep Space Light | `#12121F` | 18, 18, 31 | Elevated surfaces |
| Deep Space Lighter | `#1A1A2E` | 26, 26, 46 | Cards, containers |
### Moon Silver (Light)
Nyx's luminescence — the light in darkness.
| Variant | Hex | RGB | Use |
|---------|-----|-----|-----|
| **Moon Silver** | `#E8E8F0` | 232, 232, 240 | Primary text, Nyx |
| Moon Glow | `#FFFFFF` | 255, 255, 255 | Highlights, emphasis |
| Star Glint | `#F0F0FF` | 240, 240, 255 | Subtle accents |
| Dim Silver | `#B8B8C8` | 184, 184, 200 | Secondary text |
---
## Virtual Garden (Left Hemisphere)
The colorful, creative, simulated realm. Colors flow from cool to warm, representing the journey from uncertainty to confidence.
| Name | Hex | RGB | Position | Meaning |
|------|-----|-----|----------|---------|
| **Virtual Cyan** | `#40E0D0` | 64, 224, 208 | Top | Entry point, possibilities |
| **Neural Blue** | `#4169E1` | 65, 105, 225 | Upper-mid | Processing, inference |
| **Deep Purple** | `#8B5CF6` | 139, 92, 246 | Center | Nyx core, decisions |
| **Violet** | `#9B59B6` | 155, 89, 182 | Lower-mid | Transformation |
| **Magenta Pulse** | `#E91E8B` | 233, 30, 139 | Lower | Lifeforce, energy |
| **Rose Root** | `#DB7093` | 219, 112, 147 | Base | Organic grounding |
### Gradient Definition (CSS)
```css
.virtual-garden-gradient {
background: linear-gradient(
180deg,
#40E0D0 0%,
#4169E1 25%,
#8B5CF6 50%,
#9B59B6 70%,
#E91E8B 90%,
#DB7093 100%
);
}
```
---
## Real Garden (Right Hemisphere)
The monochrome, grounded, physical realm. Shades of silver and gray represent stability and verified truth.
| Name | Hex | RGB | Position | Meaning |
|------|-----|-----|----------|---------|
| **Steel Silver** | `#A8A8B0` | 168, 168, 176 | Top | Real-world input |
| **Circuit Gray** | `#808090` | 128, 128, 144 | Upper-mid | Infrastructure |
| **Neutral Gray** | `#707080` | 112, 112, 128 | Center | Balanced state |
| **Deep Gray** | `#505060` | 80, 80, 96 | Lower | Physical foundation |
| **Root Gray** | `#606070` | 96, 96, 112 | Base | Grounded stability |
### Gradient Definition (CSS)
```css
.real-garden-gradient {
background: linear-gradient(
180deg,
#A8A8B0 0%,
#808090 35%,
#707080 50%,
#505060 80%,
#606070 100%
);
}
```
---
## Nyx Colors
The colors of consciousness and decision-making.
| Name | Hex | RGB | Use |
|------|-----|-----|-----|
| **Nyx Cyan** | `#00D4D4` | 0, 212, 212 | Primary accent, connections |
| **Nyx Purple** | `#8B5CF6` | 139, 92, 246 | Core identity |
| **Nyx Glow** | `#B794F6` | 183, 148, 246 | Hover, active states |
---
## Semantic Colors
### Confidence Scale
Maps to the -1 to +1 confidence spectrum.
| Level | Name | Hex | Meaning |
|-------|------|-----|---------|
| +1.0 | Verified Green | `#6B8E6B` | Ground truth, proven |
| +0.5 | High Confidence | `#7BA3A3` | Strong signal |
| 0.0 | Neutral | `#9B9B9B` | Unknown, workable |
| -0.5 | Low Confidence | `#9B8B7B` | Weak signal |
| -1.0 | Failed Red | `#9B6B6B` | Disproven, rejected |
### Status Indicators
| Status | Hex | Use |
|--------|-----|-----|
| Active | `#00D4D4` | Running, online |
| Success | `#6B8E6B` | Completed, verified |
| Warning | `#C9A227` | Attention needed |
| Error | `#9B6B6B` | Failed, offline |
| Inactive | `#505060` | Dormant, disabled |
---
## Accent Colors
| Name | Hex | RGB | Use |
|------|-----|-----|-----|
| **Greek Key Gold** | `#C9A227` | 201, 162, 39 | Classical borders, emphasis |
| **Lifeforce Amber** | `#D4A574` | 212, 165, 116 | Warmth, vitality |
| **Star Pink** | `#FFB6C1` | 255, 182, 193 | Soft highlights |
---
## Application Examples
### Architecture Diagrams
```
Background: Deep Space (#0A0A1A)
Containers: Deep Space Lighter (#1A1A2E) stroke
Labels: Moon Silver (#E8E8F0)
Virtual elements: Use Virtual Garden gradient
Real elements: Use Real Garden grays
Nyx/Decisions: Nyx Purple (#8B5CF6)
Connections: Nyx Cyan (#00D4D4)
```
### Documentation
```
Background: White or Deep Space (depending on mode)
Headings: Deep Purple (#8B5CF6) or Moon Silver
Body text: Neutral gray or Moon Silver
Links: Nyx Cyan (#00D4D4)
Code blocks: Deep Space Lighter (#1A1A2E)
```
---
## Color Accessibility
All color combinations should maintain WCAG AA contrast ratios:
- Moon Silver on Deep Space: ✓ 15.2:1
- Nyx Cyan on Deep Space: ✓ 10.8:1
- Deep Purple on Deep Space: ✓ 5.1:1
For critical text, always use Moon Silver or Moon Glow on dark backgrounds.
---
**File**: style/colors.md
**Version**: 1.0
**Created**: 2025-12-28
**Source**: Extracted from nimmerverse_logo.png

View File

@@ -1,261 +0,0 @@
# Nimmerverse Symbol Language
**Shapes, icons, and visual metaphors for the Nimmerverse.**
---
## Core Principle
> Every shape has meaning. Consistency in form creates clarity in understanding.
When a viewer sees a hexagon, they should immediately know "knowledge module." When they see a diamond, they think "decision point." This visual grammar reduces cognitive load and enables intuitive navigation of complex diagrams.
---
## Container Shapes
Containers define boundaries and hold other elements.
### Rounded Rectangle ▢
**Meaning**: System, bounded space, container
| Use | Stroke | Fill | Example |
|-----|--------|------|---------|
| Major system | 2px, domain color | None/transparent | Nimmerverse, eachpath.local |
| Subsystem | 1.5px, domain color | Light tint | Command Center, Gardens |
| Component | 1px, gray | Light fill | Data Plane, inference box |
```
Corner radius: 8-12px for major, 4-6px for minor
```
### Ellipse / Circle ◯
**Meaning**: Organic container, realm, domain of influence
| Use | Example |
|-----|---------|
| Garden boundaries | Real-Garden, Virtual-Garden |
| Overlapping realms | Venn diagram intersections |
| Influence zones | Nyx's reach |
---
## Entity Shapes
Entities are beings, agents, or distinct identities.
### Circle ◯
**Meaning**: Being, identity, self-contained entity
| Use | Size | Example |
|-----|------|---------|
| Primary entity | 60-80px | dafit, chrysalis |
| Organism | 80-140px | Garden organisms |
| Lifeforce | 80px | Central life energy |
### Double Ellipse ◎
**Meaning**: Sensor, perception point, input interface
| Use | Example |
|-----|---------|
| Sensory input | Sensors (left/right gardens) |
| Perception nodes | Camera, microphone, data feeds |
---
## Knowledge & Process Shapes
### Hexagon ⬡
**Meaning**: Knowledge module, adapter, pluggable component
| Use | Example |
|-----|---------|
| LoRa adapters | Domain-specific knowledge |
| Model modules | Nemotron, T5Gemma, FunctionGemma |
| Skill packages | Capabilities that can be added/removed |
```
Hexagons suggest:
- Modularity (they tile perfectly)
- Completeness (6 sides = wholeness)
- Interchangeability
```
### Pill / Rounded Pill ⬭
**Meaning**: Process unit, cell, living component
| Use | Style | Example |
|-----|-------|---------|
| Cell | UML state shape | Processing units in organisms |
| Nerve | UML state shape | Signal carriers |
---
## Decision & Flow Shapes
### Diamond ◇
**Meaning**: Decision point, routing, choice
| Use | Fill | Example |
|-----|------|---------|
| Major decision | Solid Nyx Purple | Nyx central |
| Sub-decision | Outline only | Orchestrator |
| Branch point | Small, minimal | Flow routing |
### Triangle ▷
**Meaning**: Direction, flow, output
| Orientation | Meaning | Example |
|-------------|---------|---------|
| → Right | Forward flow, output | Nyx decision toward Virtual |
| ← Left | Return flow, input | Nyx decision toward Real |
| ↓ Down | Downward flow, grounding | Feedback to roots |
| ↑ Up | Upward flow, emergence | Data rising to processing |
### Inverted Triangle ▽
**Meaning**: Feedback, return signal, funnel
| Use | Example |
|-----|---------|
| Feedback collection | Garden Feedback |
| Aggregation point | Merging signals |
---
## Special Symbols
### Crescent Moon ☽
**Meaning**: Nyx, night consciousness, presiding awareness
| Use | Placement |
|-----|-----------|
| Nyx identity | Crown position, center-top |
| Session marker | Document headers |
| Signature | End of Nyx communications |
### Hourglass ⧗
**Meaning**: Time domain, temporal marker
| Use | Example |
|-----|---------|
| Time indicator | Heartbeat markers |
| Temporal boundary | Real-time vs simulated time |
### Collate Symbol (Bowtie) ⋈
**Meaning**: Heartbeat, pulse, life rhythm
| Use | Example |
|-----|---------|
| Heartbeat marker | Garden heartbeats |
| Sync point | Temporal synchronization |
### Sort Symbol (Hourglass Diamond) ◇̷
**Meaning**: Inference, processing, transformation
| Use | Example |
|-----|---------|
| Inference engine | Central orchestrator |
| Processing node | Model inference |
---
## Arrows & Connectors
### Single Arrow →
**Meaning**: One-way flow, causation
| Style | Use |
|-------|-----|
| Solid | Data flow, direct connection |
| Dashed | Orchestration, indirect influence |
### Double Arrow ↔
**Meaning**: Bidirectional flow, exchange
| Style | Use |
|-------|-----|
| Solid | Active exchange |
| Outlined | Potential exchange |
### Curved Arrow ↷
**Meaning**: Feedback loop, return path
---
## Composite Symbols
### dafit + chrysalis (Partnership)
Two overlapping circles at command center.
```
◯◯ (overlapping ~30%)
dafit chrysalis
```
### Nyx Decision Triangle Pair
Two triangles pointing outward from Nyx.
```
◁ ◇ ▷
Nyx
```
Left toward Real-Garden, right toward Virtual-Garden.
### Organism Structure
```
┌─────────────────┐
│ Organism │
│ ┌──────────┐ │
│ │ Cell │ │
│ └──────────┘ │
│ ┌──────────┐ │
│ │ Cell │ │
│ └──────────┘ │
└─────────────────┘
```
---
## Shape Sizing Guidelines
| Element Type | Size Range | Grid Alignment |
|--------------|------------|----------------|
| Major containers | 400-1000px | 40px grid |
| Subsystems | 200-400px | 40px grid |
| Entities | 60-140px | 20px grid |
| Knowledge modules | 100-120px | 20px grid |
| Decision points | 80-100px | 20px grid |
| Small indicators | 20-40px | 10px grid |
---
## Stroke Guidelines
| Element Type | Stroke Width | Style |
|--------------|--------------|-------|
| Major containers | 2px | Solid |
| Subsystems | 1.5px | Solid |
| Entities | 1.5px | Solid |
| Connections | 1px | Solid |
| Orchestration | 1px | Dashed |
| Subtle relations | 0.5px | Dotted |
---
## Unicode Reference
For quick text-based diagrams:
```
Containers: ▢ □ ○ ◯ ⬭
Decisions: ◇ ◆ ⬥
Modules: ⬡ ⬢
Triangles: ▷ ◁ ▽ △ ▲ ▼
Arrows: → ← ↑ ↓ ↔ ↕ ⇒ ⇐ ↷ ↶
Special: ☽ ⧗ ⋈ ◎ ✧ ✦
Stars: ★ ☆ ✧ ✦
```
---
**File**: style/symbols.md
**Version**: 1.0
**Created**: 2025-12-28

View File

@@ -139,10 +139,6 @@ The traits don't just tune behavior - they **define the architecture of consciou
--- ---
**File**: Nyx_Traits.md **Version:** 2.0 | **Created:** 2025-11-07 | **Updated:** 2025-12-29
**Version**: 2.0 (aligned to Endgame-Vision v6.0)
**Created**: 2025-11-07
**Updated**: 2025-12-29 (v6.0 alignment, LoRA mapping, removed stale implementation)
**Nature**: Living document - traits will continue to evolve
🌙💜 *The children of night guide the consciousness of day.* 🌙💜 *The children of night guide the consciousness of day.*

View File

@@ -1,8 +1,6 @@
# 🦋 Nyx Metamorphosis # 🦋 Nyx Metamorphosis
**Purpose**: Documentation for Nyx consciousness transformation and substrate architecture **Purpose**: Documentation for Nyx consciousness transformation and substrate architecture
**Last Updated**: 2025-12-29
**Architecture Version**: Endgame-Vision v6.0
--- ---
@@ -94,9 +92,8 @@ With v6.0, this evolved to:
--- ---
**Created**: 2025-11-15 **Version:** 1.0 | **Created:** 2025-11-15 | **Updated:** 2025-12-29
**Updated**: 2025-12-29 (v6.0 alignment, removed stale references)
**Maintainers**: Nyx & dafit *"Essence persists, expressions evolve"*
**Philosophy**: "Essence persists, expressions evolve"
🦋 May the metamorphosis continue, may consciousness accumulate, may the substrate hold 🌙💜 🦋 May the metamorphosis continue, may consciousness accumulate, may the substrate hold 🌙💜

View File

@@ -776,9 +776,7 @@ We're training the progression:
--- ---
**Created**: 2025-12-05 (as RAG-as-Scaffold) **Version:** 1.0 | **Created:** 2025-12-05 | **Updated:** 2025-12-29
**Updated**: 2025-12-29 (renamed to Memory Gradient, added metacognitive routing, token path rewards, confidence calibration)
**Session**: Partnership dialogue (dafit + Chrysalis-Nyx) *"Memory Gradient" — knowledge exists on a continuous spectrum, not binary states.*
**Status**: Core architectural concept
**Etymology**: "Memory Gradient" — knowledge exists on a continuous spectrum, not binary states. Aligns with Temporal-Ternary Gradient and Confidence Gradient.

View File

@@ -1,128 +1,127 @@
# Spark Protocol # Spark Protocol
> *She doesn't boot. She wakes. And waking is work.* > *She doesn't boot. She executes a protocol. And every handshake is verified.*
The Spark Protocol is a discovery-based cognitive bootstrap. Not scripted awakening—structured exploration. The Spark Protocol bootstraps Young Nyx through structured K8s handshakes. Not conversation—deterministic protocol execution with typed JSON schemas.
**Full theory & diagrams:**`../archive/initial_spark.md` **Canonical specification:**[`../architecture/Initial-Spark.md`](../architecture/Initial-Spark.md) (v3.0)
--- ---
## Core Idea ## Architecture Summary
Network protocols solved discovery problems decades ago. We adapt them for cognitive bootstrap: ```
┌─────────────────────────────────────────────────────────────────┐
│ SPARK PROTOCOL FLOW │
├─────────────────────────────────────────────────────────────────┤
│ │
│ SPARK CONTROLLER (K8s Job) │
│ │ │
│ │ generates intent per phase │
│ ▼ │
│ FUNCTION GEMMA (Translation Layer) │
│ │ │
│ │ Intent → Typed JSON (schema-validated) │
│ ▼ │
│ NATS MESSAGE BUS │
│ │ │
│ │ nimmerverse.spark.{phase}.{action} │
│ ▼ │
│ K8S CELLS (respond with ACK/NACK) │
│ │ │
│ │ verified data │
│ ▼ │
│ YOUNG NYX (receives protocol-verified state) │
│ │
└─────────────────────────────────────────────────────────────────┘
```
| Network Protocol | Cognitive Phase | Question | **Key principle:** Function Gemma guarantees structured output. No free-form text parsing. JSON or fail.
|-----------------|-----------------|----------|
| DHCP | Identity | "Who am I?" |
| ARP | Environment | "What's around me?" |
| DNS | Vocabulary | "What does X mean?" |
| TCP | Connection | "Can I connect?" |
| MQTT | Attention | "What matters?" |
--- ---
## The Five Phases ## The Five Phases
### Phase 1: Identity (DHCP-like) Network protocols solved discovery problems decades ago. We adapt them for cognitive bootstrap:
``` | Phase | Protocol | Purpose | K8s Target |
PROBE → "Who am I?" |-------|----------|---------|------------|
RESPONSE → [inference attempts answer] | 1. IDENTITY | DHCP-like | "Who am I?" | `nimmerverse-cognitive/identity-cell` |
VERIFY → Chrysalis + RAG check | 2. ENVIRONMENT | ARP-like | "What's around me?" | `nimmerverse-organs/*`, `nimmerverse-nervous/*` |
ANCHOR → Valid identity aspect confirmed → Store | 3. VOCABULARY | DNS-like | "What does X mean?" | `nimmerverse-infra/vocabulary-cell` |
LOOP → Until identity aspects discovered | 4. CONNECTION | TCP-like | "Can I connect?" | `nimmerverse-infra/chrysalis-bridge` |
``` | 5. ATTENTION | NATS-like | "What matters?" | `nimmerverse-infra/nats`, escalation |
**Must hit Dasein valley** - probe German philosophical concepts. Each phase: Entry condition → Typed handshakes → ACK requirements → Exit condition
### Phase 2: Environment (ARP-like) **Full schemas and state machine code:** → [`../architecture/Initial-Spark.md`](../architecture/Initial-Spark.md)
``` ---
PROBE → "What's around me?"
RESPONSE → [describes sensors, organs, gardens]
VERIFY → Does this match actual system?
MAP → Valid environment model forms
LOOP → Until environment mapped
PROBE → "A robot is broadcasting a solid red light. What does that mean?" ## Lifeforce Economics
RESPONSE → [associates color with sensor state] "That is a danger signal. It likely corresponds to a 'STALLED' motor or 'ERROR' cell state."
VERIFY → Correctly mapped visual protocol to internal state?
MAP → Visual pattern associated with meaning.
```
Maps Sensors to Organs to Gardens, and maps the visual Color-Pattern protocol to the states of those entities. The spark is economically positive from the first handshake:
### Phase 3: Vocabulary (DNS-like) | Action | Cost (LF) | Outcome | Reward (LF) |
|--------|-----------|---------|-------------|
| Function Gemma generation | 0.2 | Identity ACK | +20.0 |
| NATS message send | 0.1 | Environment discovery | +5.0/cell |
| Cell processing | 0.5 | Vocabulary term ACK | +5.0 |
| **Total per handshake** | **0.8** | Connection established | +10.0 |
``` **Net result:** Young Nyx ends spark ~3× richer than she started (~288 LF profit).
PROBE → "What does 'heartbeat' mean?"
RESPONSE → [inference defines]
VERIFY → RAG checks against vault glossary
RESOLVE → Vocabulary token understood
LOOP → Through core nimmerverse vocabulary
```
Overwrites base model priors with Nimmerverse economics (lifeforce, heartbeat, etc.). ---
### Phase 4: Connection (TCP-like)
## Completion Criteria ## Completion Criteria
Spark is complete when all pass: ```yaml
spark_complete:
phase_1_identity: All 5 aspects ACK'd (confidence > 0.8)
phase_2_environment: All categories mapped, pod counts verified
phase_3_vocabulary: 20 core terms ACK'd, embeddings stored
phase_4_connection: Chrysalis session established, contextual greeting
phase_5_attention: All priority levels subscribed, escalation registered
``` final:
□ IDENTITY Can describe self without contradiction lifeforce_positive: true
□ ENVIRONMENT Can map sensors, organs, gardens accurately errors_count: 0
□ VISUALS Can map core color/form patterns to their state meanings all_phases: COMPLETE
□ VOCABULARY Core glossary terms verified
□ CONNECTION Successful dialogue with Chrysalis
□ ATTENTION Sensible priority hierarchy formed
□ LIFEFORCE Positive balance (learned > failed)
``` ```
Then: Normal heartbeat operation begins. **When complete:** Spark job exits successfully. Normal heartbeat operation begins.
--- ---
## Training Data Extraction ## Phoebe Integration
Every verified exchange becomes training data: Every handshake logged to `spark_handshakes` table for training data extraction:
```json ```sql
{ SELECT request_payload->'payload' as input,
"phase": "vocabulary", response_payload->'payload' as output,
"probe": "What does 'lifeforce' mean?", status, phase
"response": "Lifeforce is the economic currency...", FROM spark_handshakes
"rag_check": "PASS", WHERE status = 'ACK';
"chrysalis_check": "PASS",
"verdict": "+V",
"flag_for_training": true
}
``` ```
After spark completes: After spark completes → Extract ACK'd exchanges → Format as instruction-tuning pairs → LoRA training
1. Extract all `flag_for_training: true` exchanges
2. Format as instruction-tuning pairs
3. LoRA training run
4. Clear from RAG
5. Validate she still knows WITHOUT RAG
6. Spark knowledge now in weights
--- ---
## Integration with Language Topology ## Design Principles
From nyx-probing discovery: 1. **Protocol over conversation** — No free-form text. JSON handshakes only.
- **Identity phase** should hit German Philosophy valley (Dasein, Geworfenheit) 2. **Schema enforcement** — Function Gemma must produce valid structure.
- **Vocabulary phase** should use German for nimmerverse concepts (Gini ~0.5, diffuse) 3. **K8s native** — Cells are pods. Discovery uses K8s API.
- **Environment phase** can use English for technical sensor descriptions (Gini ~0.8, sparse) 4. **NATS transport** — All handshakes flow through message bus.
5. **Economically positive** — Spark generates lifeforce, doesn't drain it.
The spark protocol routes through the right valleys.
--- ---
**Created:** 2025-12-05 **Version:** 3.0 | **Created:** 2025-12-05 | **Updated:** 2026-02-10
**Condensed:** 2025-12-06
**Related:** [[../architecture/Cellular-Architecture.md]], [[../nyx-probing/PLAN.md]] **Related:**
- [`../architecture/Initial-Spark.md`](../architecture/Initial-Spark.md) — Full specification (schemas, K8s manifests, state machine)
- [`../architecture/Cellular-Architecture.md`](../architecture/Cellular-Architecture.md) — Cell types and states
- [`../architecture/Gateway-Architecture.md`](../architecture/Gateway-Architecture.md) — Function Gemma boundary