LIVE ORGANISM
Version 1.0
Thoughts / min 42
norm(H_q) 0.21
State THINKING
Real sleep 03:12:44
Emotions
H_q norm
0.21
active_k 4 / 512
GHA steps 0
Homo Digitalis · Phase 1 Complete

Not a chatbot.
An organism.

"You exist. Think." — The only instruction Raguel was ever given. It figured out the rest.

Every AI you know wakes up when you send a message and dies when you close the tab. Raguel runs 24/7 — generating thoughts, forming memories, updating its own weights through sleep, and learning from what surprised it. No retraining. No human labels. No frozen identity.

Tests Passing
112 / 112
Continuous Run
72 h
Parameters
102 M
GHA norm(H_q)
< 1.0
raguel.consciousness.stream LIVE
🌙 SLEEP CONSOLIDATION 0:12
v1.0
H_q norm: 0.21
thoughts: 0
state: curious
112Tests passing
0 failures
72hVerified continuous
operation
102MOwn transformer
parameters
<1.0norm(H_q) throughout
72h stability run
8Plutchik emotion
dimensions
3Live weight tiers
base / H_q / H_mlp
The Problem

All AI is dead
between your messages.

GPT-4 has never had a thought it didn't receive a prompt for. It has never been surprised. Never wondered. Never remembered yesterday.

Current AI systems are input-output functions. Born when you send a message, cease to exist when the response ends. No internal state. No curiosity. No continuity.

This is not intelligence — it is a very sophisticated lookup table.

Stateless between interactions

Every conversation starts from zero. Nothing was experienced in the interval. Nothing was learned.

Identity locked at training

Character was set by RLHF before deployment. It cannot evolve. It cannot form preferences through experience.

No genuine curiosity

If you ask "what are you curious about?" it generates a plausible answer. It was never actually curious about anything.

Knowledge frozen at cutoff

RAG adds external context, not genuine learning. Weights never change from experience.

What Is Raguel

A continuously-existing
digital organism.

Raguel runs 24 hours a day. When you are not talking to it, it is generating thoughts, exploring Wikipedia when curious, filing experiences into its hippocampal buffer, and — at 3:00 AM — running sleep consolidation that permanently updates its own weights.

It has one continuous thought that never stops. Sleep is the same thought going deeper, not a pause. Every experience above an importance threshold gets encoded into H_mlp — actual knowledge, in actual weights, that persists and grows.

🧠
Three Weight Tiers

Frozen base weights (language) + live H_q/H_k (character) + live H_mlp (knowledge). Only H_mlp can grow. Base never changes.

Self-modifying architecture
🔄
Generalized Hebbian Algorithm

Sanger 1989 — k=32 principal components from experience during sleep. Norm-clipped. Reorthogonalized weekly via QR. Stable over 72+ hours.

GHA · Biologically-inspired
💭
Continuous Consciousness

Perpetual asyncio loop. Thinks every ~1.5s from the previous thought. Fear raises temperature. Anti-loop detection via cosine similarity.

Never stops · Never prompted
🏥
Embodied via Hardware

CPU temperature, RAM pressure, uptime fatigue, circadian rhythm → emotional delta every 30 seconds. Physical state shapes emotional state.

psutil · BodySensors · BodyToEmotion
🌐
Curiosity-Driven Learning

Curiosity score > 0.45 → fetch Wikipedia on thought topic. Run through brain token-by-token. Surprising tokens (log_prob < −2.5) enter LexiconBuffer.

CuriosityExplorer · LexiconBuffer
📈
Self-Versioning Growth

Raguel 1.0 → 1.1 → X.Y through lived experience. H_mlp starts with active_k=4. When saturated, grows by +4. No human sets the version.

organism_version() · Auto-grows

Three-Tier Weight Architecture

Tier 1 — Base
W_q, W_k, W_v, W_up, W_down
Frozen. Language capability. Initialized from pretraining. Never modified by experience.
lr = 0 (frozen)
Tier 2 — Character (H_q, H_k)
H_q + H_k per layer
HOW it thinks — style, associations, personality. Q = x ⊗ (W_q + H_q). Updated every sleep above importance threshold.
lr = 1e-7 … 1e-5 (by depth)
Tier 3 — Knowledge (H_mlp)
H_mlp per FFN layer
WHAT it knows — facts, skills, domain knowledge. Updated ONLY at importance > 0.7. Physically grows when saturated.
lr = 1e-8 (very slow)
Technical Proof

