feat: ledger di feedback (resh feedback) — primo anello del loop di calibrazione#3
Draft
Type666firewall wants to merge 1 commit into
Draft
feat: ledger di feedback (resh feedback) — primo anello del loop di calibrazione#3Type666firewall wants to merge 1 commit into
Type666firewall wants to merge 1 commit into
Conversation
…alibrazione Aggiunge un canale strutturato per il giudizio dell'utente su un run già persistito, append-only come il resto del ledger SQLite: oggi resh scrive la propria storia ma non la rilegge mai — senza questo, una futura calibrazione (RF, Δε) non ha dati da cui imparare. persistenza.py: - tabella `feedback` (ambito eps/patologia/patologia_mancante/nota, target+ancora per il rilievo, annotatore, ts) — append-only: una correzione è una nuova riga, mai un UPDATE. - save_feedback/list_feedback/feedback_effettivo/run_summary: validano run/target/verdetto, risolvono "l'ultima vince" per (ambito,target). - export_feedback_dataset: dataset piatto (feature del rilievo + eps + componenti + label) con n_revisioni/contraddetta per non trattare l'annotatore come un oracolo coerente — anti-overfitting fin dal dato. cli.py: sottocomando `feedback` — interattivo con ANNOTAZIONE CIECA (il giudizio di resh su una patologia si rivela solo DOPO il verdetto dell'utente, per non contaminare il segnale) + flag non interattivi (--eps/--pat/--manca), --list, --pending, --export. tests/test_feedback.py: batteria no-ML (save/list/effettivo/append-only/ validazioni/export), aggiunta alla CI. README (IT+EN): sezione Uso con i comandi feedback e la premessa che il ledger accumula per ora, la calibrazione resta un passo dichiarato non promesso. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016MnNuFahrz482cFEqCEnoq
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Primo pezzo del loop di calibrazione discusso in sessione: oggi resh scrive la propria storia (SQLite append-only) ma non la rilegge mai. Questa PR aggiunge il canale strutturato per il giudizio dell'utente su un run già persistito — solo cattura, nessuna RF/Δε ancora: quelli restano obiettivi successivi, elencati in fondo.
Cosa aggiunge
persistenza.py— tabellafeedback(append-only, coerente col resto del ledger):ambito∈ {eps,patologia,patologia_mancante,nota}; perpatologia,target= indice nella listapatologie_strutturatedel run +ancoradi verifica.save_feedback/list_feedback/feedback_effettivo/run_summary: validano run/target/verdetto; una correzione è una nuova riga, mai unUPDATE— l'incoerenza dell'utente nel tempo resta nel ledger come dato.export_feedback_dataset: dataset piatto (feature del rilievo + ε + componenti + label) conn_revisioni/contraddettaper riga — anti-overfitting fin dal dato: non tratta l'annotatore come un oracolo coerente.cli.py— sottocomandofeedback:resh feedback Ψ_..._001 # interattivo resh feedback Ψ_..._001 --eps troppo_basso resh feedback Ψ_..._001 --pat 3 --verdetto falso_positivo resh feedback Ψ_..._001 --list resh feedback --pending resh feedback --exportIl flusso interattivo è cieco per costruzione: mostra tipo e passaggio della patologia, mai la confidenza/fonte di resh, finché l'utente non ha dato il proprio verdetto — altrimenti il feedback sarebbe un'eco del giudizio di resh, non un segnale indipendente.
tests/test_feedback.py— batteria no-ML (save/list/effettivo/append-only/validazioni/export), aggiunta alla CI.README (IT+EN) — sezione Uso aggiornata; il ledger accumula, la calibrazione resta dichiarata, non promessa.
Verifica fatta
feedback --eps/--pat→--list→--export→ CSV ispezionato.data/,*.db,*.csvgià in.gitignore).Fuori scope (prossimi passi, in ordine)
dataset_feedback.csv)🤖 Generated with Claude Code
https://claude.ai/code/session_016MnNuFahrz482cFEqCEnoq
Generated by Claude Code