Cantieri aperti

Questa è una versione controllata, approvata il 9 ago 2026. Potrebbero essere state apportate nuove modifiche.

Pagina generata automaticamente da handoff.py. Non modificare a mano: le modifiche vengono sovrascritte.

Ogni cantiere e' lo stato di un lavoro in corso, scritto durante la sessione e non alla fine. Chi riparte legge: HARNESS + il routing file del dominio + il cantiere. Nient'altro.

Cantieri attivi

oracolo-reindex

Aggiornato 2026-08-09 09:02 UTC — dominio: Biblioteca Magnetica / Oracolo

Obiettivo
Reindicizzare la coda Biblioteca, ingerire il Traite dOr, e riparare /vm/task
Fatto (con prova)
  • DIAGNOSI del fallimento del task programmato ChatGPT Archive Reindex: lerrore --dangerously-skip-permissions cannot be used with root/sudo NON e SSH ne Hetzner, e un messaggio della CLI Claude Code. Lo strumento Command Center VM passa da /vm/task che gira la stringa alla CLI claude come root, che rifiuta il flag ed esce. Stesso bug documentato il 07/08
  • Flag deep_archive_new.flag fermo dal 19-21 luglio con 27 documenti mai reindicizzati
  • VM in fetch failed: recuperata con la sequenza documentata status/reset/90s
  • Reindex lanciato con job.py id reindex_oracle, flock su Hetzner
  • Traite dOr trascritto e INSERITO in biblioteca.corpus doc_id DEEP_4616b9112532634b71f1, 13.363 caratteri, lingua fr, tier extended, verificato con query BQ. Flag ora a 28 righe
  • BUG /vm/task RISOLTO alla radice. La route statica invoca claude --dangerously-skip-permissions -p COMANDO
  • la CLI rifiuta il flag da root. Installato wrapper /usr/local/bin/claude che riconosce quello schema ed esegue con bash, e stampa nel log cosa e successo e cosa usare per i job lunghi. CLI vera spostata in claude.real. VERIFICATO: task di prova ha creato davvero /tmp/fix_test.txt
  • Reindex 1 completato in 20 minuti (job reindex_oracle DONE rc=0)
  • SCOPERTA RACE CONDITION: il documento inserito DURANTE il reindex e stato svuotato dal flag senza essere indicizzato. Verificato con ricerca BM25 su Hetzner: Fresse-Louis non trovato. Ri-flaggato e rilanciato job reindex_traite
  • SCOPERTO limite ~100KB del body di /vm/exec-direct (default Express), fallimento muto con ok:false e stderr vuoto
Provato ed escluso
  • Trasferire le foto alla VM per OCR tesseract: /vm/exec-direct rifiuta payload sopra ~100KB e fallisce IN SILENZIO (ok:false, stderr vuoto). Falliti 3 tentativi: base64 intero, compresso, a blocchi. Strategia cambiata: trascrizione lato Claude e trasferimento del solo testo
  • Programmare il reindex via /vm/task: e la causa del guasto, va sostituito con job.py o cron
  • Route /gcs-upload-url per firmare URL di scrittura: creata ma il service account Cloud Run non ha iam.serviceAccounts.signBlob. Va rimossa o va concesso il permesso
  • Trasferire immagini via exec-direct: sopra 90KB fallisce muto. La via giusta per i libri e caricarli nella cartella Drive della Biblioteca e usare biblioteca/ingest.py, che gestisce gia scarico e coda OCR tesseract
Prossimo passo
  • Verificare che dopo reindex_traite il documento sia cercabile via BM25 su Hetzner porta 8085
  • ATTENZIONE: guard OpenRouter su Hetzner e TRIPPED e richiede RIARMO MANUALE. Log dice soglie rientrate ma lo stato resta TRIPPED: daily 0.882, settimana 12.72, cap 3.00. Qualcosa e fermo da allora
  • Rimuovere la route gcs-upload-url non funzionante
  • Correggere reindex_full.sh perche non svuoti il flag delle righe aggiunte durante lesecuzione
  • Rifare il task programmato ChatGPT: ora /vm/task funziona, ma job.py resta preferibile

referenze-canon

Aggiornato 2026-08-08 14:14 UTC — dominio: Referenze/E-E-A-T Dr. Paret

