================================================================================
COMPLETE DEPLOYMENT - All Modified Files
================================================================================

Files that need to be updated:
1. api/routers/conversation_contexts.py (DONE - already deployed)
2. api/services/conversation_context_service.py
3. api/models/__init__.py
4. api/models/conversation_context.py
5. api/models/context_tag.py (NEW file)


STEP 1: Copy files from local machine
--------------------------------------
Run these in PowerShell:

pscp D:\ClaudeTools\api\services\conversation_context_service.py guru@172.16.3.30:/tmp/conv_service.py
pscp D:\ClaudeTools\api\models\__init__.py guru@172.16.3.30:/tmp/models_init.py
pscp D:\ClaudeTools\api\models\conversation_context.py guru@172.16.3.30:/tmp/conversation_context.py
pscp D:\ClaudeTools\api\models\context_tag.py guru@172.16.3.30:/tmp/context_tag.py


STEP 2: Deploy files on server
--------------------------------
Run these in your SSH session (as root):

# Move service file
mv /tmp/conv_service.py /opt/claudetools/api/services/conversation_context_service.py

# Move model files
mv /tmp/models_init.py /opt/claudetools/api/models/__init__.py
mv /tmp/conversation_context.py /opt/claudetools/api/models/conversation_context.py
mv /tmp/context_tag.py /opt/claudetools/api/models/context_tag.py

# Restart API
systemctl restart claudetools-api

# Check status (should show recent timestamp)
systemctl status claudetools-api --no-pager | head -15


STEP 3: Test API
-----------------
Exit SSH and run in PowerShell:

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!' if 'contexts' in data else f'Failed: {data.get(\"detail\", list(data.keys()))}'); print(f'Found {len(data.get(\"contexts\", []))} contexts' if 'contexts' in data else '')"

Expected: "SUCCESS!" and "Found 2 contexts"


================================================================================
QUICK COPY-PASTE for Server (after pscp commands):
================================================================================

mv /tmp/conv_service.py /opt/claudetools/api/services/conversation_context_service.py && \
mv /tmp/models_init.py /opt/claudetools/api/models/__init__.py && \
mv /tmp/conversation_context.py /opt/claudetools/api/models/conversation_context.py && \
mv /tmp/context_tag.py /opt/claudetools/api/models/context_tag.py && \
systemctl restart claudetools-api && \
systemctl status claudetools-api --no-pager | head -15

================================================================================