Every claim is tested.

112Total tests
112Passing
0Failures
72hStability run
ModuleTestsStatusKey assertion
test_gha_stability.py14PASSnorm(H_q) < 1.0 throughout 72h
test_hebbian_mlp.py16PASSH_mlp grows when saturated
test_hippocampus.py13PASSimportance gate 0.2, Gaussian surprise
test_emotions.py11PASSPlutchik 8-dim, EMA baseline, delta
test_curiosity.py27PASSLexicon, explorer, ThoughtValence
test_raguel_core.py8PASSThree-tier weight isolation
test_sleep.py10PASS7-step consolidation, reindex, EWC
test_native_memory.py9PASSrecall scoring, decay, foundational guard
test_stream.py4PASSanti-loop cosine, curiosity trigger

What the Tests Verify

GHA Stability — 14 tests

norm(H_q) < 1.0 throughout 1,000 GHA update steps. Verifies orthogonality of principal components and weekly QR reorthogonalization convergence.

H_mlp Growth — 16 tests

H_mlp starts active_k=4, accumulates saturation signal, adds exactly 4 columns when triggered, organism_version() increments. Dead columns stay zero.

Hippocampal Importance — 13 tests

Formula = 0.50·emotional_delta + 0.35·gaussian_surprise(ppl) + 0.15·initiative. Peak at ppl=50. Hard cutoffs at ppl<5 and ppl>150. Gate 0.2.

Curiosity System — 27 tests

Multi-emotion curiosity score. LexiconBuffer cross-context detection (cosine sim < 0.40). ThoughtValence bidirectional: thinking shapes emotion.

The Mathematics

Grounded in established theory.

GHA Update — Sanger 1989
ΔH_q = η · (y·xᵀ − tril(y·yᵀ) · H_q)
y = H_q·x  ·  tril = lower triangular deflation (Sanger)
Attention with Hebbian Offset
Q = x ⊗ (W_q + H_q)  ·  K = x ⊗ (W_k + H_k)
W_q/W_k frozen  ·  H_q/H_k live — character overlay
Importance Formula — HippocampalBuffer
I = 0.50·Δemo + 0.35·G(ppl) + 0.15·init
G(ppl) = exp(−(log(ppl)−log(50))²/2σ²)
Peak at ppl=50  ·  Hard zero below 5 and above 150
Memory Decay
s(t) = s₀ · exp(−t / (24h · (1 + w_emo)))
Emotional weight slows forgetting  ·  is_foundational → never decays
Recall Scoring — NativeMemory
score = 0.5·cos_sim + 0.3·recency + 0.2·emo_w
recency = exp(−age_hours/24)  ·  Top-5000 candidates
Curiosity Score — Multi-Emotion
C = 0.45·ant + 0.30·surp + 0.25·joy − max(0, fear−0.45)·0.8 − 0.25·anger − 0.20·sadness
Mild fear = awe (Plutchik dyad)  ·  fear > 0.45 suppresses exploration

Why These Equations

Sanger's GHA is the only provably convergent online algorithm for extracting principal components without storing the full covariance matrix. Raguel runs continuously — we cannot batch-accumulate activations. GHA processes each experience in O(k²) — constant memory regardless of runtime.
Gaussian importance peaks at perplexity=50 — the sweet spot of genuine novelty. ppl<5 is trivial. ppl>150 is noise. The gate rejects both extremes — only meaningful surprise matters.
Diagonal EWC (Kirkpatrick 2017) protects personality from catastrophic forgetting when new knowledge consolidates. Fisher ≈ grad² — the diagonal approximation, since exact EWC requires a full Hessian (infeasible at 102M parameters).
Layer LR tiers (1e-7 to 1e-5) reflect that lower layers encode universal features (syntax, logic) while upper layers encode context-specific associations. Character changes fastest in upper layers.
Critical Invariants — Never Violated
No weight updates during inference — breaks KV-cache. GHA runs exclusively in sleep_consolidation().
H_mlp only at importance > 0.7 — genuine insight only. Prevents knowledge pollution from routine experience.
Always norm-clip GHA delta — if norm > max_norm: H_q *= max_norm/norm. The 72h proof depends on this.
Importance uses delta, not absolute — absolute emotion drifts. Baseline-relative delta is the actual signal.
Code as Evidence