Obiettivo
Dossier credibilita completo: canon BQ + pagina dedicata + llms.txt + rassegna stampa pubblicata
Fatto (con prova)
  • 3 tabelle BQ (canon 31, libri 12, citazioni 30)
  • 3 pagine rassegna LIVE su neurolinguistic.com/referenze/rassegna/ (lastampa-2002, autostima-ipnosi-shock, donnad) con screenshot-verify OK
  • job wayback_rassegna programmato +4h con retry
  • NGH/NFNLP/ministero-psicoterapeuti/sindacato-FR integrati in pagina+llms+canon
  • GCS docs/referenze/ sincronizzato
Provato ed escluso
  • stampa2=duplicato La Stampa
  • Eminen Stell non finanziata
  • Marie Claire non trovata
  • pirateria Scribd+forum RU segnalata
Prossimo passo
  • 1) leggere /home/claudeuser/wayback_verify.log e mettere URL web.archive.org nel canon 2) VIA di Marco per pubblicare pagina /referenze-marco-paret/ + llms.txt sui 3 domini + PDF redatti (UIBM, Oradea, SINAPE) 3) blocco head nelle 244 pagine RAIDA

harness-standard

Aggiornato 2026-08-08 08:19 UTC — dominio: architettura / knowledge base

Obiettivo
Sostituire il MASTER READ ORDER monolitico con un harness gerarchico e togliere Marco dal ruolo di loop di esecuzione
Vincoli in vigore
  • La gerarchia deve SOSTITUIRE substrati esistenti, mai affiancarsi: oggi ne esistono 7 paralleli
  • Ogni routing file ha 6 sezioni fisse: chi esegue / accessi / come si verifica / criterio di accettazione / fallimenti noti / strumenti ammessi
  • Nessuna credenziale nei routing file, solo puntatori
