Files
claudetools/MANUAL_DEPLOY_SIMPLE.txt
Mike Swanson 89e5118306 Remove conversation context/recall system from ClaudeTools
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>
2026-01-18 19:10:41 -07:00

99 lines
3.1 KiB
Plaintext

================================================================================
MANUAL DEPLOYMENT - Interactive SSH Session
================================================================================
Step 1: Open SSH Connection
----------------------------
In PowerShell, run:
plink guru@172.16.3.30
Enter your password. You should see:
guru@gururmm:~$
Step 2: Check if file was copied
---------------------------------
In the SSH session, type:
ls -lh /tmp/conv.py
If it says "No such file or directory":
- Exit SSH (type: exit)
- Run: pscp D:\ClaudeTools\api\routers\conversation_contexts.py guru@172.16.3.30:/tmp/conv.py
- Reconnect: plink guru@172.16.3.30
- Continue below
If file exists, continue:
Step 3: Deploy the file
------------------------
In the SSH session, run these commands one at a time:
sudo mv /tmp/conv.py /opt/claudetools/api/routers/conversation_contexts.py
sudo chown claudetools:claudetools /opt/claudetools/api/routers/conversation_contexts.py
sudo systemctl restart claudetools-api
(sudo should not ask for password if passwordless is set up)
Step 4: Verify deployment
--------------------------
In the SSH session, run:
grep -c "search_term.*Query" /opt/claudetools/api/routers/conversation_contexts.py
Expected output: 1 (or higher)
If you see 0, the old file is still there.
Step 5: Check service status
-----------------------------
In the SSH session, run:
sudo systemctl status claudetools-api --no-pager | head -15
Look for:
- "Active: active (running)"
- Recent timestamp (today's date, last few minutes)
Step 6: Exit SSH
-----------------
Type:
exit
Step 7: Test the API
---------------------
Back in PowerShell, run:
python -c "import requests; r=requests.get('http://172.16.3.30:8001/api/conversation-contexts/recall', headers={'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpbXBvcnQtc2NyaXB0Iiwic2NvcGVzIjpbImFkbWluIiwiaW1wb3J0Il0sImV4cCI6MTc3MTI3NTEyOX0.-DJF50tq0MaNwVQBdO7cGYNuO5pQuXte-tTj5DpHi2U'}, params={'search_term': 'dataforth', 'limit': 2}); data=r.json(); print('SUCCESS - New code!' if 'contexts' in data else 'FAILED - Old code'); print(f'Contexts: {len(data.get(\"contexts\", []))}' if 'contexts' in data else f'Format: {list(data.keys())}')"
Expected output if successful:
SUCCESS - New code!
Contexts: 2
Expected output if failed:
FAILED - Old code
Format: ['context', 'project_id', 'tags', 'limit', 'min_relevance_score']
================================================================================
ALTERNATIVE: Copy/Paste File Content
================================================================================
If pscp isn't working, you can manually paste the file content:
1. Open: D:\ClaudeTools\api\routers\conversation_contexts.py in a text editor
2. Copy ALL the content (Ctrl+A, Ctrl+C)
3. SSH to server: plink guru@172.16.3.30
4. Create file with nano: nano /tmp/conv.py
5. Paste content (Right-click in PuTTY)
6. Save: Ctrl+X, Y, Enter
7. Continue from Step 3 above
================================================================================