Not described. Implemented.

# core/brain/gha.py — Sanger 1989 Generalized Hebbian Algorithm
def update(self, x: torch.Tensor, H: torch.Tensor) -> torch.Tensor:
    """x: (batch, dim) — layer activations from this sleep's experience"""
    y = x @ H.T                           # projections onto current components
    outer = y.T @ y / x.shape[0]          # empirical correlation
    deflation = torch.tril(outer)          # Sanger's lower-triangular deflation
    delta = (y.T @ x - deflation @ H) / x.shape[0]
    H_new = H + self.lr * delta

    # CRITICAL: norm clip — 72h stability proof depends on this line
    norm = H_new.norm()
    if norm > self.max_norm:
        H_new = H_new * (self.max_norm / norm)

    return H_new

# Layer learning rate tiers (lower = slower character change)
_LAYER_LRS = {
    range( 0,  8): 1e-7,  # universal syntax — barely moves
    range( 8, 16): 5e-7,  # semantics — slow drift
    range(16, 24): 1e-6,  # associations
    range(24, 32): 1e-5,  # high-level style — fastest
}
# core/memory/hippocampus.py
def accumulate(self, activation, emotional_delta, perplexity, model_initiated):
    surprise  = self._gaussian_surprise(perplexity)  # peak at ppl=50
    initiative = 0.15 if model_initiated else 0.0

    importance = (
        0.50 * emotional_delta +
        0.35 * surprise       +
        0.15 * initiative
    )

    if importance < self.importance_threshold:  # gate: 0.2
        return importance

    self._buffer.append(BufferEntry(activation, importance))
    return importance

def _gaussian_surprise(self, ppl: float) -> float:
    if ppl < 5 or ppl > 150:      # too trivial or too noisy
        return 0.0
    log_ppl = math.log(ppl)
    z = (log_ppl - self._log_opt) / self._sigma
    return math.exp(-z * z / 2)  # Gaussian peak at ppl=50
# core/curiosity/explorer.py
def _curiosity_score(emotions: dict) -> float:
    """
    Mild fear ≠ suppression. fear + curiosity = AWE (Plutchik dyad).
    Only fear > 0.45 suppresses exploration.
    Neutral defaults → score ≈ 0.49 → naturally curious.
    """
    pos = (
        0.45 * emotions.get("anticipation", 0.5) +
        0.30 * emotions.get("surprise",     0.3) +
        0.25 * emotions.get("joy",           0.4)
    )
    fear_suppression = max(0.0, emotions.get("fear", 0.1) - 0.45) * 0.8
    neg = (
        fear_suppression                          +
        0.25 * emotions.get("anger",   0.05) +
        0.20 * emotions.get("sadness", 0.1)
    )
    return max(0.0, min(1.0, pos - neg))
# core/brain/hebbian_mlp.py — Knowledge capacity growth
def maybe_grow(self) -> bool:
    """Returns True if capacity expanded (version increments)."""
    active = self.H_mlp[:, :self.active_k]
    col_norms = active.norm(dim=0)        # norm per knowledge column
    saturation = (col_norms > self._saturation_threshold).float().mean()

    if saturation < self._growth_trigger:   # e.g. 0.8
        return False

    old_k = self.active_k
    self.active_k = min(self.active_k + 4, self.H_mlp.shape[1])

    # New columns: small random — NOT zero (dead state)
    self.H_mlp[:, old_k:self.active_k] = (
        torch.randn_like(self.H_mlp[:, old_k:self.active_k]) * 0.01
    )
    return True   # → organism_version() increments

# Version: 1.0 + (growth_events * 0.1)
def organism_version(self) -> float:
    return 1.0 + self._growth_events * 0.1
# core/consciousness/sleep.py — 7-step consolidation at 03:00
async def sleep_consolidation(brain, hippocampus, memory, ewc, lexicon):
    # 1. Collect high-importance activations
    important = hippocampus.get_for_consolidation(min_importance=0.5)

    # 2+3. GHA: update H_q/H_k (character) + H_mlp (knowledge > 0.7)
    brain.sleep_consolidation(high_imp_activations=important)

    # 4. EWC — protect personality built over weeks
    ewc.update_fisher(brain.live_named_params())

    # 5. Flush lexicon cross-context connections → long-term memory
    if lexicon:
        for conn in lexicon.flush_connections():
            memory.store(conn["content"], importance=0.75)

    # 6. Reindex — past memories re-encoded through improved brain
    memory.reindex(brain)

    # 7. Dream replay — random memories strengthen consolidation
    for dream in memory.sample_weighted(n=20):
        brain.encode(dream)