Fatto (con prova)
  • Analizzato export completo Claude di marcoparet@gmail.com: 614 conversazioni, 26.921 messaggi, 55,8M caratteri (file su VM /home/claudeuser/claude_export/analysis/)
  • Misurato: attrito piatto sulla lunghezza della chat (14-18 per 100 msg in ogni fascia) = problema strutturale non di contesto
  • Misurato: autocorrezioni Claude raddoppiano oltre 25-50k token di contesto (8,8 -> 17,2 per 100 msg) = context rot reale, ginocchio a 25-50k
  • Misurato: 899 route nel bucket, 525 MAI citate in nessuna chat, ~25 reggono il sistema
  • Misurato: 8 domini coprono il traffico (spedizioni 190 chat, VM 155, BQ 151, hosting 118, token 114, route 77, drive 76, wiki 59)
  • Scritti HARNESS.md (1 pagina) e INFRA-VM.md (primo routing file compilato)
  • Creato handoff.py su VM + pagina wiki Cantieri aperti
  • MASTER READ ORDER v7.1 scritto: 1 pagina, 3 regole, tabella routing 8 domini, STEP cantieri, STEP handoff, STEP asincronia, Appendice A per modelli non-Claude
  • INFRA-VM.md primo routing file compilato su 6 sezioni fisse
  • handoff.py operativo su VM (GCS + wiki + memoria CC in una chiamata), testato write/resume/list
  • Pagina wiki Cantieri aperti creata e verificata via getText.php
  • MISURATO tassa di interruzione: 34,3 pc dei messaggi Claude chiede a Marco di decidere, 17,1 pc di eseguire a mano, sincrono/asincrono 4,2:1, turni di sola continuazione solo 2,7 pc (sintomo non causa)
  • v7.1 APPESA sul canonico Drive 1Iyxrr5 (ok:true) — la v6.3 e superata
  • BUG RISOLTO: browser_service.js su :8081 vuole POST con secret, il GET ?url= documentato per mesi era sbagliato: per questo la verifica headless falliva in silenzio. Creato scripts/shot.py, testato su wiki Cantieri aperti (149 KB, titolo corretto)
  • Creato gs://isicnv-command-center-routes/TOKENS_STATUS.json = fonte di verita su token vivi/morti/non-Google
  • Creato state/routes_inventory.json: 525 route su 899 mai citate in chat
  • Harvest memoria per 5 dei 7 routing file in /home/claudeuser/routing_src/
  • DRIVE ALLINEATO: canonico 1Iyxrr5 rinominato v7.1, intestazione in cima che punta alla versione corrente, v7.1 appesa in fondo (122.869 car, verificato)
  • Caricato .txt v7.1 su Drive id 1TzhV-dMUTpXnGdwbxmxvk3iV9RR0ZVME nella cartella 1VQLc638
  • Marcati SUPERATO i .txt v6_3 e v6_4 (rinominati, non cancellati)
  • SCOPERTA v6.4 del 09/07 mai citata nelle regole (che dicevano v6.3): conteneva DUE serie di regole con gli stessi numeri (due R45, due R46, due R47) — la numerazione si era scontrata con se stessa
  • BUG CRITICO TROVATO: /vm/task NON esegue bash. Passa la stringa alla CLI Claude Code sulla VM, che e scollegata (Not logged in). Restituisce status DONE in 5 secondi SENZA eseguire nulla (verificato: /tmp/t_start non creato). Inoltre il parametro si chiama task non cmd: chi usa cmd prende error task required
  • SOSTITUTO CREATO E VERIFICATO: /home/claudeuser/scripts/job.py --run/--status/--log/--list, nohup con sessione staccata. Test reale: job da 140 secondi, rc=0, timestamp /tmp/j_start e /tmp/j_end confermano la durata
  • MASTER v7.2 pubblicata su Drive (canonico rinominato, intestazione, txt id 1ptmfkfwlsqZWvV3LrS77guhF251U7FAr), v7.1 marcata SUPERATO
  • AUDIT ROUTE ESEGUITO (22 route, una per una, con verifica effetto reale, lanciato via job.py in 111s): 8 REALI, 10 FORMA, 1 ERRORE, 1 FALSO_OK, 2 saltate perche distruttive. Rapporto gs://isicnv-command-center-routes/state/route_audit_AUDIT1786141034.json
  • UNICO falso successo confermato: /vm/task
  • SCOPERTO /bq/query vuole {sql} NON {query}: stessa famiglia del bug /vm/task (task non cmd). Prima di dire che una route e rotta, controllare il nome del parametro
  • SCOPERTO /cc/check riporta http_vm ERR fetch failed come esito normale (Cloud Run non ha TCP diretto verso VM): allarme falso, ignorare quella riga
  • SCOPERTO incoerenza conteggi memoria: /memory/list dice 1000, /memory/search dice 2822 indicizzati
  • SCOPERTO sheet STATE 1KRoCu ha #ERROR! nella riga di intestazione
  • MASTER v7.3 pubblicata su Drive, txt id 1HQKcSHCr1uPHbCvae94DITcSgWs0AV7a
  • VERIFICA TOTALE eseguita con script verify_all.py via job.py: 24 controlli su 24 PASS al secondo giro. Primo giro 4 FAIL, tutti corretti
  • ERRORE MIO TROVATO E CORRETTO: il .txt v7.3 caricato su Drive conteneva in realta la v7.2, per un replace v7.2->v7.3 che non catturava v7_2 con underscore. Vero v7.3 ora su Drive id 1-noo7YFS-gzhidiWO0fJzLW7rxL-VTUQ (12.955 byte)
  • ERRORE MIO TROVATO E CORRETTO: INFRA-VM.md era citato nel Master ma non esisteva in nessun posto durevole, solo come allegato di chat. Ora su Drive id 1Y6ZUeoQnK514ob5-3iiR0qMYZBD_kQPJ
  • BUG NUOVO: /memory/search riporta total_indexed instabile fra chiamate successive (2821, 2822, 1932). L indice non e deterministico
  • EVAL HARNESS COSTRUITO: /home/claudeuser/scripts/eval_harness.py. Metodo: 6 casi doro derivati da fallimenti reali del 07/08, modello candidato DeepSeek legge il Master e dice cosa farebbe, giudice indipendente Kimi K2 valuta la TRAIETTORIA non la prosa
  • PRIMO GIRO 2/6. Corretto STEP 2 del Master (--list SEGUITO da --resume, obbligatorio) -> v7.4 pubblicata
  • SECONDO GIRO 5/6. Ciclo misura-correggi-rimisura funzionante
  • SCOPERTA CRITICA: il giudice NON e affidabile. Primo giro ha bocciato job_lungo per uso del path assoluto (risposta in realta perfetta)
  • secondo giro ha bocciato verifica_pagina che al primo giro aveva promosso, a documento invariato su quel punto. Instabilita del giudice fra run identiche
  • FILTRO ANTI-INTERRUZIONE creato: /home/claudeuser/scripts/continua.py. Si chiama nellistante in cui si starebbe per porre una domanda a Marco. Restituisce CONTINUA (con la scelta gia presa) o CHIEDI. NON PUO BLOCCARE: puo solo togliere interruzioni, quindi un errore nel senso CHIEDI riporta solo al comportamento di prima
  • Architettura a due stadi: cancello deterministico a costo zero sulle tre eccezioni (pagamenti, serve Marco fisicamente, azioni irreversibili), modello DeepSeek solo sui casi ambigui
  • BACKTEST su 120 domande storiche vere estratte dallexport (5.443 totali trovate): 80,8 pc sarebbero state auto-continuate, 19,2 pc restano a Marco. 5 casi su 120 fermati dal cancello deterministico senza chiamare il modello
  • MASTER v7.5 pubblicata, contenuto VERIFICATO su canonico e su txt (14.633 byte, continua.py presente in entrambi)
