Skip to main content
When the task router mixes models, “which one was slow?” and “which one errored?” stop being obvious. Model events is an opt-in debug view that records every LLM call SoulForge makes — main loop, subagents, compaction, semantic summaries, web search — so you can see exactly what each model did. Off by default. No overhead when disabled.

Open it

/model-events
Press e to start recording, e again to stop (clears the buffer). The view stays empty until you enable it.

Three tabs

Models — per-model aggregates. Calls, errors, average latency, last latency, total tokens. Sorted by most recent activity. Recent — every call newest-first. When, source (main / subagent / compaction / other), model, status, time, in/out tokens. Errors — only failed calls, with the error message attached to the model and source that produced it.

When to enable

  • The router is slower than you expect — find which model is the bottleneck.
  • Subagents are silently failing — see which model errored on which step.
  • Comparing two providers for the same task — read avg/last latency side by side.
  • Cache hit rates feel off — see cache-read tokens per model.
For day-to-day work leave it off. Cost and aggregate token usage already live in /context.

Footprint

  • 500-event ring buffer, in-memory only.
  • Cleared when you disable recording or restart SoulForge.
  • Not written to disk, not persisted across sessions.
  • Toggle is per-session — not a config setting.
  • /context — running totals, per-model cost, per-subagent spend.
  • /router — pick which model handles which kind of task.