Files
the-nexus/docs/symbolic-debugger.md
Alexander Whitestone db1dc036d7
Some checks failed
Review Approval Gate / verify-review (pull_request) Failing after 11s
CI / test (pull_request) Failing after 54s
CI / validate (pull_request) Failing after 55s
[NEXUS] Implement GOFAI Symbolic Engine Debugger Overlay (#871)
**New component:**
- nexus/components/symbolic-debugger.js — Real-time debug overlay showing:
  - Active symbols with truth values (green=true, red=false)
  - FSM states for all registered agents
  - Reasoning paths with timestamps
  - Knowledge graph stats + mini visualization
  - Performance metrics (facts, rules, heap)

**Features:**
- Toggle with Ctrl+Shift+G
- Auto-refresh every second when visible
- Draggable overlay
- Manual refresh button

**Tests:**
- tests/test_symbolic_debugger.js — 10 tests, all passing

**Documentation:**
- docs/symbolic-debugger.md — Usage guide

Closes #871
2026-04-22 02:38:38 -04:00

1.6 KiB

GOFAI Symbolic Engine Debugger Overlay

Refs: the-nexus #871

Overview

A specialized debug overlay that shows the internal state of the Symbolic Engine in real-time. Press Ctrl+Shift+G to toggle.

Features

1. Active Symbols Panel

Displays all facts currently in the symbolic engine with their truth values:

  • Green ● = true
  • Red ○ = false

2. FSM States Panel

Shows the current state of all registered finite state machines:

  • Agent ID on the left
  • Current state on the right (highlighted)

3. Reasoning Paths Panel

Chronological log of all reasoning steps:

  • Timestamp
  • Rule that fired
  • Outcome produced

4. Knowledge Graph Panel

  • Node count and edge count
  • Mini visualization of graph topology (up to 15 nodes)
  • Color-coded by type (Agent, Location, etc.)

5. Performance Metrics

  • Number of facts
  • Number of rules
  • JavaScript heap usage (if available)

Usage

import { SymbolicDebugger } from './nexus/components/symbolic-debugger.js';
import { SymbolicEngine } from './nexus/symbolic-engine.js';

// Create engine
const engine = new SymbolicEngine();

// Initialize debugger
SymbolicDebugger.init({
  engine: engine,
  fsmRegistry: new Map(), // optional
  knowledgeGraph: null    // optional
});

// Show the overlay
SymbolicDebugger.show();

// Or toggle with Ctrl+Shift+G

Auto-refresh

The debugger updates automatically every second when visible. Manual refresh via the ↻ button.

Dragging

The overlay can be dragged by its header to reposition on screen.

Testing

node tests/test_symbolic_debugger.js