Files
ThothII/harness/workspaces/tht.example.yaml
T
marcopan fc5fbe6b65 refactor(harness): renaming prodotto tht (Onda -1)
Thoth (tht) è il prodotto, PSD è il cliente. Nessun riferimento al contesto
clinico nel codice.

Rinomine:
- comando+package nsp→tht (dir nsp/→tht/, 46 import, pyproject entry point)
- gate nsp-gate.js→tht-gate.js (+ rewrite token, relayIfNspFails→relayIfThtFails)
- workspace chirone.{example,test}.yaml→tht.{example,test}.yaml (generici)
- env THOTH_→THT_ (19 var) + NSP_ stragglers (NSP_HARNESS_ROOT, NSP_SESSION)
- commenti/docstring chirone/psdwp3/policlinico neutralizzati ('the reference
  implementation', 'the DWH')

Aggiunto [tool.setuptools.packages.find] include=['tht*'] (necessario: l'auto-
discovery rompeva con tht/ + workspaces/ come top-level multipli).

.env operatore aggiornato in-place (prefissi THT_, valori preservati, gitignored).

Verifica: pytest 109 passed, npm test 14 pass, tht phase meta --json OK, zero
residui nsp/THOTH_/NSP_/chirone nel package.
2026-06-27 10:33:16 +02:00

91 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.
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