Files
ThothII/harness/.pi/skills/tht-sessione/cte.md
T
marcopan de61034a8d 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.
2026-06-27 14:24:20 +02:00

1.9 KiB

Tecnica di generazione del piano CTE (Agent View Generation)

Adattata dallo step CTE di AV-SQL. I CTE catturano incrementalmente l'informazione necessaria a rispondere alla domanda riscritta, SENZA rispondere alla domanda finale (quella e' la fase successiva).

Regole (dalla disciplina AV-SQL, valgono alla lettera):

  1. Copia ESATTAMENTE i nomi di tabelle e colonne dal contesto schema fornito (tht schema render --format mschema-text --table ...). Mai inventare oggetti non presenti.
  2. Tieni sempre le chiavi (PK e colonne di join) nei CTE: serviranno dopo.
  3. Meglio una colonna in piu' che una in meno: se non sei sicuro, includila.
  4. Un CTE = un sottoinsieme informativo con uno scopo chiaro (es. "ricoveri con ablazione nel 2025"), nominato in snake_case parlante.
  5. I CTE possono referenziarsi in catena; l'ultimo del file e' quello che tht cte test interroghera'.
  6. Ogni file in sessions//ctes/.sql contiene SOLO il blocco WITH ... AS (...) (anche multi-CTE), SENZA SELECT finale. Una riga SELECT ... dopo il blocco WITH causa un errore in tht cte test: non aggiungerla mai. I CTE vengono testati e approvati (decisione cte_approved) nell'ordine del piano: il CTE successivo è testabile SOLO dopo che il precedente è stato approvato con kind:"cte_result". La CLI rifiuta i CTE fuori ordine (exit 5).
  7. Filtri: usa i valori di campo verificati con tht search (match LSH sui valori reali), non valori immaginati.

Presentazione al reviewer, per ogni CTE del piano:

— scopo: Tabelle usate: (tutte dal perimetro promosso)

WITH <nome> AS (...)

Dopo la conferma (o per revisione diretta del reviewer) scrivi il file e testa: tht cte test --session <id> <nome>. Su errore o warning rilevanti, discuti la correzione col reviewer prima di riscrivere il file. Se il reviewer modifica il file a mano, RILEGGILO prima di ritestare.