SIGNAL BUS — LIVETTL: 10,000ms | History: 200 | Ring buffer

Signal Flow

~80 named signal connections flow between 36 engines via a shared SignalBus. Signals have 5 priority levels, a 10-second TTL, and are stored in a 200-entry ring buffer. The left panel shows the live signal bus.

Neural Map — Signal Visualization

Text InputCameraMicrophonePerceptionSafetyMotorHippocampusEmotion InferencePerson StateTheory of MindPerspectiveEmpathic CouplingImaginationIntuitionValuesStrategyHope & WorryDefault ModeReplayLove FieldAttentionBinderArbiterSyncMemory WriteGrowthWorking MemoryDiscourseMetacognitionPredictionResourcesVoiceExpressionLocomotionPersistenceBody GatewayOUTERINNERTHALAMUSBODY

Named Flows

Signal Bus Configuration

SignalBus {
  history: RingBuffer<Signal>(200)  // newest last
  ttl: 10_000ms                     // signals expire after 10s
  priorities: {
    CRITICAL: 100,  // safety, system failures
    HIGH:     75,   // user input, perception, arbiter
    MEDIUM:   50,   // inference, reasoning, memory
    LOW:      25,   // background processes
    IDLE:     10,   // default mode, growth
  }
  delivery: broadcast + targeted
  flush: after each critical-path tick
}

Critical Path Execution

CognitiveLoop.frame() {
  // 1. Tick critical path in order, flush after each
  tick(TEXT_INPUT)    → flush()   // 16ms
  tick(PERCEPTION)   → flush()   // 50ms
  tick(ATTENTION)    → flush()   // 16ms
  tick(BINDER)       → flush()   // 32ms
  tick(ARBITER)      → flush()   // 32ms

  // 2. Tick remaining engines (single flush)
  tickAll(remaining) → flush()

  // 3. Update self-state (EMA + breathing)
  selfState.update(damping: 0.35)
  selfState.breathe(sin(now/8000) * 0.002)

  // 4. Evaluate drives
  drives.evaluate(cooldown: 3000ms)

  // 5. Rebuild snapshot (every 3rd frame or if active)
  snapshot.rebuild()

  // 6. Notify React (useSyncExternalStore)
  listeners.notify()

  // 7. Schedule next frame
  requestAnimationFrame(frame)
}