Due cambiamenti interconnessi da user review:
1. language come parametro workspace (spec decisione 9):
- Config.language (default 'en') + workspaces PSD con 'language: it'
- Generalizza Thoth oltre l'italiano: descrizioni tabelle/colonne ed evidence
sono nel workspace language; le istruzioni della skill restano in inglese
(piu' affidabili per modelli piccoli, meno ambigue)
2. Skill riscritta in INGLESE preservando la semantica COMPLETA dell'originale
(autocritica: la mia riscrittura precedente aveva perso ~10 vincoli precisi):
- 'promuovere' ambiguo (3 accezioni: phase advance / recommend / memory promote)
-> 'never advance a phase or record a decision without confirmation'
- recuperati vincoli persi: choice-is-confirmation (no reviewer_confirm dopo
reviewer_decide), reviewer_select SOLO per iterazione no-decision, messaggi
auto-contenuti obbligatori, artefatto = superficie di decisione (gate rilegge
da disco per CTE/SQL), candidati con provenienza+score non verita', opzione
'leave ambiguity open', F1 passa lista completa non solo ultima
- language contract esplicito (istruzioni EN, output nel workspace language)
Sottomoduli cte/memoria/rewriting/sql-generation in inglese, semantica tecnica
intatta (regole AV-SQL, dim_time trick, max 5 memorie solo 3 tipi riusabili).
Verifica: 0 residui nsp/chirone, tutti i tht <cmd> citati registrati, 165 passed.
93 lines
3.0 KiB
YAML
93 lines
3.0 KiB
YAML
# Workspace ThothII (esempio). I segreti vivono SOLO in .env (${THT_*}).
|
|
# La struttura rispecchia esattamente tht/config.py:
|
|
# database + rest per il DWH; vector_rest/vector_write_rest per il pgvector (doppia key);
|
|
# vector_db per il loading diretto (server-only); embeddings + evidence + execution.
|
|
|
|
language: it # descrizioni tabelle/colonne ed evidence sono in italiano (PSD)
|
|
|
|
database:
|
|
host: ${THT_DB_HOST}
|
|
port: ${THT_DB_PORT} # es. 5437 (Postgres diretto Supabase; 5432 = pooler)
|
|
database: ${THT_DB_NAME} # es. postgres (lo schema a stella vive in `datawarehouse`)
|
|
schema: datawarehouse
|
|
user: ${THT_DB_USER}
|
|
password: ${THT_DB_PASSWORD}
|
|
transport: rest # direct (Postgres) | rest (Supabase/PostgREST)
|
|
|
|
# Accesso al DWH via REST (richiesto se database.transport = rest).
|
|
rest:
|
|
base_url: ${THT_DWH_REST_URL} # es. https://supabase-aritmolab.policlinicosandonato.it/dwh/
|
|
api_key: ${THT_DWH_API_KEY} # header X-API-Key, ruolo dwh_reader (read-only)
|
|
ssl_ca: ${THT_SSL_CA} # path al certificato CA (per server con CA interna)
|
|
|
|
paths:
|
|
artifacts: artifacts
|
|
indexes: indexes
|
|
sessions: sessions
|
|
|
|
examples:
|
|
max_per_column: 10
|
|
|
|
lsh:
|
|
signature_size: 64
|
|
n_gram: 3
|
|
threshold: 0.5
|
|
max_values_per_column: 1000
|
|
|
|
eligibility:
|
|
max_declared_len: 128
|
|
max_avg_length: 40
|
|
max_sampled_len: 200
|
|
ignore_columns: [etl_last_update]
|
|
|
|
evidence:
|
|
source_root: ${THT_DOCS_ROOT} # es. harness/evidence (cartella curata dentro ThothII)
|
|
evidence_dir: evidence # cartella curata a mano: unica fonte delle evidence
|
|
|
|
embeddings:
|
|
base_url: ${THT_OLLAMA_URL} # es. http://localhost:11434
|
|
model: nomic-embed-text-v2-moe
|
|
dim: 768
|
|
batch_size: 32
|
|
|
|
# LOADING del pgvector: connessione diretta, eseguita sul server (profilo server).
|
|
# Opzionale su postazione remota (lì la lettura passa da vector_rest).
|
|
vector_db:
|
|
host: ${THT_VEC_HOST} # Postgres locale del server
|
|
port: ${THT_VEC_PORT} # es. 5437
|
|
database: postgres
|
|
schema: vectors
|
|
user: ${THT_VEC_USER}
|
|
password: ${THT_VEC_PASSWORD}
|
|
|
|
# LETTURA (similarity search) del pgvector via REST remota: rpc search_similar.
|
|
vector_rest:
|
|
base_url: ${THT_VEC_REST_URL} # es. https://host/vector/v1/
|
|
api_key: ${THT_VEC_API_KEY} # header X-API-Key, ruolo vector_reader (read-only)
|
|
ssl_ca: ${THT_SSL_CA}
|
|
|
|
# SCRITTURA controllata del pgvector via REST remota: upsert/hash via RPC allowlist,
|
|
# niente delete/clear. Usa una API key SEPARATA dalla lettura (ruolo vector_writer).
|
|
# OPZIONALE: assente o key vuota = scrittura non abilitata (solo lettura).
|
|
# Abilita tht memory save-one / vector index-schema da postazione remota.
|
|
vector_write_rest:
|
|
base_url: ${THT_VEC_REST_URL}
|
|
api_key: ${THT_VEC_WRITE_API_KEY}
|
|
ssl_ca: ${THT_SSL_CA}
|
|
|
|
vector:
|
|
max_chunk_chars: 4000
|
|
|
|
search:
|
|
rrf_k: 60
|
|
top_schema_tables: 12
|
|
schema_chunk_pool: 150
|
|
|
|
execution:
|
|
allow: [cte_test, explain, preview, aggregate, export]
|
|
max_preview_rows: 10
|
|
max_export_rows: 100000
|
|
statement_timeout_ms: 30000
|
|
warn_execution_ms: 5000
|
|
max_aggregate_cells: 20
|