debug-session
Debug Samara session management, message batching, and task routing. Use when messages are scrambled, batching seems wrong, group chats behave oddly, or concurrent tasks interfere with each other. Trigger words: session, batch, group chat, concurrent, scrambled, task routing.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Debug Session Management
Diagnose issues with Samara's message batching, session continuity, and task routing.
Session Architecture Overview
Messages arrive
│
▼
SessionManager buffers (11 sec)
│
▼
TaskRouter classifies tasks
│
├─► Conversation ──► invokeBatch (with session)
├─► Webcam ────────► invokeIsolated (no session)
├─► WebFetch ──────► invokeIsolated (no session)
└─► Skill ─────────► invokeIsolated (no session)
│
▼
MessageBus sends response (with source tag)
Quick Diagnostics
1. Check Active Sessions
# View session state
cat ~/.claude-mind/state/sessions.json 2>/dev/null | head -30
# Check for stale locks
cat ~/.claude-mind/claude.lock 2>/dev/null
ls -la ~/.claude-mind/claude.lock
2. Check Message Batching
# Look for batch processing in logs
grep -E "(Buffering|batch|BatchReady)" ~/.claude-mind/system/logs/samara.log | tail -20
# Check batch sizes
grep "Processing batch of" ~/.claude-mind/system/logs/samara.log | tail -10
3. Check Task Classification
# Look for isolated vs session-based invocations
grep -E "(Isolated invocation|Resuming session|Starting new session)" ~/.claude-mind/system/logs/samara.log | tail -20
4. Check Group Chat Handling
# Group chat routing decisions
grep -E "(group chat|chatIdentifier|isGroupChat)" ~/.claude-mind/system/logs/samara.log | tail -20
# Look for routing warnings
grep -E "(WARNING.*group|looks like group)" ~/.claude-mind/system/logs/samara.log | tail -10
Common Issues
Scrambled Responses
Symptom: Responses seem to mix answers to different questions Cause: Multiple task types in same batch not properly isolated Check:
# Look for multiple task types in same batch
grep -B5 -A5 "Processing batch" ~/.claude-mind/system/logs/samara.log | tail -30
Fix: TaskRouter should classify and isolate parallel tasks
Session Not Resuming
Symptom: Context lost between messages Cause: Session ID not being passed correctly Check:
# Check session recording
grep "Recorded session" ~/.claude-mind/system/logs/samara.log | tail -10
# Check session retrieval
grep "Retrieved session" ~/.claude-mind/system/logs/samara.log | tail -10
Group Chat Messages Going to Wrong Chat
Symptom: Response sent to 1:1 instead of group
Cause: isGroupChat flag not set correctly
Check:
# Check routing decisions
grep "Routing decision" ~/.claude-mind/system/logs/samara.log | tail -10
Queue Not Processing
Symptom: Messages acknowledged but never answered Cause: TaskLock stuck or QueueProcessor not running Check:
# Check lock status
cat ~/.claude-mind/claude.lock
# Check queue processor
grep "QueueProcessor" ~/.claude-mind/system/logs/samara.log | tail -10
# Force release stale lock if needed
# rm ~/.claude-mind/claude.lock
Task Routing Reference
| Request Type | Detection | Isolation |
|---|---|---|
| Conversation | Default | Uses session |
| Webcam | "webcam", "camera", "photo" | Isolated |
| WebFetch | URLs, "check this" | Isolated |
| Skill | Starts with "/" | Isolated |
Session State Files
| File | Purpose |
|---|---|
~/.claude-mind/state/sessions.json |
Per-chat session IDs |
~/.claude-mind/claude.lock |
Current task lock |
~/.claude-mind/state/message-queue.json |
Pending messages |
Diagnostic Report
When debugging session issues, gather:
- Recent batch processing logs
- Session state file contents
- Lock file status
- Task routing decisions
- Group chat routing decisions
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-28
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!