Backup automatico script del 2026-08-23 12:04

This commit is contained in:
daniele committed 2026-08-23 12:04:16 +02:00
1 parent 11823447a2
commit 795a15a7b6
66 files changed
+8546

No files matched your search

@@ -0,0 +1,34 @@
#!/usr/bin/env python3
import json, os, sys
os.environ.setdefault('MCP_DB','/data/loogle_mcp.db')
os.environ.setdefault('MCP_VECTOR_FALLBACK','/data/vector_fallback.db')
from app.db import init_db, get_conn
from app.knowledge import gitea_indexer
from app.mcp import tools
init_db()
print('table_ok', bool(get_conn().execute("SELECT 1 FROM sqlite_master WHERE name='indexed_gitea_files'").fetchone()), flush=True)
files=gitea_indexer.list_indexed_files(limit=10, repo='daniele/rete')
print('indexed', [f['path'] for f in files], flush=True)
if not files:
print('WARN: nessun file indicizzato — indicizzo stacks.conf (piccolo)', flush=True)
r=gitea_indexer.index_file('daniele/rete','ha/stacks.conf', username='daniele', private=True, force=True)
print('new_index', r, flush=True)
files=gitea_indexer.list_indexed_files(limit=10, repo='daniele/rete')
for q in ('failover','censimento','tier-b'):
hits=gitea_indexer.search_gitea_knowledge('daniele', q, limit=3, is_admin=True)
print('search', q, hits[0]['path'] if hits else 'NONE', round(float(hits[0]['score']),3) if hits else None, flush=True)
if not hits and q=='failover':
sys.exit(1)
claims={'sub':'daniele','scope':'knowledge:read gitea:read admin'}
sg=tools.call_tool('search_gitea_knowledge',{'query':'failover tier-b','limit':5},claims)
assert json.loads(sg['content'][0]['text'])['results']
print('tool search_gitea_knowledge ok', flush=True)
li=tools.call_tool('list_gitea_indexed_files',{'repo':'daniele/rete','limit':10},claims)
print('tool list', json.loads(li['content'][0]['text'])['count'], flush=True)
ri=tools.call_tool('reindex_gitea_repo',{'repo':'daniele/rete','max_files':1},claims)
print('tool reindex', json.loads(ri['content'][0]['text']).get('files_indexed'), flush=True)
sk=tools.call_tool('search_knowledge',{'query':'failover keepalived','limit':8},claims)
src=sorted({r.get('source') for r in json.loads(sk['content'][0]['text'])['results']})
print('tool search_knowledge sources', src, flush=True)
assert 'gitea' in src
print('OK P3 SEARCH VERIFIED', flush=True)