Skip to content

feat(debug): add session context to /debug dump#25

Merged
PTFOPlayer merged 4 commits into
masterfrom
feat/debug-dump-context
Jun 13, 2026
Merged

feat(debug): add session context to /debug dump#25
PTFOPlayer merged 4 commits into
masterfrom
feat/debug-dump-context

Conversation

@PTFOPlayer

Copy link
Copy Markdown
Owner

The /debug command now dumps comprehensive context info beyond just messages. The output includes:

  • Session Info: current mode, session ID, show_thinking flag
  • System Prompt Source: whether header/mode prompts come from custom .md files or hardcoded defaults, plus the full assembled system prompt (with workspace context, pinned files, skills)
  • Workspace Context: root, project type/name, git status, build/test commands, project instructions file info, formatted context
  • Pinned Files: list with per-file line/byte counts
  • Skills: all discovered skills (auto-invocable/manual-only, source), active skills with full content
  • Messages: existing message dump (unchanged)

Also adds FileContext::pinned_file_summaries() accessor and updates the /debug command registration to pass the full CommandContext.

The /debug command now dumps comprehensive context info beyond just
messages. The output includes:

- Session Info: current mode, session ID, show_thinking flag
- System Prompt Source: whether header/mode prompts come from custom
  .md files or hardcoded defaults, plus the full assembled system
  prompt (with workspace context, pinned files, skills)
- Workspace Context: root, project type/name, git status, build/test
  commands, project instructions file info, formatted context
- Pinned Files: list with per-file line/byte counts
- Skills: all discovered skills (auto-invocable/manual-only, source),
  active skills with full content
- Messages: existing message dump (unchanged)

Also adds FileContext::pinned_file_summaries() accessor and updates
the /debug command registration to pass the full CommandContext.
…stics

The /debug command previously called ctx.provider.blocking_lock()
inside dump_provider_diagnostics(), which panics when invoked from
within the Tokio runtime. Replace the provider lock with the persisted
settings.last_model value instead, since the current model is already
saved to settings whenever it changes.

This makes the Provider Diagnostics section safe to generate from the
synchronous /debug command handler.
@PTFOPlayer PTFOPlayer merged commit d2392eb into master Jun 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant