#!/bin/bash
# Sync GitHub issues to RAG index after merge/pull
echo "🔄 Syncing issues + docs to RAG index..."

cd "$(git rev-parse --show-toplevel)" || exit 0

# Dump issues
gh issue list --state all --json number,title,body,state,labels --limit 200 2>/dev/null | python3 -c "
import json, sys
try:
    issues = json.load(sys.stdin)
except: sys.exit(0)
with open('docs/issues-dump.md', 'w') as f:
    f.write('# GitHub Issues\n\n')
    for i in sorted(issues, key=lambda x: x['number']):
        state = '✅' if i['state'] == 'CLOSED' else '⬜'
        labels = ', '.join(l['name'] for l in i.get('labels', []))
        f.write(f\"## {state} #{i['number']}: {i['title']}\n\n\")
        if labels: f.write(f'**Labels:** {labels}\n\n')
        if i.get('body'): f.write(i['body'] + '\n\n')
        f.write('---\n\n')
print(f'📋 {len(issues)} issues dumped')
" 2>/dev/null

# Re-ingest changed files + issues
which mcporter >/dev/null 2>&1 || exit 0
mcporter call local-rag.ingest_file filePath="$(pwd)/docs/issues-dump.md" >/dev/null 2>&1
git diff --name-only HEAD~1 HEAD 2>/dev/null | while read f; do
  [[ "$f" == *.md || "$f" == *.py ]] && mcporter call local-rag.ingest_file filePath="$(pwd)/$f" >/dev/null 2>&1
done
echo "✅ RAG index updated"
