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:
@@ -0,0 +1,39 @@
|
||||
# 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/<id>/ctes/<nome>.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:
|
||||
|
||||
> **<nome>** — scopo: <una riga>
|
||||
> Tabelle usate: <elenco> (tutte dal perimetro promosso)
|
||||
> ```sql
|
||||
> 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.
|
||||
Reference in New Issue
Block a user