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
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)
}