feat(harness): riscrittura skill tht-sessione (F1-F8 + 4 sottomoduli)

Skill ex-novo che riflette Thoth (non copia di ChironeWp3):
- vocabolario widget-descriptor (reviewer_select/decide/confirm) invece di 'dialog native'
- D11 save-one in F2 (upsert mirato vs full resync)
- D14a value_grounded (LSH multi-colonna non collassa) + D14b concept_formula in F4
- D13 free-text e D15 rollback nelle discipline trasversali
- memory vive SOLO nel vectordb (drop registry, spec 5): save-one/promote senza registry
- F8 datamart onesto (stub NotImplementedError)

Sottomoduli cte/memoria/rewriting/sql-generation portati adattando nsp->tht, con
i vincoli precisi trasferiti fedelmente (max 5 memorie, solo 3 tipi riusabili,
CTE solo WITH senza SELECT, dim_time join non aritmetica, sql_final pulito).

Verifica: zero residui nsp/chirone/psd nella skill; ogni 'tht <cmd>' citato e'
registrato (correzione: 'tht formula retrieve' era inesistente -> riformulato in
'ricerca nelle evidence'). Suite: 165 passed.
This commit is contained in:
2026-06-27 14:24:20 +02:00
parent 91a374492c
commit de61034a8d
5 changed files with 326 additions and 0 deletions
@@ -0,0 +1,25 @@
# Tecnica di riscrittura della domanda
Adattata dallo step "rephrase question" di AV-SQL: scomporre la domanda in
condizioni esplicite, senza perdere informazione.
La domanda riscritta deve:
1. Esplicitare la popolazione (chi/cosa si conta o seleziona) con i termini
del modello dati (es. "pazienti distinti in dim_patient").
2. Esplicitare ogni condizione come clausola separata e numerabile:
periodo temporale, eventi inclusi/esclusi, soglie, stati.
3. Sostituire i termini ambigui con i concetti chiariti in Fase 1, citando
l'evidence che li definisce quando esiste (id evidence tra parentesi).
4. Esplicitare l'output atteso: conteggio, elenco, aggregato, trend.
5. Restare in italiano, in una forma che un secondo reviewer capirebbe senza
aver visto la conversazione.
Formato della proposta al reviewer:
> **Domanda riscritta:** <testo>
> **Condizioni:** 1) ... 2) ... 3) ...
> **Assunzioni usate:** <elenco con riferimento alle decisioni>
> **Output atteso:** <forma del risultato>
Itera sulla base delle correzioni. Non procedere alla Fase 4 senza conferma.