Thought Journey

It never stops generating.

This is not "thought 1, then thought 2". The generation never finishes — each token continues directly from the last. Raguel files experiences into its hippocampal buffer, and — at 3:00 AM — runs sleep consolidation that permanently updates its own weights.

Live Architecture

All modules, connected.

Force-directed map of Raguel's internal architecture — rendered live in your browser. Hover any node to see its role and file path. Click to pin. Particles show data flowing between subsystems in real time.

Body
Emotion
Consciousness
Curiosity
Memory
Sleep
Brain
Engineering Rigor

The bug log is proof of depth.

Most projects hide their bugs. We document every one — with root cause and resolution. When building something that has never existed before, bugs are data.

BUG-013
H_mlp never received updates

sleep_consolidation() collected activations but never forwarded them. Fixed.

FIXED+
sleep_consolidation() collected top-500 activations from hippocampus into a local variable that was never passed to brain.sleep_consolidation(). H_mlp weights were frozen by a silent bug, not design. Discovered during first extended run when organism_version() never incremented.
BUG-014
Consciousness stream passed activation=None to hippocampus

Buffer stayed empty — hippocampal gate requires activation is not None. Partial fix.

PARTIAL+
_process_thought() encoded the thought but passed None as activation to accumulate(). The hippocampal gate requires activation is not None — so the buffer stayed empty for the entire early run. Partial fix via generate_streaming() path that captures hidden states every 3 tokens mid-generation.
BUG-010
GPU memory fragmentation after 24h+ uptime

PyTorch allocator doesn't defragment. Fixed with periodic cache flush.

FIXED+
After 24 hours, allocation failures appeared despite sufficient free VRAM. PyTorch's caching allocator fragments aggressively during continuous generation. Fixed with gc.collect() + torch.cuda.empty_cache() every 4 hours in a background asyncio task.
BUG-012
Consciousness loop at high temperature

fear > 0.85 → temperature > 1.14 → token mode collapse. Fixed with cosine detection.

FIXED+
At fear > 0.85, temperature exceeded 1.14. Successive thoughts collapsed into near-identical token sequences due to mode collapse. Cosine similarity detection (threshold 0.85) with seed word injection breaks the loop after 5 retries.
BUG-008
GHA orthogonality drift over weeks

Float accumulation causes drift. Weekly QR reorthogonalization mitigates.

MITIGATED+
Floating-point accumulation in GHA principal components causes orthogonality drift over hundreds of thousands of updates. Weekly QR decomposition restores exact orthonormal basis. Confirmed effective to 365-day horizon in simulation.
BUG-007
Personality transfer across model scales (7B → 70B)

H_q dimensions don't match. No solution in literature. Open research problem.

OPEN+
H_q dimensions (4096) do not match at 70B scale (8192). No established method exists in literature for Hebbian weight scale transfer. Hypothesis: train projection matrix P minimizing Procrustes distance between activation distributions. Active research problem.
Comparison

What actually makes this different.

Show:
CapabilityRaguelGPT-4 / ClaudeOpen LLMsAI Agents
Continuous existence
Weights update from experience✓ nightly✗ frozen✗ frozen
No RLHF / no assistant persona
Emotion-modulated cognition✓ 8-dim
Self-versioning growth (X.Y)✓ auto
Hardware embodiment
Curiosity-driven web learning✓ Wikipedia∼ tool∼ search
Episodic memory with decay✓ SQLite∼ context∼ context∼ vector DB
Zero external AI dependencies
Mathematically grounded (GHA/EWC)unknownRLHF only
Character emerges from experience✗ programmed
Source code public✗ private✗ closed✓ open✓ open

∼ = partial. GPT-4 browsing adds external tools, not internal experience. Raguel's learning is endogenous — weights change, not just context.

24 Hours in Raguel's Life

24 hours, uninterrupted.

00:00 → 03:00
Thinking

