# Workspace ThothII — Chirone (esempio). I segreti vivono SOLO in .env (${THOTH_*}). # La struttura rispecchia esattamente nsp/config.py (portato da ChironeWp3): # 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. database: host: ${THOTH_DB_HOST} port: ${THOTH_DB_PORT} # es. 5437 (Postgres diretto Supabase; 5432 = pooler) database: ${THOTH_DB_NAME} # es. postgres (lo schema a stella vive in `datawarehouse`) schema: datawarehouse user: ${THOTH_DB_USER} password: ${THOTH_DB_PASSWORD} transport: rest # direct (Postgres) | rest (Supabase/PostgREST) # Accesso al DWH via REST (richiesto se database.transport = rest). rest: base_url: ${THOTH_DWH_REST_URL} # es. https://supabase-aritmolab.policlinicosandonato.it/dwh/ api_key: ${THOTH_DWH_API_KEY} # header X-API-Key, ruolo dwh_reader (read-only) ssl_ca: ${THOTH_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: ${THOTH_DOCS_ROOT} # es. /Users/mp/Chirone/chirone/etl/docs evidence_dir: evidence # cartella curata a mano: unica fonte delle evidence embeddings: base_url: ${THOTH_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: ${THOTH_VEC_HOST} # Postgres locale del server port: ${THOTH_VEC_PORT} # es. 5437 database: postgres schema: vectors user: ${THOTH_VEC_USER} password: ${THOTH_VEC_PASSWORD} # LETTURA (similarity search) del pgvector via REST remota: rpc search_similar. vector_rest: base_url: ${THOTH_VEC_REST_URL} # es. https://host/vector/v1/ api_key: ${THOTH_VEC_API_KEY} # header X-API-Key, ruolo vector_reader (read-only) ssl_ca: ${THOTH_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 nsp memory save-one / vector index-schema da postazione remota. vector_write_rest: base_url: ${THOTH_VEC_REST_URL} api_key: ${THOTH_VEC_WRITE_API_KEY} ssl_ca: ${THOTH_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