Completely removed the database context recall system while preserving database tables for safety. This major cleanup removes 80+ files and 16,831 lines of code. What was removed: - API layer: 4 routers (conversation-contexts, context-snippets, project-states, decision-logs) with 35+ endpoints - Database models: 5 models (ConversationContext, ContextSnippet, DecisionLog, ProjectState, ContextTag) - Services: 4 service layers with business logic - Schemas: 4 Pydantic schema files - Claude Code hooks: 13 hook files (user-prompt-submit, task-complete, sync-contexts, periodic saves) - Scripts: 15+ scripts (import, migration, testing, tombstone checking) - Tests: 5 test files (context recall, compression, diagnostics) - Documentation: 30+ markdown files (guides, architecture, quick starts) - Utilities: context compression, conversation parsing Files modified: - api/main.py: Removed router registrations - api/models/__init__.py: Removed model imports - api/schemas/__init__.py: Removed schema imports - api/services/__init__.py: Removed service imports - .claude/claude.md: Completely rewritten without context references Database tables preserved: - conversation_contexts, context_snippets, context_tags, project_states, decision_logs (5 orphaned tables remain for safety) - Migration created but NOT applied: 20260118_172743_remove_context_system.py - Tables can be dropped later when confirmed not needed New files added: - CONTEXT_SYSTEM_REMOVAL_SUMMARY.md: Detailed removal report - CONTEXT_SYSTEM_REMOVAL_COMPLETE.md: Final status - CONTEXT_EXPORT_RESULTS.md: Export attempt results - scripts/export-tombstoned-contexts.py: Export tool for future use - migrations/versions/20260118_172743_remove_context_system.py Impact: - Reduced from 130 to 95 API endpoints - Reduced from 43 to 38 active database tables - Removed 16,831 lines of code - System fully operational without context recall Reason for removal: - System was not actively used (no tombstoned contexts found) - Reduces codebase complexity - Focuses on core MSP work tracking functionality - Database preserved for safety (can rollback if needed) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
61 lines
2.1 KiB
PowerShell
61 lines
2.1 KiB
PowerShell
# Deploy recall endpoint fix to RMM server
|
|
# Uses plink/pscp for Windows compatibility
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
$sourceFile = "D:\ClaudeTools\api\routers\conversation_contexts.py"
|
|
$rmmHost = "guru@172.16.3.30"
|
|
$tempFile = "/tmp/conversation_contexts.py"
|
|
$targetFile = "/opt/claudetools/api/routers/conversation_contexts.py"
|
|
|
|
Write-Host "[1/3] Copying file to RMM server..." -ForegroundColor Cyan
|
|
& pscp -batch $sourceFile "${rmmHost}:${tempFile}"
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "[ERROR] Failed to copy file" -ForegroundColor Red
|
|
Write-Host "Try running: pscp $sourceFile ${rmmHost}:${tempFile}" -ForegroundColor Yellow
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "[2/3] Moving file to production location..." -ForegroundColor Cyan
|
|
& plink -batch $rmmHost "sudo mv $tempFile $targetFile && sudo chown claudetools:claudetools $targetFile"
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "[ERROR] Failed to move file" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "[3/3] Restarting API service..." -ForegroundColor Cyan
|
|
& plink -batch $rmmHost "sudo systemctl restart claudetools-api && sleep 2 && sudo systemctl status claudetools-api --no-pager | head -15"
|
|
|
|
Write-Host ""
|
|
Write-Host "[SUCCESS] Deployment complete!" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "Testing API..." -ForegroundColor Cyan
|
|
|
|
# Test the API
|
|
python - @"
|
|
import requests
|
|
import json
|
|
|
|
jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpbXBvcnQtc2NyaXB0Iiwic2NvcGVzIjpbImFkbWluIiwiaW1wb3J0Il0sImV4cCI6MTc3MTI3NTEyOX0.-DJF50tq0MaNwVQBdO7cGYNuO5pQuXte-tTj5DpHi2U"
|
|
|
|
response = requests.get(
|
|
"http://172.16.3.30:8001/api/conversation-contexts/recall",
|
|
headers={"Authorization": f"Bearer {jwt_token}"},
|
|
params={"search_term": "dataforth", "limit": 2}
|
|
)
|
|
|
|
print(f"API Status: {response.status_code}")
|
|
data = response.json()
|
|
|
|
if "contexts" in data:
|
|
print("[SUCCESS] Recall endpoint updated!")
|
|
print(f"Total: {data['total']}, Returned: {len(data['contexts'])}")
|
|
for ctx in data['contexts']:
|
|
print(f" - {ctx['title'][:60]}")
|
|
else:
|
|
print("[WARNING] Still old format")
|
|
print(json.dumps(data, indent=2)[:300])
|
|
"@
|