386af44c83
- verify_chunks.py now reads from step-6/<stem>/chunks.json and auto-copies from step-5 on first run (input and output both in step-6) - fix_chunks.py: new script that applies fixes directly on chunks.json (merge too-short/incomplete, split too-long, remove empty, add prefix) supports --dry-run to preview changes before applying - step6-fix.md skill updated to use fix_chunks.py workflow: dry-run → user approval → apply → re-verify
2.3 KiB
2.3 KiB
description, allowed-tools, argument-hint
| description | allowed-tools | argument-hint |
|---|---|---|
| Legge il report di step 6, mostra le fix pianificate e le applica su approvazione tramite fix_chunks.py. | Read Bash Grep | <stem> |
Leggi e interpreta step-6/$ARGUMENTS/report.json.
Report:
!cat step-6/$ARGUMENTS/report.json 2>/dev/null || echo "ERRORE: report.json non trovato — esegui prima: python step-6/verify_chunks.py --stem $ARGUMENTS"
In base al contenuto del report, segui le istruzioni qui sotto.
Se verdict == "ok"
Non c'è nulla da fare. Comunica all'utente che può procedere:
✅ Nessun problema — procedi con la vettorizzazione:
python step-8/ingest.py --stem $ARGUMENTS
Se verdict == "warnings_only" o "blocked"
Passo 1 — Mostra le fix pianificate (dry-run)
Esegui il dry-run e mostra l'output all'utente:
source .venv/bin/activate && python step-6/fix_chunks.py --stem $ARGUMENTS --dry-run
Spiega brevemente cosa farà ogni operazione:
- rimuovi chunk vuoti: elimina chunk senza testo
- aggiungi prefisso: inserisce
[sezione > titolo]dove manca - fondi incompleti: unisce i chunk con frase spezzata al chunk successivo
- fondi troppo corti: unisce chunk < 200 char con il successivo
- spezza troppo lunghi: divide chunk > 1200 char al confine di paragrafo/frase
Passo 2 — Chiedi conferma
Chiedi all'utente: "Applico le correzioni?"
Applica solo su approvazione esplicita.
Passo 3 — Applica e ri-verifica
source .venv/bin/activate
python step-6/fix_chunks.py --stem $ARGUMENTS
python step-6/verify_chunks.py --stem $ARGUMENTS
Leggi il nuovo step-6/$ARGUMENTS/report.json e comunica:
- Il nuovo verdict
- Quanti warning/blockers residui rimangono
- Se il verdict è
okowarnings_onlysenza blockers: comunica che si può procedere con step-8
Dopo le correzioni
Se il verdict finale è ok:
✅ chunks.json pulito salvato in step-6/$ARGUMENTS/
Procedi con la vettorizzazione:
python step-8/ingest.py --stem $ARGUMENTS
Se rimangono warning minori (too_short/too_long non risolvibili perché testo non spezzabile):
🟡 X warning residui non risolvibili automaticamente (testo non spezzabile).
Puoi procedere comunque con la vettorizzazione:
python step-8/ingest.py --stem $ARGUMENTS