feat(harness): port backend Onda 0 — vendor, lshindex, sqlcheck, execute, rest/exec, ctetest, report, datamart
8 moduli leaf portati verbatim da ChironeWp3 con rename psdwp3→tht: - vendor/thoth_lsh (MinHash/LSH, leaf puro datasketch+tqdm) + VENDORED.md - lshindex/ (build/save/load/query, dipende vendor + LshConfig) - sqlcheck/ (validate_sql, leaf ExecutionConfig+mschema) - execute/ + execute/warnings (run_controlled/explain, leaf sqlglot+sqlalchemy) - rest/execute + rest/explain (REST variants, dipendono execute+rest.client) - ctetest (CTE test records, leaf sqlglot+pydantic) - report (validation report rendering, dipende execute+sqlcheck) - datamart (stub NotImplementedError) Verifica: import smoke catena completa OK, pytest 109 passed. Deps (datasketch, sqlglot, sqlalchemy, pydantic, requests, tqdm) già in pyproject. VENDORED.md neutralizzato (riferimenti PsdWp3→Thoth).
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
"""Fase 8 — generazione dbt del datamart (hook, non ancora implementato).
|
||||
|
||||
Punto d'innesto unico per la generazione del modello dbt da aggiungere al flusso
|
||||
ETL di creazione dei datamart. La logica vera verra' sviluppata in seguito: per
|
||||
ora qui vive solo la firma della funzione (il "hook") con le due varianti del
|
||||
paziente.
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
# Le due varianti previste per il paziente nel datamart:
|
||||
# - "clear": nome, cognome, ecc. in chiaro
|
||||
# - "pseudonymized": nome, cognome, ecc. mascherati (pseudoanonimizzati)
|
||||
DATAMART_MODES = ("clear", "pseudonymized")
|
||||
|
||||
|
||||
def generate_dbt_datamart(session_dir: Path, mode: str) -> None:
|
||||
"""Genera il modello dbt del datamart per la sessione (HOOK — stub).
|
||||
|
||||
`mode` sceglie la variante del paziente (vedi DATAMART_MODES). Non ancora
|
||||
implementato: solleva NotImplementedError, intercettata dalla CLI che mostra
|
||||
un messaggio pulito senza interrompere il workflow.
|
||||
"""
|
||||
raise NotImplementedError(
|
||||
"Generazione dbt del datamart non ancora implementata"
|
||||
)
|
||||
Reference in New Issue
Block a user