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.
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
# Workspace ThothII — Chirone (DWH remoto) per i test L2.
|
||||
# Struttura allineata a workspaces/chirone.example.yaml e nsp/config.py.
|
||||
# I segreti vivono SOLO in .env (${THOTH_*}).
|
||||
# Workspace ThothII — test (DWH remoto) per i test L2.
|
||||
# Struttura allineata a workspaces/tht.example.yaml e tht/config.py.
|
||||
# I segreti vivono SOLO in .env (${THT_*}).
|
||||
|
||||
database:
|
||||
host: ${THOTH_DB_HOST}
|
||||
port: ${THOTH_DB_PORT}
|
||||
database: ${THOTH_DB_NAME}
|
||||
host: ${THT_DB_HOST}
|
||||
port: ${THT_DB_PORT}
|
||||
database: ${THT_DB_NAME}
|
||||
schema: datawarehouse
|
||||
user: ${THOTH_DB_USER}
|
||||
password: ${THOTH_DB_PASSWORD}
|
||||
user: ${THT_DB_USER}
|
||||
password: ${THT_DB_PASSWORD}
|
||||
transport: rest
|
||||
|
||||
rest:
|
||||
base_url: ${THOTH_DWH_REST_URL}
|
||||
api_key: ${THOTH_DWH_API_KEY}
|
||||
ssl_ca: ${THOTH_SSL_CA}
|
||||
base_url: ${THT_DWH_REST_URL}
|
||||
api_key: ${THT_DWH_API_KEY}
|
||||
ssl_ca: ${THT_SSL_CA}
|
||||
|
||||
paths:
|
||||
artifacts: artifacts
|
||||
@@ -22,7 +22,7 @@ paths:
|
||||
sessions: sessions
|
||||
|
||||
embeddings:
|
||||
base_url: ${THOTH_OLLAMA_URL}
|
||||
base_url: ${THT_OLLAMA_URL}
|
||||
model: nomic-embed-text-v2-moe
|
||||
dim: 768
|
||||
batch_size: 64
|
||||
@@ -32,26 +32,26 @@ embeddings:
|
||||
# li richiede, per cui si appoggiano alle stesse variabili del server (popolate nel
|
||||
# .env del server; sul workstation restano dummy/inediti finche' transport=rest).
|
||||
vector_db:
|
||||
host: ${THOTH_VEC_HOST}
|
||||
port: ${THOTH_VEC_PORT}
|
||||
host: ${THT_VEC_HOST}
|
||||
port: ${THT_VEC_PORT}
|
||||
database: postgres
|
||||
schema: vectors
|
||||
user: ${THOTH_VEC_USER}
|
||||
password: ${THOTH_VEC_PASSWORD}
|
||||
user: ${THT_VEC_USER}
|
||||
password: ${THT_VEC_PASSWORD}
|
||||
|
||||
# LETTURA del pgvector via REST remota (rpc search_similar), ruolo vector_reader.
|
||||
vector_rest:
|
||||
base_url: ${THOTH_VEC_REST_URL}
|
||||
api_key: ${THOTH_VEC_API_KEY}
|
||||
ssl_ca: ${THOTH_SSL_CA}
|
||||
base_url: ${THT_VEC_REST_URL}
|
||||
api_key: ${THT_VEC_API_KEY}
|
||||
ssl_ca: ${THT_SSL_CA}
|
||||
|
||||
# SCRITTURA controllata del pgvector via REST remota (upsert/hash via RPC allowlist),
|
||||
# ruolo vector_writer. Path DEDICATO /vector/write/v1/ (diverso dal reader): la chiave
|
||||
# writer vale solo qui, la reader solo su /vector/v1/. Key SEPARATA dalla lettura.
|
||||
vector_write_rest:
|
||||
base_url: ${THOTH_VEC_WRITE_REST_URL}
|
||||
api_key: ${THOTH_VEC_WRITE_API_KEY}
|
||||
ssl_ca: ${THOTH_SSL_CA}
|
||||
base_url: ${THT_VEC_WRITE_REST_URL}
|
||||
api_key: ${THT_VEC_WRITE_API_KEY}
|
||||
ssl_ca: ${THT_SSL_CA}
|
||||
|
||||
vector:
|
||||
max_chunk_chars: 4000
|
||||
@@ -1,22 +1,22 @@
|
||||
# Workspace ThothII — Chirone (esempio). I segreti vivono SOLO in .env (${THOTH_*}).
|
||||
# La struttura rispecchia esattamente nsp/config.py (portato da ChironeWp3):
|
||||
# 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: ${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`)
|
||||
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: ${THOTH_DB_USER}
|
||||
password: ${THOTH_DB_PASSWORD}
|
||||
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: ${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)
|
||||
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
|
||||
@@ -39,11 +39,11 @@ eligibility:
|
||||
ignore_columns: [etl_last_update]
|
||||
|
||||
evidence:
|
||||
source_root: ${THOTH_DOCS_ROOT} # es. /Users/mp/Chirone/chirone/etl/docs
|
||||
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: ${THOTH_OLLAMA_URL} # es. http://localhost:11434
|
||||
base_url: ${THT_OLLAMA_URL} # es. http://localhost:11434
|
||||
model: nomic-embed-text-v2-moe
|
||||
dim: 768
|
||||
batch_size: 32
|
||||
@@ -51,27 +51,27 @@ embeddings:
|
||||
# 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
|
||||
host: ${THT_VEC_HOST} # Postgres locale del server
|
||||
port: ${THT_VEC_PORT} # es. 5437
|
||||
database: postgres
|
||||
schema: vectors
|
||||
user: ${THOTH_VEC_USER}
|
||||
password: ${THOTH_VEC_PASSWORD}
|
||||
user: ${THT_VEC_USER}
|
||||
password: ${THT_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}
|
||||
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 nsp memory save-one / vector index-schema da postazione remota.
|
||||
# Abilita tht 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}
|
||||
base_url: ${THT_VEC_REST_URL}
|
||||
api_key: ${THT_VEC_WRITE_API_KEY}
|
||||
ssl_ca: ${THT_SSL_CA}
|
||||
|
||||
vector:
|
||||
max_chunk_chars: 4000
|
||||
Reference in New Issue
Block a user