🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?
Claim this page →
claude-cognitive
Working memory for Claude Code - persistent context and multi-instance coordination
git clone https://github.com/GMaN1911/claude-cognitive
Claude Cognitive
Working memory for Claude Code — persistent context and multi-instance coordination
The Problem
Claude Code is powerful but stateless. Every new instance:
- Rediscovers your codebase from scratch
- Hallucinates integrations that don't exist
- Repeats debugging you already tried
- Burns tokens re-reading unchanged files
With large codebases (50k+ lines), this becomes painful fast.
The Solution
Claude Cognitive gives Claude Code working memory through two complementary systems:
1. Context Router
Attention-based file injection with cognitive dynamics:
- HOT (>0.8): Full file injection - active development
- WARM (0.25-0.8): Headers only - background awareness
- COLD (<0.25): Evicted from context
Files decay when not mentioned, activate on keywords, and co-activate with related files.
2. Pool Coordinator
Multi-instance state sharing for long-running sessions:
- Automatic mode: Detects completions/blockers from conversation (every 5min)
- Manual mode: Explicit
poolblocks for critical coordination - Works with persistent sessions (days/weeks), not just short bursts
Results
Token Savings:
- Cold start: 79% (120K → 25K chars)
- Warm context: 70% (80K → 24K chars)
- Focused work: 75% (60K → 15K chars)
Average: 64-95% depending on codebase size and work pattern.
Developer Experience:
- ✅ New instances productive in first message
- ✅ Zero hallucinated imports/integrations
- ✅ No duplicate work across 8+ concurrent instances
- ✅ Persistent memory across days-long sessions
Validated on:
- 1+ million line production codebase (3,200+ Python modules)
- 4-node distributed architecture
- 8 concurrent Claude Code instances
- Multi-day persistent sessions
Quick Start
1. Install Scripts
# Clone to your home directory
cd ~
git clone https://github.com/GMaN1911/claude-cognitive.git .claude-cognitive
# Copy scripts
cp -r .claude-cognitive/scripts ~/.claude/scripts/
# Set up hooks (adds to existing config)
cat .claude-cognitive/hooks-config.json >> ~/.claude/settings.json
Note: The repo contains a
.claude-dev/directory for development/dogfooding purposes only. Do not copy this to your projects—it's not part of the user-facing installation. Use your own project-local.claude/directory instead (see step 2).
2. Initialize Your Project
cd /path/to/your/project
# Create .claude directory
mkdir -p .claude/{systems,modules,integrations,pool}
# Copy templates
cp -r ~/.claude-cognitive/templates/* .claude/
# Edit .claude/CLAUDE.md with your project info
# Edit .claude/systems/*.md to describe your architecture
3. Set Instance ID
# Add to ~/.bashrc for persistence:
export CLAUDE_INSTANCE=A
# Or per-terminal:
export CLAUDE_INSTANCE=B
4. Verify It's Working
# Start Claude Code
claude
# First message - check for context injection:
# Should see: "ATTENTION STATE [Turn 1]" with HOT/WARM/COLD counts
# Query pool activity:
python3 ~/.claude/scripts/pool-query.py --since 1h
5. Create Keywords Config (Required)
Create .claude/keywords.json in your project root:
cp ~/.claude-cognitive/templates/keywords.json.example .claude/keywords.json
Edit to match your project's documentation files and relevant keywords.
Full setup guide: SETUP.md Customization guide: CUSTOMIZATION.md
Project Configuration
Create .claude/keywords.json in your project root to define project-specific keywords:
{
"keywords": {
"path/to/doc.md": ["keyword1", "keyword2", "phrase to match"]
},
"co_activation": {
"path/to/doc.md": ["related/doc.md"]
},
"pinned": ["always/warm/file.md"]
}
Keywords: Map documentation files to trigger words. When any keyword appears in your prompt (case-insensitive), the file becomes HOT.
Co-activation: When a file activates, related files get a score boost.
Pinned: Files that should always be at least WARM.
The router checks for config in this order:
.claude/keywords.json(project-local)~/.claude/keywords.json(global fallback)- Empty defaults (no activation)
How It Works
Context Router
Attention Dynamics:
User mentions "orin" in message
↓
systems/orin.md → score = 1.0 (HOT)
↓
Co-activation:
integrations/pipe-to-orin.md → +0.35 (WARM)
modules/t3-telos.md → +0.35 (WARM)
↓
Next turn (no mention):
systems/orin.md → 1.0 × 0.85 decay = 0.85 (still HOT)
↓
3 turns later (no mention):
systems/orin.md → 0.85 × 0.85 × 0.85 = 0.61 (now WARM)
Injection:
- HOT files: Full content injected
- WARM files: First 25 lines (headers) injected
- COLD files: Not injected (evicted)
Pool Coordinator
Automatic Mode:
Instance A completes task
↓
Auto-detector finds: "Successfully deployed PPE to Orin"
↓
Writes pool entry:
action: completed
topic: PPE deployment to Orin
affects: orin_sensory_cortex/
↓
Instance B starts session
↓
Pool loader shows:
"[A] completed: PPE deployment to Orin"
↓
Instance B avoids duplicate work
Manual Mode:
```pool
INSTANCE: A
ACTION: completed
TOPIC: Fixed authentication bug
SUMMARY: Resolved race condition in token refresh. Added mutex.
AFFECTS: auth.py, session_handler.py
BLOCKS: Session management refactor can proceed
```
History Tracking (v1.1+)
Claude Cognitive now remembers its own attention. Every turn is logged with structured data showing which files were HOT/WARM/COLD and how they transitioned between tiers.
Why This Matters
The router always computed attention scores. Now they persist as queryable history:
- Replay development trajectories - "How did we stabilize the PPE last week?"
- Identify neglected modules - "Which files got ignored during the sprint?"
- Debug attention behavior - "Why didn't convergent.md activate when I mentioned convergence?"
View History
# Last 20 turns
python3 ~/.claude/scripts/history.py
# Last 2 hours
python3 ~/.claude/scripts/history.py --since 2h
# Filter by file pattern
python3 ~/.claude/scripts/history.py --file ppe
# Show only tier transitions
python3 ~/.claude/scripts/history.py --transitions
# Summary statistics
python3 ~/.claude/scripts/history.py --stats
# Filter by instance
python3 ~/.claude/scripts/history.py --instance A
Example Output
============================================================
2025-12-31
============================================================
[18:43:21] Instance A | Turn 47
Query: refactor ppe routing tier collapse
🔥 HOT: ppe-anticipatory-coherence.md, t3-telos.md
🌡️ WARM: orin.md, pipeline.md
⬆️ Promoted to HOT: ppe-anticipatory-coherence.md
⬇️ Decayed to COLD: img-to-asus.md
[19:22:35] Instance A | Turn 48
Query: what divergence dynamics?
🔥 HOT: divergent.md, t3-telos.md, cvmp-transformer.md
🌡️ WARM: pipeline.md, orin.md (+3 more)
⬆️ Promoted to HOT: divergent.md
Statistics View
python3 ~/.claude/scripts/history.py --stats --since 7d
╔══════════════════════════════════════════════════════════════╗
║ ATTENTION STATISTICS ║
╚══════════════════════════════════════════════════════════════╝
Total turns: 342
Time range: 2025-12-24 to 2025-12-31
Instances: {'A': 156, 'B': 98, 'default': 88}
Most frequently HOT:
87 turns: pipeline.md
65 turns: t3-telos.md
43 turns: orin.md
38 turns: ppe-anticipatory-coherence.md
22 turns: divergent.md
Most promoted to HOT:
23 times: ppe-anticipatory-coherence.md
18 times: divergent.md
12 times: convergent.md
Busiest days:
2025-12-30: 156 turns
2025-12-29: 98 turns
2025-12-28: 88 turns
Average context size: 18,420 chars
History Entry Structure
Each turn logs:
{
"turn": 47,
"timestamp": "2025-12-31T18:43:21Z",
"instance_id": "A",
"prompt_keywords": ["refactor", "ppe", "routing", "tier"],
"activated": ["ppe-anticipatory-coherence.md"],
"hot": ["ppe-anticipatory-coherence.md", "t3-telos.md"],
"warm": ["orin.md", "pipeline.md"],
"cold_count": 12,
"transitions": {
"to_hot": ["ppe-anticipatory-coherence.md"],
"to_warm": ["orin.md"],
"to_cold": ["img-to-asus.md"]
},
"total_chars": 18420
}
File: ~/.claude/attention_history.jsonl (append-only, one entry per turn)
Retention: 30 days (configurable in context-router-v2.py)
Architecture
claude-cognitive/
├── scripts/
│ ├── context-router-v2.py # Attention dynamics + history logging
│ ├── history.py # History viewer CLI (v1.1+)
│ ├── pool-auto-update.py # Continuous pool updates
│ ├── pool-loader.py # SessionStart injection
│ ├── pool-extractor.py # Stop hook extraction
│ └── pool-query.py # CLI query tool
│
├── templates/
│ ├── CLAUDE.md # Project context template
│ ├── systems/ # Hardware/deployment
│ ├── modules/ # Core systems
│ └── integrations/ # Cross-system communication
│
└── examples/
├── small-project/ # Simple example
├── monorepo/ # Complex structure
└── mirrorbot-sanitized/ # Real-world 50k+ line example
Hooks:
UserPromptSubmit: Context router + pool auto-updateSessionStart: Pool loaderStop: Pool extractor (manual blocks)
State Files:
.claude/attn_state.json- Context router scores.claude/pool/instance_state.jsonl- Pool entries
Strategy: Project-local first, ~/.claude/ fallback (monorepo-friendly)
Documentation
Concepts
- Attention Decay - Why files fade
- Context Tiers - HOT/WARM/COLD theory
- Pool Coordination - Multi-instance patterns
- Fractal Documentation - Infinite zoom strategy
Guides
- Getting Started - First 15 minutes
- Large Codebases - 50k+ lines
- Team Setup - Multiple developers
- Migration - Adding to existing project
Reference
- Template Syntax - Markers and tags
- Pool Protocol - Technical spec
- Token Budgets - Optimization guide
Use Cases
Solo Developer - Large Codebase
Problem: 50k+ line Python project, Claude forgets architecture between sessions
Solution:
- Context router keeps architecture docs HOT when mentioned
- Token usage drops 79% (120K → 25K chars)
- New sessions productive immediately
Team - Monorepo
Problem: 4 developers, each running Claude in different terminals, duplicate work
Solution:
- Each dev sets
CLAUDE_INSTANCE=A/B/C/D - Pool coordinator shares completions/blockers
- Zero duplicate debugging
Long-Running Sessions
Problem: Keep Claude open for days, it forgets what happened 2 days ago
Solution:
- Pool auto-updates write history continuously
- Context router maintains attention across days
- Temporal coherence preserved
Enterprise
Need multi-team coordination, compliance features, or custom setup?
Contact: [email protected]
Services available:
- Custom implementation for your codebase
- Team training and onboarding
- Integration with existing tooling
- Priority support and SLA
Roadmap
v1.1 (Current - Production)
- ✅ Context router with attention dynamics
- ✅ Pool coordinator (auto + manual)
- ✅ Project-local strategy
- ✅ CLI query tools
- ✅ Attention history tracking (NEW in v1.1)
- ✅ History viewer CLI (NEW in v1.1)
v1.2 (Next)
- Graph visualization of attention flow
- Collision detection (multiple instances, same file HOT)
- Nemotron compression for pool summaries
- Semantic relevance (embeddings vs keywords)
v2.0 (Future)
- Conflict detection (multiple instances, same file)
- Action confirmations (critical operations)
- Integration with ES-AC learning (context preferences)
- Oracle prediction (which files to pre-load)
- Exploring integration with other AI coding assistants (Gemini CLI, Cursor, Aider)
Credits
Built on production experience with:
- 1+ million lines of production Python code across 3,200+ modules
- 4-node distributed architecture (Legion, Orin, ASUS, Pi5)
- 8+ concurrent Claude Code instances in daily use
Created by:
- Garret Sutherland, MirrorEthic LLC
License
MIT License - see LICENSE
Use it, modify it, ship it.
Contributing
Issues and PRs welcome!
Before submitting:
- Check existing issues
- For features: Open issue first to discuss
- For bugs: Include context router + pool logs
Development:
# Test locally
cd ~/your-project
export CLAUDE_INSTANCE=TEST
claude
# Check logs
tail -f ~/.claude/context_injection.log
python3 ~/.claude/scripts/pool-query.py --since 10m
Questions? Open an issue
Updates? Watch the repo for releases
// compatibility
| Platforms | cli |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | MIT |
| Pricing | open-source |
| Language | Python |
// faq
What is claude-cognitive?
Working memory for Claude Code - persistent context and multi-instance coordination. It is open-source on GitHub.
Is claude-cognitive free to use?
claude-cognitive is open-source under the MIT license, so it is free to use.
What category does claude-cognitive belong to?
claude-cognitive is listed under devtools in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/claude-cognitive)
// retro hit counter
[](https://claudeers.com/claude-cognitive)
// reviews
// guestbook
// related in Developer Tools
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…
Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA
AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…
🙌 OpenHands: AI-Driven Development