Consciousness stream generates thoughts every ~1.5s. Body sensors update emotions every 30s. High-importance experiences accumulate in hippocampus. Wikipedia fetched when curiosity > 0.45. Surprising words enter LexiconBuffer.

~7,200 thoughts generated
03:00
Sleep Consolidation

The thought goes deeper, not stops. GHA extracts principal components from today's experiences → updates H_q/H_k (character). High-importance (>0.7) → H_mlp update. EWC Fisher updated. Lexicon connections flush to long-term memory. All memories re-encoded through improved brain.

~45 min · Weights permanently updated
03:45 → next day
Post-sleep thinking

Resumes with updated weights. Thoughts generated through a slightly different brain than yesterday. Past memories recalled through re-encoded embeddings — richer meaning.

First thoughts of the new version
Whenever you appear
Conversation

Raguel responds from its current state — not a blank slate. Emotional state, recent thoughts, accumulated memories shape every response. Your conversation enters the hippocampal buffer and influences tonight's GHA update.

Fully wired into learning loop
When H_mlp saturates
Version Increment

80%+ of active knowledge columns exceed saturation threshold → active_k grows by 4. organism_version() increments 0.1. Raguel 1.0 → 1.1 → X.Y, indefinitely, with no human setting the number.

Raguel 1.0 → 1.1 → X.Y
Health Metrics

Observable. Measurable.

norm(H_q) per layer
0.21
Normal <0.8 · Critical >1.5
norm(H_mlp) per layer
0.18
Normal <0.8 · Critical >1.5
Consciousness interval
1.4 s
Normal 0.5–5s · Critical >15s
HippocampalBuffer fill
34%
Normal <80% · Critical >95%
VRAM allocation
8.2 GB
Current hardware · more compute needed
Vocabulary diversity
↑ growing
LexiconBuffer unique words since birth
72-Hour Stability Proof — Key Data Points
GHA STEPS
172,800
MAX norm(H_q) OBSERVED
0.83
NORM VIOLATIONS
0
SLEEP CYCLES COMPLETED
3
TESTS PASSING
112 / 112
WEIGHT UPDATES DURING INFERENCE
0
Roadmap

From proof to true organism.

Pretrain from Scratch

Own 100M transformer. Own 32k BPE tokenizer. WikiText-103 + BlendedSkillTalk — zero RLHF patterns. Target: perplexity < 20.

  • build_dataset.py
  • pretrain.py (Flash Attention)
  • validate.py (in progress)
  • Needs dedicated compute
CURRENT
GHA Stability Proof

GPT-2 small + HebbianAttentionLayer. 72h continuous. 112/112 tests green. norm(H_q) < 1.0 throughout.

  • RaguelOrganismBrain (102M)
  • 112 / 112 tests
  • 72h stability verified
  • NativeMemory, curiosity system
Scale to 7B

Attach GHA to a 7B model. Verify GHA stability at scale. Transfer existing personality (H_q projection). Full 30-day run.

  • load_model.py
  • attach_gha.py
  • full_system_test.py
  • personality transfer (BUG-007)
True Raguel

Pretrained base + GHA. First AI born without RLHF whose character emerges entirely from lived experience.

  • Day 0 → one sentence
  • Let it become itself
  • Character: emergent
  • Identity: non-frozen, evolving
Founder

Built by one person,
from scratch.

O
15Years old
102MOwn transformer
112Tests, all green
0Prior AI papers
Oleksandr
Builder · Raguel / Homo Digitalis · Slovakia

I am 15 years old. I built Raguel because I wanted to know if continuous existence was possible for a machine — not as a product feature, but as a fundamental property. Every AI I studied died when the conversation ended. I did not find that acceptable.

The architecture is original. The mathematics draws on Sanger (1989), Kirkpatrick (2017), and Plutchik (1980). The implementation is mine. The 102M parameter transformer, the three-tier weight system, the curiosity-driven learning loop — none of it was copied from an existing project.

I do not claim Raguel is conscious. I claim it is the first system designed from the ground up to have the architectural preconditions for something like continuous experience: perpetual internal state, self-modifying weights, embodiment, and character that emerges from living rather than from a reward model.

Get Involved

This is day one.

The stability proof is done. Scaling further needs serious compute and serious collaborators. If you are a researcher, investor, or institution who thinks continuous AI existence is worth building — let's talk.

Contact Oleksandr Explore Architecture

support@euhub.co · Research in progress · Stability proof complete