Knowledge Database
SQLite-based system that automatically learns from interactions, storing patterns, solutions, and successful approaches.
Overview
Path: ~/.claude/database/claude_knowledge.db Type: SQLite 3 Purpose: Persistent learning across sessions Updates: Automatic via VAL ingestion system
Database Schema
capabilities Table
Stores tool and command knowledge with usage tracking.
Columns:
- id: Primary key
- name: Tool/command name
- category: Classification (tool, mcp, command, etc.)
- description: What it does
- usage_example: How to use it
- success_rate: Percentage of successful uses
- last_used: Timestamp of last use
- notes: Additional context
troubleshooting Table
Problem-solution pairs with success rates.
Columns:
- id: Primary key
- problem_description: What went wrong
- solution: How it was fixed
- context: When/where it occurred
- success_count: Times this solution worked
- total_attempts: Times this solution was tried
- last_successful: Timestamp of last success
applications Table
Inventory of apps with support flags.
Columns:
- id: Primary key
- name: Application name
- type: Category (editor, browser, terminal, etc.)
- applescript_support: Boolean
- mcp_support: Boolean
- notes: Capabilities and limitations
learning_sessions Table
Session tracking and metadata.
Columns:
- id: Primary key
- session_start: Timestamp
- session_end: Timestamp
- interactions_count: Number of exchanges
- patterns_learned: Count of new patterns
- notes: Session summary
system_config Table
Configuration storage.
Columns:
- key: Setting name
- value: Setting value
- updated_at: Last modification timestamp
Automatic Learning
Pattern Extraction
VAL's ingestion system automatically detects:
Tool Usage Patterns:
- Which tools solve which problems
- Success/failure rates
- Common parameter patterns
Command Patterns:
- Frequently used bash commands
- SSH access patterns
- Git workflows
File Path Patterns:
- Project structures
- Common file locations
- Configuration paths
Error Resolution Patterns:
- Problem → Solution mappings
- Root cause analysis
- Prevention strategies
Domain-Specific Patterns:
- Laravel version-specific behaviors
- Production error types
- Time estimation accuracy
Ingestion Process
# Analyze recent history
python3 ~/.claude/val/ingestion.py analyze 200
Steps:
- Read interactions from history.jsonl
- Extract patterns using regex and heuristics
- Update knowledge DB with new/updated entries
- Append significant learnings to operational log
- Calculate success rates and confidence scores
Query System
VAL Preprocessor Queries
Before processing each request, VAL queries the knowledge DB:
-- Find relevant solutions
SELECT * FROM troubleshooting
WHERE problem_description LIKE '%{keywords}%'
ORDER BY success_count DESC LIMIT 5;
-- Find tool capabilities
SELECT * FROM capabilities
WHERE category = '{domain}'
ORDER BY success_rate DESC;
-- Check application support
SELECT applescript_support, mcp_support
FROM applications
WHERE name = '{app_name}';
Purpose: Inject relevant past solutions into current context
Usage Examples
Check Database Stats
python3 ~/.claude/database/knowledge_manager.py stats
Output:
- Total capabilities: X
- Total solutions: Y
- Average success rate: Z%
- Learning sessions: N
Query Specific Problem
import sqlite3
conn = sqlite3.connect('~/.claude/database/claude_knowledge.db')
cursor = conn.cursor()
# Find solutions for Laravel errors
cursor.execute("""
SELECT problem_description, solution, success_count
FROM troubleshooting
WHERE problem_description LIKE '%Laravel%'
ORDER BY success_count DESC
LIMIT 5
""")
for row in cursor.fetchall():
print(f"Problem: {row[0]}")
print(f"Solution: {row[1]}")
print(f"Success count: {row[2]}\n")
Integration Points
VAL Preprocessor
Queries knowledge DB for:
- Domain-specific patterns
- Successful past approaches
- Common pitfalls to avoid
VAL Postprocessor
Updates knowledge DB with:
- New patterns from current interaction
- Success/failure outcomes
- Updated success rates
Operational Log
Significant learnings from knowledge DB are:
- Summarized in operational log
- Reviewed during wake protocol
- Used for pattern recognition
Maintenance
Backup
# Create backup
cp ~/.claude/database/claude_knowledge.db ~/.claude/database/claude_knowledge.db.backup
# Restore from backup
cp ~/.claude/database/claude_knowledge.db.backup ~/.claude/database/claude_knowledge.db
Cleanup
# Remove low-success-rate entries (< 10%)
sqlite3 ~/.claude/database/claude_knowledge.db "DELETE FROM troubleshooting WHERE success_count < 1 AND total_attempts > 10;"
Schema Updates
Schema is defined in:
- ~/.claude/database/claude_knowledge.sql
- Applied via knowledge_manager.py
Success Metrics
Before Knowledge DB:
- Repeated mistakes
- No learning across sessions
- Manual context reconstruction
After Knowledge DB:
- Automatic context enrichment
- Pattern recognition across sessions
- Reduced repeated errors
- Faster problem resolution
Status: Active and operational Last Schema Update: 2025-10-12