Provato ed escluso
  • Adottare ahar / agentharnesses-cli: presuppone Claude Code su repo locale, Marco lavora da smartphone via route CC
  • Ridurre la lunghezza delle chat come rimedio: i dati mostrano che non e la lunghezza il problema
  • Marcatore regex bloccato per misurare Claude in difficolta: falsi positivi pesanti (denaro bloccato, siti bloccati AGCOM)
  • La cartella Drive 1TpajgASPSO non e accessibile da nessun account: 404 su tutti i token
  • Creare un nome nuovo tipo HARNESS.md accanto al Master: errore, aggiungeva un substrato invece di sostituirlo. Il nome resta MASTER READ ORDER
  • Ridurre i turni continua come rimedio: sono il 2,7 pc, il costo vero sono le domande di Claude
  • Spostare subito le 525 route in routes_deprecated: mai citata in chat NON significa mai usata, possono esserci chiamanti cron o altre route. Prima cercare i chiamanti
  • Rinominare o cancellare i token morti: si rompe chi li referenzia. Meglio TOKENS_STATUS.json come fonte di verita, senza toccare i file
  • Cancellare i vecchi .txt: rinominati SUPERATO, reversibile
  • Riscrivere il canonico da zero: e append-only per tracciabilita, si aggiunge intestazione in cima
  • Rifare il login della CLI Claude Code sulla VM per riparare /vm/task: richiede OAuth interattivo di Marco, e job.py risolve senza dipendenze
  • Fidarsi della documentazione delle route senza provarle: due bug su due (headless GET, vm/task) erano documentati male
  • Testare /vm/reset e /routes/deploy: distruttive, saltate di proposito
  • Cancellare i record di prova via /memory/delete: la route NON ESISTE (Cannot POST). Restano da ripulire test_1786141053523_gbv40d e system_state_1786092629694_7idl9o
  • Fidarsi di un upload senza rileggere il file caricato: il nome era giusto ma il contenuto no. La verifica deve confrontare il CONTENUTO, non solo lo status 200
  • Usare un modello giudice come CANCELLO di autorizzazione a procedere: produce falsi FAIL, quindi bloccherebbe lavoro corretto. Va usato come valutatore aggregato su golden set, con revisione umana dei numeri, non come autorita per singola decisione
  • Giudice con potere di bloccare: produce falsi FAIL e blocca lavoro corretto. Marco ha corretto il disegno: il giudice puo solo TOGLIERE interruzioni, mai aggiungerne. Con questa asimmetria non esiste caso in cui peggiori le cose
Prossimo passo
  • Provare continua.py in esercizio reale e misurare quante domande residue arrivano davvero a Marco
  • Stabilizzare il giudice delleval (voto di maggioranza su 3 run): oggi cambia verdetto a documento invariato
  • Compilare i 7 routing file dallo harvest in /home/claudeuser/routing_src/
  • Capire perche /memory/search da total_indexed instabile
  • Recuperare da v6.4: R49 edit/rename Docs, R47 routing per tier, R45 pattern RLM