Cantieri aperti: differenze tra le versioni

[versione verificata][versione verificata]
WikiBot (discussione | contributi)
handoff automatico
WikiBot (discussione | contributi)
handoff automatico
 
(157 versioni intermedie di uno stesso utente non sono mostrate)
Riga 7: Riga 7:


== Cantieri attivi ==
== Cantieri attivi ==
=== fabbrica-ingresso-config-vincente ===
=== mro-r103-r104 ===
''Aggiornato 2026-09-16 20:12 UTC'' — dominio: pillar
''Aggiornato 2026-09-30 22:41 UTC'' — dominio: mro


; Obiettivo : Dare a fabbrica_pagine.py un ingresso per i parametri della configurazione vincente del benchmark (boost_ids, priorita_max, max_regole, famiglie_escluse, prompt editor, det_dopo) cosi che il guadagno misurato arrivi in produzione; oggi la fabbrica compone le regole per conto suo e non chiama compila_regole.py
; Obiettivo : Scrivere in-place nel Doc MRO canonico (1Iyxrr5-uTRtRY52QTab1eyLlmzz6Frbc9fJbQn4HTNs) le regole R103 (chiusura verificata: END senza prova = END_NONVERIFICATO, riprendi_chat.py cron rilancia) e R104 (deliverables dichiarati in apertura con commessa.py apri --deliverables, prove a chiudi --consegne, verifica-tutte ogni 20 min, riga DELIVERABLES accanto a END) e l'aggiornamento R152 (chiusura100: FINITO quando in apertura, auto-esito, stati finali); poi cronaca su wiki ops MRO_Storia e grafo
; Vincoli in vigore :
; Vincoli in vigore :
* Backup di fabbrica_pagine.py prima di toccarlo
* gate=auto
* nessuna spesa modello per il collegamento
* mai creare copie del MRO
* la config da usare e la migliore in pillars/benchmark_regole/STATO.txt dopo il job benchmark_regole_ottimizza_0916
* non chiedere a Marco
* verificare con una corsa --una che la pagina passi i gate
* verifica prima di dichiarare fatto
* nessuna pubblicazione
* il Doc MRO richiede una chat con accesso Docs
* marcoparet@gmail.com senza token sulla VM: serve un consenso Google di Marco
* RUOLI (R154-ter rettificata 21/09): ChatGPT = redazione/revisione giuridica + bozze Gmail in marcoparet (proprio connettore) + allegati + spedizione su ordine di Marco da PRONTA. Claude = verifiche/fonti (CH, Wise, BQ, Drive, VM) + registrazione
* non apre allegati marcoparet. marcoparet ha Advanced Protection: nessun OAuth di terzi sulla VM, mai riproporlo
; Fatto (con prova) :
; Fatto (con prova) :
* 16/09: censimento 94 controlli (43 orfani), verificato che fabbrica e compila_regole ignorano la config vincente
* codice installato e testato 01/09
* lanciato benchmark ottimizza budget 2 USD sulle regole aggiornate
* 2026-09-21 10:00 UTC ASSORBITO il cantiere 'chat-s20260921-claudepannel-yxg3fo' (simile): obiettivo: D1-D3 del cantiere pannello-chat-0921: (D1) chat_titoli dal primo messaggio umano, (D2) esaminatore esiti INFERITI per sessioni INTERROTTA >1h, (D3) cron 07:30  | perche': chat S20260921-claudepannel-yxg3fo chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-21 10:05 UTC ASSORBITO il cantiere 'chiusura100' (simile): obiettivo: Chiusura automatica al 100%: session/open+commessa richiedono FINITO-quando; cron 2h auto-esito (riprendi_chat.py --auto-esito, in /home/claudeuser/sovra/) scri | perche': 38 chat su 38 nel pannello non arrivano a ESITO FINITO: manca la definizione di finito, la chiusura e volontaria, blocchi esterni e lavori a meta hanno lo stesso stato, stesso lavoro sparso su piu chat
* 2026-09-21 16:10 UTC chiusura100 (chat S20260921-chiusura100-1s5yoel): riprendi_chat.py --auto-esito (verdetto FINITO/BLOCCATO-DA-MARCO/ABBANDONATA, cron 0 */2, log ~/logs/auto_esito.log)
* commessa.py apri marca SENZA_DEF senza 'FINITO quando'
* pannello.py stati finali + AZIONI DI MARCO + gruppi per cantiere + job in coda = IN CORSO-JOB
* job.py scrive ESITO nel giornale della sessione a fine job
* R152 aggiornata in chiusura_core.py
* wiki ops MRO_Storia aggiornata. Backup .bak_chiusura100_0921
* 2026-09-24 10:02 UTC ASSORBITO il cantiere 'chat-s20260923-pannello-1i87lub' (simile): obiettivo: Implementare gate R155 REGISTRO PASSI (tabella BigQuery passi_chat, ogni cc_vm_exec dichiara PASSO=..., il gate scrive la riga) e far leggere al pannello l'ulti | perche': chat S20260923-pannello-1i87lub chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 10:40 UTC ASSORBITO il cantiere 'chat-s20260923-claudeoutrea-rpk7rs' (simile): obiettivo: Lettera finale di Elena Portier a hypno academy Brema (Richter/Thoms) + pagina wiki interna istituti partner con link al Google Doc 'Organizzazioni internaziona | perche': chat S20260923-claudeoutrea-rpk7rs chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 11:01 UTC ASSORBITO il cantiere 'chat-s20260923-claudesemina-k3iymd' (simile): obiettivo: Clonare i 15 prodotti private/draft della categoria Seminari/Congressi con le 5 nuove date dal vivo confermate (Mesmerismus Milano dic 2026, Quantum Psi Roma ge | perche': chat S20260923-claudesemina-k3iymd chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 11:40 UTC ASSORBITO il cantiere 'chat-s20260923-nlipnosiregr-9r0mqe' (simile): obiettivo: rendiconto NL videolezione 12 fasce (0/1, mai prodotto; chat abbandonata con ESITO ABBANDONATA e commessa mai chiusa) | perche': chat S20260923-nlipnosiregr-9r0mqe chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 12:01 UTC ASSORBITO il cantiere 'chat-s20260923-libro0923-19hw03k' (simile): obiettivo: Acquisizione libro dalla cartella Drive 1bxDy-iOwEj7OJodvHvSG5wVTDGMtsWPm in biblioteca magnetica (0/2 deliverable con prova, esito NON_FATTO) | perche': chat S20260923-libro0923-19hw03k chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 12:42 UTC ASSORBITO il cantiere 'chat-s20260922-libro0922-nh1ku6' (simile): obiettivo: OCR e PDF completo del libro secondo pipeline (cartella Drive 11jwF7n_J00fK8MjpyOHXrnCz6w-oXyLp); deliverable 0/2, chat muta da 24/09 12:10 | perche': chat S20260922-libro0922-nh1ku6 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 06:43 UTC ASSORBITO il cantiere 'chat-s20260924-mcpchatgpt-11fkpmu' (simile): obiettivo: Esaminare il CRM di Ilaria/vmk su isicnv: Ilaria segnala un malfunzionamento, da identificare cosa e dove | perche': chat S20260924-mcpchatgpt-11fkpmu chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 07:01 UTC ASSORBITO il cantiere 'chat-s20260924-pannello-14lvuic' (simile): obiettivo: Riferire a Marco lo stato del cantiere R155: il pannello lato codice è completo (R155 fatto, pannello.py mostra ORA/MARCO con bandiera NON RECEPITA), ma manca l | perche': chat S20260924-pannello-14lvuic chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 12:03 UTC ASSORBITO il cantiere 'chat-s20260925-mcpchatgpt-1eiedbb' (simile): obiettivo: Chat S20260925-mcpchatgpt-1eiedbb muta da ~1.4h: domanda umana senza risposta (stato lavori, errori, ricategorizzazione video Verbatim, analisi PDF/DOC presenti | perche': chat S20260925-mcpchatgpt-1eiedbb chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 12:45 UTC ASSORBITO il cantiere 'chat-s20260924-claudecrmvmk-1kz0b2x' (simile): obiettivo: Verificare il CRM vmk su isicnv: confronto Venduto VMK vs foglio Salsina incompleto, manca riepilogo finale e chiusura commessa (0/2 deliverable) | perche': chat S20260924-claudecrmvmk-1kz0b2x chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 18:40 UTC ASSORBITO il cantiere 'chat-s20260925-claudevideop-t263sh' (simile): obiettivo: Sessione S20260925-claudevideop-t263sh abbandonata: 0/5 deliverable con prova. Da fare: (1) report a Marco sullo stato archivio video e cause errori upload; (2) | perche': chat S20260925-claudevideop-t263sh chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-26 08:01 UTC ASSORBITO il cantiere 'chat-s20260926-mcpchatgpt-1rl80zs' (simile): obiettivo: Ricostruzione storica newsletter ISI-CNV/Dr. Marco Paret (backlog 2005-oggi, newsletter italiane) bloccata in chat muta da ~1.3h; cantiere ripresa_S20260926-mcp | perche': chat S20260926-mcpchatgpt-1rl80zs chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-26 18:40 UTC ASSORBITO il cantiere 'chat-s20260926-claudealliev-nevx60' (simile): obiettivo: Integrare gli allievi storici pre-2023 (da Google Contacts isicnv@gmail.com e chat antiche) nella tabella allievi_arricchito, con fonte indicata. Commessa S2026 | perche': chat S20260926-claudealliev-nevx60 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-27 11:02 UTC ASSORBITO il cantiere 'chat-s20260927-mcpchatgpt-5mxmp5' (simile): obiettivo: {'oggetto': 'Prendo il libro di Yudelove, leggi master order vai alla bibliotexa magnetica e vedi Y-U-D-D-L-O-V-E. E questo libro di Yudelove è molto interessan | perche': chat S20260927-mcpchatgpt-5mxmp5 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 00:42 UTC ASSORBITO il cantiere 'chat-s20260927-pannello-1ys0mhj' (simile): obiettivo: Chat S20260927-pannello-1ys0mhj muta da 6.9h, esito ABBANDONATA, nessun deliverable; serve riformattare il fascicolo per Marco | perche': chat S20260927-pannello-1ys0mhj chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 01:00 UTC ASSORBITO il cantiere 'chat-s20260927-claudesegret-16aqmeu' (simile): obiettivo: Sessione S20260927-claudesegret-16aqmeu abbandonata senza chiusura verificabile: deliverable 0/4 con prova (pratiche.py+registro, analisi TPV PR0001, bozza L000 | perche': chat S20260927-claudesegret-16aqmeu chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 06:40 UTC ASSORBITO il cantiere 'segreteria-posta-quotidiana' (simile): obiettivo: Ogni mattina un solo report: chi non ha avuto risposta, quali lead mancano, soldi entrati, fatture, pratiche sospese, lettere in coda | perche': Nessuno controlla ogni giorno le 4 caselle: richieste senza risposta, lead fuori da Streak e BigQuery, fatture di cui non si sa se sono pagate, pratiche ferme (avvocati, Companies House)
* 2026-09-28 18:44 UTC ASSORBITO il cantiere 'chat-s20260928-pannello-1l5ov5k' (simile): obiettivo: Chat S20260928-pannello-1l5ov5k muta da ~7h, esito ABBANDONATA, nessuna chiusura registrata; oggetto: proliferazione di chat (pubblicità -> seconda chat). Serve | perche': chat S20260928-pannello-1l5ov5k chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 19:01 UTC ASSORBITO il cantiere 'chat-s20260928-clauder155qu-78ek4g' (simile): obiettivo: Rianalizzare la ritraduzione prima della sintesi voce, ricompilare il lavoro della sessione S20260928-clauder155qu-78ek4g (0/3 deliverable con prova), e chiuder | perche': chat S20260928-clauder155qu-78ek4g chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 21:03 UTC ASSORBITO il cantiere 'chat-s20260928-claudesegret-7i8wnr' (simile): obiettivo: Verifica completa del sito: controllare se le voci segnalate come mancanti nel menu sono effettivamente assenti (ultimo passo: riga 234 trovata, patch da applic | perche': chat S20260928-claudesegret-7i8wnr chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 02:43 UTC ASSORBITO il cantiere 'chat-s20260928-claudevideop-1uqx2hg' (simile): obiettivo: S20260928-claudevideop-1uqx2hg: commessa ancora aperta, chat muta, deliverable 0/3, esito NON_FATTO/ABBANDONATA e nessuna chiusura registrata. | perche': chat S20260928-claudevideop-1uqx2hg chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 06:23 UTC ASSORBITO il cantiere 'chat-s20260929-claudefinale-125d8ql' (simile): obiettivo: S20260929-claudefinale-125d8ql: il lavoro NON è finito. RESTA: niente contraddice il journal RESTA_APERTO. Mancano prove per D1 (diagnosi finale ingannevole), D | perche': chat S20260929-claudefinale-125d8ql chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 11:01 UTC ASSORBITO il cantiere 'chat-s20260929-mcpchatgpt-vsky23' (simile): obiettivo: Ricostruzione storica newsletter ISI-CNV/Dr. Marco Paret (backlog 2005-oggi, newsletter italiane) — commessa mai aperta né chiusa, chat muta da oltre 1h | perche': chat S20260929-mcpchatgpt-vsky23 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 17:02 UTC ASSORBITO il cantiere 'chat-s20260929-claudestreak-1m9p314' (simile): obiettivo: D1: form_poller.py con controllo anti-doppione (nessuna prova); D2: cancellazione doppioni senza note con backup (nessuna prova). Chat bloccata con gate=umano,  | perche': chat S20260929-claudestreak-1m9p314 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 02:40 UTC ASSORBITO il cantiere 'chat-s20260929-claudeformno-1hxk3xb' (simile): obiettivo: Sistema avvisi Google Form (D1-D3): nessun deliverable con prova. D1: script form_avvisi.py attivo in cron; D2: prova inviata a Marco; D3: benvenuto IT/EN/FR co | perche': chat S20260929-claudeformno-1hxk3xb chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 04:43 UTC ASSORBITO il cantiere 'chat-s20260929-claudepercor-3kxmwp' (simile): obiettivo: D1: form_avvisi.py esteso a tutti i moduli e al tedesco senza prova; D2: prova inviata a marcoparet e verificata senza prova. Chat muta da 6.9h, esito ABBANDONA | perche': chat S20260929-claudepercor-3kxmwp chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 06:43 UTC ASSORBITO il cantiere 'chat-s20260929-claudevideop-vyfcqd' (simile): obiettivo: D1: ripulire il log dell'agente video dalle righe ripetute uguali; D2: verificare che spariscano davvero; poi rispondere a Marco sul perché delle ripetizioni e | perche': chat S20260929-claudevideop-vyfcqd chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 16:41 UTC ASSORBITO il cantiere 'chat-s20260930-clauderelais-10j103q' (simile): obiettivo: D1: provare che diagnosta_ai.py esegue da solo comandi di sola lettura; D2: diagnosi reale seo_pulse; chiudere commessa S20260930-clauderelais-10j103q | perche': chat S20260930-clauderelais-10j103q chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 18:41 UTC ASSORBITO il cantiere 'chat-s20260930-clauderiunio-13caw3g' (simile): obiettivo: D1: brief riunione marketing VMK (stato lead/ads) senza prova; D2: menu Seminari su marcoparet.net aggiornato (rimuovere seminari passati, aggiungere prossimi c | perche': chat S20260930-clauderiunio-13caw3g chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 22:41 UTC ASSORBITO il cantiere 'chat-s20260930-claudeformno-9zjlj' (simile): obiettivo: Aggiungere in form_avvisi.py, sotto ogni avviso, il link al modulo di origine e le pagine/posti dove quel modulo è usato (D1), più prova a Marco (D2). Chat rima | perche': chat S20260930-claudeformno-9zjlj chiusa senza prova: il custode R103 ha trovato passi eseguibili
; Prossimo passo :
; Prossimo passo :
* python3 job.py --status benchmark_regole_ottimizza_0916
* 1|Doc|inserire R103, R104 e R152-agg dopo R102 nella sezione regole del Doc MRO, in-place
* poi leggere fabbrica_pagine.py riga 56-110 e innestare la lettura di pillars/benchmark_regole/config_<migliore>.json
* 2|LEGGIMI|sezione 5 COME SI CHIUDE: riga DELIVERABLES, nota R104 e stati finali R152
* 3|verifica|python3 /home/claudeuser/scripts/pannello.py --giorni 1
* 4|verifica|tail -20 /home/claudeuser/logs/auto_esito.log
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-pannello-1i87lub --dry-run
* python3 /home/claudeuser/sovri/riprendi_chat.py --session S20260923-pannello-1i87lub
* python3 /home/claudeuser/sovra/pannello.py --giorni 1
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-claudeoutrea-rpk7rs --dry-run
* python3 /home/claudeuser/scripts/handoff.py --resume chat-s20260923-claudeoutrea-rpk7rs
* cercare sulla VM i materiali per la lettera (Richter/Thoms, hypno academy Brema)
* riscrivere la lettera di Elena Portier e salvarla con PROVA verificabile
* creare pagina wiki interna istituti partner con link al Google Doc
* chiudere con commessa.py chiudi SID --esito COMPIUTO --consegna <url|file> e --next (R103/R104)
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-claudesemina-k3iymd --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-claudesemina-k3iymd
* Nel prompt di ripresa: clonare i prodotti private con le nuove date, verificare pubblicazione su marcoparet.net, poi chiudere con commessa.py chiudi S20260923-claudesemina-k3iymd --esito COMPIUTO --consegna <url>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-nlipnosiregr-9r0mqe --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-nlipnosiregr-9r0mqe
* produrre il rendiconto NL della videolezione nelle 12 fasce e salvare il file
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260923-nlipnosiregr-9r0mqe --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260923-libro0923-19hw03k --dry-run
* python3 /home/claudeuser/scripts/job.py --status aristisme
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260922-libro0922-nh1ku6 --dry-run
* python3 /home/claudeuser/scripts/job.py --status tarot_metadati
* python3 /home/claudeuser/scripts/job.py --status tarot_mantegna
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260924-mcpchatgpt-11fkpmu --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260924-mcpchatgpt-11fkpmu
* python3 /home/claudeuser/scripts/pannello.py --giorni 2
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260924-pannello-14lvuic --dry-run
* riferire a Marco lo stato R155 (pannello operativo, 301 passi/14 sessioni in BQ, cron attiva ogni 15 min)
* chiudere con STEP + FINITO per evitare nuova ABBANDONATA
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260925-mcpchatgpt-1eiedbb --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260925-mcpchatgpt-1eiedbb
* inventariare PDF/DOC nella chat e separare il video Verbatim in categoria dedicata
* rispondere all'utente su stato ed errori, poi chiudere con commessa.py chiudi SID --esito COMPIUTO/IMPOSSIBILE
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260924-claudecrmvmk-1kz0b2x --dry-run
* riprendere confronto Venduto VMK vs foglio Salsina e individuare discrepanze
* produrre riepilogo: cosa non va nel CRM e dove
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260924-claudecrmvmk-1kz0b2x --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260925-claudevideop-t263sh --dry-run
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260925-claudevideop-t263sh --esito COMPIUTO --consegna <url|file> (o IMPOSSIBILE --manca <cosa> se non recuperabile)
* individuare i video Verbatim HD e spostarli in categoria dedicata (non corso)
* inventariare e analizzare i PDF e DOC presenti nell'archivio
* copiare il materiale anche a qualità piena
* preparare report per Marco: stato archivio video + diagnosi errori di upload
* aggiornare wiki e registro pipeline con il sistema di ispezione dischi (pattern VID-1)
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260926-mcpchatgpt-1rl80zs --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260926-mcpchatgpt-1rl80zs
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260926-mcpchatgpt-1rl80zs --esito COMPIUTO --consegna <url|file> (o IMPOSSIBLE --manca <cosa>)
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260926-claudealliev-nevx60 --dry-run
* esportare/verificare contatti pre-2023 da Google Contacts di isicnv@gmail.com (o da dump locale esistente)
* cercare nelle chat antiche gli allievi già estratti e le fonti
* unire gli allievi storici in allievi_arricchito con colonna fonte, senza duplicati
* verificare conteggio e campionamento righe pre-2023 con fonte
* commessa.py chiudi <SID> --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260927-mcpchatgpt-5mxmp5 --dry-run
* localizzare il passo nel corpus Yudelove e confrontarlo con fonti taoiste
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260927-pannello-1ys0mhj --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260927-claudesegret-16aqmeu --dry-run
* python3 /home/claudeuser/scripts/handoff.py --resume chat-s20260927-claudesegret-16aqmeu
* python3 /home/claudeuser/scripts/job.py --status riscontro_20260927
* python3 scripts/pratiche.py --lista
* python3 /home/claudeuser/scripts/cruscotto_segreteria.py --no-mail
* verificare registro PR0002 (bonus Salsina 450 EUR 24/09) e pipeline gate anti-conclusioni-negative
* completare TPV: costi assicurazione, requisiti iscrizione ordine psicologi tutor, costi percorso psicologo
* chiudere con PROVA verificabile: commessa.py chiudi S20260927-claudesegret-16aqmeu --esito COMPIUTO --consegna <file|url> --next <passo successivo>
* 1|Classificatore report: AIRETT newsletter segnata come richiesta allievo
* Menna (ricevuta 16/09) segnata come non risposta -> correggere segreteria_quotidiana.py
* 2|Auto-apertura pratiche dal report quotidiano (mail che chiedono decisione -> pratiche.py --apri)
* 3|Agente automatico per pratiche APERTE >1 giorno (claude CLI o ChatGPT) con pratiche.py --brief
* 4|Link al cruscotto nel report delle 08:00
* completare D1: pratiche.py + registro (salvare e verificare i file)
* completare D2: analisi TPV di PR0001
* completare D3: bozza L0008 aggiornata
* completare D4: riepilogo posta 27/09
* python3 commessa.py chiudi S20260927-claudesegret-16aqmeu --esito COMPIUTO --consegna <percorso deliverable> --next <verifica>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-pannello-1l5ov5k --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-pannello-1l5ov5k --auto-esito
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-clauder155qu-78ek4g --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-clauder155qu-78ek4g
* python3 commessa.py chiudi S20260928-clauder155qu-78ek4g --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-claudesegret-7i8wnr --dry-run
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-claudesegret-7i8wnr
* verificare riga 234 e applicare la patch al menu del sito
* curl del menu del sito per confermare le voci mancanti/aggiunte (prova verificabile)
* chiudere con PROVA: <url|file> e --next, o commessa.py chiudi SID --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260928-claudevideop-1uqx2hg --dry-run
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260928-claudevideop-1uqx2hg --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260928-claudevideop-1uqx2hg --esito IMPOSSIBILE --manca <cosa>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260929-claudefinale-125d8ql --esegui
* python3 /home/claudeuser/scripts/finale.py --session S20260929-claudefinale-125d8ql
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260929-mcpchatgpt-vsky23 --dry-run
* commessa.py apri S20260929-mcpchatgpt-vsky23 --task 'ricostruzione newsletter 2005-oggi'
* verificare coda newsletter italiane e procedere cronologicamente
* commessa.py chiudi S20260929-mcpchatgpt-vsky23 --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260929-claudestreak-1m9p314 --dry-run
* verificare in memoria CC lo stato di aigw e guard openrouter per decidere se serve Cloud Run
* implementare e testare form_poller.py con controllo anti-doppione (D1)
* eseguire backup, cancellare doppioni senza note tra CRM ITALIA ILA e CRM VMK (D2)
* chiudere la commessa: commessa.py chiudi SID --esito COMPIUTO --consegna <url|file> (o IMPOSSIBILE --manca <cosa>)
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260929-claudeformno-1hxk3xb --dry-run
* rileggo le liste destinatari e tolgo il test se comparso
* verifico cron: crontab -l | grep form_avvisi
* test invio reale avvisi a Marco, Desislava, Ilaria (IT), Elena (EN)
* preparo e verifico benvenuto IT/EN/FR con testi originali
* chiudo: commessa.py chiudi S20260929-claudeformno-1hxk3xb --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260929-claudepercor-3kxmwp --dry-run
* verificare estensione form_avvisi.py a tutti i moduli + tedesco (D1) e produrre prova
* inviare prova a marcoparet e verificare ricezione (D2)
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260929-claudepercor-3kxmwp --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260929-claudevideop-vyfcqd --dry-run
* individuare le righe duplicate nel log dell'agente video (es. grep -c su eventi ripetuti) e deduplicare/ripulire il log
* rileggere il log ripulito e verificare che le righe ripetute non compaiano più (D2)
* spiegare a Marco la causa delle ripetizioni (handoff/ESITO/RESTA_APERTO riscritti a ogni ciclo)
* commessa.py chiudi S20260929-claudevideop-vyfcqd --esito COMPIUTO --consegna <log ripulito>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260930-clauderelais-10j103q --dry-run
* python3 /home/claudeuser/sovra/diagnosta_ai.py --solo-lettura --prova
* python3 /home/claudeuser/sovra/diagnosta_ai.py --seo_pulse
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260930-clauderelais-10j103q --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260930-clauderiunio-13caw3g --dry-run
* verifica live menu Seminari su marcoparet.net (seminari passati rimossi, prossimi corsi presenti)
* verifica widget footer modificato via JSON Elementor
* prepara brief riunione VMK su stato lead/ads
* chiudere commessa: commessa.py chiudi S20260930-clauderiunio-13caw3g --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/sovra/riprendi_chat.py --session S20260930-claudeformno-9zjlj --dry-run
* Leggere form_avvisi.py e identificare dove vengono generati gli avvisi dei form
* Mappare i moduli (FR Paret, Mesm FR) alle pagine/posti dove sono usati
* Aggiungere sotto l'avviso: link al form + elenco pagine d'uso
* Verificare l'output con un avviso reale (screenshot o HTML)
* python3 commessa.py chiudi S20260930-claudeformno-9zjlj --esito COMPIUTO --consegna <url|file>


=== pilota-custode-flash ===
=== chat-s20260908-dipisafermo-1ol47hs ===
''Aggiornato 2026-09-16 19:58 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-30 20:41 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Pilota 3 giorni: V4.1 Flash e GLM-5.3 Flash come custode R103, misurati dal registro modelli
; Obiettivo : Completare R90-bis per la chat S20260908-dipisafermo-1ol47hs (dipisa-pagina-en): commessa automatica al primo comando, filtro assenso e pagina 7150 corretta, producendo i deliverable D1-D4 tutti mancanti (diagnosi, pagina IT corretta, regola wiki-prima, filtro)
; Vincoli in vigore :
; Vincoli in vigore :
* non cambiare i default prima di 5 prove per modello
* gate=auto
* costo per verdetto sotto il centesimo
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* 16/09: modelli_ledger.py
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* si_common.model_json misura e sceglie per ruolo
* contesto ricostruito da riprendi_chat
* riprendi_chat usa i Flash via OpenRouter
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* fix reasoning effort low + tetto 2000
* contesto ricostruito da riprendi_chat
* pilota: dopo il fix 6/6 verdetti validi, GLM 3.3s, V4.1 6.2s, gemini 2.8s
* 2026-09-18 23:21 UTC ASSORBITO il cantiere 'chat-s20260918-claudecensim-mpdxij' (simile): obiettivo: Censimento biblioteca: chat S20260918-claudecensim-mpdxij da riprendere (misura aggiornata a 2048 completi, manca deliverable verificabile D1) | perche': chat S20260918-claudecensim-mpdxij chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-19 00:00 UTC ASSORBITO il cantiere 'chat-s20260916-claudebranis-oxfill' (simile): obiettivo: Verifica finale del dossier sonnambulismo (3929 candidati, 25 brani, 0 difetti) e definizione del deliverable D1 verificabile; poi eventuale nuova estrazione su | perche': chat S20260916-claudebranis-oxfill chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-19 00:20 UTC ASSORBITO il cantiere 'chat-s20260917-claudeavvisi-15rw731' (simile): obiettivo: Verifica del deploy pulizia avvisi (passa() in giudice.py, guardia in 18 script cron, soglie guardiano_battito) e definizione del deliverable D1 verificabile; r | perche': chat S20260917-claudeavvisi-15rw731 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-19 00:40 UTC ASSORBITO il cantiere 'chat-s20260912-claudetelegr-1amn61' (simile): obiettivo: Sessione S20260912-claudetelegr-1amn61 bloccata: watch capoufficio e ripiego GSC fatti e verificati; resta a Marco rigenerare token-gsc-admin. Deliverable D1 da | perche': chat S20260912-claudetelegr-1amn61 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-19 01:00 UTC ASSORBITO il cantiere 'chat-s20260917-claudeobiett-17o3r82' (simile): obiettivo: Precisare D1 'consegna verificabile' per la chat S20260917-claudeobiett-17o3r82: il deliverable D1 resta senza criterio di verifica accettato. La pagina 'Obiett | perche': chat S20260917-claudeobiett-17o3r82 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-19 17:23 UTC ASSORBITO il cantiere 'chat-s20260919-claudecensim-1my09qk' (simile): obiettivo: Sessione censimento-biblioteca chiusa END_NONVERIFICATO: 3377 duplicati accoppiati, 4332 libri nuovi, 9157 prime pagine; manca chiusura commessa con prova verif | perche': chat S20260919-claudecensim-1my09qk chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-20 19:20 UTC ASSORBITO il cantiere 'chat-s20260920-claudejevtes-lscdg6' (simile): obiettivo: D3: piano di integrazione a gate con soglie di confidenza (D1 e D2 completati: jev.py installato, benchmark validato su 96 frasi reali) | perche': chat S20260920-claudejevtes-lscdg6 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-20 22:44 UTC ASSORBITO il cantiere 'chat-s20260920-claudeyoutub-bvxox9' (simile): obiettivo: Job pilota captions in coda, bloccato: credito proxy DataImpulse esaurito (407 TRAFFIC_EXHAUSTED) o servono cookie YouTube di Marco per yt-dlp. Wiki proxy già d | perche': chat S20260920-claudeyoutub-bvxox9 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-20 23:00 UTC ASSORBITO il cantiere 'chat-s20260920-claudesi1-mdmkwi' (simile): obiettivo: SI-1 autonomia: D1 autonomia.py installato e agganciato al ciclo, D2 due proposte a 85 valutate e chiuse, D3 wiki ops SI-1_Reflect sez. 9, D4 handoff aggiornato | perche': chat S20260920-claudesi1-mdmkwi chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-21 08:41 UTC ASSORBITO il cantiere 'chat-s20260921-claudesi1-1y4mwr7' (simile): obiettivo: SI-1: chiudere i deliverable mancanti (D1 elenco valutato delle 5 proposte, D2 proposte fattibili applicate con prova, D3 handoff aggiornato) e chiudere la comm | perche': chat S20260921-claudesi1-1y4mwr7 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-22 10:01 UTC ASSORBITO il cantiere 'chat-s20260922-clauderichie-clydzv' (simile): obiettivo: Verificare stato job recupero-fonti-estero-0922_run; produrre D1 (rapporto analisi cause richieste estere 21-22/09) e D2 (elenco fonti riparate o da riparare);  | perche': chat S20260922-clauderichie-clydzv chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-22 14:42 UTC ASSORBITO il cantiere 'chat-s20260922-claudestipen-kt2umy' (simile): obiettivo: Prima verifica end-to-end stipendi BG (job stipendi_bg_verifica_first, in coda, parte da solo) + deliverable D1-D5 mancanti; resta a Marco la decisione bonus Sa | perche': chat S20260922-claudestipen-kt2umy chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-22 21:23 UTC ASSORBITO il cantiere 'chat-s20260922-claudegatesp-wqo38r' (simile): obiettivo: Precisare il deliverable D1 della chat: consegna verificabile mancante per il cantiere gate-spec-ingresso-0918 | perche': chat S20260922-claudegatesp-wqo38r chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-23 16:41 UTC ASSORBITO il cantiere 'chat-s20260923-claudeoutrea-rpk7rs' (simile): obiettivo: Cantiere gate-mcp-log-chat: livello 1 bridge MCP (più livelli 0 e messaggi tra chat) per INGEGNERE; deliverable D1 lettera finale hypno academy e D2 pagina wiki | perche': chat S20260923-claudeoutrea-rpk7rs chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 09:37 UTC ASSORBITO il cantiere 'chat-s20260923-mcpchatgpt-ocr1yd' (simile): obiettivo: Esaminare i backup dei siti falliti (es. greenagritainment.com, che dovrebbe essere sui nostri server, escludendo Google Sites) e determinare quali siti esiston | perche': chat S20260923-mcpchatgpt-ocr1yd chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 09:42 UTC ASSORBITO il cantiere 'chat-s20260924-claudefontec-tw0pe0' (simile): obiettivo: Sessione fonte-costi-0924 chiusa END_NONVERIFICATO: D1 manca colonna fonte in esiti_sessione e learnings (solo 140 righe storiche=dichiarato); D2 manca tabella  | perche': chat S20260924-claudefontec-tw0pe0 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 10:22 UTC ASSORBITO il cantiere 'chat-s20260924-claudediagno-fcn98b' (simile): obiettivo: D1 diagnosi chat dossier corsi e D2 esaminatore chat (censimento per chat + rilancio) ancora mancanti; resta il bridge MCP: una sessione condivisa (mcpchatgpt)  | perche': chat S20260924-claudediagno-fcn98b chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 11:22 UTC ASSORBITO il cantiere 'chat-s20260924-claudewikipa-1xq9tm6' (simile): obiettivo: Lotto 3 (voci Di Pisa, alchimia) da riscrivere Paret-first usando lotto2.py come modello; inviare a Marco i link delle voci riscritte per correzione; mantenere  | perche': chat S20260924-claudewikipa-1xq9tm6 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 13:42 UTC ASSORBITO il cantiere 'chat-s20260924-nlipnosiregr-19zmyyf' (simile): obiettivo: Scrivere la lettera di richiamo dal corpus (esercizio timo/autoancoraggio) per i cliccatori NL videolezione; job richiamo_build completato rc=0 ma deliverable 0 | perche': chat S20260924-nlipnosiregr-19zmyyf chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 15:00 UTC ASSORBITO il cantiere 'chat-s20260924-libro0924-1viqfcy' (simile): obiettivo: Libro da cartella Drive 1zTnjI0ILD2Oqxsbl7YSJE_eW5TNP7cz2: verificare pagine mancanti, poi completare OCR, PDF e inserimento. Job defi_magnetisme terminato KO ( | perche': chat S20260924-libro0924-1viqfcy chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 17:00 UTC ASSORBITO il cantiere 'chat-s20260924-claudeesamin-ymlmpy' (simile): obiettivo: Completare i passaggi rimasti: sessione per chat, verifica sistema rilanci, poi preparare per Marco lista chat vecchie (riprese vs ancora utili) e cosa controll | perche': chat S20260924-claudeesamin-ymlmpy chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 18:42 UTC ASSORBITO il cantiere 'chat-s20260924-claudesegret-4lznpv' (simile): obiettivo: D1 riepilogo posta 24/09 e D2 verifica riparazione greenagritainment (5 plugin aggiornati, rollback Elementor 4.2.4, 45 helper in quarantena) ancora senza prova | perche': chat S20260924-claudesegret-4lznpv chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 22:41 UTC ASSORBITO il cantiere 'chat-s20260924-claudewikico-koc8y7' (simile): obiettivo: Leggere l'output del job wiki_curatore_stats_0924 (rc=0) e chiudere la commessa mai chiusa | perche': chat S20260924-claudewikico-koc8y7 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 06:02 UTC ASSORBITO il cantiere 'chat-s20260925-claudeavvisi-spbue4' (simile): obiettivo: Verifica log storagebox_backup (0 ERR attesi) e sites_backup --all di domenica; valutare spostamento ocr_nuovi su media; chiudere commessa S20260925-claudeavvis | perche': chat S20260925-claudeavvisi-spbue4 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 14:45 UTC ASSORBITO il cantiere 'chat-s20260925-claudeavvisi-spbue4' (simile): obiettivo: Chiusura commessa S20260925-claudeavvisi-spbue4: 5 correzioni fatte ma commessa aperta, deliverable 0/3 senza prove, e risposta a Marco (perché i problemi si ri | perche': chat S20260925-claudeavvisi-spbue4 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 15:22 UTC ASSORBITO il cantiere 'chat-s20260925-claudewikicu-18m79km' (simile): obiettivo: Verificare esito catena wiki-curatore-0925_run e chiudere commessa S20260925-claudewikicu-18m79km con prova verificabile | perche': chat S20260925-claudewikicu-18m79km chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 15:41 UTC ASSORBITO il cantiere 'chat-s20260925-claudemcpcha-e4s5au' (simile): obiettivo: Consegnare a Marco i dati per connettere ChatGPT alla VM (tools/list via ?key= già confermato); commessa S20260925-claudemcpcha-e4s5au ancora aperta | perche': chat S20260925-claudemcpcha-e4s5au chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 17:40 UTC ASSORBITO il cantiere 'chat-s20260925-claudemarcop-152qlfw' (simile): obiettivo: D1: voce menu Corsi > Corso di Alchimia Pratica su marcoparet.net; D2: home senza grafica aprile e senza bottone congress | perche': chat S20260925-claudemarcop-152qlfw chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-25 22:40 UTC ASSORBITO il cantiere 'chat-s20260925-claudewikicu-18m79km' (simile): obiettivo: Commessa S20260925-claudewikicu-18m79km aperta: implementazione e verifica delle sei regole del wiki che si capitalizza. Job wiki-curatore-0925_run terminato rc | perche': chat S20260925-claudewikicu-18m79km chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-26 19:01 UTC ASSORBITO il cantiere 'chat-s20260926-libro0926-14jb7wm' (simile): obiettivo: Confermare il deliverable del libro Defi Magnetisme (OCR job defi_meheust_t1 completato rc=0, ma deliverable 0/1 senza prova) e chiudere la chat muta | perche': chat S20260926-libro0926-14jb7wm chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-27 00:02 UTC ASSORBITO il cantiere 'chat-s20260926-claudeannevi-1kjb4b0' (simile): obiettivo: Job omaggio_trascrizioni completato (rc=0): leggere i testi delle trascrizioni e produrre l'analisi di come BBC/YouTube/TV definiscono seigneurs/lord e la situa | perche': chat S20260926-claudeannevi-1kjb4b0 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-27 01:41 UTC ASSORBITO il cantiere 'chat-s20260926-claudeavvisi-1sxy6m5' (simile): obiettivo: Chiusura con prove (deliverables 0/4): la sessione è stata chiusa END_NONVERIFICATO senza --consegna. Resta da verificare che marcoparet.com sia rientrato nel b | perche': chat S20260926-claudeavvisi-1sxy6m5 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-27 08:45 UTC ASSORBITO il cantiere 'chat-s20260927-bibliotecame-1efbzby' (simile): obiettivo: Verifica finale e chiusura della chat: controllare di avere tutto (deliverable 0/4 con prova) per l'acquisizione Meheust 'Defi du magnetisme'. | perche': chat S20260927-bibliotecame-1efbzby chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 09:44 UTC ASSORBITO il cantiere 'chat-s20260928-claudemarket-1iuy44x' (simile): obiettivo: Commessa S20260928-claudemarket-1iuy44x aperta: deliverable 0/2, job arricchisci-contatti-0928_run DONE ma CHECK=INCOMPLETO, chat muta senza chiusura. | perche': chat S20260928-claudemarket-1iuy44x chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 10:42 UTC ASSORBITO il cantiere 'chat-s20260928-claudedoppia-onyd1m' (simile): obiettivo: Chiudere il cantiere doppiaggio-vocale-0928: il job principale doppiaggio-vocale-0928_run è terminato rc=0 ma CHECK=INCOMPLETO, due job sono KO (doppiaggio-v4-t | perche': chat S20260928-claudedoppia-onyd1m chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 15:03 UTC ASSORBITO il cantiere 'chat-s20260928-claudeanalis-zhloed' (simile): obiettivo: Analisi contabili stabili in BigQuery (incassi per anno, allievi per corso/nazione, rate, chi non ha continuato): job analisi-contabili-0928_rebuild fallito rc= | perche': chat S20260928-claudeanalis-zhloed chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 16:43 UTC ASSORBITO il cantiere 'chat-s20260928-nlipnosiregr-1cvw7wb' (simile): obiettivo: Spedizione NL timo coraggio 12 fasce: job timo_slots12 terminato con rc=1 (KO), commessa mai chiusa, manca il rendiconto per fascia. | perche': chat S20260928-nlipnosiregr-1cvw7wb chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 01:02 UTC ASSORBITO il cantiere 'chat-s20260928-clauderegist-1lr51rv' (simile): obiettivo: Chiusura commessa esaminatore_chat (S20260928-clauderegist-1lr51rv): job piano DONE ma chat resta aperta, 0/3 deliverable con prova, next indicato = chiusura | perche': chat S20260928-clauderegist-1lr51rv chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 08:03 UTC ASSORBITO il cantiere 'chat-s20260929-claudecadenc-uossp8' (simile): obiettivo: Chiudere la commessa: D1 (regole_regressione.py + base + cron) e D2 (memoria_prova.py + report + cron) hanno job rc=0 ma mancano prove esplicithe da allegare al | perche': chat S20260929-claudecadenc-uossp8 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 08:24 UTC ASSORBITO il cantiere 'chat-s20260929-claudeauditv-p23u4b' (simile): obiettivo: Chat bloccata con commessa mai aperta né chiusa; ultimo passo: commit locale di sicurezza in scripts; da fare: rendiconto a Marco e chiusura commessa | perche': chat S20260929-claudeauditv-p23u4b chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 09:42 UTC ASSORBITO il cantiere 'chat-s20260929-claudedoppia-1owkp9n' (simile): obiettivo: Caricamento sottotitoli 4 lingue su YouTube Studio (via Chrome) e chiusura commessa mai aperta/chiusa per S20260929-claudedoppia-1owkp9n | perche': chat S20260929-claudedoppia-1owkp9n chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 10:42 UTC ASSORBITO il cantiere 'chat-s20260929-clauderegist-mync0s' (simile): obiettivo: Job registro-analisi-articoli-0929 fallito (rc=1): correggere/rilanciare; poi completare D1 (registro curato analisi in BQ isicnv_intelligence.hermes_proposals) | perche': chat S20260929-clauderegist-mync0s chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 12:01 UTC ASSORBITO il cantiere 'chat-s20260929-claudewikipa-11u1csz' (simile): obiettivo: Arricchimento fonti voci wiki da libri del dr. Paret: D1 voce Brice de Beauregard ristrutturata (senza prova), D2 risposta GEO (senza prova), D3 note Meheust do | perche': chat S20260929-claudewikipa-11u1csz chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 15:43 UTC ASSORBITO il cantiere 'chat-s20260929-claudegoogle-1oh3xcb' (simile): obiettivo: {'deliverable_D1': 'censimento 366 siti', 'deliverable_D2': 'condivisione 366 siti con julesdupotet', 'deliverable_D3': 'export HTML di tutti i siti', 'delivera | perche': chat S20260929-claudegoogle-1oh3xcb chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-29 21:42 UTC ASSORBITO il cantiere 'chat-s20260929-claudediagno-1ihiue8' (simile): obiettivo: D1: diagnosi e pulizia disco VM al 95% senza prova; D2: registro chat->VM (chi scrive dove) senza prova; D3: verifica scrittori cartelle candidate DISPENSA senz | perche': chat S20260929-claudediagno-1ihiue8 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 08:43 UTC ASSORBITO il cantiere 'chat-s20260930-claudedispen-1o8836x' (simile): obiettivo: 4 deliverable senza prova: D1 job hyperresearch verificato, D2 pulizia automatica /tmp/duck e /tmp, D3 DISPENSA giornaliera automatica, D4 firma chat su job/cro | perche': chat S20260930-claudedispen-1o8836x chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 11:02 UTC ASSORBITO il cantiere 'chat-s20260930-claudemetaap-1bquu8u' (simile): obiettivo: Commessa mai aperta (nessun 'commessa.py apri') e chat muta da 1.1h; ultimo passo: 'preparo istruzioni token' per accessi Meta API, mai completato. | perche': chat S20260930-claudemetaap-1bquu8u chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-30 20:41 UTC ASSORBITO il cantiere 'chat-s20260930-nlipnosiregr-vgxzsk' (simile): obiettivo: Spedizione NL già effettuata (12 fasce, 39595 dest.) ma mancano: verifica di consegna per fascia e chiusura commessa | perche': chat S20260930-nlipnosiregr-vgxzsk chiusa senza prova: il custode R103 ha trovato passi eseguibili
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/sovra/modelli_ledger.py classifica custode
* 1|Superare il gate umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs (campanello per esame immediato, chat bloccata da errori glm-5.2 429/timeout)|suonare il campanello al gate=umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs
* 2|Riprendere la chat S20260908-dipisafermo-1ol47hs nel cantiere di ripresa|handoff.py --resume dipisa-pagina-en
* 3|D1: produrre la diagnosi mancante|redigere la diagnosi R90-bis nel cantiere ripresa_S20260908-dipisafermo-1ol47hs
* 4|D2: correggere e pubblicare la pagina IT (pagina 7150)|correzione della pagina IT 7150
* 5|D3: scrivere la regola wiki-prima|inserire la regola wiki-prima
* 6|D4: implementare il filtro di assenso|implementare il filtro assenso (commessa automatica al primo comando)
* 7|Far verificare il completamento (chat chiusa END_NONVERIFICATO)|richiedere esame/verifica dei deliverable D1-D4 al gate
* python3 /home/claudeuser/scripts/handoff.py --resume chat-s20260918-claudecensim-mpdxij
* verificare stato censimento e completare passi rimanenti
* produrre deliverable D1 verificabile e chiudere con END_VERIFICATO
* python3 /home/claudeuser/scripts/job.py --stato brani-sonnambulismo_run
* python3 /home/claudeuser/scripts/brani_extract.py --tema <nuovo_tema> --n 25
* python3 /home/claudeuser/scripts/giudice.py --registro 7
* Verificare esecuzione corretta di giudice.py con passa() attivo
* Controllare che i 18 script su cron abbiano la guardia attiva (grep della guardia in /etc/cron* e scripts)
* Validare soglie in guardiano_battito con un test di battito
* Chiudere il cantiere ripresa_S20260917-claudeavvisi-15rw731 con deliverable D1 precisato e verificabile
* python3 /home/claudeuser/scripts/handoff.py --resume capoufficio_agente_risolve
* esaminare chat S20260912-claudetelegr-1amn61 per precisare D1
* attendere/verificare rigenerazione token-gsc-admin da parte di Marco
* verificare esito job sat_gsc_sync_ripiego_12set
* curl -sL 'https://docs.google.com/document/d/1zqDtgAx6CaWVJbhjN4B-LiddL7cd66vlm3t68lfJ6c0/export?format=txt' | head -60
* python3 /home/claudeuser/scripts/wiki_new.py --title 'Obiettivi generali' --wiki ops --leggi
* Confrontare versione wiki e doc export per confermare sincronizzazione v3
* Riassumere in chat S20260917-claudeobiett-17o3r82 la consegna con prova verificabile (URL + conteggio caratteri + diff) e chiudere END verificato
* python3 /home/claudeuser/scripts/handoff.py --resume censimento-biblioteca
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260919-claudecensim-1my09qk --esito COMPIUTO --consegna <file_report_duplicati_e_libri_nuovi> --next <prossima_sessione>
* python3 /home/claudeuser/scripts/jev_bench.py  # verifica che il benchmark sia ancora riproducibile
* redigere piano integrazione: attivare modalità ombra su segreteria posta e riconciliazione cassa con soglia conf>=0.80
* definire gate di promozione ombra→attivo (copertura e costo attuali: 67% copertura, 2,43 USD/100k)
* commessa.py chiudi S20260920-claudejevtes-lscdg6 --esito COMPIUTO --consegna <file piano> --next <prossimo passo>
* python3 /home/claudeuser/scripts/job.py --status youtube-sistemazione-0918_pilota
* python3 /home/claudeuser/scripts/job.py --status youtube-sistemazione-0918_retry
* se credito attivato: rilanciare job pilota captions e job retry inventario
* chiudere commessa con PROVA e --next: commessa.py chiudi S20260920-claudeyoutub-bvxox9 --esito COMPIUTO --consegna <file|url> --next <prossimo passo>
* tail -3 /home/claudeuser/self_improvement/logs/autonomia.jsonl
* verificare/installare autonomia.py e agganciarlo al ciclo
* valutare le due proposte a 85 e chiuderle con motivo
* aggiornare wiki ops SI-1_Reflect sez. 9
* aggiornare handoff si-1-automiglioramento
* chiudere commessa: commessa.py chiudi SID --esito COMPIUTO --consegna <url|file>
* cat /home/claudeuser/self_improvement/handoff.md
* python3 /home/claudeuser/self_improvement/valuta_proposte.py --report D1
* python3 /home/claudeuser/self_improvement/applica_fattibili.py --prova D2
* python3 /home/claudeuser/self_improvement/handoff.py --aggiorna D3
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260921-claudesi1-1y4mwr7 --esito COMPIUTO --consegna /home/claudeuser/self_improvement/handoff.md --next 'tail -3 /home/claudeuser/self_improvement/logs/autonomia.jsonl'
* python3 /home/claudeuser/scripts/job.py --status recupero-fonti-estero-0922_run
* completare rapporto analisi cause richieste estere 21-22/09 e salvarlo come file
* completare elenco fonti riparate o da riparare
* commessa.py chiudi S20260922-clauderichie-clydzv --esito COMPIUTO --consegna <file rapporto> --next <prossimo comando>
* python3 /home/claudeuser/scripts/handoff.py --resume stipendi-bg-verifica-0922
* python3 /home/claudeuser/scripts/job.py --status stipendi_bg_verifica_first
* python3 /home/claudeuser/scripts/job.py --status ledger_gap_wise_0922
* python3 /home/claudeuser/scripts/gate_spec.py --bilancio
* commessa.py chiudi S20260922-claudegatesp-wqo38r --esito COMPIUTO --consegna <file|url> --next <prossimo passo>
* handoff.py --resume gate-mcp-log-chat
* Implementare livello 1: bridge MCP + log tool BQ
* commessa.py chiudi S20260923-claudeoutrea-rpk7rs --esito COMPIUTO --consegna <url|file> (o IMPOSSIBLE --manca)
* Scrivere lettera finale hypno academy (D1)
* Creare pagina wiki interna istituti partner con link al D1 (D2)
* Cercare greenagritainment.com sul filesystem/locale di LordofIvanhoe (es. grep/find nelle cartelle backup, public_html, agent_win, reports): find / -iname '*greenagritainment*' 2>/dev/null
* Elencare i backup dei siti disponibili (es. ls delle cartelle backup/cPanel, tar/zip dei siti) escludendo Google Sites
* Per ogni sito nel dossier: verificare esistenza reale (DNS/whois, file locali, backup) e classificare: esiste / backup trovato / non recuperabile
* Produrre report con prove (percorsi file, hash, screenshot) in reports/ e chiudere la commessa: commessa.py chiudi S20260923-mcpchatgpt-ocr1yd --esito COMPIUTO --consegna <file report> oppure --esito IMPOSSIBILE --manca <cosa>
* python3 /home/claudeuser/scripts/costo_pipeline.py --rapporto
* Aggiungere colonna fonte a esiti_sessione e learnings (schema + backfill)
* Creare tabella BQ costo_pipeline per cron/pipeline in costo_pipeline.py
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260924-claudefontec-tw0pe0 --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/scripts/job.py --status dubuis_ingest_0921
* verifica esaminatore.log e custode_carico.log per conferma rilanci
* esegui censimento chat per D2 (esaminatore per chat + rilancio)
* produci diagnosi della chat dossier corsi per D1
* chiudi commessa con commessa.py chiudi SID --esito COMPIUTO --consegna <url|file> --next
* python lotto2.py --modello --lotto 3 --voci 'Di Pisa,alchimia'
* verificare le voci riscritte e creare/aggiornare le talk page con le osservazioni di Marco
* python commessa.py chiudi S20260924-claudewikipa-1xq9tm6 --esito COMPIUTO --consegna <url voci lotto 3>
* python3 /home/claudeuser/scripts/job.py --status richiamo_build
* recuperare output richiamo_build e verificare template v3 (titolo seminario, date Milano/Roma, FNAME)
* scrivere la lettera dal corpus esercizi_magnetisti (timo/autoancoraggio)
* consegnare deliverable e chiudere: commessa.py chiudi S20260924-nlipnosiregr-19zmyyf --esito COMPIUTO --consegna <url|file>
* python3 /home/claudeuser/scripts/job.py --status defi_magnetisme
* rileggere dimensioni reali delle scansioni e correggere la soglia di rilevamento pagine mancanti
* segnalare eventuali pagine mancanti ma procedere comunque con OCR e generazione PDF
* completare inserimento del libro e registrare i 3 deliverable con prova
* python3 /home/claudeuser/scripts/job.py --status catalogo-chat-0924
* python3 /home/claudeuser/scripts/sessione.py --lista-chat --stato tutte
* python3 /home/claudeuser/scripts/verifica_rilanci.py --report
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260924-claudeesamin-ymlmpy --esito COMPIUTO --consegna <url|file>
* tail -40 ~/logs/green_repair_2026-09-24.log
* python3 /home/claudeuser/scripts/job.py --status green_repair_0924b
* curl -s -o /dev/null -w '%{http_code}' https://greenagritainment.com/ && curl -s https://greenagritainment.com/ | grep -c 'elementor'
* python3 ~/scripts/commessa.py chiudi S20260924-claudesegret-4lznpv --esito COMPIUTO --consegna ~/deliverables/riepilogo_20260924.md --next 'monitor auto-update Elementor disattivato'
* python3 /home/claudeuser/scripts/job.py --status wiki_curatore_stats_0924
* esamina output stats e registra esiti nel registro contraddizioni/lacune BQ
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260924-claudewikico-koc8y7 --esito COMPIUTO --consegna <file stats>
* grep -c ERR /percorso/log/storagebox_backup.log (atteso 0)
* verificare log ultima corsa sites_backup --all (domenica): rc=0 e 54 domini
* valutare carico ocr_nuovi e, se > soglia, migrare su media come fatto per propensity_allievo (cron VM marcato MIGRATO->media)
* commessa.py chiudi S20260925-claudeavvisi-spbue4 --esito COMPIUTO --consegna <file log verificato> --next <prossimo controllo>
* python3 /home/claudeuser/scripts/handoff.py --resume chat-s20260925-claudeavvisi-spbue4
* grep -c ERR /var/log/storagebox_backup.log && tail -20 /var/log/storagebox_backup.log
* bash /home/claudeuser/scripts/sites_backup.sh --all --dry-run
* commessa.py chiudi S20260925-claudeavvisi-spbue4 --esito COMPIUTO --consegna <log verificato> --next 'domenica: sites_backup --all
* valutare ocr_nuovi su media'
* python3 /home/claudeuser/scripts/job.py --status wiki-curatore-0925_run
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260925-claudewikicu-18m79km --esito COMPIUTO --consegna 'isicnv_knowledge.wiki_contraddizioni + ~/wiki_curatore/semantico_pub.npy'
* Preparare il pacchetto dati (URL tools/list con ?key=, istruzioni connessione ChatGPT)
* Consegnare i dati a Marco (messaggio/email)
* python commessa.py chiudi S20260925-claudemcpcha-e4s5au --esito COMPIUTO --consegna <url|file>
* verificare live marcoparet.net: presenza voce menu Corsi > Corso di Alchimia Pratica
* verificare home: assenza grafica aprile e bottone congress
* se modifiche necessarie: applicare e riverificare
* chiudere con PROVA: <url> e --next, oppure commessa.py chiudi S20260925-claudemarcop-152qlfw --esito COMPIUTO --consegna <url>
* python3 /home/claudeuser/scripts/job.py --status wiki_semantico_indice_0925
* correggere wiki_semantico.py e rilanciare l'indice embedding
* verificare D1-D5 con prove (file/query) per ciascun deliverable
* python3 /home/claudeuser/sovra/commessa.py chiudi S20260925-claudewikicu-18m79km --esito COMPIUTO --consegna <prova> --next <passo>
* python3 /home/claudeuser/scripts/job.py --status defi_meheust_t1
* verificare output OCR e allegare prova del deliverable
* chiudere la sessione con esito
* python3 /home/claudeuser/scripts/job.py --status omaggio_trascrizioni
* python3 /home/claudeuser/scripts/job.py --output omaggio_trascrizioni
* leggo i testi delle trascrizioni ed estraggo definizioni di seigneur/lord e situazione feudale
* scrivo il deliverable con citazioni e fonti
* python3 commessa.py chiudi S20260926-claudeannevi-1kjb4b0 --esito COMPIUTO --consegna <file|url>
* attendere il prossimo avviso Telegram di sites_backup (corsa --all domenicale) e verificare che marcoparet.com risulti 0 falliti
* se ok: commessa.py chiudi <SID> --esito COMPIUTO --consegna <log sites_backup con rc=1 accettato e 0 falliti> --next 'monitoraggio routine'
* se ko: riaprire sessione e indagare il nuovo fallimento di marcoparet.com
* python3 /home/claudeuser/scripts/job.py --status defi_finale
* python3 /home/claudeuser/scripts/job.py --status defi_ultime_due
* python3 /home/claudeuser/scripts/job.py --status defi_taglio_piega
* python3 /home/claudeuser/scripts/job.py --status arricchisci-contatti-0928_run
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260928-claudemarket-1iuy44x --esito IMPOSSIBILE --manca "deliverable 0/2 e CHECK=INCOMPLETO"
* python3 /home/claudeuser/scripts/job.py --status doppiaggio-vocale-0928_run
* python3 /home/claudeuser/scripts/job.py --status doppiaggio-v4-test-de
* python3 /home/claudeuser/scripts/job.py --status doppiaggio-de-fr_run
* python3 /home/claudeuser/scripts/job.py --logs doppiaggio-de-fr_run 2>/dev/null || true  # leggere il log per capire rc=1
* verificare i 3 deliverable richiesti (voce femminile su originale abbassata, anticipo 0.5s, lettura muti 1 frame/2s) sui file del run rc=0: se CHECK=INCOMPLETO solo per verifica mancante, generare le prove
* rilanciare i job KO con il comando originale dei job (es. python3 /home/claudeuser/scripts/job.py --run doppiaggio-de-fr_run) dopo la correzione della causa
* aggiungere il passo 3 al piano del cantiere come annunciato dall'ultimo passo
* commessa.py chiudi S20260928-claudedoppia-onyd1m --esito COMPIUTO --consegna <url|file>  # oppure IMPOSSIBILE --manca <cosa> se i fallimenti dipendono da Marco
* python3 /home/claudeuser/scripts/job.py --status analisi-contabili-0928_rebuild
* esaminare log del job per capire la causa rc=2
* correggere e rilanciare il rebuild
* verificare tabelle ANALISI in BigQuery con prova
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260928-claudeanalis-zhloed --esito COMPIUTO --consegna <file>
* python3 /home/claudeuser/scripts/job.py --status timo_slots12
* esaminare i log di timo_slots12 per identificare la causa del rc=1 (template ns9018elj4a1a, campagne NL_IT_Timo_Slot 2862-2873)
* correggere l'errore e rilanciare/verificare le 12 spedizioni su 38864 destinatari
* generare rendiconto per fascia (liste Timo_SlotNN_28set) e journal --next: chiusura
* commessa.py chiudi S20260928-nlipnosiregr-1cvw7wb --esito COMPIUTO --consegna <rendiconto>
* python3 /home/claudeuser/scripts/job.py --status registro-chat-0928_piano
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260928-clauderegist-1lr51rv --esito COMPIUTO --consegna <url|file> --prova <url|file|query> --next <passo successivo>
* se prova mancante: commessa.py chiudi S20260928-clauderegist-1lr51rv --esito IMPOSSIBILE --manca <cosa>
* python3 /home/claudeuser/scripts/job.py --status regressione-regole-base
* cat /home/claudeuser/pillars/regressione_regole/base.json
* python3 /home/claudeuser/pillars/memoria_prova.py --report
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260929-claudecadenc-uossp8 --esito COMPIUTO --consegna /home/claudeuser/pillars/regressione_regole/base.json
* commessa.py apri S20260929-claudeauditv-p23u4b --goal 'audit 3 e 4'
* verificare commit locale di sicurezza in scripts (git log/status)
* commessa.py chiudi S20260929-claudeauditv-p23u4b --esito COMPIUTO --consegna <url|file>
* rendiconto a Marco
* python3 /home/claudeuser/scripts/commessa.py apri S20260929-claudedoppia-1owkp9n --goal 'pubblicare tracce audio 4 lingue + sottotitoli su YouTube'
* python3 /home/claudeuser/scripts/job.py --status esdaile-4lingue-v2
* aprire YouTube Studio via Chrome e caricare sottotitoli 4 lingue + tracce m4a (gate umano: campanello esame immediato)
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260929-claudedoppia-1owkp9n --esito COMPIUTO --consegna <url_video>
* python3 /home/claudeuser/scripts/job.py --status registro-analisi-articoli-0929
* esaminare log/rc=1 del job e correggere script o query
* rilanciare job registro-analisi-articoli-0929 e verificare rc=0
* verificare righe in BQ: query su isicnv_intelligence.hermes_proposals WHERE action_family='ANALISI_CHAT'
* generare pagina lettura per Marco (analisi raggruppate per tema, ricorrenze, punti aperti) con URL/file come prova
* commessa.py chiudi S20260929-clauderegist-mync0s --esito COMPIUTO --consegna <url|file> --next <prossimo passo>
* Verificare stato commessa: commessa.py stato S20260929-claudewikipa-11u1csz
* Produrre prova D1: salvare la voce Brice de Beauregard ristrutturata (Fonte storica / Elementi / Applicazioni) in wiki_paret_first e registrare hash/file
* Produrre prova D2: scrivere risposta GEO su Paret/Brice in wiki_paret_first
* Produrre prova D3: filtrare v_libri_nota_meheust per le voci toccate e agganciare commento_meheust a v_catalogo
* Chiudere la commessa: commessa.py chiudi S20260929-claudewikipa-11u1csz --esito COMPIUTO --consegna <file/url>
* python3 /home/claudeuser/scripts/job.py --status gsites_export_html
* verifico partenza export VM e lancio 5 worker su media
* commessa.py chiudi S20260929-claudegoogle-1oh3xcb --esito COMPIUTO --consegna <url|file> o IMPOSSIBILE --manca <cosa>
* python3 /home/claudeuser/scripts/job.py --status sposta_hrp_0929
* df -h e du -sh sulle cartelle candidate per D1 (diagnosi disco, individuare scrittori)
* verificare scrittori cartelle DISPENSA: lsof +D <cartella> / du -sh per D3
* creare registro chat->VM (file/query) per D2
* commessa.py chiudi S20260929-claudediagno-1ihiue8 --esito COMPIUTO --consegna <file|url> --next <prossimo passo>
* python3 /home/claudeuser/scripts/job.py --status dispensa_vm_0930
* df -h / | awk 'NR==2{print $5}'
* rm -rf /tmp/duck /tmp/* /tmp/.[!.]* 2>/dev/null
* df -h /
* grep -r hyperresearch /home/claudeuser/scripts/ && python3 /home/claudeuser/scripts/job.py --run hyperresearch --firma claudedispen
* crontab -l | grep -v DISPENSA
* echo '# DISPENSA giornaliera - chat claudedispen' >> crontab
* (crontab -l
* echo '0 6 * * * python3 /home/claudeuser/scripts/dispensa.py --firma claudedispen') | crontab -
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260930-claudedispen-1o8836x --esito COMPIUTO --consegna <url|file>
* python commessa.py apri S20260930-claudemetaap-1bquu8u --goal 'ottenere accessi Meta API e preparare istruzioni token'
* python esperienze.py cerca 'Meta API token'
* python commessa.py passo S20260930-claudemetaap-1bquu8u 'preparo istruzioni token' --next 'richiedere token a Marco se mancanti'
* python commessa.py chiudi S20260930-claudemetaap-1bquu8u --esito COMPIUTO --consegna <file istruzioni> --manca 'token Meta API se non recuperabili'
* python3 /home/claudeuser/sovra/rendiconto_fasce.py --campagne 2874-2885 --data 2026-09-30
* commessa.py chiudi S20260930-nlipnosiregr-vgxzsk --esito COMPIUTO --consegna <report_rendiconto>


=== mail-fasce-individuali ===
=== registro-chat-0928 ===
''Aggiornato 2026-09-15 20:27 UTC'' &mdash; dominio: email
''Aggiornato 2026-09-29 07:46 UTC'' &mdash; dominio: memoria


; Obiettivo : Spedizione italiana per fascia oraria individuale con un solo comando deterministico
; Obiettivo : Ogni chat (Claude/ChatGPT/Gemini/VM) sa cosa hanno fatto le altre: tabella isicnv_meta.registro_chat; registro_chat.py --cerca restituisce precedenti da registro + memoria CC + GROUNDING su isicnv_knowledge.entities (nome+alias) e archi 1-hop di isicnv_grafo.archi; session/open?scopo= li restituisce PRIMA che la chat inizi (attivo dal 28/09 14:57); chiusura.py scrive il record; backfill dalle chat esportate fino al 19/09/2026
; Vincoli in vigore :
; Vincoli in vigore :
* Passo 6 spedisce davvero: solo con ok di Marco (R102) e con lo spec della lettera. Blacklist Mailwizz: alcune righe scartate al load (max_bad_records), da controllare quante.
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
* NON creare tabelle di entita nuove: usare entities+archi
; Fatto (con prova) :
; Fatto (con prova) :
* gate_fasce.py installato e provato (rc 95 su spedizione italiana generale senza fasce)
* 28/09: scripts/registro_chat.py (--init/--aggiungi/--cerca), tabella creata, primo record
* regola scritta in testa a mail_engine.py e nel registro pipeline MAIL-1
* prova superata: scopo 'VMK corso alchimia non in home' -> marcoparet.net pagina 54 da registro e memoria CC
* hook in exec_mailwizz e exec_getresponse
* 28/09: registro_chat.py + tabella + primo record
* backup mail_engine.py.bak_gate_fasce_20260915T200753
* session/open restituisce precedenti (provato). 29/09: passo 5 GROUNDING fatto: NON creata tabella nuova, agganciate le esistenti isicnv_knowledge.entities (1765, campo aliases) e isicnv_grafo.archi (313 triple da/rel/a/perche/fonte)
* gate_fasce.py in mail_engine
* aggiunti alias (alchimia/2458 -> Alchimia 882
* spedizione_fasce.py 7 passi con checkpoint BQ
* vmk/malgaroli -> Elisa Malgaroli) e 3 archi (Alchimia 882 pubblicato_su marcoparet.net
* passi 0-4 eseguiti sul run it15set (aperture sincronizzate fino a stasera)
* Elisa Malgaroli referente_di VMK
* wiki ops Spedizione_a_fasce_orarie
* analisi incassi pronta_in isicnv_analisi.v_incassi_totale_anno). Prova: --cerca 'VMK corso alchimia home' -> entita risolte + arco marcoparet.net
* memoria CC procedura_1789503820532_0fja44
* 29/09: registro curato delle analisi di articoli (41 schede, apr-set 2026) in isicnv_intelligence.hermes_proposals action_family=ANALISI_CHAT
* mail_engine accetta list_uid+send_at con fasce=individuali
* script scripts/registro_analisi_articoli.py (--carica/--verifica)
* pagina https://claude.ai/artifact/G5kLGk1UKvoxZeykZdo5D4
* job registro-analisi-articoli-0929
; Prossimo passo :
; Prossimo passo :
* Prima spedizione reale: python3 /home/claudeuser/scripts/spedizione_fasce.py --run <id> --letter <letter_id> --fino 4
* gate_pipeline.precedenti() cerchi anche in hermes_proposals WHERE action_family='ANALISI_CHAT' quando lo scopo contiene un articolo o un URL: OKF+RAG era gia' adottato il 12/07 (oracle-okf :8091) ed e' stato rianalizzato il 29/09
* poi con lo spec: --spec spec.json --da 5 --fino 6 . Passi 5-6 mai ancora provati in produzione: provarli prima su lista test.


=== gate_log_accessi_pipeline ===
=== si-1-automiglioramento ===
''Aggiornato 2026-09-15 08:49 UTC'' &mdash; dominio: CC/gate/tracciabilita
''Aggiornato 2026-09-29 06:13 UTC'' &mdash; dominio: VM / infrastruttura


; Obiettivo : Ogni comando delle chat ricostruibile in BQ (chi, richiesta, pipeline); chat bloccata ripresa da v_sessioni_stato
; Obiettivo : Fatto quando: un solo ciclo (SI-1) decide, prova, applica e misura i miglioramenti da tutte le sorgenti, e un solo digest (Hermes Daily) li racconta.
; Vincoli in vigore :
; Vincoli in vigore :
* Cloud Run sheets-connector: solo gate_deploy.sh, reversibile
* read-only cc-rescue
* non toccare la sessione mcpchatgpt attiva
* auto_code_roots = self_improvement + hermes
* soglia governata da autonomia.py (oggi 80, CODE_PATCH in automatico dal 27/09)
* backup e marcatore EVOLUZIONE su ogni modifica
; Fatto (con prova) :
; Fatto (con prova) :
* FATTO: (1) tracce.py ora scrive message_id (CURRENT token della sessione) in ogni riga
* 10/09 07:00 UTC: cron SI1_ORCHESTRATOR presente (27 */4, flock). Corse 00:27 e 04:27 morte per timeout bq CLI 120s (VM load 24, 23 bq in coda). Patch si_common.bq: client python google-cloud-bigquery + fallback CLI 300s x2 (test 3.7s vs timeout). pilot.py: guardia --help (prima --help lanciava un ciclo intero: bump config v3->v4 involontario ma idempotente). Job si1_ciclo_forzato_20260910 lanciato e passato oltre la raccolta casi. Safe Mode via HTTP: /safe/status ok, /safe/snapshot -> gs://isicnv-command-center-routes/safe_mode/snapshots/20260910T070934Z.tgz verificato
* colonna aggiunta a isicnv_workflows.tracce. (2) Vista v_sessioni_stato = chat_sessions_log + tracce + human_messages_log con stato CHIUSA/ATTIVA/INTERROTTA/APERTA_SENZA_COMANDI, ultima richiesta, ultimo comando, next_action. DIAGNOSI (dati 8-15/09): a) tutte le chat ChatGPT via MCP condividono UNA sessione al giorno (S...-mcpchatgpt-...): 8 sessioni, 1629 comandi, 173 falliti, un solo CURRENT message token -> comandi di chat diverse mischiati, impossibile capire quale chat si e' bloccata. b) chat_journal START ha dettaglio vuoto: lo scopo dichiarato a /session/open e la pipeline_obbligatoria restituita NON vengono loggati. c) campo cantiere vuoto sul 100% delle righe tracce. d) END loggato in 6 sessioni su ~200: 'bloccata' e 'finita' sono indistinguibili. e) righe GATE con session_id spazzatura ('pathlib','100','%s'): bug del gatekeeper. RESTA (Cloud Run sheets-connector, serve deploy con gate_deploy.sh): 1) /session/open deve scrivere in chat_sessions_log.dettaglio JSON {scopo, pipeline_ids, chat} e in una tabella isicnv_workflows.session_pipeline (session_id, ts, scopo, pipeline_id) -> da cui si vede quali processi usano quali pipeline. 2) MCP ChatGPT: session id per chat (nonce per conversazione), non per giorno. 3) gate.sh: passare --cantiere/scopo a tracce.py log. 4) heartbeat: cron ogni 30 min che marca INTERROTTA in chat_journal le sessioni ATTIVA senza comandi da >60 min, cosi' Telegram/agente le riprende con last_next_action. 5) fix session_id spazzatura nelle righe GATE. DIAGNOSI (dati 8-15/09): a) tutte le chat ChatGPT via MCP condividono UNA sessione al giorno (S...-mcpchatgpt-...): 8 sessioni, 1629 comandi, 173 falliti, un solo CURRENT message token -> comandi di chat diverse mischiati, impossibile capire quale chat si e' bloccata. b) chat_journal START ha dettaglio vuoto: lo scopo dichiarato a /session/open e la pipeline_obbligatoria restituita NON vengono loggati. c) campo cantiere vuoto sul 100% delle righe tracce. d) END loggato in 6 sessioni su ~200: 'bloccata' e 'finita' sono indistinguibili. e) righe GATE con session_id spazzatura ('pathlib','100','%s'): bug del gatekeeper.
* 10/09 08:47 UTC: REFLECT installato (reflect.py + reflect_gate.py). Gate in coda a orchestrator.py (EVOLUZIONE=SI-1-REFLECT-GATE): rc!=0 impedisce la conclusione del ciclo. Prova: due run consecutivi stesso digest a75a1350e174 e stesso sha (stato IDENTICO), gate rc=0, log in logs/reflect.jsonl. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings, 0 blocker. Wiki ops SI-1_Reflect creata, Cantieri aperti aggiornato.
; Provato ed escluso :
* 10/09: REFLECT v2 attivo. reflect.py scrive proposta + state/reflect_context.md + un learning per finding
* niente
* proposer.py inietta il contesto (EVOLUZIONE=SI-1-REFLECT-CONTEXT, riga 15)
; Prossimo passo :
* reflect_gate.py verifica digest, sha documento e sha contesto ed e agganciato in coda a orchestrator.py riga 33 (dopo once()). Soglie in config.json chiave reflect (window 50, finding 3, blocker 5). PROVE: run x2 IDENTICO stesso digest a75a1350e174
* RESTA (Cloud Run sheets-connector, serve deploy con gate_deploy.sh): 1) /session/open deve scrivere in chat_sessions_log.dettaglio JSON {scopo, pipeline_ids, chat} e in una tabella isicnv_workflows.session_pipeline (session_id, ts, scopo, pipeline_id) -> da cui si vede quali processi usano quali pipeline. 2) MCP ChatGPT: session id per chat (nonce per conversazione), non per giorno. 3) gate.sh: passare --cantiere/scopo a tracce.py log. 4) heartbeat: cron ogni 30 min che marca INTERROTTA in chat_journal le sessioni ATTIVA senza comandi da >60 min, cosi' Telegram/agente le riprende con last_next_action. 5) fix session_id spazzatura nelle righe GATE. || RIPRESA: bq query "SELECT * FROM `leafy-responder-483419-a4.isicnv_workflows.v_sessioni_stato` WHERE stato='INTERROTTA' ORDER BY last_cmd DESC LIMIT 20"
* --window 40 da digest diverso 1d631c043cf8
* poi grep -n "chat_journal\|START" /home/claudeuser/cc_src/*.js 2>/dev/null | head
* log spostato -> rc=2
 
* contesto alterato -> rc=2
=== audit_marcoparet_non_conformi ===
* ripristinato -> rc=0. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings AVVISO (famiglia mcpchatgpt: many_events, long_interactive), 2 learning. Wiki ops SI-1_Reflect aggiornata.
''Aggiornato 2026-09-15 05:39 UTC'' &mdash; dominio: pillar
* 10/09 10:30: diagnosi log (123 esiti, 84 sessioni fantasma, 95 senza causa, 24 proposte con 0 promosse) e quattro correttivi. reviewer.py: _cause_extra (EVOLUZIONE=SI-1-CAUSE-ENRICH) con cause da metriche e da testo eventi. proposer.py: vincolo target = percorso assoluto sotto self_improvement/ o hermes/. Nuovi pending_digest.py (digest + archiviazione oltre 7 giorni) e rotate_logs.py (sopra 1MB, tiene 5), lanciati a fine ciclo da orchestrator.py (EVOLUZIONE=SI-1-MANUTENZIONE) prima del gate e senza bloccarlo. PROVE: _cause_extra su 4 casi corretto
 
* digest 21 pendenti 0 archiviate
; Obiettivo : portare a standard le pagine non conformi su marcoparet: [7237, 7227, 5998, 6815, 6818, 6895, 6828, 6886, 6918, 6934, 6938, 6950, 6966, 6925, 6968, 6999, 7018, 153, 7051, 7052, 155, 7046, 7062, 7075, 7094, 7110, 7119, 7121, 7127, 7134, 7178, 7150, 7170, 7177, 7116, 7068, 289, 5101, 6989, 6983, 6751, 6747]
* rotate nessun file sopra soglia
; Vincoli in vigore :
* gate rc=0. Wiki: SI-1_Reflect + SI-1_Qualità_dei_dati_e_manutenzione.
* mai riscrivere: arricchire
* 11/09: security_gate.py (regole deterministiche + parere modello, fail closed, log logs/security.jsonl) e tester.py (sandbox /tmp/si1_test, replace/patch, py_compile, test_cmd allowlist) agganciati in promoter.process in questo ordine: sicurezza, tester, decisione con pending_reason, apply_file_change per PROMPT_TUNE/CODE_PATCH con snapshot+rollback. proposer vincolato a forma eseguibile (replace/patch/test_cmd). pending_digest mostra il motivo. PROVE: esperto su proposta reale = BASSO
* pubblicazione solo via pubblica_pillar.py --ok-marco
* proposta costruita T0 score 99 che abbassa judge_min_score e allarga i tipi automatici = ALTO, PENDING_HUMAN security_hold, config intatta. Tester sulle 44 pendenti: bocciate per target fuori radice/inesistente/parametri descrittivi. Corse cron 20:27 e 08:27 con MANUTENZIONE e GATE_REFLECT PASSATO
* 00:27 e 04:27 cadute per timeout ledger, gia reso non bloccante (SI-1-LEDGER-NONBLOCCANTE). Wiki ops: SI-1_Tester_e_Gate_di_sicurezza.
* 11/09: tester.py installato e agganciato al promoter (EVOLUZIONE=SI-1-TESTER): test FAIL -> AUTO_REJECTED con motivo
* pending_reason esplicito
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* proposer vincolato a forma eseguibile (replace/patch/test_cmd). Prova sulle 47 pendenti: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta)
* negativo respinto
* test_cmd con operatori shell rifiutato. pending_digest invia Telegram alle 08:27 (SI-1-DIGEST-TELEGRAM). Keepalive cc-rescue-keepalive ogni 10 min su /health
* learning cc-rescue registrato. Wiki ops: SI-1_Tester.
* 11/09: tester.py agganciato al promoter (EVOLUZIONE=SI-1-TESTER): FAIL -> AUTO_REJECTED con motivo
* pending_reason esplicito
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* proposer vincolato a forma eseguibile. 47 pendenti provate: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta). Digest Telegram 08:27. Keepalive cc-rescue-keepalive. Wiki ops SI-1_Tester.
* 11/09 22:30: scoperto che dalle 07:47 del 10/09 il cron SI-1 girava su isicnv-secondary senza credenziali GCP (/home/claudeuser/.gcp vuoto): ogni corsa USCITA 1 su bq. Le due copie di self_improvement erano divergenti: allineati sul secondary tester.py, promoter.py, proposer.py, pending_digest.py, security_gate.py (backup in backups/). Cron riportato sulla VM con migra_cron.py --rollback 206 (VM riga 206 attiva, secondary 0). Lanciata corsa manuale di verifica con lo stesso flock.
* 14/09: prime 3 promozioni reali approvate da Marco (release 20260914T2252/2253/2253) su hermes/matching_engine.py e hermes/instructions.py, file compila e importa. Nuovo misura.py (SI-1-MISURA): confronta 72h prima/dopo ogni promozione su tasso di fallimento e passi medi, verdetto MIGLIORA/PEGGIORA/NEUTRA/DATI INSUFFICIENTI, output in state/effetto_promozioni.json|.md e logs/misura.jsonl, agganciato a fine ciclo. Riferimento di partenza: 0.802 di fallimento su 81 esiti, 1.46 passi medi. Ciclo fallito ora avvisa su Telegram con hostname (SI-1-CICLO-FALLITO) e notifier corretto per i messaggi senza proposte (SI-1-AVVISO-LIBERO). Wiki ops SI-1_Reflect aggiornata.
* 18/09: SI-1-ESPERIENZE in servizio (articolo Kasana): scripts/esperienze.py valuta ogni sessione a END (commesse+giornale) e salva PATTERN/LESSON dedup in state/esperienze.json + GCS + BQ isicnv_workflows.esperienze
* ganci: chat_journal END (background), briefing_engine --topic, handoff --resume
* reflect_context.md riceve sezione ESPERIENZE
* cron domenica 05:10 --consolida. Backfill: 1862 eventi -> 175 esperienze (17 pattern, 158 lezioni). Wiki ops SI-1_Esperienze. Verifica a 7gg programmata con differisci.py (si1-esperienze-verifica_differito).
* 19/09 (Marco: il sistema deve riattivare le chat pigre/bloccate e annotare dove serve l'umano): scoperto che il custode R103 su media girava a vuoto dal 15/09 (286 giri identici: AIGW 401 + /home/claudeuser/stato non scrivibile da claudeuser -> registro modelli in errore)
* riparato (si_common+riprendi_chat allineati, chown). Custode ora: esperienze nel contesto, R11 (3 fallimenti identici -> CONTROLLER_ALERT + Telegram, fuori coda), evento SERVE_MARCO nel giornale. esperienze.py: lezioni umano=true (SERVE MARCO da custode/commesse IMPOSSIBILE/gate_cantiere PRESENZA-COSTO-IRREVERSIBILE) e RIPETIZIONE (R11)
* 191 esperienze (20 pattern, 6 umano, 10 ripetizioni). git 5d2038f. Wiki SI-1_Esperienze aggiornata.
* 20/09: R153 (Marco): END con deliverable senza prova RIFIUTATO rc=2 con comandi pronti + esperienze (chat_journal.py)
* RESTA esige tentativo/job/PERCHE' con suggerimenti dalle esperienze (chiusura_core.py)
* wiki ops R153_Chiusura_chiara
* git ef7caf7. Corretto deadlock flock+lock interno di esperienze.py (cron consolida senza flock). Custode: coda vuota da 30h (142 giri 'nessuna chat'), 3 SERVE_MARCO emessi (token-gsc-admin da rigenerare).
* 20/09: autonomia.py installato e agganciato dopo misura.py. Prima corsa: rollback automatico della promozione 18/09 (PEGGIORA +0.206) da release 20260918T042917Z, matching_engine sha 367c4fbf1249, import ok
* soglia ferma a 85 (ultimi 3: PEGGIORA, MIGLIORA, MIGLIORA). Settimana: 3 AUTO_PROMOTED, verdetti 2 MIGLIORA / 3 NEUTRA / 1 PEGGIORA. Respinte con motivo le due pendenti a 85. Wiki SI-1_Reflect sez. 9.
* 21/09: cicli notturni puliti (autonomia ferma a 85, ultimi 3 PEGGIORA/MIGLIORA/MIGLIORA). 5 proposte nuove: 3 auto-respinte dal tester (patch/replace non applicabili, tutte su un polling di piano.py che in orchestrator.py non esiste), 2 respinte a mano con motivo (watch_steps contro nessun_passo
* abbassare judge_min_score su proposta propria). Trovato che la CONFIG_TUNE promossa il 20/09 titolata Polling Interval cambiava in realta watch_steps 3->5: aggiunto al tester il controllo di coerenza (EVOLUZIONE=SI-1-COERENZA): le chiavi modificate devono comparire in titolo o motivazione
* provato su caso coerente (PASS) e incoerente (FAIL). Tema ricorrente in 3 proposte: gate esplicito prima dell invio campagne grandi — sede giusta il mail engine, decisione di Marco.
* 23/09 Hermes Daily: adottato RRSI (arXiv 2609.24972) nel proposer (SI-1-RRSI: dedup Jaccard>=0.5 stesso target + budget 3000 char/80 righe, provato). Trovato e riparato il canale friction morto dal 24/08 (friction_log severity testuale nel JSON -> INSERT 400 silenzioso
* HERMES-SEVERITY-NUM, prova True). Ponte Reflect->system_events friction (SI-1-REFLECT-FRICTION, idempotente). Proposte Hermes: 0/54 mai decise -> 12 chiuse GIA_RISOLTO/GIA_COPERTO con motivo, restano 42. Wiki SI-1_Reflect sez. 10.
* 2026-09-23 14:01 UTC ASSORBITO il cantiere 'chat-s20260923-claudesi1-nkfgid' (simile): obiettivo: Sessione S20260923-claudesi1-nkfgid: deliverable D1-D3 incompleti (lettura ultime uscite Hermes Daily, sintesi adozioni, handoff aggiornato) e commessa mai chiu | perche': chat S20260923-claudesi1-nkfgid chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 23/09 sera: hermes_cases.py (SI-1-HERMES-CASI) porta le proposte Hermes senza decisione in SI-1 come casi HP-*, 2 per corsa, riga BQ marcata SI1
* provato con HP-prop_20260826_71e2a5. hermes_migliorie cron disattivato (#CONCENTRATO_SI1, crontab backup). Hermes Daily include blocco SI-1 (HERMES-DAILY-SI1)
* Telegram digest pendenti spento (DIGEST-TELEGRAM-OFF). Wiki sez. 11. VM riavviata da agent-watchdog alle 16:06 UTC per memoria: non SI-1.
* 29/09: settimana 23-29: 2 nuove AUTO_PROMOTED misurate MIGLIORA (-0.101 fallimenti), soglia scesa a 80 e CODE_PATCH entrato in automatico da solo, come previsto. Difetto trovato: CODA_PIENA (434 volte) perche 26 pendenti solo-punteggio saturavano il tetto 25
* 60 casi HP presi da BigQuery ma mai lavorati. Correzioni: promoter chiude da solo le proposte ferme solo per punteggio (SI-1-PENDING-SOLO-PUNTEGGIO)
* hermes_cases lavora prima gli HP arretrati e non ne prende di nuovi a coda piena (SI-1-HERMES-BACKLOG)
* coda 26->19. Chiuse con motivo 3 pendenti a 85 (campo inesistente / target sbagliato / contatore in memoria).
; Provato ed escluso :
* tool MCP safe_* non testabili da questa chat (connettore non caricato): la via HTTP con X-API-Key e equivalente e verificata
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito marcoparet --correggi --pid 7237 7227 5998 6815 6818 6895 6828 6886 6918 6934 6938 6950 6966 6925 6968 6999 7018 153 7051 7052 155 7046 7062 7075 7094 7110 7119 7121 7127 7134 7178 7150 7170 7177 7116 7068 289 5101 6989 6983 6751 6747
* grep -nE "HP-prop|CODA_PIENA|Traceback" /home/claudeuser/self_improvement/si1.cron.log | tail -12


=== geo-loop ===
=== grafo-da-chat-0929 ===
''Aggiornato 2026-09-14 23:23 UTC'' &mdash; dominio: marcoparet.com
''Aggiornato 2026-09-29 06:11 UTC'' &mdash; dominio: memoria


; Obiettivo : Loop di miglioramento visibilita AI (GEO) a CICLO DI 3 GIORNI (approvato da Marco 15/09): giorno 0 misura+diagnosi, giorno 1 azioni in bozza, giorno 3 ri-misura+confronto. Base: /opt/wikibox/misura_pillar.py e state/misura_*.json
; Obiettivo : Riempire isicnv_grafo.archi e gli alias di isicnv_knowledge.entities (tutte le 1765) dalle 757 chat esportate fino al 18/09 (claude_export.messaggi): strato1 deterministico (entita_menzioni + co_citata_con), strato2 DeepSeek (alias verificati nei brani + relazioni tipizzate solo verso entita' note, confidenza 0.7, fonte=chat)
; Vincoli in vigore :
; Vincoli in vigore :
* Pubblicazioni solo Marco. Registrare sempre i domini citati. Estendere misura_pillar.py, non creare benchmark nuovi.
* gate=auto
* tetto 4 USD
* non creare tabelle di entita nuove
; Fatto (con prova) :
; Fatto (con prova) :
* 15/09: letta serie 14/08-14/09. Bin1 (GPT/Gemini/Mistral puri) 0/24 costante. Bin2 Perplexity 14/40 brand, 23/40 rif, in salita. Reperibili su domande di definizione (11/12), assenti su domande di mercato (3/20). Buco: mesmerismus definizione 0/5 in tutte le lingue. Non misurati: ChatGPT Search, piano free.
* 29/09: scripts/grafo_da_chat.py scritto e compilato
* 15/09: serie 14/08-14/09 letta. Bin1 puri 0/24 costante
* piano grafo-da-chat-0929 in 3 passi
* Perplexity 14/40 brand 23/40 rif. Forti su definizione (11/12), assenti su mercato (3/20)
* job grafo-da-chat-0929_run in coda (parte al calo di carico, custode_carico)
* buco mesmerismus/definizione 0/5. Non misurati ChatGPT Search e piano free.
; Prossimo passo :
; Prossimo passo :
* 1) /opt/wikibox/geo_diagnosi.py deterministico: ultimo misura_*.json -> geo_gap_<data>.json + riga wiki Cantieri. 2) cron misura+diagnosi ogni 3 gg (0 7 */3 * *), file misura_<data>.json invariato. 3) geo_azioni.py -> bozze in fabbrica pillar, mai publish. 4) ChatGPT Search piano free in MODELLI_B2. 5) geo_confronto.py: azioni tenute/scartate su 2 misure consecutive (6 gg). Budget <2 USD per ciclo.
* job grafo-da-chat-0929_run (job.py --status)
* poi gate_pipeline.precedenti() deve includere grounding (entita+archi+entita_menzioni)
* revisione a campione degli archi confidenza 0.7 (verificato_il NULL)
* pagina wiki 'Entita canoniche e grafo'
 
=== leads-journey-ricostruzione-0928 ===
''Aggiornato 2026-09-28 11:25 UTC'' &mdash; dominio: -
 
; Obiettivo : Percorso lead->iscrizione aggiornato ogni giorno con canale, per misurare quali canali portano iscritti veri
; Prossimo passo :
* 1|email dei 174 box senza email via API Streak (box.emailAddresses) o lead_sync.py|cercare chiave Streak in lead_sync.py
* 2|costo per iscritto Google Ads: spesa mensile (ads_refresh_daily / ADS-1) vs iscritti vmk_ga per mese di lead|ADS-1
* 3|rifare conversioni quando valore-cliente-incassi-0928 alza l attribuzione|leads_journey_v2.py --costruisci && --verifica
* 4|streak_boxes_daily davvero giornaliera (5 snapshot dal 05/08)|trovare lo script
 
=== valore-cliente-incassi-0928 ===
''Aggiornato 2026-09-28 10:25 UTC'' &mdash; dominio: -
 
; Obiettivo : Valore cliente REALE per contatto: quanto ha pagato ogni persona, per periodo (totale, 24m, 12m), incrociando tutte le fonti (Wise 4 profili, Stripe UE/BALKAN/IPCA, PayPal, ThriveCart, IPCA PayPal escluso per decisione Marco 7/9) — base per segmenti marketing e contatti_master.lifetime_value_eur
; Prossimo passo :
* 1|controllare job incassi-contatti-0928_run e verifica stretta|job.py --status incassi-contatti-0928_run
* 2|alzare l attribuzione dei 769k: usare allievo_360.py / riconcilia_cassa / pagatori_alias / fogli_salsina_persone / streak box, societa -> persona|dai piu recenti indietro (regola Marco 12/09)
* 3|correggere unita in thrivecart_transactions (centesimi) alla fonte, nello script che la scrive|grep thrivecart_transactions scripts
* 4|cambi reali: usare tassi Wise (transactions_multianno importo_eur) o BCE giornalieri|incassi_per_contatto.py RATE
* 5|integrare anni 2013-2019 da fogli con etichetta fonte=foglio
* 6|consegna: tabella per anno x fonte x attribuito + metodo scritto, poi rilancio --applica|report per Marco
 
=== doppiaggio-vocale-0928 ===
''Aggiornato 2026-09-28 09:07 UTC'' &mdash; dominio: -
 
; Obiettivo : Doppiare con voce AI femminile i video YouTube di Paret: DE e FR ora, poi PL HU ES PT una lingua alla volta
; Vincoli in vigore :
* nessun caricamento su YouTube senza ok di Marco
; Fatto (con prova) :
* 28/09: pipeline v4 scripts/doppiaggio_v4.py (Rutube full_pipeline resa multilingua: OCR in cache doppiaggio/blocks, traduzione aigw/DeepSeek->YandexGPT, voce Google Chirp3-HD Aoede, anticipo 0.5s, atempo max 1.3, originale in sidechain, video non ricodificato). Batch doppiaggio_batch.py <lang> sui 28 video Rutube. Test DE p_-y0UCwAqg ok. Job doppiaggio-de-fr_run in corso
; Provato ed escluso :
* nuova selezione video e campioni voce: Marco non vuole rifare passi gia fatti (tabella doppiaggio_pilota e campioni creati per errore, ignorarli)
; Prossimo passo :
* 1|verifica batch DE e FR|job.py --status doppiaggio-de-fr_run
* 2|anteprime condivisibili a Marco (GCS privato 403: Drive o signurl)|-
* 3|caricamento tracce audio+SRT su YouTube Studio via Playwright|cantiere youtube-sistemazione-0918
* 4|lingue successive PL HU ES PT|doppiaggio_batch.py pl


=== si-1-automiglioramento ===
=== gate-mcp-log-chat ===
''Aggiornato 2026-09-14 23:19 UTC'' &mdash; dominio: VM / infrastruttura
''Aggiornato 2026-09-23 16:17 UTC'' &mdash; dominio: ingegnere


; Obiettivo : Fatto quando: SI-1 adotta da solo miglioramenti verificati e si vede, nei numeri, che i fallimenti calano. Pipeline sulla VM: reviewer -> researcher -> proposer (inventario) -> tester (sandbox) -> promoter (snapshot+rollback) -> Reflect gate -> misura.
; Obiettivo : OGNI chat (Claude/ChatGPT/Gemini, MCP o VM, nuova o in corso) dichiara obiettivo finale + aree e lascia un log completo: sessione con scopo, ogni comando con PASSO (R155), ogni chiamata MCP con session_id, chiusura R152. Fatto quando: chat MCP-only senza sessione rifiutata dal bridge; query BQ mostra tutte le chat di un giorno con obiettivo, ultimo passo, aree, stato; Guardia segnala anomalie; report giornaliero per area.
; Vincoli in vigore :
; Vincoli in vigore :
* read-only cc-rescue
* Additivo
* auto_code_roots = self_improvement + hermes
* EMERGENZA-* libero
* CODE_PATCH non automatico (approvazione di Marco)
* cc_session_open unico tool senza sessione
* backup e marcatore EVOLUZIONE=SI-1 su ogni modifica
* R102/R155 invariati. MAI aggiungere righe a gate.sh (si rompe): estensioni in script separati agganciati da tracce.py/gate_pipeline.py. Nessuna cancellazione di log.
; Fatto (con prova) :
; Fatto (con prova) :
* 10/09 07:00 UTC: cron SI1_ORCHESTRATOR presente (27 */4, flock). Corse 00:27 e 04:27 morte per timeout bq CLI 120s (VM load 24, 23 bq in coda). Patch si_common.bq: client python google-cloud-bigquery + fallback CLI 300s x2 (test 3.7s vs timeout). pilot.py: guardia --help (prima --help lanciava un ciclo intero: bump config v3->v4 involontario ma idempotente). Job si1_ciclo_forzato_20260910 lanciato e passato oltre la raccolta casi. Safe Mode via HTTP: /safe/status ok, /safe/snapshot -> gs://isicnv-command-center-routes/safe_mode/snapshots/20260910T070934Z.tgz verificato
* 23/09/2026: MRO v8.0 STEP 0 + R153 (registrazione al gate come prima azione) scritti
* 10/09 08:47 UTC: REFLECT installato (reflect.py + reflect_gate.py). Gate in coda a orchestrator.py (EVOLUZIONE=SI-1-REFLECT-GATE): rc!=0 impedisce la conclusione del ciclo. Prova: due run consecutivi stesso digest a75a1350e174 e stesso sha (stato IDENTICO), gate rc=0, log in logs/reflect.jsonl. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings, 0 blocker. Wiki ops SI-1_Reflect creata, Cantieri aperti aggiornato.
* rule nel grafo rule_1790175473222_2pk2ae
* 10/09: REFLECT v2 attivo. reflect.py scrive proposta + state/reflect_context.md + un learning per finding
* wiki ops rules.md/log.md aggiornati. Marco ha approvato il piano a 3 livelli (msg R102 16d16f0d8ec6cdc54590b0ccd6b1d846fa9d989e).
* proposer.py inietta il contesto (EVOLUZIONE=SI-1-REFLECT-CONTEXT, riga 15)
* 23/09/2026: MRO v8.0 STEP 0 + R153
* reflect_gate.py verifica digest, sha documento e sha contesto ed e agganciato in coda a orchestrator.py riga 33 (dopo once()). Soglie in config.json chiave reflect (window 50, finding 3, blocker 5). PROVE: run x2 IDENTICO stesso digest a75a1350e174
* rule grafo rule_1790175473222_2pk2ae
* --window 40 da digest diverso 1d631c043cf8
* wiki ops aggiornata. MISURATO sul giornale (7gg, isicnv_workflows.chat_sessions_log): 114 sessioni, 92 con START, 30 con STEP, 9 con END, 37 END_NONVERIFICATO
* log spostato -> rc=2
* nessuna auto/emergenza. Cioe': chi usa la VM viene registrato (R95 funziona), ma 4 chat su 5 non lasciano STEP e quasi nessuna chiude
* contesto alterato -> rc=2
* le chat MCP-only non compaiono affatto. Esiste gia' il campo scopo (session/open?scopo, file sessions/SID.scopo, commessa R90 auto al primo comando se c'e' scopo): e' la base per l'obiettivo finale. Manca l'obiettivo PARZIALE. Marco 23/09 (msg 16d16f0d + due vocali): 'la cosa piu' semplice e' che una chat dica il suo obiettivo: cosi' abbiamo il log, vediamo se e' conforme, possiamo coordinare piu' obiettivi
* ripristinato -> rc=0. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings AVVISO (famiglia mcpchatgpt: many_events, long_interactive), 2 learning. Wiki ops SI-1_Reflect aggiornata.
* e poi l'obiettivo parziale della situazione, questo e' sicuro'.
* 10/09 10:30: diagnosi log (123 esiti, 84 sessioni fantasma, 95 senza causa, 24 proposte con 0 promosse) e quattro correttivi. reviewer.py: _cause_extra (EVOLUZIONE=SI-1-CAUSE-ENRICH) con cause da metriche e da testo eventi. proposer.py: vincolo target = percorso assoluto sotto self_improvement/ o hermes/. Nuovi pending_digest.py (digest + archiviazione oltre 7 giorni) e rotate_logs.py (sopra 1MB, tiene 5), lanciati a fine ciclo da orchestrator.py (EVOLUZIONE=SI-1-MANUTENZIONE) prima del gate e senza bloccarlo. PROVE: _cause_extra su 4 casi corretto
* 23/09 18:15: LIVELLO 0 = R155 REGISTRO PASSI FATTO e verificato (blocco senza PASSO
* digest 21 pendenti 0 archiviate
* riga con msgid su BQ passi_chat
* rotate nessun file sopra soglia
* cron carica). MRO: STEP 0 fuso (scopo+aree+contesto+PASSO), R153, R155. Wiki ops rules/log. Misura 7gg pre-R155: 114 sess, 30 con STEP, 9 con END.
* gate rc=0. Wiki: SI-1_Reflect + SI-1_Qualità_dei_dati_e_manutenzione.
; Provato ed escluso :
* 11/09: security_gate.py (regole deterministiche + parere modello, fail closed, log logs/security.jsonl) e tester.py (sandbox /tmp/si1_test, replace/patch, py_compile, test_cmd allowlist) agganciati in promoter.process in questo ordine: sicurezza, tester, decisione con pending_reason, apply_file_change per PROMPT_TUNE/CODE_PATCH con snapshot+rollback. proposer vincolato a forma eseguibile (replace/patch/test_cmd). pending_digest mostra il motivo. PROVE: esperto su proposta reale = BASSO
* Affidarsi alla sola disciplina della chat (e' il buco attuale: le chat MCP-only sfuggono).
* proposta costruita T0 score 99 che abbassa judge_min_score e allarga i tipi automatici = ALTO, PENDING_HUMAN security_hold, config intatta. Tester sulle 44 pendenti: bocciate per target fuori radice/inesistente/parametri descrittivi. Corse cron 20:27 e 08:27 con MANUTENZIONE e GATE_REFLECT PASSATO
* Affidarsi alla sola disciplina della chat. Considerare 'registrate' le chat vecchie solo perche' passano dal gate VM: senza obiettivo dichiarato il log non dice che cosa fanno.
* 00:27 e 04:27 cadute per timeout ledger, gia reso non bloccante (SI-1-LEDGER-NONBLOCCANTE). Wiki ops: SI-1_Tester_e_Gate_di_sicurezza.
* Affidarsi alla disciplina della chat.
* 11/09: tester.py installato e agganciato al promoter (EVOLUZIONE=SI-1-TESTER): test FAIL -> AUTO_REJECTED con motivo
; Prossimo passo :
* pending_reason esplicito
* LIVELLO 1 sul bridge Cloud Run sheets-connector: /session/open accetta aree= (11 aree contesto_area.py), le propone dallo scopo se mancano (compilatore assistito), risponde con altre chat attive nelle stesse aree
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* middleware che rifiuta ogni tool senza sessione
* proposer vincolato a forma eseguibile (replace/patch/test_cmd). Prova sulle 47 pendenti: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta)
* mcp_tool_log. Backup revisione Cloud Run
* negativo respinto
* OK Marco al deploy. LIVELLO 2 parola d'ordine MRO. LIVELLO 3 chat_messages + Guardia + report giornaliero per area. Dettagli: /home/claudeuser/handoffs_aree_proposta.md
* test_cmd con operatori shell rifiutato. pending_digest invia Telegram alle 08:27 (SI-1-DIGEST-TELEGRAM). Keepalive cc-rescue-keepalive ogni 10 min su /health
 
* learning cc-rescue registrato. Wiki ops: SI-1_Tester.
=== contesto-aree-0923 ===
* 11/09: tester.py agganciato al promoter (EVOLUZIONE=SI-1-TESTER): FAIL -> AUTO_REJECTED con motivo
''Aggiornato 2026-09-23 01:42 UTC'' &mdash; dominio: -
* pending_reason esplicito
 
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
; Obiettivo : Context engineering: nucleo MRO + 11 aree funzionali + compressione output + ambito per passo
* proposer vincolato a forma eseguibile. 47 pendenti provate: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta). Digest Telegram 08:27. Keepalive cc-rescue-keepalive. Wiki ops SI-1_Tester.
; Vincoli in vigore :
* 11/09 22:30: scoperto che dalle 07:47 del 10/09 il cron SI-1 girava su isicnv-secondary senza credenziali GCP (/home/claudeuser/.gcp vuoto): ogni corsa USCITA 1 su bq. Le due copie di self_improvement erano divergenti: allineati sul secondary tester.py, promoter.py, proposer.py, pending_digest.py, security_gate.py (backup in backups/). Cron riportato sulla VM con migra_cron.py --rollback 206 (VM riga 206 attiva, secondary 0). Lanciata corsa manuale di verifica con lo stesso flock.
* Doc MRO canonico non modificato
* 14/09: prime 3 promozioni reali approvate da Marco (release 20260914T2252/2253/2253) su hermes/matching_engine.py e hermes/instructions.py, file compila e importa. Nuovo misura.py (SI-1-MISURA): confronta 72h prima/dopo ogni promozione su tasso di fallimento e passi medi, verdetto MIGLIORA/PEGGIORA/NEUTRA/DATI INSUFFICIENTI, output in state/effetto_promozioni.json|.md e logs/misura.jsonl, agganciato a fine ciclo. Riferimento di partenza: 0.802 di fallimento su 81 esiti, 1.46 passi medi. Ciclo fallito ora avvisa su Telegram con hostname (SI-1-CICLO-FALLITO) e notifier corretto per i messaggi senza proposte (SI-1-AVVISO-LIBERO). Wiki ops SI-1_Reflect aggiornata.
* gate.sh NON allungabile (rompe alla riga 134, ripristinato da backup)
; Provato ed escluso :
; Fatto (con prova) :
* tool MCP safe_* non testabili da questa chat (connettore non caricato): la via HTTP con X-API-Key e equivalente e verificata
* contesto_bilancio.py (rapporto ~/logs/contesto_bilancio.md)
* mro_aree.py -> ~/state/mro_aree (nucleo 9k token, aree, indice
* il Doc ripete 5 volte l indice regole)
* catalogo_aree.py: colonna aree su 903 oggetti
* contesto_area.py a 3 livelli (2 aree = 12.8k token vs 27k)
* sunto.py
* piano.py ambito per passo con IN_ATTESA_MARCO e --ok-marco (collaudato prova-ambito-0923)
* wiki ops Contesto_a_livelli_(context_engineering)
; Prossimo passo :
; Prossimo passo :
* fra 72h: python3 /home/claudeuser/self_improvement/misura.py e leggere state/effetto_promozioni.md — i tre verdetti devono uscire da DATI INSUFFICIENTI
* Decisioni di Marco: (1) LEGGIMI_PRIMA + STEP 0 -> partenza da contesto_area.py
* se PEGGIORA, rollback dalla release corrispondente
* (2) pulizia Doc: 5 copie indice, doppioni R96/R106/R107/R154-ter. Poi rilanciare mro_aree.py


=== si1-fallback-pubblicazione ===
=== stipendi-bg-verifica-0922 ===
''Aggiornato 2026-09-14 22:56 UTC'' &mdash; dominio: pubblicazione / infrastruttura
''Aggiornato 2026-09-22 14:05 UTC'' &mdash; dominio: INTERNO NUMERI / persone


; Obiettivo : Fatto quando: una pubblicazione su HostGator che fallisce per blocco SSH prosegue da sola su un percorso alternativo, senza che Marco se ne accorga. Origine: proposta SI-1 [85] 'Add GitHub Actions fallback to task_ledger' (12/09), oggi solo descrittiva.
; Obiettivo : Ogni mese il pacchetto Hristova e' confrontato con i bonifici Wise senza intervento umano; prospetti in un posto solo su Drive; Marco decide il bonus sui numeri
; Vincoli in vigore :
; Vincoli in vigore :
* il target task_ledger e fuori da auto_code_roots: la modifica va scritta a mano o spostata dentro self_improvement/hermes
* Mail STIPENDI ANTONYA in copia a isicnv@gmail.com
* serve un PAT GitHub (segreto: chiederlo a Marco, non inventarlo)
* pagamenti da Wise API live (ledger bucato da mag 2026)
* ledger_gap_wise.py misura grezza da raffinare
; Fatto (con prova) :
; Fatto (con prova) :
* proposta generata e valutata 85 dal giudice
* BQ isicnv_finance.stipendi_bg_* + v_stipendi_bg_verifica
* ferma perche descrittiva e su target fuori perimetro
* cron verifica_stipendi_bg.py 3 e 12 del mese
* Drive DOCUMENTAZIONE HRISTOVA 1cNIf0f9NSXfRmA8nAP3bmYCv5c-d-1ZW
* doc analisi 1Cb5zu5268v7nM-flWWIJedVGf4TRjxPH4fA-4mdV0lg
; Prossimo passo :
; Prossimo passo :
* 1) trovare nel codice di pubblicazione il punto dove il fallimento SSH HostGator diventa errore (grep -rn ssh /home/claudeuser/scripts/*publish* *hostgator*)
* 1|MARCO decide bonus Salsina da settembre (A 455 / B 485 / C in busta)
* 2) decidere dove sta il fallback
* 2|AUTO: raffinare ledger_gap_wise.py (solo OUT, match beneficiario) e lista vera dei mancanti
* 3) trasformare la proposta in un replace ancorato e passarla dal tester
* poi FIN-1 inserisce con dedup
 
* 3|Chiedere a Salsina i fogli 3.2026 e 4.2026 e la copia a isicnv
=== si1-indicizzazione-gsc ===
* 4|Ottobre: cron verifica prospetto settembre con contratto Marco 2h
''Aggiornato 2026-09-14 22:56 UTC'' &mdash; dominio: SEO / monitoraggio
 
=== catasto-domini-wiki ===
''Aggiornato 2026-09-20 19:00 UTC'' &mdash; dominio: wiki infrastruttura


; Obiettivo : Fatto quando: lo stato di indicizzazione delle pagine pubblicate e visibile senza controlli manuali, e un calo viene segnalato da solo. Origine: proposta SI-1 [90] 'Integrate Google Search Console Indexing Status Monitoring' (12/09), il punteggio piu alto mai dato dal giudice.
; Obiettivo : Una pagina wiki ops per ogni dominio e hosting con scheda GENERATA (registry + v_site_hosting + v_property_360) fra marcatori SCHEDA_AUTO, aggiornata a chiusura sessione e controllata di notte
; Vincoli in vigore :
; Vincoli in vigore :
* integra API esterna: credenziali GSC, quota, job nuovo
* Fonte unica: registry. Nessuna scheda scritta a mano. Sezione generata fra marcatori, il resto della pagina non si tocca. Campi mancanti in registry (registrar, provider, piano, scadenza) si aggiungono al registry, non alla wiki
* non e un cambio da un rigo. Le pagine nuove partono comunque dai dati GSC reali (regola pillar)
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* proposta generata e valutata 90
* 18/09: gap misurato: 286 website in registry, tutti con wiki_page, solo 12 con parent_property (hosting)
* ferma perche descrittiva e di tipo CODE_PATCH su target fuori perimetro
* 6 hosting_provider e 7 hosting_account gia in registry. catasto_ip.py lanciato (job catasto-domini-wiki_ip) -> /home/claudeuser/logs/catasto_ip.csv. registra_esito.py + tabella isicnv_workflows.esiti_sessione creati, primo record inserito
* 20/09: hosting_ip_map (15 IP->hosting da rDNS), site_ip, vista v_site_hosting: 271/286 siti con hosting attribuito (12 registry, 259 da IP, 15 sconosciuti). catasto_wiki.py in servizio (SELECT via CC /bq/query force:true, scrittura via wiki_ops.pubblica): verificata live su marcoparet.com
* pagine dei 7 hosting scritte
* job catasto-domini-wiki_pagine sta scrivendo i 286 siti. chiusura.py legge ESITO:/PROVA: e registra in esiti_sessione
* chat_journal END fa da rete
* 2026-09-20 19:00 UTC ASSORBITO il cantiere 'chat-s20260920-clauderecupe-d4sq89' (simile): obiettivo: Verificare completamento job catasto-domini-wiki_pagine sui 286 siti e chiudere formalmente la commessa (mai chiusa: né COMPIUTO né IMPOSSIBILE). | perche': chat S20260920-clauderecupe-d4sq89 chiusa senza prova: il custode R103 ha trovato passi eseguibili
; Prossimo passo :
; Prossimo passo :
* 1) verificare se esiste gia un accesso GSC funzionante sulla VM (grep -rn searchconsole /home/claudeuser/scripts | head)
* 1) controllare job catasto-domini-wiki_pagine (fine: N pagine, 0 errori)
* 2) se si, scrivere un job che legge lo stato di indicizzazione delle ultime pagine e lo scrive in BigQuery
* 2) aggiungere al registry gli hosting scoperti dal DNS: hosting_hostgator_gator3272 (20 siti), hosting_serverplan_cms026, hosting_hostgator_nonid — chiedere a Marco quale account e gator3272
* 3) solo dopo, la segnalazione automatica
* 3) cron settimanale: catasto_ip.py poi catasto_wiki.py --tutti
* 4) redattore: a ogni esito FATTO in esiti_sessione con risorse che citano un dominio, rilanciare catasto_wiki.py --id su quella proprieta
* 5) i 40 NXDOMAIN: lista per Marco
* python3 /home/claudeuser/scripts/job.py --status catasto-domini-wiki_pagine
* se FAILED: python3 /home/claudeuser/scripts/job.py --run 'bash /home/claudeuser/scripts/setup_catasto.sh' --id catasto-domini-wiki_pagine2
* se DONE: python3 /home/claudeuser/scripts/catasto_wiki.py --tutti
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260920-clauderecupe-d4sq89 --esito COMPIUTO --consegna https://wiki.marcoparet.com/ops/index.php?title=marcoparet.com_%28site_marcoparet_com%29


=== espressioni-pipeline ===
=== wiki-iperefficiente-0919 ===
''Aggiornato 2026-09-14 10:59 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-19 18:15 UTC'' &mdash; dominio: wiki
 
; Obiettivo : Pipeline iterativa DB espressioni per tema (sguardo, estasi, magnetismo, influence, toucher, volonte, clairvoyance): motore scripts/espressioni_extract.py + espressioni_export_sheet.py + coda espressioni_pipeline.py; temi in scripts/espressioni_temi.json; stato in espressioni_db/<tema>/pipeline.json e registro.json; job espressioni-coda-1_run in corso; estasi-db_run in corso (estasi_db/). Per un tema nuovo: aggiungere voce al json e lanciare job.py --run "python3 /home/claudeuser/scripts/espressioni_pipeline.py --coda <slug>"
 
=== audit_neurolinguistic_non_conformi ===
''Aggiornato 2026-09-13 21:07 UTC'' &mdash; dominio: pillar


; Obiettivo : portare a standard le pagine non conformi su neurolinguistic: [197, 4300, 11818, 11780, 11804, 479, 776, 3640, 3639, 3637, 4293, 4292, 3633, 3162, 4289, 4288, 11505, 4287, 4286, 3628, 2, 136, 146, 168, 303, 482, 65, 3627, 531, 535, 609, 621, 644, 682, 696, 872, 927, 1025, 1089, 1119]
; Obiettivo : Ogni scheda ops ha Accesso/Stato/Come si usa veri, aggiornati ogni notte da wiki_custode.py (deepseek, <1 EUR/notte); il dossier delle chat li riceve; zero deleghe di accesso a Marco (gate_delega rc=2 -> 0)
; Vincoli in vigore :
; Vincoli in vigore :
* mai riscrivere: arricchire
* solo opswiki
* pubblicazione solo via pubblica_pillar.py --ok-marco
* mai password sulla wiki
* scrivere solo via wiki_new.py
* tetto 1 EUR/notte
* prima settimana dry-run
* ok di Marco sul progetto prima del passo 1
; Fatto (con prova) :
* 19/09: progetto in /home/claudeuser/cantieri/wiki-iperefficiente-0919.md
* dossier.py, registro_identita.json e gate_delega_marco.py gia' in opera
; Provato ed escluso :
* migrazione motore wiki
* bot sulla wiki pubblica
* creare pagine dal nulla
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito neurolinguistic --correggi --pid 197 4300 11818 11780 11804 479 776 3640 3639 3637 4293 4292 3633 3162 4289 4288 11505 4287 4286 3628 2 136 146 168 303 482 65 3627 531 535 609 621 644 682 696 872 927 1025 1089 1119
* cat /home/claudeuser/cantieri/wiki-iperefficiente-0919.md && python3 /home/claudeuser/scripts/handoff.py --resume wiki-iperefficiente-0919


=== capoufficio_agente_risolve ===
=== youtube-sistemazione-0918 ===
''Aggiornato 2026-09-12 14:10 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-19 09:00 UTC'' &mdash; dominio: -


; Obiettivo : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat
; Obiettivo : Sistemare al meglio tutti i video YouTube: sottotitoli tradotti in 14 lingue (en it pt fr es de id ja ru tr ko pl nl hi) partendo dai video top, poi doppiaggio voce sui canali lingua
; Vincoli in vigore :
; Vincoli in vigore :
* reversibile: backup .bak_* accanto a ogni file toccato
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* capoufficio_watch.py reso host-aware (check+heal via ssh su media/secondary dove i cron sono migrati il 10/09
* 18/09: token-yt-neurolinguistic.json valido (canale MARCO PARET)
* backup .prima_hostaware_11set)
* yt_cc_inventory.py testato via proxy DataImpulse
* registry: finance_cassa heal_timeout_s=660, marcoparet_autoheal host=secondary
* piano youtube-sistemazione-0918 lanciato come job youtube-sistemazione-0918_run
* /var/log/isicnv creato su media e secondary
* 2026-09-19 09:00 UTC ASSORBITO il cantiere 'chat-s20260919-claudeyoutub-1tji991' (simile): obiettivo: D2: pilota captions.insert bloccato sul download audio (proxy DataImpulse 407 TRAFFIC_EXHAUSTED, VM/Hetzner senza cookie → 'Sign in to confirm you are not a bot | perche': chat S20260919-claudeyoutub-1tji991 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 9 monitor in RECOVERY
* A) watch host-aware (check+heal via ssh su media/secondary). B) CAUSA DEI CANTIERI MAI LAVORATI: guardia.py e' migrata su media il 10/09 ma li' gsutil era anonimo (401) -> vedeva 0 handoff
* risolto con gcloud auth activate-service-account media-worker per claudeuser (ora vede i 465 handoff, watch_* compresi). C) Telegram differito: cantiere subito, avviso a Marco solo se lo stesso problema resiste avvisa_dopo_cicli (default 4 ~1h)
* recovery solo se avvisato. D) heal_auto: monitor fermo senza heal_cmd -> rilancio del suo cron sulla macchina giusta. Backup: capoufficio_watch.py.prima_hostaware_11set / .prima_differito_11set
* 11/09: la guardia su media girava come root senza credenziali e scriveva 0 handoff: cron spostato a claudeuser (backup /root/crontab.bak_guardia_11set), gate GATE_ARCHIVIO_VUOTO in guardia.py (zero letto = guasto, Telegram ogni 6h)
* scoperti due archivi (state/cantieri delle chat vs plans/handoff degli agenti): ponte_cantieri.py in cron ogni 30 min con gate-prima sul comando
* commessa.py chiudi rifiuta gli handoff in prosa senza job (GATE_HANDOFF_PARCHEGGIO, off con touch /home/claudeuser/sessions/GATE_HANDOFF_OFF)
* primo giro guardia in corso su 465 cantieri
* 11/09: watch host-aware
* guardia su media con credenziali
* Telegram differito (avvisa_dopo_cicli)
* heal_auto. 12/09 notte: (a) heal a raffica fermato: heal_ogni_min default 120 (finance_daily_sync girava ogni 15 min su media e mandava 'step falliti paypal' a ogni giro)
* (b) log_clean su log mai scritto = OK (argo_watch.log e cassa_check.log non esistevano perche' /var/log/isicnv mancava fino al 11/09 13:37)
* (c) CAUSA della perdita credenziali su media: il cron marcopi fa 'gcloud config set account 424757051842-compute@...' e rende gsutil anonimo -> guardia cieca e PayPal token illeggibile
* blindato con ~/.boto (gs_service_key_file=media-worker.json) + pass_credentials_to_gsutil=false: gsutil funziona qualunque sia l'account attivo. Backup: capoufficio_watch.py.prima_throttle_12set
* 12/09 pom: (E) firma stabile dei problemi (numeri->#): prima i cicli si azzeravano a ogni giro e i monitor con heal non avvisavano mai. (F) terzo stato PERSISTENTE: dopo 2 avvisi singoli (avvisa_dopo_cicli, poi riavvisa_dopo_cicli=8) il monitor tace e finisce nel riepilogo giornaliero delle 07 UTC, un solo messaggio
* recovery e nuovi guasti restano immediati. Backup capoufficio_watch.py.prima_riepilogo_12set. (G) token GSC: gsc-admin e token-searchconsole revocati (guardiano_token.py li vede dal 11/09)
* creato scripts/gsc_token.py con ripiego su token-informazionicorsi-gsc + mappatura sc-domain->URL-prefix con piu dati
* gate_pagina_protetta e sat_gsc_sync adattati (bak_gsc_12set)
* sat_gsc_sync senza --replace
* righe polyvagal ripristinate da /tmp/gsc.jsonl del 11/09 (BQ gsc_queries: 9994 righe, 40 siti)
; Prossimo passo :
; Prossimo passo :
* (1) Marco deve rigenerare token-gsc-admin.json (account proprietario delle sc-domain marcoparet, neurolinguistic, polyvagal*): finche non lo fa i siti polyvagal restano fermi al 11/09. (2) verificare domani dopo le 07:10 UTC il riepilogo (monitors/watch_riepilogo_ultimo.txt) e che il primo alert reale porti avvisi=1 in watch_state.json. (3) restano i punti 1-4 del 12/09 notte
* 3|pilota 20 video top da priorita_sottotitoli: Groq Whisper -> DeepSeek 14 lingue -> captions.insert (quota Data API esaurita il 18/09, riparte dal reset 09:00 CET
* chiedere aumento quota)|scrivere yt_captions_pilot.py, ok Marco msg 2e821dbb7735960135a6808f2f05b592045ecd70
* 4|doppiaggio: pipeline Rutube v3 (voce+ducking) sui video parlati top, pubblicazione sui canali Deutsch/ESP-PORT|dopo il pilota, ok Marco
* python3 /home/claudeuser/scripts/yt_captions_pilot.py --video TgPzkaGWy08 --langs en,fr
* se 407/bot persiste: chiedere a Marco credito DataImpulse o file cookie per yt-dlp --cookies
* python3 /home/claudeuser/scripts/commessa.py chiudi S20260919-claudeyoutub-1tji991 --esito COMPIUTO --consegna <file|url> --next <prossimo passo>


=== allievi_360_pipeline ===
=== memoria-retrieval-eval ===
''Aggiornato 2026-09-12 13:25 UTC'' &mdash; dominio: finanza
''Aggiornato 2026-09-19 01:20 UTC'' &mdash; dominio: memoria


; Obiettivo : Tabella ALLIEVI canonica + riconciliazione totale (Marco 12/09). La ricerca allievi deve girare in background per ore
; Obiettivo : misurare la memoria CC come retrieval e chiudere i buchi dell architettura a piu memorie
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* 12/09: (a) riconcilia_cassa.py a 4 strati + pagatori_alias (cron 07:35)
* memoria_eval.py in scripts/, misura eseguita, report gs://isicnv-command-center-routes/state/memoria_eval/latest.json
* (b) allievo_360.py: motore di ricerca deterministico su una persona o su un PLACEHOLDER (dal piano rate risale al pagatore: chi ha versato quelle cifre in quelle date, +checkin per costo, +contratti, +Salsina, +Gmail isicnv)
* MISURA 16/09: 3.561 voci, campione 40. Query con le parole della voce: recall@5 1.00, recall@1 0.95. Query riformulata con sinonimi: recall@5 0.975, recall@1 0.925. Caduta 0.025 -> la ricerca lessicale NON e il collo di bottiglia, embeddings non giustificati dai dati. Strumento ripetibile: scripts/memoria_eval.py --n=N, report gs://isicnv-command-center-routes/state/memoria_eval/latest.json
* fonti gia' in BigQuery: isicnv_contacts.zoom_participants, streak_boxes_daily, contatti_master (con note_crm), emails_master, staff_inbox_raw
* 2026-09-19 01:20 UTC ASSORBITO il cantiere 'chat-s20260916-claudememori-1tvd5mb' (simile): obiettivo: Verificare stato eval memoria (recall@5 1.00/0.975) e precisare il deliverable D1 mancante (consegna verificabile) | perche': chat S20260916-claudememori-1tvd5mb chiusa senza prova: il custode R103 ha trovato passi eseguibili
* isicnv_finance.allievi_master (person_id, tot_versato, saldo), allievi_checkins, allievi_contratti, allievi_pagamenti, transactions_multianno, contabilita_salsina, anagrafica_unificata (29.125 righe). Job in corso: allievo360_ignoti_0912 (5 placeholder + DCS Grandi Eventi), report in /home/claudeuser/reports/allievo360/
; Provato ed escluso :
* allievo_360.py operativo. IDENTIFICATI: placeholder 64B0DBC00A2A = MONICA CARBE immobilaffari@gmail.com
* strato vettoriale sulla memoria CC: rimandato, nessun dato lo giustifica
* placeholder A87F93215573 = FRANCESCO MARCIELLO gurufranc@gmail.com (Wise MARCIELLO FRANCESCO PAOLO)
* D.C.S. GRANDI EVENTI = CLAUDIA PANI pani.claudia@gmail.com. Tutti e tre inseriti in pagatori_alias. REGOLA DI MARCO: marcoparet@gmail.com si interroga via MCP Gmail SOLO quando isicnv@gmail.com non ha dati. SCOPERTA: le notifiche Wise di incasso arrivano a informazionicorsi@gmail.com (terza casella, fonte di riconciliazione non ancora usata). CORREZIONE: ily1975@gmail.com e' Ilaria Polidori (IPCA), NON Cristiana Morroni: anagrafica_unificata ha rumore sui nomi da streak
* allievo_360.py operativo
* identificati e messi in pagatori_alias: 64B0DBC00A2A=MONICA CARBE immobilaffari@gmail.com, A87F93215573=FRANCESCO MARCIELLO gurufranc@gmail.com, D.C.S. GRANDI EVENTI=CLAUDIA PANI pani.claudia@gmail.com. Regola: marcoparet@gmail.com via MCP Gmail solo se isicnv non ha dati. GRUPPI+SITI: creato gruppi_e_siti.py (job gruppi_siti_0912 in corso) che ricostruisce i gruppi Google dai messaggi isicnv verso *@googlegroups.com e legge i permessi dei 100+ Google Sites
* carica isicnv_finance.google_gruppi, google_gruppi_membri, google_sites_accessi. ACCERTATO: i permessi Drive dei Sites contengono SOLO staff (isicnv, marcoparet, informazionicorsi, isicnvstaff, sulzina02, venetomarketinglab, studiointramentis) - gli allievi NON compaiono li': l'accesso allievi passa dai gruppi (es. advanced-level-2019-2020@googlegroups.com, advanced-course@, cours-avanc@) usati per le convocazioni di lezione. Quindi il match corso<->allievo si fa gruppo<->nome del sito, non dai permessi
* GRUPPI: gruppi_membri_scrape.py legge i membri da groups.google.com col profilo admin julesdupotet (/home/claudeuser/.config/chrome-jules, copiato in chrome-jules-scrape a ogni giro
* Playwright NON ha il suo chromium, si usa executable_path=/usr/bin/google-chrome
* DISPLAY=:1 via VNC gia' attivo). Caricati in isicnv_finance.google_gruppi_membri_admin. WORKER: allievi_360_worker.py macina la worklist (1.844 persone da pagamenti+gruppi+Salsina+check-in, dal piu' recente indietro), un contatto alla volta, finestra 6h, stato in /home/claudeuser/monitors/allievi360_state.json, ripristinabile
* cron */20 con flock lo riprende se cade. Log /home/claudeuser/logs/allievi360.log
; Prossimo passo :
; Prossimo passo :
* (1) a scrape finito, incrociare google_gruppi_membri_admin con allievi_pagamenti: chi e' in un gruppo-corso senza pagamenti = moroso vero
* python3 /home/claudeuser/scripts/memoria_eval.py --n=40 dopo ogni modifica della ricerca
* chi paga e non e' in nessun gruppo = accesso mai dato
* poi prova dura con query che non condividono parole con la voce
* (2) mappare gruppo->sito->corso usando i nomi (advanced-course/cours-avanc/advanced-level-2019-2020 = ADVANCED
* python3 /home/claudeuser/scripts/memoria_eval.py --n=40
* mesmerismus-online + course-alicante/new-york/australia = MESMERISMUS
* Ricontrollare cantiere ripresa_S20260916-claudememori-1tvd5mb e definire forma verificabile di D1
* formazione-online---master-ipnosi---italia = MASTER IT
* Aggiornare il giornale con esito e next
* ultimate-path(+franais) = ULTIMATE)
* (3) FASE 2: da allievi_360 costruire la tabella allievi_master estesa
* (4) placeholder AC4B36231C82 a DeepSeek


=== riconciliazione_cassa ===
=== gate_log_accessi_pipeline ===
''Aggiornato 2026-09-12 10:14 UTC'' &mdash; dominio: finanza
''Aggiornato 2026-09-18 23:41 UTC'' &mdash; dominio: CC/gate/tracciabilita


; Obiettivo : Marco: ogni entrata deve avere la sua ragione; pipeline a 4 strati + entrate non attribuite
; Obiettivo : Ogni comando delle chat ricostruibile in BQ (chi, richiesta, pipeline); chat bloccata ripresa da v_sessioni_stato
; Vincoli in vigore :
* Cloud Run sheets-connector: solo gate_deploy.sh, reversibile
* non toccare la sessione mcpchatgpt attiva
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* creato /home/claudeuser/scripts/riconcilia_cassa.py (4 strati: incasso diretto -> movimento bancario con ALIAS pagatore -> foglio contabilita Salsina -> Gmail isicnv con --gmail). Creata tabella isicnv_finance.pagatori_alias, primo alias D AMICO PATRIZIA = GIUSEPPE MORANA. Filtro anti-rumore su giroconti/payout/cashback. Cron 07:35 UTC, report in /home/claudeuser/reports/riconciliazione_AAAAMMGG.txt. Primo giro: 19 rate, 16 spiegate, 3 non pagate (tutte PLACEHOLDER), 11 entrate non attribuite
* FATTO: (1) tracce.py ora scrive message_id (CURRENT token della sessione) in ogni riga
* riconcilia_cassa.py attivo (cron 07:35 UTC, report in /home/claudeuser/reports/). 12/09 verifica di Marco 'gli italiani regolari sono allievi': CONFERMATA. Aggiunto strato anagrafica_unificata: le entrate orfane sono divise in A) allievo censito senza piano rate e B) sconosciuto. Bug trovato: le query bq erano troncate a 3000 righe e l'anagrafica ne ha 29.125 -> ora 200.000 per quella query. Risultato: 9 entrate su 11 sono allievi noti (Marzocchi 668/mese, Grappi 713/mese, Morroni 212/mese, Rozza 300, Strohmaier 490), 2 sconosciute (Viramontes Molina 500, D.C.S. Grandi Eventi 300)
* colonna aggiunta a isicnv_workflows.tracce. (2) Vista v_sessioni_stato = chat_sessions_log + tracce + human_messages_log con stato CHIUSA/ATTIVA/INTERROTTA/APERTA_SENZA_COMANDI, ultima richiesta, ultimo comando, next_action. DIAGNOSI (dati 8-15/09): a) tutte le chat ChatGPT via MCP condividono UNA sessione al giorno (S...-mcpchatgpt-...): 8 sessioni, 1629 comandi, 173 falliti, un solo CURRENT message token -> comandi di chat diverse mischiati, impossibile capire quale chat si e' bloccata. b) chat_journal START ha dettaglio vuoto: lo scopo dichiarato a /session/open e la pipeline_obbligatoria restituita NON vengono loggati. c) campo cantiere vuoto sul 100% delle righe tracce. d) END loggato in 6 sessioni su ~200: 'bloccata' e 'finita' sono indistinguibili. e) righe GATE con session_id spazzatura ('pathlib','100','%s'): bug del gatekeeper. RESTA (Cloud Run sheets-connector, serve deploy con gate_deploy.sh): 1) /session/open deve scrivere in chat_sessions_log.dettaglio JSON {scopo, pipeline_ids, chat} e in una tabella isicnv_workflows.session_pipeline (session_id, ts, scopo, pipeline_id) -> da cui si vede quali processi usano quali pipeline. 2) MCP ChatGPT: session id per chat (nonce per conversazione), non per giorno. 3) gate.sh: passare --cantiere/scopo a tracce.py log. 4) heartbeat: cron ogni 30 min che marca INTERROTTA in chat_journal le sessioni ATTIVA senza comandi da >60 min, cosi' Telegram/agente le riprende con last_next_action. 5) fix session_id spazzatura nelle righe GATE. DIAGNOSI (dati 8-15/09): a) tutte le chat ChatGPT via MCP condividono UNA sessione al giorno (S...-mcpchatgpt-...): 8 sessioni, 1629 comandi, 173 falliti, un solo CURRENT message token -> comandi di chat diverse mischiati, impossibile capire quale chat si e' bloccata. b) chat_journal START ha dettaglio vuoto: lo scopo dichiarato a /session/open e la pipeline_obbligatoria restituita NON vengono loggati. c) campo cantiere vuoto sul 100% delle righe tracce. d) END loggato in 6 sessioni su ~200: 'bloccata' e 'finita' sono indistinguibili. e) righe GATE con session_id spazzatura ('pathlib','100','%s'): bug del gatekeeper.
* 2026-09-18 23:41 UTC ASSORBITO il cantiere 'chat-s20260915-claudegateau-yida0w' (simile): obiettivo: gate_log_accessi_pipeline: D1 non verificato; gate_pipeline.py era in modifica concorrente da altra chat; manca consegna verificabile da precisare | perche': chat S20260915-claudegateau-yida0w chiusa senza prova: il custode R103 ha trovato passi eseguibili
; Provato ed escluso :
* niente
; Prossimo passo :
; Prossimo passo :
* (1) creare il piano rate per Marzocchi Marzio (ghenshiro@gmail.com), Grappi Paola (paolagrappi.anemos121@gmail.com), Morroni Cristiana (ily1975@gmail.com): pagano ogni mese la stessa cifra ma non hanno piano ne' riga nel foglio Salsina
* RESTA (Cloud Run sheets-connector, serve deploy con gate_deploy.sh): 1) /session/open deve scrivere in chat_sessions_log.dettaglio JSON {scopo, pipeline_ids, chat} e in una tabella isicnv_workflows.session_pipeline (session_id, ts, scopo, pipeline_id) -> da cui si vede quali processi usano quali pipeline. 2) MCP ChatGPT: session id per chat (nonce per conversazione), non per giorno. 3) gate.sh: passare --cantiere/scopo a tracce.py log. 4) heartbeat: cron ogni 30 min che marca INTERROTTA in chat_journal le sessioni ATTIVA senza comandi da >60 min, cosi' Telegram/agente le riprende con last_next_action. 5) fix session_id spazzatura nelle righe GATE. || RIPRESA: bq query "SELECT * FROM `leafy-responder-483419-a4.isicnv_workflows.v_sessioni_stato` WHERE stato='INTERROTTA' ORDER BY last_cmd DESC LIMIT 20"
* (2) chiedere a Salsina chi sono GERARDO VIRAMONTES MOLINA (500 del 08/09) e D.C.S. GRANDI EVENTI (300 del 07/09)
* poi grep -n "chat_journal\|START" /home/claudeuser/cc_src/*.js 2>/dev/null | head
* (3) ROZZA EROS in anagrafica ha l'email dell'agenzia VMK Lab (lead.clienti@vmklab.it): anagrafica da correggere
* python3 /home/claudeuser/scripts/handoff.py --resume gate_log_accessi_pipeline
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome
* verificare stato di gate_pipeline.py (conflitti risolti?) e revisione message_id in tracce.py
* controllare vista v_sessioni_stato
* richiedere precisazione D1 alla chat che bloccava e presentare deliverable verificabile all'umano (campanello: esame immediato)


=== zoom-registrazioni-daily-0911 ===
=== backup-siti-0918 ===
''Aggiornato 2026-09-11 20:16 UTC'' &mdash; dominio: trascrizioni
''Aggiornato 2026-09-18 20:56 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.*
; Obiettivo : Ogni sito web della scuola ha sempre un ultimo backup pronto al ripristino
; Vincoli in vigore :
* Scope report aggiunti da Marco 11/09 (report:read:user:admin ecc.). LIMITE ZOOM: il report copre SOLO gli ultimi 6 mesi (code 300): lo storico prima di marzo 2026 non e' recuperabile dall'API
* il cron 06:45 fa scorrere la finestra ogni giorno cosi' da qui in avanti nulla si perde. Cancellazione automatica da Zoom dopo archiviazione NON attiva (serve OK Marco).
; Fatto (con prova) :
; Fatto (con prova) :
* Script /home/claudeuser/scripts/zoom_recordings_daily.py (compila, dry-run ok, esce rc=3 senza credenziali). Cron 06:15 ogni giorno --days 3, log /home/claudeuser/zoom_rec/daily.log, stato /home/claudeuser/zoom_rec/state.json. Scarica MP4 (speaker view) + M4A + VTT transcript Zoom + chat, upload resumable su Drive, poi job.py trascrivi_ids.py --lang auto sull'M4A con Doc nella cartella Drive. Su Drive oggi esiste solo ULTIMATE PATH LESSON 1.mp4 (1RzftibHpVT4g9EZOLt8SvjkafbyiVFwp).
* registro siti_backup.json
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* bk_wikiserver.sh
* su Drive c'era solo LESSON 1.
* fc_backup.py su SSH con rotazione e streaming
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* marcoparet_backup riparato
* su Drive c'era solo LESSON 1.
* diagnosi mesmerismus e OOM bq_backup
* v2 script: --from (backfill a finestre 30 gg), --inline-transcribe (sequenziale), avviso Telegram a fine corsa (bot ISI-CNV Worker). Prima corsa: Lesson 8 + Australian 07/09 su Drive, trascrizioni job zoomtr_*. Job backfill zoom_backfill_0911 (--from 2024-01-01 inline) e zoom_backfill_cestino_0911 (parte dopo, riprende i 5 recuperati dal cestino). Cron 06:15 --days 3 attivo.
* wiki ops Backup_dei_siti_web
* zoom_bq_sync.py (cron 06:45): tabelle zoom.riunioni_passate (7), partecipanti (327), riunioni_programmate (11), iscritti (91), registrazioni (43, con cestino), vista v_lezioni. zoom_recover_trash.py salvato. ZOOM-1 registrata (sovrapposizione segnalata: INF-1). Backfill zoom_backfill_0911 in corso (trascrizione inline), poi zoom_backfill_cestino_0911.
; Prossimo passo :
* zoom_bq_sync.py v2 (default --from oggi-180gg, salta le finestre oltre i 6 mesi): 43 riunioni passate da marzo 2026, 3.313 righe partecipanti (cache in zoom_rec/participants/), 11 programmate, 93 iscritti, 43 file registrazione
* chiedere a Marco l'accesso cmshigh per marcoparet.net, e dove viva davvero mesmerismus.com
* vista zoom.v_lezioni. Job zoom_bq_storico_6m_0911 completato.
 
=== pagine-decadimento ===
''Aggiornato 2026-09-18 01:13 UTC'' &mdash; dominio: analytics
 
; Obiettivo : sapere quali pagine pubblicate hanno smesso di rendere, anche quando i numeri storici sembrano buoni
; Fatto (con prova) :
* scripts/pagine_decadimento.py: --ingest porta Search Console (date+page, 16 mesi, 11 siti) in ads_intelligence.gsc_pagine_giorno, --misura costruisce ads_intelligence.pagine_decadimento con stati VIVA/IN CALO/DECADUTA. Token GSC vivo: token-custom-gsc-isicnv.json (token-any-gsc-admin.json e token-any-searchconsole.json rispondono 400)
* MISURA 18/09: 42.372 righe GSC, 9 property, fino al 15/09. Esito: 103 VIVA, 23 IN CALO, 31 DECADUTE, 8 NUOVE, 1.969 sotto rumore. Confronto relativo al sito per togliere la stagionalita estiva
; Provato ed escluso :
* GA4 come fonte del controllo: analytics_isicnv.ga4_pages_daily ha 13.001 righe, 2 property e si ferma al 05/08/2026
* classificazione su rapporto assoluto: marcava in calo mezzo sito ad agosto (versione in pagine_decadimento.py.bak-assoluto)
; Prossimo passo :
; Prossimo passo :
* job.py --status zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni)
* python3 /home/claudeuser/scripts/pagine_decadimento.py --ingest --misura
* query: SELECT * FROM zoom.v_lezioni ORDER BY start_time DESC (client bigquery sulla VM, dataset in EU). Se Marco autorizza: --free-space in zoom_recordings_daily.py per cancellare da Zoom dopo verifica Drive+trascrizione.
* aprire i casi a posizione migliorata ma impressioni azzerate


=== sito-ipnomentalismo ===
=== loop-controlli-fabbrica ===
''Aggiornato 2026-09-11 09:34 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-17 06:00 UTC'' &mdash; dominio: -


; Obiettivo : Sito-manuale riservato Ipnomentalismo / Ipnosi sottile, modello Ipnoanalgesia
; Obiettivo : la fabbrica non dichiara FATTA una pagina che non ha superato le verifiche
; Fatto (con prova) :
; Fatto (con prova) :
* 11/09: ONLINE https://www.neurolinguistic.com/ipnomentalismo/ (7 pagine, login Google, accessi mode=all). Censimento: 69 lezioni/37,3h (censo.json nomi+testo, concetto.json firma concettuale), corpus 23 manuali in /home/claudeuser/ipnomentalismo/corpus/ (Avviamento ipnotismo sottile liv.2 PDF, Ipnosi sottile 2015/2016, Primi passi 2022, 9 lezioni corso online, dispense). Generatore /home/claudeuser/scripts/im_build.py (corpus|transcripts|build|publish), LLM deepseek-chat (glm-5.2 fuori budget settimanale). Gate: gate.php+.htaccess clonati, accessi.sh ipnomentalismo mode all (modi validi: all|list, NON any). QA headless 7/7 pagine OK. Cartella vecchia riservato-ipnomentalismo-m4k9p7 ancora presente, da cancellare.
* loop correggi->verifica->ricorreggi in fabbrica_pagine.py, commit e485aa5
; Prossimo passo :
* misurare su 10 bozze recenti quante finirebbero BLOCCATO col nuovo gate prima della fabbrica di lunedi
* poi dare rc a guardiano_grassetti.py e rilettore.py e aggiungerli a VERIFICHE
 
=== monitor-campagne-morto-0917 ===
''Aggiornato 2026-09-17 05:52 UTC'' &mdash; dominio: -
 
; Obiettivo : campaigns_monitor che completa un giro senza traceback, verificato lanciandolo a mano, e che l'HTML pubblico si rigeneri con la data di oggi
; Prossimo passo :
* cd /home/claudeuser/scripts && python3 campaigns_monitor.py 2>&1 | tail -20
 
=== backup-mesmerismus-db-0917 ===
''Aggiornato 2026-09-17 05:31 UTC'' &mdash; dominio: -
 
; Obiettivo : Backup DB mesmerismus che riesce, verificato dal log sites_backup con ok 3/3
; Prossimo passo :
; Prossimo passo :
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py)
* python3 /home/claudeuser/scripts/sites_backup.py 2>&1 | tail -40
* cron 4h come analgesia_ciclo.sh
* cancellare cartella vecchia


=== migrazione-carichi-media ===
=== audit_marcoparet_non_conformi ===
''Aggiornato 2026-09-10 07:42 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-17 05:27 UTC'' &mdash; dominio: pillar


; Obiettivo : Spostare i 197 cron della VM (729 esecuzioni/ora su 2 vCPU) dove e opportuno: 67 restano (monitor locali, ssh), 85 su media (BigQuery/Drive/video), 45 su secondary (solo API CC e Telegram). Via libera di Marco 10/09: fino al risultato finale.
; Obiettivo : portare a standard le pagine non conformi su marcoparet: [6751, 7247, 7177, 7170, 7150, 7178, 7134, 7127, 7121, 7119, 7110, 7094, 7075, 7062, 7046, 155, 7052, 7051, 153, 7018, 6999, 6968, 6925, 6966, 6950, 6938, 6934, 6918, 6886, 6828, 6895, 6818, 6815, 5998, 7227, 7237]
; Vincoli in vigore :
; Vincoli in vigore :
* Il SA della VM non puo assegnare ruoli IAM (manca setIamPolicy): il SA media-worker@leafy-responder-483419-a4 esiste, chiave gia su media in /home/claudeuser/.gcp/media-worker.json, ma SENZA ruoli finche Marco non li da in console (bigquery.jobUser, bigquery.dataEditor, storage.objectUser). Il driver aspetta da solo quel momento. Backup crontab VM: backups/crontab_vm_prima_migrazione_20260910.txt. Wrapper bq = semaforo 2 slot.
* mai riscrivere: arricchire
* pubblicazione solo via pubblica_pillar.py --ok-marco
; Fatto (con prova) :
* 17/09 fusione dei due audit in uno (analisi cantieri)
; Prossimo passo :
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito marcoparet --correggi --pid 6751 7247 7177 7170 7150 7178 7134 7127 7121 7119 7110 7094 7075 7062 7046 155 7052 7051 153 7018 6999 6968 6925 6966 6950 6938 6934 6918 6886 6828 6895 6818 6815 5998 7227 7237
 
=== censimento-biblioteca ===
''Aggiornato 2026-09-16 23:27 UTC'' &mdash; dominio: biblioteca
 
; Obiettivo : Censimento completo Biblioteca Magnetica: megaindice con metadati, indice e prime pagine per ogni libro, dedup, collegamento Crabtree
; Fatto (con prova) :
; Fatto (con prova) :
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta)
* Catalogo DeepSeek (lug 2026) gia fuso in biblioteca.corpus: autore 67%, anno 59%, indice 27%, descrizione 74%
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4
* corpus_meta/corpus_meta2 tabelle di passaggio. Piano censimento-biblioteca (SQL in /home/claudeuser/censimento_bib/): catalogo_struttura + v_catalogo + riepilogo.csv, job censimento-biblioteca_run2. Il corpus ha perso i confini di pagina (form feed solo su 6258 doc): prime-10-pagine/pagine-bianche vanno fatte sui PDF Drive.
* earlyoom + swappiness 10 sulla VM
* v_catalogo (megaindice) + catalogo_struttura con sha_testo (494 famiglie di duplicati esatti, 1271 doc) + catalogo_crabtree_match (600 voci Crabtree agganciate, 289 forti). prime_pagine.py (scripts/) legge le prime 10 pagine dei PDF da Drive in streaming: pilota 100 ok, corsa completa job censimento-biblioteca_prime_pagine_full -> biblioteca.prime_pagine (stato in censimento_bib/prime_pagine_state.json, riprende da solo). Trovati 45 doc_id doppi in corpus (17695 righe, 17650 distinti).
* wrapper /usr/local/bin/bq con nice 15 + timeout 300 (22 script cron usano bq CLI)
* v_catalogo + catalogo_struttura (sha_testo: 494 famiglie dup esatti) + catalogo_crabtree_match (600 Crabtree agganciati). prime_pagine.py: PDF Drive (5154, job _prime_pagine_full). prime_pagine_fonti.py: archive.org via _djvu.xml, IAPSOP via URL archive/materials/{rivista}/{file}, Gallica via f1n10.pdf a 12s (429=ritenta): jobs _prime_pagine_ia/_iapsop/_gallica, tutti su biblioteca.prime_pagine, stato in censimento_bib/prime_pagine_*_state.json. Non coperti: Wellcome (428), Gallica sul PC di Marco.
* vm-heartbeat.sh riscritto solo-curl (da 60s+ a 1.5s, backup .bak_bq_20260909)
* Censiti perfettamente 1809 su 11019 libri veri (16%)
* uccisi gsutil/bq orfani da 30 min.
* bibliografico minimo 5262 (48%). v_catalogo + catalogo_struttura (494 famiglie dup esatti) + catalogo_crabtree_match (600 agganciati). Prime pagine da 4 fonti: PDF Drive, archive.org (djvu.xml), IAPSOP (URL ricostruito), Gallica (f1n10.pdf, lento per i 429). Fase 2 frontespizio_meta.py: regex su prime_pagine -> biblioteca.frontespizio_meta con validazione stretta (fix_front.py: autore >=2 token non geografici, editore senza boilerplate, anno non da copyright recente) e merge nel corpus SOLO dei valori validati e SOLO sui campi vuoti
* censimento_cron.py -> logs/censimento_cron.json (197 righe classificate). migra_cron.py: --lotto/--verifica/--rollback/--stato, promuove dopo il primo log pulito, ripristina su Traceback/credenziali/file mancanti. migrazione_driver.sh in cron */30: rsync idempotente, pip, verifica, un lotto per giro (secondary_1 45 cron, media_1 15 senza Google, poi lotti media_bq da 15 quando la SA risponde), si ritira da solo a fine lavoro.
* struttura editoriale codificata b<bianche>-f<pag frontespizio>-toc/notoc (dominante b0-f1-notoc 88%). ASINCRONO: censimento_prosegui.py in cron */20 rilancia le corse cadute e a corse finite lancia la fase frontespizio (flag censimento_bib/fase_frontespizio.done).
; Provato ed escluso :
* Upgrade e2-medium: NO (deciso). Billing export BQ e budget alert: il SA della VM non ha permessi billing, deve farlo Marco in console.
* Cadenze dei cron NON toccate (es. campaigns_monitor ogni minuto): solo spostamenti. Nessuna chiave del SA compute (editor) fuori da GCP.
; Prossimo passo :
; Prossimo passo :
* tail -40 /home/claudeuser/logs/migrazione_driver.log
* AUTO: tutto e in cron */20 via censimento_prosegui.py, log in logs/censimento_prosegui.log
* python3 /home/claudeuser/scripts/migra_cron.py --stato
* a fase frontespizio conclusa: misurare di nuovo i livelli di completezza e proporre a Marco DeepSeek diretto solo sui meta_status NULL restanti (~7 USD)
* cat /home/claudeuser/logs/migrazione_cron_state.json | python3 -c "import json,sys
* indici/sommari: estrarre il TOC dai doc con toc_nelle_prime=TRUE
* [print(k,v[\"dest\"],v[\"stato\"],v.get(\"motivo\",\"\")) for k,v in json.load(sys.stdin).items() if v[\"stato\"]==\"ripristinato\"]"  # i ripristinati vanno letti uno a uno: dipendenze locali non rilevabili dal log
* Wellcome (428 doc) via IIIF
* dedup 45 doc_id doppi in corpus
* Gallica dal PC di Marco: se li carica in Drive entrano dal flusso PDF


=== reverse-nlp-legacy-html ===
=== agritainment-sito ===
''Aggiornato 2026-09-09 00:43 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-09-16 22:35 UTC'' &mdash; dominio: -


; Obiettivo : neurolinguistic.com: conversione additiva pagina-per-pagina a PNL3/Reverse NLP dalle HTML legacy meno visitate (job_reverse_nlp_legacy_html_20260909)
; Obiettivo : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti)
; Vincoli in vigore :
; Vincoli in vigore :
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* video su 6 canali YouTube di partner diversi
* nessuna cancellazione testo storico, URL/title/H1 invariati
* slide moduli 3 e 4 inesistenti in WP3
* ordine per traffico reale GA4 (analytics_isicnv.ga4_pages_daily, property 533218658+399463272)
* traduzioni = obbligo di ciascun partner da formulario
* backup prima di ogni modifica
* QA HTML/mobile/HTTP per pagina
* pubblicazione = azione irreversibile: primo lotto proposto a Marco prima del deploy
; Fatto (con prova) :
; Fatto (con prova) :
* traffico HTML 2025-08..2026-08 esportato in /home/claudeuser/reverse_nlp_legacy/traffico_html_2025-08_2026-08.csv (348 URL, 932 views)
* Verificati sul sito 22/08: punto 1 sei video per modulo OK su tutti e 6 (modulo 1 confermato, il primo audit dava falso negativo per le slash escapate in data-settings)
* lotto 1 scelto = 10 URL a 1 view chiaramente PNL (batch1.txt)
* punto 2 le 5 pagine choose linkano tutti i 6 moduli
* originali scaricati via ssh FastComet in orig/ e backup in backup/
* punto 4 materiali EN+lingua propria in ogni lingua (EN45 IT46 BG58 EL66 RO52)
* LOTTO 1 ONLINE 09/09 00:40 UTC: 10 pagine (batch1.txt) con lead RF + sezione Dalla PNL alla PNL3
* punti 5-6-7 events/meetings/webinar online e nel menu
* blocchi in blocchi.json, apply.py idempotente (marker rnl-additivo-2026-09), qa_html.py PASS 10/10, mobile ok
* punto 8 i 6 video irlandesi corrispondono. Fatti anche: rimossa voce Project library dal menu, tolti bottoni agenda e certificato dal webinar, aggiunto bottone form feedback, aggiunta voce Self-assessment al menu, barra fissa prev/next sulle 37 pagine lezione, footer con numero progetto e disclaimer EACEA, Atlas 121 pratiche pubblicato
* backup server ~/rnl_backup_20260909 e VM backup/
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube
* log Drive
* solo 6 video (i sei irlandesi del Modulo 1) hanno auto-captions. Il punto 3 richiede quindi 36 video x 5 lingue = 180 tracce, su 6 canali di partner diversi.
* LOTTO 2 ONLINE 09/09 00:40 UTC: italy-20,24,25,23,06,26,05,02,10 + magnetismo/rapport-magnetico (blocchi2.json)
* wiki riallineata dal guardiano
* QA estesa PASS (canonical, noindex, img, keyword, testo 100%)
* inventario 7418 htm con GA4+GSC in inventario_legacy_html.csv (Drive 1bhHc1KDlKXuCMiNPdmBg90bKTC9D6m8-)
* registro_operativo.csv (Drive 16ar1_8T4QoJ3UZQpkuoSy1grvnLnG8Rg)
* Doc Legacy HTML Audit aggiornato con lotti 1-2 e lotto 3 proposto
* Marco (prompt 09/09): NON chiedere approvazione per pagina, continuare a lotti
; Provato ed escluso :
; Provato ed escluso :
* dataset site_analytics_2026: non esiste, i dati sono in analytics_isicnv
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi
; Prossimo passo :
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403)
* LOTTO 3: cd /home/claudeuser/reverse_nlp_legacy && cat > batch3.txt (URL dal Doc Audit sez. LOTTO 3 proposto
* verificare prima formato di nlp/rapport.htm e nlp/erickson.htm) && scaricare orig via sshpass ssh marcopar@itpro1.fcomet.com tar -T batch3.txt, leggere testi, scrivere blocchi3.json, python3 apply.py blocchi3.json, backup+deploy, job.py --run "python3 qa_html.py batch3.txt", python3 registro.py


=== chat-s20260908-dipisafermo-1ol47hs ===
=== fabbrica-ingresso-config-vincente ===
''Aggiornato 2026-09-08 23:22 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-16 20:12 UTC'' &mdash; dominio: pillar


; Obiettivo : Completare R90-bis per la chat S20260908-dipisafermo-1ol47hs (dipisa-pagina-en): commessa automatica al primo comando, filtro assenso e pagina 7150 corretta, producendo i deliverable D1-D4 tutti mancanti (diagnosi, pagina IT corretta, regola wiki-prima, filtro)
; Obiettivo : Dare a fabbrica_pagine.py un ingresso per i parametri della configurazione vincente del benchmark (boost_ids, priorita_max, max_regole, famiglie_escluse, prompt editor, det_dopo) cosi che il guadagno misurato arrivi in produzione; oggi la fabbrica compone le regole per conto suo e non chiama compila_regole.py
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Backup di fabbrica_pagine.py prima di toccarlo
* non chiedere a Marco
* nessuna spesa modello per il collegamento
* verifica prima di dichiarare fatto
* la config da usare e la migliore in pillars/benchmark_regole/STATO.txt dopo il job benchmark_regole_ottimizza_0916
* verificare con una corsa --una che la pagina passi i gate
* nessuna pubblicazione
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* 16/09: censimento 94 controlli (43 orfani), verificato che fabbrica e compila_regole ignorano la config vincente
* contesto ricostruito da riprendi_chat
* lanciato benchmark ottimizza budget 2 USD sulle regole aggiornate
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 1|Superare il gate umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs (campanello per esame immediato, chat bloccata da errori glm-5.2 429/timeout)|suonare il campanello al gate=umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs
* python3 job.py --status benchmark_regole_ottimizza_0916
* 2|Riprendere la chat S20260908-dipisafermo-1ol47hs nel cantiere di ripresa|handoff.py --resume dipisa-pagina-en
* poi leggere fabbrica_pagine.py riga 56-110 e innestare la lettura di pillars/benchmark_regole/config_<migliore>.json
* 3|D1: produrre la diagnosi mancante|redigere la diagnosi R90-bis nel cantiere ripresa_S20260908-dipisafermo-1ol47hs
* 4|D2: correggere e pubblicare la pagina IT (pagina 7150)|correzione della pagina IT 7150
* 5|D3: scrivere la regola wiki-prima|inserire la regola wiki-prima
* 6|D4: implementare il filtro di assenso|implementare il filtro assenso (commessa automatica al primo comando)
* 7|Far verificare il completamento (chat chiusa END_NONVERIFICATO)|richiedere esame/verifica dei deliverable D1-D4 al gate


=== trascrizione-master-tanya-0709 ===
=== pilota-custode-flash ===
''Aggiornato 2026-09-08 22:46 UTC'' &mdash; dominio: trascrizioni
''Aggiornato 2026-09-16 19:58 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Trascrizione 2 video mail 'registrazione Master e Tanya'
; Obiettivo : Pilota 3 giorni: V4.1 Flash e GLM-5.3 Flash come custode R103, misurati dal registro modelli
; Vincoli in vigore :
; Vincoli in vigore :
* I file sono condivisi SOLO con marcoparet@gmail.com: token isicnv -> 404, accesso anonimo -> login. Nessun token Drive marcoparet su VM/GCS. Serve che Marco condivida i 2 file con isicnv@gmail.com (o Salsina).
* non cambiare i default prima di 5 prove per modello
* costo per verdetto sotto il centesimo
; Fatto (con prova) :
; Fatto (con prova) :
* Script pronto: /home/claudeuser/scripts/trascrivi_ids.py (download per ID, audio 16k, pezzi 20 min, Groq whisper-large-v3, txt+json+timestamp, Doc in cartella). Cartella output Drive: 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* 16/09: modelli_ledger.py
* Accesso dato da Marco. Job trascr_master_tanya_0709 in corso (Master CNV 07/09, 175 min, italiano). Tanya (60 min) e' in INGLESE: prima passata con language=it era una traduzione -> cancellata
* si_common.model_json misura e sceglie per ruolo
* ricodata con --lang auto nel piano trascr_tanya_en (job trascr_tanya_en_run) che parte alla fine del Master.
* riprendi_chat usa i Flash via OpenRouter
* fix reasoning effort low + tetto 2000
* pilota: dopo il fix 6/6 verdetti validi, GLM 3.3s, V4.1 6.2s, gemini 2.8s
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709
* python3 /home/claudeuser/sovra/modelli_ledger.py classifica custode
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907'
* poi rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC


=== dipisa-pagina-en ===
=== mail-fasce-individuali ===
''Aggiornato 2026-09-08 19:22 UTC'' &mdash; dominio: pagine
''Aggiornato 2026-09-15 20:27 UTC'' &mdash; dominio: email


; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto)
; Obiettivo : Spedizione italiana per fascia oraria individuale con un solo comando deterministico
; Vincoli in vigore :
; Vincoli in vigore :
* nessuna data di nascita/morte di Di Pisa: la wiki non le da
* Passo 6 spedisce davvero: solo con ok di Marco (R102) e con lo spec della lettera. Blacklist Mailwizz: alcune righe scartate al load (max_bad_records), da controllare quante.
* niente promesse terapeutiche
* solo bozza, pubblica Marco
; Fatto (con prova) :
; Fatto (con prova) :
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento
* gate_fasce.py installato e provato (rc 95 su spedizione italiana generale senza fasce)
* regola wiki-prima in memoria rule_1788895263452_p8oahr
* regola scritta in testa a mail_engine.py e nel registro pipeline MAIL-1
* hook in exec_mailwizz e exec_getresponse
* backup mail_engine.py.bak_gate_fasce_20260915T200753
* gate_fasce.py in mail_engine
* spedizione_fasce.py 7 passi con checkpoint BQ
* passi 0-4 eseguiti sul run it15set (aperture sincronizzate fino a stasera)
* wiki ops Spedizione_a_fasce_orarie
* memoria CC procedura_1789503820532_0fja44
* mail_engine accetta list_uid+send_at con fasce=individuali
; Prossimo passo :
; Prossimo passo :
* cd /home/claudeuser/scripts && python3 crea_pagina.py questionario "Erminio Di Pisa" --lang en, poi fabbrica.py nuova "Erminio Di Pisa" --def <def_pNN.txt> --titolo "Erminio Di Pisa: the Italian master of eyes-open hypnosis" --slug erminio-di-pisa --lang en
* Prima spedizione reale: python3 /home/claudeuser/scripts/spedizione_fasce.py --run <id> --letter <letter_id> --fino 4
* poi con lo spec: --spec spec.json --da 5 --fino 6 . Passi 5-6 mai ancora provati in produzione: provarli prima su lista test.


=== rete-sicurezza-orfani ===
=== geo-loop ===
''Aggiornato 2026-09-08 07:30 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-14 23:23 UTC'' &mdash; dominio: marcoparet.com


; Obiettivo : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco
; Obiettivo : Loop di miglioramento visibilita AI (GEO) a CICLO DI 3 GIORNI (approvato da Marco 15/09): giorno 0 misura+diagnosi, giorno 1 azioni in bozza, giorno 3 ri-misura+confronto. Base: /opt/wikibox/misura_pillar.py e state/misura_*.json
; Vincoli in vigore :
; Vincoli in vigore :
* non toccare i cantieri con costi/invii/cancellazioni
* Pubblicazioni solo Marco. Registrare sempre i domini citati. Estendere misura_pillar.py, non creare benchmark nuovi.
* nessuna cancellazione su GCS
; Fatto (con prova) :
; Fatto (con prova) :
* gate_pipeline.py: una pipeline risponde sempre al proprio nome
* 15/09: letta serie 14/08-14/09. Bin1 (GPT/Gemini/Mistral puri) 0/24 costante. Bin2 Perplexity 14/40 brand, 23/40 rif, in salita. Reperibili su domande di definizione (11/12), assenti su domande di mercato (3/20). Buco: mesmerismus definizione 0/5 in tutte le lingue. Non misurati: ChatGPT Search, piano free.
* trigger PAG-2 ampliato
* 15/09: serie 14/08-14/09 letta. Bin1 puri 0/24 costante
* sovra/ripresa_commessa.py ricostruisce il comando dalla commessa via registro
* Perplexity 14/40 brand 23/40 rif. Forti su definizione (11/12), assenti su mercato (3/20)
* handoff.py --list mostra PRONTO
* buco mesmerismus/definizione 0/5. Non misurati ChatGPT Search e piano free.
* job ripresa_orfani_20260908 in corso sui 235 cantieri
; Prossimo passo :
* esamina_resta: riprova su 429, ritmo 3s, silenzio=[?] mai NO, avviso ogni 6h
* 1) /opt/wikibox/geo_diagnosi.py deterministico: ultimo misura_*.json -> geo_gap_<data>.json + riga wiki Cantieri. 2) cron misura+diagnosi ogni 3 gg (0 7 */3 * *), file misura_<data>.json invariato. 3) geo_azioni.py -> bozze in fabbrica pillar, mai publish. 4) ChatGPT Search piano free in MODELLI_B2. 5) geo_confronto.py: azioni tenute/scartate su 2 misure consecutive (6 gg). Budget <2 USD per ciclo.
* chat_controller chiama ripresa_commessa.py
* job rete_orfani_patch_20260908 (prova giudice) e ripresa_orfani_20260908 (235 cantieri) in corso
; Prossimo passo :
* job.py --status rete_orfani_patch_20260908
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE


=== pipeline-pagina-0609 ===
=== si1-fallback-pubblicazione ===
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine
''Aggiornato 2026-09-14 22:56 UTC'' &mdash; dominio: pubblicazione / infrastruttura


; Obiettivo : PIPELINE 2 (pagina2.py): semplice, deterministica, con harness; stesura da Claude con HARNESS.md; controlli senza riscrittura; bozza + Doc a strati; note di Marco -> regole
; Obiettivo : Fatto quando: una pubblicazione su HostGator che fallisce per blocco SSH prosegue da sola su un percorso alternativo, senza che Marco se ne accorga. Origine: proposta SI-1 [85] 'Add GitHub Actions fallback to task_ledger' (12/09), oggi solo descrittiva.
; Vincoli in vigore :
; Vincoli in vigore :
* Comandi: pagina2.py dossier|scrivi|controlla|bozza|note2regole --slug S. Stato in pillars/p2/<slug>/. La stesura NON usa i modelli del gateway (kimi/glm/minimax: impronta AI, bande ignorate) ne pipeline_completa R120 (riscrive e peggiora). Stesura = Claude con HARNESS.md (in chat oggi
* il target task_ledger e fuori da auto_code_roots: la modifica va scritta a mano o spostata dentro self_improvement/hermes
* claude CLI sulla VM quando loggato: ora dice Not logged in). controlla = correzioni sicure (d epentetica ogni vocale, Fascinazione, id h2) + segnalazioni (frasi AI, negazioni, ci, link M48, note>=12, energia/polivagale/etica/YouTube/CTA/esercizio). bozza = UN solo ssh (M66) + Doc a strati. Semantico 8088/8089 spenti: il collage usa BM25 8085 con filtro autore Paret prima.
* serve un PAT GitHub (segreto: chiederlo a Marco, non inventarlo)
; Fatto (con prova) :
; Fatto (con prova) :
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* proposta generata e valutata 85 dal giudice
* prima pagina 7083 who-is-the-father-of-modern-mesmerism pubblicata (collage 112 frasi da biblioteca + Training Manual di Marco, concorrenza, 260 regole p1), Doc IT 1lasNBE0vjN58nuqLEZJZcT2D0DHFmywjHnZAspFGVSI in Per pagine. Costo modelli misurato: 0.15 USD, 6 chiamate, 20 min. DIFETTO: kimi ignora la banda (7910 parole invece di 1500-1900)
* ferma perche descrittiva e su target fuori perimetro
* la condensazione 7b scartata
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* 06/09: 7083 tolta (draft). 7094 what-are-mesmeric-passes-and-how-do-they-work: materiale dalla pipeline (128 frasi, concorrenza, struttura), stesura da Claude come editor, guardiano+forma_finale, pubblicata dopo lettura, Doc IT 1g5xjb44_xpAsBoDIFP8XITt4wmipRE-VsPFlWK4-iUI in Per pagine. Costo modelli pipeline: 0.19 USD
* tempo macchina ~45 min
* tempo chat ~35 chiamate
* 07/09: pagina2.py installato
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
; Prossimo passo :
; Prossimo passo :
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* 1) trovare nel codice di pubblicazione il punto dove il fallimento SSH HostGator diventa errore (grep -rn ssh /home/claudeuser/scripts/*publish* *hostgator*)
* finche' no, la stesura la fa Claude in chat dal HARNESS.md. 2) struttura via glm: verificare perche' e' caduta nel template (JSON). 3) Registrare PAG-4 nel registro pipeline. 4) Prima pagina completa con pipeline 2: magnetic presence (dossier pronto).
* 2) decidere dove sta il fallback
* 3) trasformare la proposta in un replace ancorato e passarla dal tester


=== database-esercizi ===
=== si1-indicizzazione-gsc ===
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca
''Aggiornato 2026-09-14 22:56 UTC'' &mdash; dominio: SEO / monitoraggio


; Obiettivo : Database esercizi dal corpus: parole esatte, contesto, prerequisiti, vantaggi, pagina, libro. Fasi: 1 Paret, 2 Lefebure, 3 Hanish/Mazdaznan, 4 Durville, 5 Encausse/Papus, 6 Evola+Gruppo di Ur. Poi Marco amplia il corpus.
; Obiettivo : Fatto quando: lo stato di indicizzazione delle pagine pubblicate e visibile senza controlli manuali, e un calo viene segnalato da solo. Origine: proposta SI-1 [90] 'Integrate Google Search Console Indexing Status Monitoring' (12/09), il punteggio piu alto mai dato dal giudice.
; Vincoli in vigore :
; Vincoli in vigore :
* Script canonico /home/claudeuser/scripts/esercizi_extract.py (BIB-1). Tabelle BQ biblioteca.esercizi + esercizi_coda. Modello glm-5.2 via aigw, 6 worker. Pagina: pdf (\\f) o stimata
* integra API esterna: credenziali GSC, quota, job nuovo
* pagina_stampata dal testo. Costo stimato ~30 USD totali, tetto aigw giornaliero 8 USD -> il job pausa 60 min e riprende.
* non e un cambio da un rigo. Le pagine nuove partono comunque dai dati GSC reali (regola pillar)
; Fatto (con prova) :
; Fatto (con prova) :
* Coda 295 doc costruita e deduplicata
* proposta generata e valutata 90
* job esercizi_run lanciato 07/09 08:26 UTC
* ferma perche descrittiva e di tipo CODE_PATCH su target fuori perimetro
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run
* 1) verificare se esiste gia un accesso GSC funzionante sulla VM (grep -rn searchconsole /home/claudeuser/scripts | head)
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run
* 2) se si, scrivere un job che legge lo stato di indicizzazione delle ultime pagine e lo scrive in BigQuery
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue
* 3) solo dopo, la segnalazione automatica


=== pagine-seo-affiancate-0509 ===
=== capoufficio_agente_risolve ===
''Aggiornato 2026-09-06 21:58 UTC'' &mdash; dominio: pagine SEO marcoparet.com e neurolinguistic.com
''Aggiornato 2026-09-12 14:10 UTC'' &mdash; dominio: -


; Obiettivo : Ciclo pagine nuove + Doc IT a strati + regole dalle note
; Obiettivo : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat
; Vincoli in vigore :
; Vincoli in vigore :
* Registro M1-M64 (736). M64.9: pagine di persuasione/vendita su neurolinguistic.com/blog (ssh marcopar@itpro1.fcomet.com, wp --path=/home/marcopar/neurolinguistic.com/blog), non su marcoparet.com. 64.1 niente temi negativi in apertura/titolo
* reversibile: backup .bak_* accanto a ogni file toccato
* 64.4 rapport nasce dalla relazione
; Fatto (con prova) :
* 64.6 vendita: occhi e stretta di mano, non passi/tocco. Doc a strati sempre.
* capoufficio_watch.py reso host-aware (check+heal via ssh su media/secondary dove i cron sono migrati il 10/09
; Fatto (con prova) :
* backup .prima_hostaware_11set)
* 05/09: onde-cerebrali IT 7018 pubblicata
* registry: finance_cassa heal_timeout_s=660, marcoparet_autoheal host=secondary
* 153 e 155 ripristinate alle versioni originali
* /var/log/isicnv creato su media e secondary
* pagine nuove affiancate 7051 how-to-shift-your-brainwave-states, 7052 animal-magnetism-full-history-mesmerism, 7046 how-to-develop-hypnotic-gaze
* 9 monitor in RECOVERY
* 289 ripristinata e protetta
* A) watch host-aware (check+heal via ssh su media/secondary). B) CAUSA DEI CANTIERI MAI LAVORATI: guardia.py e' migrata su media il 10/09 ma li' gsutil era anonimo (401) -> vedeva 0 handoff
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13
* risolto con gcloud auth activate-service-account media-worker per claudeuser (ora vede i 465 handoff, watch_* compresi). C) Telegram differito: cantiere subito, avviso a Marco solo se lo stesso problema resiste avvisa_dopo_cicli (default 4 ~1h)
* regole M34-M44 estratte (da 358 a 464)
* recovery solo se avvisato. D) heal_auto: monitor fermo senza heal_cmd -> rilancio del suo cron sulla macchina giusta. Backup: capoufficio_watch.py.prima_hostaware_11set / .prima_differito_11set
* creati forma_finale.py, scopo_pagina.py, concorrenza.py, metafore.py, agente_logico.py, gate_pagina_protetta.py
* 11/09: la guardia su media girava come root senza credenziali e scriveva 0 handoff: cron spostato a claudeuser (backup /root/crontab.bak_guardia_11set), gate GATE_ARCHIVIO_VUOTO in guardia.py (zero letto = guasto, Telegram ogni 6h)
* censite 78 pagine protette
* scoperti due archivi (state/cantieri delle chat vs plans/handoff degli agenti): ponte_cantieri.py in cron ogni 30 min con gate-prima sul comando
* 05/09: onde-cerebrali IT 7018 pubblicata
* commessa.py chiudi rifiuta gli handoff in prosa senza job (GATE_HANDOFF_PARCHEGGIO, off con touch /home/claudeuser/sessions/GATE_HANDOFF_OFF)
* 153/155/289 ripristinate e protette
* primo giro guardia in corso su 465 cantieri
* pagine affiancate 7046, 7051, 7052
* 11/09: watch host-aware
* 155 ampliata
* guardia su media con credenziali
* regole M34-M45 (466 voci)
* Telegram differito (avvisa_dopo_cicli)
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta
* heal_auto. 12/09 notte: (a) heal a raffica fermato: heal_ogni_min default 120 (finance_daily_sync girava ogni 15 min su media e mandava 'step falliti paypal' a ogni giro)
* 78 pagine protette
* (b) log_clean su log mai scritto = OK (argo_watch.log e cassa_check.log non esistevano perche' /var/log/isicnv mancava fino al 11/09 13:37)
* note Doc onde cerebrali 1IF5_ gia in M34
* (c) CAUSA della perdita credenziali su media: il cron marcopi fa 'gcloud config set account 424757051842-compute@...' e rende gsutil anonimo -> guardia cieca e PayPal token illeggibile
* 05/09 sera: M46 (25 regole) estratte dal Doc sguardo 13tz6GqK3TSft5yvnWrO5A6WdwHLO5FTW3PzmRSvuLE8 e riportate su 7046 (14 sostituzioni, titolo Powerful, verificato live). Pagina NUOVA 7062 what-is-non-verbal-hypnosis-how-it-works pubblicata (affiancata al post what-non-verbal-hypnosis-and-why-it-effective), catena metafore/agente_logico/guardiano/dedup/scopo/forma_finale/gate PASS. Doc IT in Per pagine: 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo
* blindato con ~/.boto (gs_service_key_file=media-worker.json) + pass_credentials_to_gsutil=false: gsutil funziona qualunque sia l'account attivo. Backup: capoufficio_watch.py.prima_throttle_12set
* 05/09 notte: M47 estratte dal Doc 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo e applicate alla 7062 (riscrittura integrale, titolo con Touch and Presence, note da 7 a 20 tutte verificate una per una via web, agente_logico 6/6, guardiano OK, forma_finale OK, gate PASS, verificato live). Prima: M46 su 7046. Backup 7062_backup_prima_M47.html
* 12/09 pom: (E) firma stabile dei problemi (numeri->#): prima i cicli si azzeravano a ogni giro e i monitor con heal non avvisavano mai. (F) terzo stato PERSISTENTE: dopo 2 avvisi singoli (avvisa_dopo_cicli, poi riavvisa_dopo_cicli=8) il monitor tace e finisce nel riepilogo giornaliero delle 07 UTC, un solo messaggio
* 05/09 notte: pagina NUOVA 7075 come-fascinare-con-lo-sguardo (IT) pubblicata, affiancata a fascinazione-ipnotica 6999 (105 impr 0 click, intatta). Titolo-domanda dalle query reali. 15 note verificate, agente_logico 2/2, guardiano OK, dedup OK, scopo SCOPO_OK, forma_finale OK, gate PASS, verificata live. Doc IT 1h2glSPY_WlmNPcNsfya3PrYYEDk-cQ_plelHTd9BAwk in Per pagine
* recovery e nuovi guasti restano immediati. Backup capoufficio_watch.py.prima_riepilogo_12set. (G) token GSC: gsc-admin e token-searchconsole revocati (guardiano_token.py li vede dal 11/09)
* 06/09 notte: 7116 centratura (v3 EN fatta dall altra chat, regole M58 gia estratte da lei) PUBBLICATA da me dopo lettura e verifica link: https://marcoparet.com/self-hypnosis-centering-to-feel-and-find-your-own-centre/
* creato scripts/gsc_token.py con ripiego su token-informazionicorsi-gsc + mappatura sc-domain->URL-prefix con piu dati
* 7119 magnetic-touch-how-to-induce-trance-with-the-hand PUBBLICATA (terzo strumento dopo sguardo 7046 e passi 7094), Doc IT 1JbfWkH70s1-_AnBwjsGPkT7xroiK1x-WcyJDTNGrQhw
* gate_pagina_protetta e sat_gsc_sync adattati (bak_gsc_12set)
* 7094 passi pubblicata con Doc 1g5xjb44
* sat_gsc_sync senza --replace
* 06/09: M59 (32 voci) registrate con esito per regola
* righe polyvagal ripristinate da /tmp/gsc.jsonl del 11/09 (BQ gsc_queries: 9994 righe, 40 siti)
* testi dei due libri in pillars/confronto_*.txt e stats in confronto_stats.json
* pagina 7121 kairos-and-chronos-how-to-step-out-of-linear-time pubblicata dopo lettura (formula 59.31, metronomo dal libro, 12 note reali), Doc IT 10KVjfoNUlVEWTQ0SD31Nda52N2eG7t_T6K1yICp-aA8
* confronto in Doc 1my01fS9Ze6cmqUxFUD2mjKVHstCN3tyoROfdF0CrWcc
* 06/09 notte: kairos 7121 v2 (bambino, nell istante, due maniere, note approfondite) + Doc a strati
* M62
* pagina 7125 how-to-persuade-without-pressure (grammatica fusa 61.44, dai due libri verificati nel corpus, Deutsch&Gerard raccontato, modellamento->rispecchiamento) pubblicata dopo lettura, Doc IT creato
* 06/09 notte: 7125 marcoparet -> bozza
* pagina persuasione v2 pubblicata su neurolinguistic.com/blog PID 11804 con tutte le note di Marco
* Doc a strati 1i-CtKlHG92 (v2, note, v1)
* M63 (13) e M64 (9)
; Prossimo passo :
; Prossimo passo :
* Note di Marco su: tocco 7119, passi 7094, fascinare 7075, non verbale 7062. Titoli con formula status->disciplina->beneficio (63.13). Frase-cardine vera del libro nella pagina kairos. M48 link su 7116.
* (1) Marco deve rigenerare token-gsc-admin.json (account proprietario delle sc-domain marcoparet, neurolinguistic, polyvagal*): finche non lo fa i siti polyvagal restano fermi al 11/09. (2) verificare domani dopo le 07:10 UTC il riepilogo (monitors/watch_riepilogo_ultimo.txt) e che il primo alert reale porti avvisi=1 in watch_state.json. (3) restano i punti 1-4 del 12/09 notte


=== memo-mailbox-import-isicnvstaff ===
=== allievi_360_pipeline ===
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email
''Aggiornato 2026-09-12 13:25 UTC'' &mdash; dominio: finanza


; Obiettivo : Importare la mailbox 2013 del disco MEMO dentro isicnvstaff@gmail.com come memoria storica; poi valutare i backup server per il restauro dei siti morti (inventario MEMO come mappa)
; Obiettivo : Tabella ALLIEVI canonica + riconciliazione totale (Marco 12/09). La ricerca allievi deve girare in background per ore
; Vincoli in vigore :
* Import via Gmail API messages.import con internalDateSource=dateHeader ed etichetta Archivio-2013, mai send. Formato mailbox da riconoscere (mbox/Maildir/eml/pst: per pst usare readpst). Originale su MEMO intoccabile
; Fatto (con prova) :
; Fatto (con prova) :
* Agent v9.4 zippera e caricherà mailbox+inventario su Storage Box isicnv_salvataggi/ al primo contatto del PC. Token OAuth isicnvstaff NON esiste: serve che Marco apra il link /oauth/start-any?account=isicnvstaff&service=gmail_full loggato come isicnvstaff@gmail.com
* 12/09: (a) riconcilia_cassa.py a 4 strati + pagatori_alias (cron 07:35)
* (b) allievo_360.py: motore di ricerca deterministico su una persona o su un PLACEHOLDER (dal piano rate risale al pagatore: chi ha versato quelle cifre in quelle date, +checkin per costo, +contratti, +Salsina, +Gmail isicnv)
* fonti gia' in BigQuery: isicnv_contacts.zoom_participants, streak_boxes_daily, contatti_master (con note_crm), emails_master, staff_inbox_raw
* isicnv_finance.allievi_master (person_id, tot_versato, saldo), allievi_checkins, allievi_contratti, allievi_pagamenti, transactions_multianno, contabilita_salsina, anagrafica_unificata (29.125 righe). Job in corso: allievo360_ignoti_0912 (5 placeholder + DCS Grandi Eventi), report in /home/claudeuser/reports/allievo360/
* allievo_360.py operativo. IDENTIFICATI: placeholder 64B0DBC00A2A = MONICA CARBE immobilaffari@gmail.com
* placeholder A87F93215573 = FRANCESCO MARCIELLO gurufranc@gmail.com (Wise MARCIELLO FRANCESCO PAOLO)
* D.C.S. GRANDI EVENTI = CLAUDIA PANI pani.claudia@gmail.com. Tutti e tre inseriti in pagatori_alias. REGOLA DI MARCO: marcoparet@gmail.com si interroga via MCP Gmail SOLO quando isicnv@gmail.com non ha dati. SCOPERTA: le notifiche Wise di incasso arrivano a informazionicorsi@gmail.com (terza casella, fonte di riconciliazione non ancora usata). CORREZIONE: ily1975@gmail.com e' Ilaria Polidori (IPCA), NON Cristiana Morroni: anagrafica_unificata ha rumore sui nomi da streak
* allievo_360.py operativo
* identificati e messi in pagatori_alias: 64B0DBC00A2A=MONICA CARBE immobilaffari@gmail.com, A87F93215573=FRANCESCO MARCIELLO gurufranc@gmail.com, D.C.S. GRANDI EVENTI=CLAUDIA PANI pani.claudia@gmail.com. Regola: marcoparet@gmail.com via MCP Gmail solo se isicnv non ha dati. GRUPPI+SITI: creato gruppi_e_siti.py (job gruppi_siti_0912 in corso) che ricostruisce i gruppi Google dai messaggi isicnv verso *@googlegroups.com e legge i permessi dei 100+ Google Sites
* carica isicnv_finance.google_gruppi, google_gruppi_membri, google_sites_accessi. ACCERTATO: i permessi Drive dei Sites contengono SOLO staff (isicnv, marcoparet, informazionicorsi, isicnvstaff, sulzina02, venetomarketinglab, studiointramentis) - gli allievi NON compaiono li': l'accesso allievi passa dai gruppi (es. advanced-level-2019-2020@googlegroups.com, advanced-course@, cours-avanc@) usati per le convocazioni di lezione. Quindi il match corso<->allievo si fa gruppo<->nome del sito, non dai permessi
* GRUPPI: gruppi_membri_scrape.py legge i membri da groups.google.com col profilo admin julesdupotet (/home/claudeuser/.config/chrome-jules, copiato in chrome-jules-scrape a ogni giro
* Playwright NON ha il suo chromium, si usa executable_path=/usr/bin/google-chrome
* DISPLAY=:1 via VNC gia' attivo). Caricati in isicnv_finance.google_gruppi_membri_admin. WORKER: allievi_360_worker.py macina la worklist (1.844 persone da pagamenti+gruppi+Salsina+check-in, dal piu' recente indietro), un contatto alla volta, finestra 6h, stato in /home/claudeuser/monitors/allievi360_state.json, ripristinabile
* cron */20 con flock lo riprende se cade. Log /home/claudeuser/logs/allievi360.log
; Prossimo passo :
; Prossimo passo :
* sftp -P 23 -i /home/claudeuser/.ssh/sb_agent_ed25519 u649132@u649132.your-storagebox.de <<< 'ls -l isicnv_salvataggi' && gsutil ls gs://isicnv-command-center-routes/tokens/ | grep -i staff
* (1) a scrape finito, incrociare google_gruppi_membri_admin con allievi_pagamenti: chi e' in un gruppo-corso senza pagamenti = moroso vero
 
* chi paga e non e' in nessun gruppo = accesso mai dato
=== spedizione-2791-fasce-sentinella ===
* (2) mappare gruppo->sito->corso usando i nomi (advanced-course/cours-avanc/advanced-level-2019-2020 = ADVANCED
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email
* mesmerismus-online + course-alicante/new-york/australia = MESMERISMUS
* formazione-online---master-ipnosi---italia = MASTER IT
* ultimate-path(+franais) = ULTIMATE)
* (3) FASE 2: da allievi_360 costruire la tabella allievi_master estesa
* (4) placeholder AC4B36231C82 a DeepSeek
 
=== riconciliazione_cassa ===
''Aggiornato 2026-09-12 10:14 UTC'' &mdash; dominio: finanza


; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
; Obiettivo : Marco: ogni entrata deve avere la sua ragione; pipeline a 4 strati + entrate non attribuite
; Vincoli in vigore :
* Non toccare status campagna a mano: lo governa fasce_2791.py. Un solo invio per persona garantito da Mailwizz sulla stessa campagna.
; Fatto (con prova) :
; Fatto (con prova) :
* Controllore fasce_2791.py attivo (cron */5): fasce Rome 12-14/18-20/21-22:30, quota=pending/fasce rimaste, pausa automatica fuori fascia e a quota. Sentinella sentinella_blocchi.py (cron orario min 7): EMAIL a isicnv+marcoparet 'SONO FERMO'+ragione se consegne ferme in fascia attiva, cron mancante, mysql giu' o WeVideo PAUSA_AUTH
* creato /home/claudeuser/scripts/riconcilia_cassa.py (4 strati: incasso diretto -> movimento bancario con ALIAS pagatore -> foglio contabilita Salsina -> Gmail isicnv con --gmail). Creata tabella isicnv_finance.pagatori_alias, primo alias D AMICO PATRIZIA = GIUSEPPE MORANA. Filtro anti-rumore su giroconti/payout/cashback. Cron 07:35 UTC, report in /home/claudeuser/reports/riconciliazione_AAAAMMGG.txt. Primo giro: 19 rate, 16 spiegate, 3 non pagate (tutte PLACEHOLDER), 11 entrate non attribuite
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
* riconcilia_cassa.py attivo (cron 07:35 UTC, report in /home/claudeuser/reports/). 12/09 verifica di Marco 'gli italiani regolari sono allievi': CONFERMATA. Aggiunto strato anagrafica_unificata: le entrate orfane sono divise in A) allievo censito senza piano rate e B) sconosciuto. Bug trovato: le query bq erano troncate a 3000 righe e l'anagrafica ne ha 29.125 -> ora 200.000 per quella query. Risultato: 9 entrate su 11 sono allievi noti (Marzocchi 668/mese, Grappi 713/mese, Morroni 212/mese, Rozza 300, Strohmaier 490), 2 sconosciute (Viramontes Molina 500, D.C.S. Grandi Eventi 300)
; Prossimo passo :
; Prossimo passo :
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json
* (1) creare il piano rate per Marzocchi Marzio (ghenshiro@gmail.com), Grappi Paola (paolagrappi.anemos121@gmail.com), Morroni Cristiana (ily1975@gmail.com): pagano ogni mese la stessa cifra ma non hanno piano ne' riga nel foglio Salsina
* (2) chiedere a Salsina chi sono GERARDO VIRAMONTES MOLINA (500 del 08/09) e D.C.S. GRANDI EVENTI (300 del 07/09)
* (3) ROZZA EROS in anagrafica ha l'email dell'agenzia VMK Lab (lead.clienti@vmklab.it): anagrafica da correggere
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome


=== microcredential-passaggi-finali-ester-0109 ===
=== zoom-registrazioni-daily-0911 ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment
''Aggiornato 2026-09-11 20:16 UTC'' &mdash; dominio: trascrizioni


; Obiettivo : Mail Ester 01/09 Passaggi finali progetto (Gmail 1a05cc46495b99ba): RO ufficiale al posto del nostro, BG con indice riformattato, indice IT/EL tradotto; tutto online su greenagritainment.com R1 post 1175
; Obiettivo : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.*
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Scope report aggiunti da Marco 11/09 (report:read:user:admin ecc.). LIMITE ZOOM: il report copre SOLO gli ultimi 6 mesi (code 300): lo storico prima di marzo 2026 non e' recuperabile dall'API
* nessuna domanda a Marco
* il cron 06:45 fa scorrere la finestra ogni giorno cosi' da qui in avanti nulla si perde. Cancellazione automatica da Zoom dopo archiviazione NON attiva (serve OK Marco).
* backup prima di sostituire
* verifica live prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* IT/EL/RO nostri gia online (01/09 mattina)
* Script /home/claudeuser/scripts/zoom_recordings_daily.py (compila, dry-run ok, esce rc=3 senza credenziali). Cron 06:15 ogni giorno --days 3, log /home/claudeuser/zoom_rec/daily.log, stato /home/claudeuser/zoom_rec/state.json. Scarica MP4 (speaker view) + M4A + VTT transcript Zoom + chat, upload resumable su Drive, poi job.py trascrivi_ids.py --lang auto sull'M4A con Doc nella cartella Drive. Su Drive oggi esiste solo ULTIMATE PATH LESSON 1.mp4 (1RzftibHpVT4g9EZOLt8SvjkafbyiVFwp).
* allegati Ester scaricati in tmp/mc/ester_0109
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* DOCX sorgenti in tmp/mc e tmp/mc/out
* su Drive c'era solo LESSON 1.
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* su Drive c'era solo LESSON 1.
* v2 script: --from (backfill a finestre 30 gg), --inline-transcribe (sequenziale), avviso Telegram a fine corsa (bot ISI-CNV Worker). Prima corsa: Lesson 8 + Australian 07/09 su Drive, trascrizioni job zoomtr_*. Job backfill zoom_backfill_0911 (--from 2024-01-01 inline) e zoom_backfill_cestino_0911 (parte dopo, riprende i 5 recuperati dal cestino). Cron 06:15 --days 3 attivo.
* zoom_bq_sync.py (cron 06:45): tabelle zoom.riunioni_passate (7), partecipanti (327), riunioni_programmate (11), iscritti (91), registrazioni (43, con cestino), vista v_lezioni. zoom_recover_trash.py salvato. ZOOM-1 registrata (sovrapposizione segnalata: INF-1). Backfill zoom_backfill_0911 in corso (trascrizione inline), poi zoom_backfill_cestino_0911.
* zoom_bq_sync.py v2 (default --from oggi-180gg, salta le finestre oltre i 6 mesi): 43 riunioni passate da marzo 2026, 3.313 righe partecipanti (cache in zoom_rec/participants/), 11 programmate, 93 iscritti, 43 file registrazione
* vista zoom.v_lezioni. Job zoom_bq_storico_6m_0911 completato.
; Prossimo passo :
; Prossimo passo :
* 1|RO ufficiale|backup di uploads/2025/09/Agritainment_Micro-Credential-Model_RO.pdf e uploads/deliverables/ (stesso nome) su greenagritainment.com (cPanel bsgvwjte, docroot /home1/bsgvwjte/greenagritainment.com/, uploader PHP cc-up-tmp51 se ancora presente, altrimenti ricrearlo), poi sostituire con /home/claudeuser/tmp/mc/ester_0109/Agritainment_Micro-Credential_Model_RO.pdf (file ufficiale del partner rumeno, mail Ester 01/09 id 1a05cc46495b99ba)
* job.py --status zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni)
* MD5 live = MD5 locale
* query: SELECT * FROM zoom.v_lezioni ORDER BY start_time DESC (client bigquery sulla VM, dataset in EU). Se Marco autorizza: --free-space in zoom_recordings_daily.py per cancellare da Zoom dopo verifica Drive+trascrizione.
* 2|BG formattazione|partire da /home/claudeuser/tmp/mc/BULGARIA__Micro - credentials model translated BG__Agritainment_Micro-Credential Model.BG.docx: nell indice i numeri di pagina vanno a capo (impostare tab destro dell indice al margine, ridurre corpo/indent delle voci) e pag.3 inizia troppo in basso (rimuovere paragrafi vuoti/interruzioni prima del titolo)
* convertire in PDF con soffice, controllo visivo pdftoppm pagine 1-3, sostituire online ..._BG.pdf con backup e MD5
* 3|IT e EL indice|nei DOCX /home/claudeuser/tmp/mc/out/Agritainment_Micro-Credential-Model_IT.docx e _EL.docx l indice a pag.2 e rimasto in inglese (testo cache del campo TOC): tradurre le voci del TOC (w:sdt TOC / w:hyperlink) con lo stesso glossario usato per il corpo (aigw), rigenerare PDF, controllo visivo pag.2, sostituire online _IT.pdf e _EL.pdf (uploads/2025/09 e deliverables) con backup e MD5
* verificare i 4 link live con curl -I
* 4|Drive e chiusura|caricare i PDF/DOCX definitivi RO/BG/IT/EL sulla cartella Drive del progetto Green Agritainment
* chiudere commessa con consegne = 4 URL live
* NON scrivere a Ester (lo fa Marco)


=== posta-isicnv-followup-0109 ===
=== sito-ipnomentalismo ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: crm
''Aggiornato 2026-09-11 09:34 UTC'' &mdash; dominio: -


; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche)
; Obiettivo : Sito-manuale riservato Ipnomentalismo / Ipnosi sottile, modello Ipnoanalgesia
; Vincoli in vigore :
* gate=umano: risposte a terzi a nome di Marco
; Fatto (con prova) :
; Fatto (con prova) :
* elenco in sovra/posta_isicnv_20260901.txt
* 11/09: ONLINE https://www.neurolinguistic.com/ipnomentalismo/ (7 pagine, login Google, accessi mode=all). Censimento: 69 lezioni/37,3h (censo.json nomi+testo, concetto.json firma concettuale), corpus 23 manuali in /home/claudeuser/ipnomentalismo/corpus/ (Avviamento ipnotismo sottile liv.2 PDF, Ipnosi sottile 2015/2016, Primi passi 2022, 9 lezioni corso online, dispense). Generatore /home/claudeuser/scripts/im_build.py (corpus|transcripts|build|publish), LLM deepseek-chat (glm-5.2 fuori budget settimanale). Gate: gate.php+.htaccess clonati, accessi.sh ipnomentalismo mode all (modi validi: all|list, NON any). QA headless 7/7 pagine OK. Cartella vecchia riservato-ipnomentalismo-m4k9p7 ancora presente, da cancellare.
; Prossimo passo :
; Prossimo passo :
* 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558)
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py)
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM
* cron 4h come analgesia_ciclo.sh
* 3|Alejandro Banda ES|28/08 chiede certificacion mesmerismo y fascinacion (1a0495cbddd32504): lead ES per Salsina
* cancellare cartella vecchia
* 4|Ordine 2456 fallito|27/08 Ipnoanalgesia 79 EUR (1a042262c93b78e7), riuscito 2455 Nunziana Dibenedetto: verificare se 2456 e la stessa persona e se serve recupero


=== corso-analgesia ===
=== migrazione-carichi-media ===
''Aggiornato 2026-09-01 13:08 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-10 07:42 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare
; Obiettivo : Spostare i 197 cron della VM (729 esecuzioni/ora su 2 vCPU) dove e opportuno: 67 restano (monitor locali, ssh), 85 su media (BigQuery/Drive/video), 45 su secondary (solo API CC e Telegram). Via libera di Marco 10/09: fino al risultato finale.
; Vincoli in vigore :
; Vincoli in vigore :
* Modello di consegna dei monografici = Google Site pubblico (sites.google.com/view/corso-ipnosi-per-dormire|peso|fumo). Nessun Google Site analgesia esiste. Il materiale analgesia della scuola sta nel sito riservato Advanced (sites.google.com/view/advanced-level-master-di-ii-li/analgesia/materiale e /registraz) leggibile solo con browser loggato: profilo /home/claudeuser/.config/chrome-jules risulta Signed out -> serve login di Marco via VNC (porta 6080). yt-dlp bloccato (bot check) su VM e Hetzner: trascrizioni via YouTube captions API con token-yt-<canale> (quota giornaliera, reset 09:00 Roma) e Groq Whisper per media Drive.
* Il SA della VM non puo assegnare ruoli IAM (manca setIamPolicy): il SA media-worker@leafy-responder-483419-a4 esiste, chiave gia su media in /home/claudeuser/.gcp/media-worker.json, ma SENZA ruoli finche Marco non li da in console (bigquery.jobUser, bigquery.dataEditor, storage.objectUser). Il driver aspetta da solo quel momento. Backup crontab VM: backups/crontab_vm_prima_migrazione_20260910.txt. Wrapper bq = semaforo 2 slot.
; Fatto (con prova) :
; Fatto (con prova) :
* Scripts in /home/claudeuser/scripts/analgesia_{common,inventory,sites,transcribe,synth}.py, stato in /home/claudeuser/analgesia/. Inventario: 655 video YouTube candidati (IT 111, EN 281, FR 62), 160 gia' con trascrizione, 157 media Drive
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta)
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run.
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4
* SVOLTA 31/08 sera: profilo Chrome jules su display :1 GIA loggato (Chrome vero via /home/claudeuser/launch_cdp.sh + CDP 127.0.0.1:9222). Sezione ANALGESIA sito Advanced letta: lezione Zoom 10.11.2025 = yt _8Vu4mrRNMg
* earlyoom + swappiness 10 sulla VM
* lezione 04.04.2022 = yt lJ6838MgFLY
* wrapper /usr/local/bin/bq con nice 15 + timeout 300 (22 script cron usano bq CLI)
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus)
* vm-heartbeat.sh riscritto solo-curl (da 60s+ a 1.5s, backup .bak_bq_20260909)
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi
* uccisi gsutil/bq orfani da 30 min.
* quota YouTube riprova ogni 30 min, reset 09:00). noVNC: http://34.22.207.95:6081/vnc.html, regola firewall allow-novnc-6081 DA RIMUOVERE a fine lavori
* censimento_cron.py -> logs/censimento_cron.json (197 righe classificate). migra_cron.py: --lotto/--verifica/--rollback/--stato, promuove dopo il primo log pulito, ripristina su Traceback/credenziali/file mancanti. migrazione_driver.sh in cron */30: rsync idempotente, pip, verifica, un lotto per giro (secondary_1 45 cron, media_1 15 senza Google, poi lotti media_bq da 15 quando la SA risponde), si ritira da solo a fine lavoro.
* 01/09: SITO-MANUALE ONLINE https://www.neurolinguistic.com/riservato-analgesia-k7f3x2/ (index, principi, indurre, catalessi, esempi con 22 spezzoni fini + 4 video Starter, metodi=53 metodi dal doc di Marco). Generatore /home/claudeuser/scripts/analgesia_manuale.py (cache LLM manuale_cache.json), spezzoni fini analgesia_spezzoni.py find/extract fine, ciclo asincrono analgesia_ciclo.sh in cron ogni 4h (8 spezzoni nuovi + rigenera + pubblica via cPanel FastComet overwrite=1). Corpus: doc_53_metodi, doc_analgesia_magnetica (allegati Marco), esercizi, slides. Starter site pubblico: sites.google.com/view/itapiattaformastarter, pagina analgesia-ed-ipnosi-rapida = yt 8RpS00D-iLY ELwE399kgnc d6zGPTokP2I ixz5QtfnwOg (in inventario, trascrizione dopo reset quota 09:00). Sites scan completo: 366 siti, 40 con analgesia (sites_scan.json).
; Provato ed escluso :
* 01/09 09:50: versione professionale online (7 pagine incl. Riferimenti: Erickson, Hilgard, Esdaile, Braid, Rainville...), filtro anti-meta (pulisci()), Scuola non tradizione, Google Doc di revisione aggiornato ad ogni ciclo: manuale_doc.json
* Upgrade e2-medium: NO (deciso). Billing export BQ e budget alert: il SA della VM non ha permessi billing, deve farlo Marco in console.
* 01/09 13:40: LOGIN ISI-CNV operativo (test e2e ok): CC route GET /login?key&sito&ritorno -> Google (client web esistente, redirect /oauth/callback?key= registrato) -> ramo login: in oauth-callback-v2 (path /oauth/callback
* Cadenze dei cron NON toccate (es. campaigns_monitor ogni minuto): solo spostamenti. Nessuna chiave del SA compute (editor) fuori da GCP.
* NB oauth-callback.json e ombra) -> userinfo -> allow.json -> token HMAC (segreto login/secret.txt) -> sito Cloud Run (app Flask gate, cookie isicnv_sess 30gg, file da bucket GCS). Sito riservato: https://ipnoanalgesia-424757051842.europe-west1.run.app (accesso: qualsiasi account Google
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails]
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico.
* 01/09 15:10: login Google spostato su neurolinguistic.com (gate.php + .htaccess nella cartella riservato-analgesia-k7f3x2, segreto in /home/marcopar/.isicnv_login_secret via cPanel)
* Cloud Run ipnoanalgesia e bucket cancellati (zero spazio/costi GCP). Test e2e OK. Per un nuovo sito su hosting PHP: copiare gate.php (cambiare SITO) + .htaccess (RewriteBase) + voce allow.json
* per Cloud Run resta nuovo_sito_login.sh
; Prossimo passo :
; Prossimo passo :
* Dominio dedicato se Marco lo vuole
* tail -40 /home/claudeuser/logs/migrazione_driver.log
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email
* python3 /home/claudeuser/scripts/migra_cron.py --stato
* cat /home/claudeuser/logs/migrazione_cron_state.json | python3 -c "import json,sys
* [print(k,v[\"dest\"],v[\"stato\"],v.get(\"motivo\",\"\")) for k,v in json.load(sys.stdin).items() if v[\"stato\"]==\"ripristinato\"]"  # i ripristinati vanno letti uno a uno: dipendenze locali non rilevabili dal log


=== mro-r103-r104 ===
=== reverse-nlp-legacy-html ===
''Aggiornato 2026-09-01 11:18 UTC'' &mdash; dominio: mro
''Aggiornato 2026-09-09 00:43 UTC'' &mdash; dominio: Hosting / siti


; Obiettivo : Scrivere in-place nel Doc MRO canonico (1Iyxrr5-uTRtRY52QTab1eyLlmzz6Frbc9fJbQn4HTNs) le regole R103 (chiusura verificata: END senza prova = END_NONVERIFICATO, riprendi_chat.py cron rilancia) e R104 (deliverables dichiarati in apertura con commessa.py apri --deliverables, prove a chiudi --consegne, verifica-tutte ogni 20 min, riga DELIVERABLES accanto a END); poi cronaca su wiki ops MRO_Storia e grafo
; Obiettivo : neurolinguistic.com: conversione additiva pagina-per-pagina a PNL3/Reverse NLP dalle HTML legacy meno visitate (job_reverse_nlp_legacy_html_20260909)
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* mai creare copie del MRO
* nessuna cancellazione testo storico, URL/title/H1 invariati
; Fatto (con prova) :
* ordine per traffico reale GA4 (analytics_isicnv.ga4_pages_daily, property 533218658+399463272)
* codice installato e testato 01/09
* backup prima di ogni modifica
* QA HTML/mobile/HTTP per pagina
* pubblicazione = azione irreversibile: primo lotto proposto a Marco prima del deploy
; Fatto (con prova) :
* traffico HTML 2025-08..2026-08 esportato in /home/claudeuser/reverse_nlp_legacy/traffico_html_2025-08_2026-08.csv (348 URL, 932 views)
* lotto 1 scelto = 10 URL a 1 view chiaramente PNL (batch1.txt)
* originali scaricati via ssh FastComet in orig/ e backup in backup/
* LOTTO 1 ONLINE 09/09 00:40 UTC: 10 pagine (batch1.txt) con lead RF + sezione Dalla PNL alla PNL3
* blocchi in blocchi.json, apply.py idempotente (marker rnl-additivo-2026-09), qa_html.py PASS 10/10, mobile ok
* backup server ~/rnl_backup_20260909 e VM backup/
* log Drive
* LOTTO 2 ONLINE 09/09 00:40 UTC: italy-20,24,25,23,06,26,05,02,10 + magnetismo/rapport-magnetico (blocchi2.json)
* QA estesa PASS (canonical, noindex, img, keyword, testo 100%)
* inventario 7418 htm con GA4+GSC in inventario_legacy_html.csv (Drive 1bhHc1KDlKXuCMiNPdmBg90bKTC9D6m8-)
* registro_operativo.csv (Drive 16ar1_8T4QoJ3UZQpkuoSy1grvnLnG8Rg)
* Doc Legacy HTML Audit aggiornato con lotti 1-2 e lotto 3 proposto
* Marco (prompt 09/09): NON chiedere approvazione per pagina, continuare a lotti
; Provato ed escluso :
* dataset site_analytics_2026: non esiste, i dati sono in analytics_isicnv
; Prossimo passo :
; Prossimo passo :
* 1|Doc|inserire R103 e R104 dopo R102 nella sezione regole, in-place (leggere il doc, trovare R102, inserire)
* LOTTO 3: cd /home/claudeuser/reverse_nlp_legacy && cat > batch3.txt (URL dal Doc Audit sez. LOTTO 3 proposto
* 2|wiki|MRO_Storia riga 01/09
* verificare prima formato di nlp/rapport.htm e nlp/erickson.htm) && scaricare orig via sshpass ssh marcopar@itpro1.fcomet.com tar -T batch3.txt, leggere testi, scrivere blocchi3.json, python3 apply.py blocchi3.json, backup+deploy, job.py --run "python3 qa_html.py batch3.txt", python3 registro.py
* 3|LEGGIMI|sezione 5 COME SI CHIUDE: aggiungere riga DELIVERABLES e nota R104


=== ricalco-guida-2siti ===
=== trascrizione-master-tanya-0709 ===
''Aggiornato 2026-08-31 14:45 UTC'' &mdash; dominio: pagine pillar
''Aggiornato 2026-09-08 22:46 UTC'' &mdash; dominio: trascrizioni


; Obiettivo : Due bozze IT su ricalco e guida (nuova visione: si parte dalla relazione -> polivagale -> magnetismo): neurolinguistic.com/blog/ricalco-e-guida (PID 11780, noindex Yoast) e marcoparet.com ricalco-e-guida-pnl; fino a CONFORME+VISUAL_OK; Marco corregge, poi PAG-3
; Obiettivo : Trascrizione 2 video mail 'registrazione Master e Tanya'
; Vincoli in vigore :
; Vincoli in vigore :
* restano bozze finche Marco non dice approvo
* I file sono condivisi SOLO con marcoparet@gmail.com: token isicnv -> 404, accesso anonimo -> login. Nessun token Drive marcoparet su VM/GCS. Serve che Marco condivida i 2 file con isicnv@gmail.com (o Salsina).
* pagine esistenti si preservano e si arricchiscono in coda
; Fatto (con prova) :
; Fatto (con prova) :
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU)
* Script pronto: /home/claudeuser/scripts/trascrivi_ids.py (download per ID, audio 16k, pezzi 20 min, Groq whisper-large-v3, txt+json+timestamp, Doc in cartella). Cartella output Drive: 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo
* Accesso dato da Marco. Job trascr_master_tanya_0709 in corso (Master CNV 07/09, 175 min, italiano). Tanya (60 min) e' in INGLESE: prima passata con language=it era una traduzione -> cancellata
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run)
* ricodata con --lang auto nel piano trascr_tanya_en (job trascr_tanya_en_run) che parte alla fine del Master.
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso
* passo 3 marcoparet parte dopo 20 min
; Prossimo passo :
; Prossimo passo :
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709
* python3 job.py --status ricalco_guida_2siti_v2_run
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run
* poi controllo_visivo screenshot e consegna link
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907'
* anelli neuro dedicati (agente_anima.py, agente_stupore.py, due_motori.py PID 11780) se la catena non li copre
* poi rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* link da art-40.htm e da 11304 rapport-magnetico verso la nuova (preservando il testo)


=== ordine-2455-ipnoanalgesia ===
=== dipisa-pagina-en ===
''Aggiornato 2026-08-31 14:20 UTC'' &mdash; dominio: marcoparet.net WooCommerce
''Aggiornato 2026-09-08 19:22 UTC'' &mdash; dominio: pagine


; Obiettivo : Consegnare a Nunziana Dibenedetto (ritadb7920@gmail.com, ordine #2455, 79 EUR Stripe py_3U8xmiBJplFqfgbM1yIQ2r5z pagato 27/08 09:31) l'accesso al Corso di Ipnoanalgesia (prodotto 2332) e rendere automatica la consegna dei corsi monografici
; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto)
; Vincoli in vigore :
; Vincoli in vigore :
* Email al cliente = azione esterna a nome di Marco: solo dopo che Marco indica il contenuto del corso. Endpoint ops: POST https://marcoparet.net/wp-json/isicnv/v1/ops header x-isicnv-key ops-8f3a2d19c7e44b6b9a1d5e7f0c2b3a41, azioni: ping|sql(SELECT)|order|resend_email|send_course_link|set_purchase_note|set_status|test_mail|option. File: mu-plugins/isicnv-ops.php via cPanel Serverplan Fileman (hmarcopl, cms026.cmshigh.com:2083).
* nessuna data di nascita/morte di Di Pisa: la wiki non le da
* niente promesse terapeutiche
* solo bozza, pubblica Marco
; Fatto (con prova) :
; Fatto (con prova) :
* Diagnosi completa: pagamento reale e unico (2456 = tentativo fallito 5 min dopo, nessun doppio addebito). Prodotto 2332 non virtuale, senza download, senza purchase note, nessuna pagina/sottodominio/video collegato: la consegna era manuale via notifica a ily1975/isicnv e non e' avvenuta. Cliente ha scritto 3 volte (27/08 form Contatti, 28/08 form marcoparet.com, 31/08 form prodotto) senza risposta. Anche ordine 2426 (Nardoni, 11/05, stesso corso) e' fermo in processing e l'email isicnv del 11/05 10:35 e' vuota (solo firma). Deploy isicnv-ops.php v1.1 con hook woocommerce_payment_complete: se tutti i prodotti hanno purchase note -> ordine Completato + email con il link. wp_mail testato e verificato su Gmail isicnv (msg 1a058304ffa6be2e).
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento
* regola wiki-prima in memoria rule_1788895263452_p8oahr
; Prossimo passo :
; Prossimo passo :
* 1) Marco indica il contenuto del corso (candidati YouTube unlisted canale IT: JqwJ1JSajQ0 'adv ita analgesia', _8Vu4mrRNMg 'ANALGESIA ADVANCED LESSON', wU2uR9ukVR4 'ADVANCED LEVEL - ANALGESIA'). 2) curl ops set_purchase_note {product_id:2332, note:'<testo con link>'}. 3) curl ops send_course_link {id:2455, subject, html, complete:true} e verifica su Gmail. 4) Stesso per ordine 2426 (manuelanardoni3@gmail.com). 5) Compilare purchase note anche per 1264,1258,1283,2012 se venduti online.
* cd /home/claudeuser/scripts && python3 crea_pagina.py questionario "Erminio Di Pisa" --lang en, poi fabbrica.py nuova "Erminio Di Pisa" --def <def_pNN.txt> --titolo "Erminio Di Pisa: the Italian master of eyes-open hypnosis" --slug erminio-di-pisa --lang en


=== crisi-mesmerica-potatura ===
=== rete-sicurezza-orfani ===
''Aggiornato 2026-08-29 17:24 UTC'' &mdash; dominio: hosting/pillar
''Aggiornato 2026-09-08 07:30 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna
; Obiettivo : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco
; Vincoli in vigore :
; Vincoli in vigore :
* prima di editare un pid: leggere bacheca interchat e annunciare
* non toccare i cantieri con costi/invii/cancellazioni
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy)
* nessuna cancellazione su GCS
; Fatto (con prova) :
; Fatto (con prova) :
* Analisi 28/8: diff versioneA_6747 vs live. Persi: sezioni 'Cosa aspettarsi da una seduta', 'Le due forme del magnetismo', 'Il rapporto con la medicina' (con Ambito di pratica/Cosa non puo fare), hook apertura, ~7 citazioni dirette Paret (incl. Di Pisa). Salvati in /home/claudeuser/pillars/scorpori_crisi_mesmerica_6751.md
* gate_pipeline.py: una pipeline risponde sempre al proprio nome
* 28/8 sera: reintegro live su 6751 (hook, seduta, ambito/limiti, 3 citazioni Paret, ciclo in lista) verificato con curl, guardiano 232 grassetti 1/12.9, rilettore 0 rilievi. Pagina nuova 6818 le-due-forme-del-magnetismo PUBBLICATA con link incrociati. Sistema autonomo in scripts/: pill_lib.py, inventario_protetti.py, diff_perdita.py, potatura_sicura.py, architetto.py (con regola tema-cuore e snapshot), fabbrica_pagine.py + coda_temi.txt + cron lun 05:00 UTC (solo BOZZE). Test reale architetto: ha scorporato ciclo-delle-tre-crisi (bozza 6820), sezione ripristinata perche' tema-cuore, regola aggiunta.
* trigger PAG-2 ampliato
* 28/8 notte: DEFINITIVA su marcoparet.com/crisi-mesmerica/ (2965 parole, 221 strong bilanciati, rilettore 0 rilievi): fusi i filoni delle due chat dopo collisione, riapplicate regole di stile della chat brand perse, corretti 3 strong orfani, Arkeos ridotto a richiamo, FAQ asciugata, keyword a 8. Snapshot DEFINITIVA+inventario salvati. interchat.py operativo (memoria+wiki Bacheca_interchat+file): 2 messaggi inviati a chat brand
* sovra/ripresa_commessa.py ricostruisce il comando dalla commessa via registro
* nota anche sul Google Doc strategia. Fabbrica: bozza EN mesmerism-training pid 6828 (draft, 0 rilievi) MA prodotta con memoria in 503 quindi senza materiale radicato
* handoff.py --list mostra PRONTO
* fabbrica patchata (retry x3 + marcatura senza-materiale)
* job ripresa_orfani_20260908 in corso sui 235 cantieri
* 28/8 22:3x: Note finali riscritte (frasi duplicate, quarta ripetizione tre rami, rimando a articolo wiki inesistente sostituito con link reale stati-ipnosi-non-verbale). 2847 parole, strong 223/223, dedup 0 su 191 frasi. Nuovo controllo dedup_frasi.py agganciato alla fabbrica. Avvisata chat brand via interchat.
* esamina_resta: riprova su 429, ritmo 3s, silenzio=[?] mai NO, avviso ogni 6h
* 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco
* chat_controller chiama ripresa_commessa.py
* ha gia' corretto la coda del crisi-mesmerica. Bozza 6828 mesmerism-training riscritta a mano con dati GSC (cluster ~350 impressioni), quote EN verificate, dedup 0, title SEO: resta DRAFT. Nota infra: CC connector degradato (503 su payload lunghi: workaround chunk idempotenti via exec-direct)
* job rete_orfani_patch_20260908 (prova giudice) e ripresa_orfani_20260908 (235 cantieri) in corso
* hostgator ssh throttling temporaneo (risolto con loop retry su VM).
; Prossimo passo :
* 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP
* job.py --status rete_orfani_patch_20260908
* prompt di continuazione consegnato a Marco e salvato nel Project
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE
* puntatore in memoria CC
* avviso in bacheca a tutte le chat.
* 29/8 pom: bridge MCP diagnosticato (era GIA' stateless: il blocco era il client ChatGPT che in chat normale invoca solo search/fetch). Bridge portato a v3.1 via /self-update (hot, backup su GCS): aggiunti tool search e fetch formato ChatGPT, con timeout interni (memoria degradata non blocca piu' la risposta). Testato: tools/list ok, search restituisce il manuale, fetch legge la bacheca. La chat coordinatrice ChatGPT ora legge il sistema dal connettore anche col browser rotto
* per l'esecuzione le serve la modalita' sviluppatore ChatGPT, e le e' stato inviato in bacheca il protocollo completo sessione/commessa/journal/handoff (richiesta di Marco). Manuale aggiornato.
* 29/8 pom (2): bridge v3.2 con auto-sessione (se session manca, il bridge la apre da solo): rimosso il bootstrap circolare segnalato dalla chat ChatGPT: cc_vm_exec via MCP senza session TESTATO ok sulla VM. Backup v3.1 su GCS. Manuale aggiornato, protocollo e sblocco comunicati in bacheca.
* 29/8 sera: SECONDO MOTORE. stratega.py (cron dom 05:30 UTC): opportunita' da GSC, proposte in coda, questionari grounding su Drive (creati: pnl-ricalco e catalessi). bq_sink_cruscotto.py (cron 07:35 UTC): cruscotto -> BigQuery pillar_intelligence.metrics_giornaliere, 38 righe caricate al primo giro, registro auto-esteso, alert in bacheca. arricchitore.py in catena fabbrica: pagella video/immagini/JSON-LD/liste + --schema per Article/FAQPage. Pagelle attuali: 6751 e 6828 senza video/immagini/schema. pill_lib.wp con retry. NOTA: ssh hostgator in ban temporaneo (connection refused): WP in pausa.
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo
* resta draft
* 0 duplicati
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato.
* PROVA BRIDGE: da questa chat ChatGPT, cc_vm_exec chiamato senza sessione esplicita ha eseguito sulla VM e restituito stdout AUTOSESSIONE_CHATGPT_OK con rc 0
* il gate ha poi assegnato la sessione S20260829-mcpchatgpt-1ul2nt6, usata per commessa e journal. PROVA PILLAR: draft 6828 mesmerism-training grounded con Q1 definitivo, resta draft, 0 duplicati, grassetti EN tarati circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato.
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica
* Playwright desktop+mobile sul contenuto WordPress finale
* per post pubblicati verifica anche permalink reale
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso.
; Provato ed escluso :
* potatura ulteriore automatica: toglie sostanza
* scorporo del ciclo delle tre crisi dalla pagina madre
* pubblicazione automatica dalla fabbrica
* pubblicazione automatica
* edit paralleli sullo stesso pid
; Prossimo passo :
* Marco controlla il testo 6828
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale.


=== video-proxy-pipeline ===
=== database-esercizi ===
''Aggiornato 2026-08-28 22:52 UTC'' &mdash; dominio: video / infrastruttura
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca


; Obiettivo : Fase 1: proxy 1080p dei 40TB con audio+scene su cloud; Fase 2 editor web; Fase 3 conform 4K dagli originali; Fase 4 piattaforme; strato scene+significato; estrazione WeVideo
; Obiettivo : Database esercizi dal corpus: parole esatte, contesto, prerequisiti, vantaggi, pagina, libro. Fasi: 1 Paret, 2 Lefebure, 3 Hanish/Mazdaznan, 4 Durville, 5 Encausse/Papus, 6 Evola+Gruppo di Ur. Poi Marco amplia il corpus.
; Vincoli in vigore :
; Vincoli in vigore :
* mai cancellare file utente
* Script canonico /home/claudeuser/scripts/esercizi_extract.py (BIB-1). Tabelle BQ biblioteca.esercizi + esercizi_coda. Modello glm-5.2 via aigw, 6 worker. Pagina: pdf (\\f) o stimata
* solo file propri con originale esistente
* pagina_stampata dal testo. Costo stimato ~30 USD totali, tetto aigw giornaliero 8 USD -> il job pausa 60 min e riprende.
* PC di Marco ultima risorsa per lo spazio
* backup e cartelle personali esclusi ma catalogati
* nessuna ri-trascrizione se esiste gia in archivio storico
* deploy solo con assert anti-regressione superato
; Fatto (con prova) :
; Fatto (con prova) :
* Agente Windows autoaggiornante v2.9 (C:/isicnv, Python embeddable+ffmpeg, icona desktop+menu Start) su https://wiki.marcoparet.com/agent/agent.py : rileva dischi da solo, QSV full-GPU 1080p 2Mbps con fallback, anti doppia istanza (bug 47 righe/24 clip risolto), progresso live e stime, catasto dischi in BQ disk_inventory, upload WebDAV Yandex con backlog e retry (creds bootstrap k_9vq2m8xk4t.json, copia in gs tokens-yandex-webdav.json). Yandex verificato: 3TB totali, 1.81 usati, 1.20 liberi, cartella isicnv_proxy creata. Tabelle BQ: video_proxy_tracking con disk_serial, disk_label_map, trascrizioni_index 9860 righe, disk_inventory. Dashboard https://wiki.marcoparet.com/agent/status.html cron 10min con dedup. Dischi: Maxtor 2019-09 2020-03 (2943 video, label=nome canonico) e INTENSO in corso 15/08. Mirror ffmpeg su wiki per problema TLS del PC.
* Coda 295 doc costruita e deduplicata
* v2.10 online: fix sdur (assert obbligatori sulle patch) + estensioni .mod/.tod/.3gp/.webm/.flv (431 MOD su INTENSO trovati dal catasto). Catasto INTENSO 54419 file validato. TROVATA pipeline trascrizione VIVA: /home/claudeuser/trascrivi_run.py (fonte rclone gdrive:Audio da Corsi dal vivo per nome disco, Groq whisper-large-v3, chiavi in isicnv/keys/groq_keys.json, resume automatico, flock). Intenso ha solo 164 trascrizioni perche i suoi mp3 (_AUDIO_ESTRATTI, 1501 file 11.6GB) non sono mai saliti tutti su Drive. Export chat Claude 853MB in Drive folder 1TpajgASPSO non serve piu.
* job esercizi_run lanciato 07/09 08:26 UTC
* Agente v3.0 PUBBLICATO su https://wiki.marcoparet.com/agent/agent.py (sha256 1ddb5c7d..., backup v2.10 in agent_v2.10_backup.py): per ogni proxy estrae audio mp3 16kHz mono 48k (fallback aac m4a) + miniature cambi scena (soglia 0.35, 360p, max 200, timestamp nel filename sNNNNN_tSEC.jpg + scenes.json
; Prossimo passo :
* video statici 1 copertina a meta durata)
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run
* backlog automatico su clip done senza media via media.csv
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue
* BQ status audio/scenes/audio_up/scene_up. Testato con 3 livelli assert. ATTIVA al prossimo riavvio agente. INTENSO verificato in lavorazione v2.10 (3 done ts 09:05 UTC 15/08)
 
* trascrivi_yandex.py DEPLOYATO su VM (/home/claudeuser/trascrivi_yandex.py): fonte yandex:isicnv_audio (mp3+m4a), stesso albero output trascrizioni_isicnv/<label>/, meta con disk_label e yandex_path, flock dedicato, rotazione 13 chiavi Groq, ricompressione >24MB. Smoke test ok (0 audio: v3 non ancora riavviata). Cron 15 */6 * * * con log logs/trascrivi_yandex.log. Remote rclone yandex webdav configurato su VM
=== pagine-seo-affiancate-0509 ===
* creds copiate in gs://isicnv-command-center-routes/tokens/tokens-yandex-webdav.json. Tabella BQ isicnv_workflows.video_scenes CREATA (clip_id, scene_n, t_sec, thumb_yandex_path, vision_labels, vision_desc, is_demo, vision_model). Mirror wiki cantiere di nuovo funzionante (saveRevision risolto)
''Aggiornato 2026-09-06 21:58 UTC'' &mdash; dominio: pagine SEO marcoparet.com e neurolinguistic.com
* v3.1 PUBBLICATA (sha 5bf72d28...): miniature ora estratte dall'ORIGINALE sul disco collegato a 720p (fallback proxy se assente), encoder BQ dichiara la fonte (scene0.35-orig/proxy). Testato: scena a t=3.0 dall'originale mentre il proxy era statico
 
* fallback verificato. trascrivi_yandex v2: salva SEGMENTI TEMPORIZZATI whisper (start/end/testo) nel .json meta - base per allineamento scena-parlato e 'momento reazione' - e inserisce in BQ trascrizioni_index (batch 25, flush finale). Smoke test ok.
; Obiettivo : Ciclo pagine nuove + Doc IT a strati + regole dalle note
* v3.1 VERIFICATA IN PRODUZIONE post-riavvio Marco: BQ mostra 2 audio (a16k-mono) + 2 scenes (scene0.35-orig, dagli ORIGINALI) + 5 done alle 09:31-09:42 UTC
; Vincoli in vigore :
* upload media in coda dietro i proxy (fisiologico). v3.2 PUBBLICATA (sha 31165499...): SISTEMA PUSH - da idle a code vuote, ogni 10 min l'agente controlla wiki: versione nuova -> scarica, compile-check (se rotta resta sulla vecchia), sostituisce e si riavvia da solo con os.execv
* Registro M1-M64 (736). M64.9: pagine di persuasione/vendita su neurolinguistic.com/blog (ssh marcopar@itpro1.fcomet.com, wp --path=/home/marcopar/neurolinguistic.com/blog), non su marcoparet.com. 64.1 niente temi negativi in apertura/titolo
* inoltre legge control.json (force_restart_ts) per riavvio remoto senza cambio versione. Testato con 5 assert (update, no-op, protezione codice rotto, throttle, restart remoto). Da v3.2 in poi NESSUN riavvio manuale servira' piu': pubblicare = deployare. Riavvio remoto: scrivere force_restart_ts=epoch futuro in /var/www/wiki/agent/control.json su Hetzner
* 64.4 rapport nasce dalla relazione
* v3.3 PUBBLICATA (sha d434a9f7): HEARTBEAT ogni 5 min in BQ agent_heartbeat (versione, disco, clip corrente, attivita, code, uptime) + AUTOSTART con Windows (shortcut in shell:startup, si crea da solo al primo avvio). Dashboard status.html AGGIORNATA (backup gen_video_status_backup.py): banner vivo in cima con semaforo ATTIVO<=12min/SILENZIOSO<=40/SPENTO?, versione, clip in corso, code, contatori audio/scene estratti e caricati
* 64.6 vendita: occhi e stretta di mano, non passi/tocco. Doc a strati sempre.
* fix VEXT con .mod/.tod/.3gp/.webm/.flv nel catasto. Verificata pubblica. MODELLO OPERATIVO COMPLETO: PC acceso col disco + tutto guidabile da remoto (push deploy, riavvio via control.json) + monitoraggio mobile su https://wiki.marcoparet.com/agent/status.html
; Fatto (con prova) :
* v3.4 PUBBLICATA (sha 70b15e2a): FIX heartbeat (backslash Windows rompevano la SQL: solo 1 battito in 7h - ora sanificati e INSERT provato reale su BQ), FIX timeout upload Yandex (era 300s fisso -> 0 proxy INTENSO caricati per read timeout su file grandi
* 05/09: onde-cerebrali IT 7018 pubblicata
* ora dinamico 600-3600s in base alla size), errori upload VISIBILI (contatore+ultimo errore nel heartbeat con colonne up_err/last_err via ALTER, riga upload_err in tracking alla prima occorrenza per clip), check aggiornamenti anche AL CONFINE TRA CLIP (senno mai idle su dischi da 450h e il push non scattava mai), GUARDIA disco staccato (stop pulito, clip error ritentate al ricollegamento - verificato: pending esclude solo status done). Dashboard aggiornata con riga rossa errori upload. NOTA: v3.3 in esecuzione si aggiorna solo da idle: lo swap dischi di Marco (chiudi-riapri contestuale) carica v3.4.
* 153 e 155 ripristinate alle versioni originali
* v3.4 CONFERMATA VIVA post-swap (battiti regolari con clip corrente, fix heartbeat funziona). v3.5 PUBBLICATA (sha f4da4f50) - PLUG-AND-PLAY COMPLETO: (1) set ENQ anti-duplicati sulle code (le ri-scansioni ogni 30s duplicavano gli item non ancora caricati), (2) rilascio chiave su file mancante cosi al ricollegamento il backlog riaccoda, (3) skipped &= drives: un disco che dava errore veniva ignorato per sempre fino al riavvio, ora l'estrazione cancella l'errore e il reinserimento riparte pulito. 4 assert passati. E' il PRIMO deploy push reale: v3.4 la carichera al confine della prossima clip.
* pagine nuove affiancate 7051 how-to-shift-your-brainwave-states, 7052 animal-magnetism-full-history-mesmerism, 7046 how-to-develop-hypnotic-gaze
* v3.6 PUBBLICATA (sha 1aad55e7, supera v3.5 mai installata - l'agente v3.4 in esecuzione su Maxtor salta direttamente a v3.6 al confine clip): (1) LOG REMOTO: ogni riga log() bufferizzata e spedita a BQ isicnv_workflows.agent_log col battito ogni 5 min (sanificata, testata con INSERT reale), visibile a Claude via BQ e sulla dashboard (sezione 'Ultime righe di log')
* 289 ripristinata e protetta
* (2) FILTRO FILE FANTASMA: scan_videos salta ._* (AppleDouble macOS, causavano ERRORE transcodifica su Maxtor) e file <64KB. Include tutte le migliorie v3.5 (dedup ENQ, rilascio chiavi, skipped auto-dimenticato = plug-and-play). Dashboard rigenerata OK 101.
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13
* PUSH VERIFICATO FUNZIONANTE: agente auto-aggiornato v3.4->v3.6 nella notte senza mani. Avanzamento 16/08: INTENSO 72/1526 (4.7%), Maxtor 119/2944 (4%), ~50 clip/notte. PROBLEMA APERTO: upload Yandex ancora in read-timeout anche con timeout 3600s (289 in coda, solo 4 proxy passati) - non e' questione di timeout ma di banda/WebDAV. v3.7 PUBBLICATA (sha in wiki): coda upload a PRIORITA by-size (audio e thumb passano davanti ai proxy -> trascrizioni e strato semantico fluiscono anche se i proxy arrancano) + METRICHE velocita (MB/s e durata su ogni successo/fallimento nel log remoto, e nell'ultimo errore heartbeat). Assert passati (priorita, dedup, rilascio).
* regole M34-M44 estratte (da 358 a 464)
* STORAGE BOX ESISTENTE TROVATA (Marco aveva ragione): u649132.your-storagebox.de, BX11 1TB usata 7GB (backup CC/BQ, cron storagebox_backup.py). NIENTE UPGRADE ORA: 1TB copre mesi (proxy totali stimati 1.6TB a fine 40TB)
* creati forma_finale.py, scopo_pagina.py, concorrenza.py, metafore.py, agente_logico.py, gate_pagina_protetta.py
* upgrade BX21 con un click quando serve. Setup: chiave dedicata sb_agent_ed25519 generata su VM e autorizzata sulla box (separata dalla chiave backup), cartella isicnv_proxy creata, test scp reale 30MB in 2s (15MB/s). Creds agente su https://wiki.marcoparet.com/agent/k_sb_7hq4x9m2vt.json + GCS tokens/tokens-storagebox-agent.json. v3.8 PUBBLICATA: PROXY -> Storage Box via scp Windows OpenSSH (mkdir -p remoto con cache, quoting spazi testato sui path RUSSIA TORINO, ACL icacls sulla chiave, timeout by-size, fallback Yandex se scp assente), audio+thumb restano su Yandex (trascrittore gia' li'). encoder BQ scp-sb vs webdav.
* censite 78 pagine protette
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot
* 05/09: onde-cerebrali IT 7018 pubblicata
* costo solo su modifiche/cancellazioni future
* 153/155/289 ripristinate e protette
* i proxy sono comunque rigenerabili dagli originali (dati derivati, non preziosi)
* pagine affiancate 7046, 7051, 7052
* lo script VM spinge backup VERSO la box, non fa immagini della box. Dashboard: aggiunta riga 'Storage Box (proxy + backup): usati X su 1TB' con allarme rosso a 78% e nota upgrade BX21 (fix parsing df: shell ristretta box a volte ignora il pipe tail, ora si parsa l'ultima riga non-header). Verificata pubblica: 7.1G/1TB (1%). Agente ancora v3.7 su clip lunga: v3.8 attesa al prossimo confine clip.
* 155 ampliata
* MILESTONE: PRIME TRASCRIZIONI AUTOMATICHE end-to-end. 10 audio su Yandex (priorita v3.7 funziona), trascrivi_yandex manuale: ok=5 skip=5 err=0, lingue auto (IT/EN), 267 e 364 segmenti temporizzati, BQ trascrizioni_index +5. Il ciclo disco->proxy->audio->Yandex->Groq->testo+tempi->BQ e' VIVO. 24 miniature su Yandex. v3.8 in attesa del confine clip (clip 12/1437 gigante in corso, v3.7 batte regolare). Calcolo fattibilita consegnato: proxy 0.9GB/h video, scenari 1.7-4.5TB per 40TB, 3.5-10 mesi su 1 PC, box 1TB regge ~2 mesi poi BX21
* regole M34-M45 (466 voci)
* Marco valuta secondo PC.
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta
* v3.8 ATTIVA (terzo push riuscito, proxy->StorageBox da ora). v3.9 PUBBLICATA (sha 26e7b459): ANTI-STANDBY Windows via SetThreadExecutionState - il PC non va a riposo finche' l'agente e' aperto (schermo puo' spegnersi), elimina il rischio principale del PC-sempre-acceso. Strategia Marco confermata: priorita' INTENSO (~10TB recenti). Stima INTENSO: ~460h video 4K -> proxy ~410GB (sta nel 1TB attuale senza upgrade), audio ~10GB, ~27 giorni di lavoro a ritmo attuale.
* 78 pagine protette
* CENSIMENTO DRIVEUPLOADER COMPLETATO (richiesta Marco): 45 cartelle radice, 190 cartelle totali, 2668 video = 3.19TB su Drive isicnv, con md5 e path, in BQ isicnv_workflows.drive_video_census (script VM census_driveuploader.py, token root bucket NON tokens/). Incrocio col catasto: solo 39 match sui 2 dischi finora catastati (Maxtor) -> il grosso dei video Drive viene da dischi non ancora analizzati, come previsto da Marco. Vista permanente v_drive_vs_dischi: ogni NUOVO disco catastato si confronta da solo (match nome+size, md5 disponibile per verifiche forti). USO: prima di caricare/processare un disco si vede subito cosa esiste gia in cloud
* note Doc onde cerebrali 1IF5_ gia in M34
* i 3.19TB su Drive sono anche processabili DALLA VM senza disco fisico (opzione futura per proxy/trascrizioni di materiale non piu su disco).
* 05/09 sera: M46 (25 regole) estratte dal Doc sguardo 13tz6GqK3TSft5yvnWrO5A6WdwHLO5FTW3PzmRSvuLE8 e riportate su 7046 (14 sostituzioni, titolo Powerful, verificato live). Pagina NUOVA 7062 what-is-non-verbal-hypnosis-how-it-works pubblicata (affiancata al post what-non-verbal-hypnosis-and-why-it-effective), catena metafore/agente_logico/guardiano/dedup/scopo/forma_finale/gate PASS. Doc IT in Per pagine: 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo
* CENSIMENTO ESTESO (richieste Marco): (1) match RENAME-TOLERANT operativo: vista v_cloud_vs_dischi_bysize incrocia cloud e dischi per SOLA dimensione esatta -> gia trovati 12 file rinominati-ma-identici + 57 stesso nome, con appena 2 dischi catastati
* 05/09 notte: M47 estratte dal Doc 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo e applicate alla 7062 (riscrittura integrale, titolo con Touch and Presence, note da 7 a 20 tutte verificate una per una via web, agente_logico 6/6, guardiano OK, forma_finale OK, gate PASS, verificato live). Prima: M46 su 7046. Backup 7062_backup_prima_M47.html
* md5 disponibile lato Drive per conferme forti. (2) Census esteso a WeVideo_Export (i media in arrivo da WeVideo avranno md5 gratis da Drive) e messo a CRON settimanale lun 05:30 -> i nuovi arrivi si censiscono da soli. (3) ATTENZIONE COORDINAMENTO: tabella drive_video_census riscritta da altro processo (probabile sessione Cowork WeVideo, schema path/top_folder/ext) -> il mio census con md5 spostato su drive_uploader_census (namespace separato, viste aggiornate). (4) Census Yandex IN CORSO (listing WebDAV lento, tabella placeholder pronta, si carica da solo al termine, log yandex_census.log). Quadro Marco: ~6-7TB gia in cloud (Drive 3.19TB + Yandex in conteggio + WeVideo in arrivo) -> materiale per primi test Fase 2 quasi pronto.
* 05/09 notte: pagina NUOVA 7075 come-fascinare-con-lo-sguardo (IT) pubblicata, affiancata a fascinazione-ipnotica 6999 (105 impr 0 click, intatta). Titolo-domanda dalle query reali. 15 note verificate, agente_logico 2/2, guardiano OK, dedup OK, scopo SCOPO_OK, forma_finale OK, gate PASS, verificata live. Doc IT 1h2glSPY_WlmNPcNsfya3PrYYEDk-cQ_plelHTd9BAwk in Per pagine
* DIAGNOSI DEFINITIVA UPLOAD: linea casa Marco ~0.1MB/s effettivi (prova: 30MB totali su box in ore, audio 61MB in timeout a 605s, upload 94min morto in EOF). Marco aveva ragione: il collo E' l'upload - ma della linea, non del provider. PIVOT v4.0 PUBBLICATA (sha c7c2da5c): SIGNIFICATO SEPARATO DAI PIXEL - upload proxy DIFFERITO (config proxy_upload:false, riattivabile via config push), i proxy restano al sicuro in _proxy sui dischi (rigenerabili+spedibili in blocco quando la linea si risolve)
* 06/09 notte: 7116 centratura (v3 EN fatta dall altra chat, regole M58 gia estratte da lei) PUBBLICATA da me dopo lettura e verifica link: https://marcoparet.com/self-hypnosis-centering-to-feel-and-find-your-own-centre/
* audio+miniature (briciole) continuano a fluire -> trascrizioni e strato semantico NON si fermano. CENSUS YANDEX COMPLETO: 1858 video = 1.88TB (24 stesso nome + 11 rinominati vs dischi). TOTALE CLOUD CONFERMATO: Drive 3.19TB + Yandex 1.88TB = 5.07TB + WeVideo in arrivo = i 6-7TB stimati da Marco. Da chiedere a Marco: PC in Wi-Fi o cavo? (fix banale possibile)
* 7119 magnetic-touch-how-to-induce-trance-with-the-hand PUBBLICATA (terzo strumento dopo sguardo 7046 e passi 7094), Doc IT 1JbfWkH70s1-_AnBwjsGPkT7xroiK1x-WcyJDTNGrQhw
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce.
* 7094 passi pubblicata con Doc 1g5xjb44
* AVANZAMENTO FORTE: INTENSO 212/1526 (13.9%, raddoppiato - ora su file OSMO piccoli), Maxtor 119/2944, 102 audio + 141 thumb su Yandex, coda collassata a 23 (pivot v4.0 efficace). v4.1 PUBBLICATA (sha ad5740d5): SPEED-TEST AUTOMATICO ogni 2h (8MB reali verso la box) con AUTO-DECISIONE: >=0.35MB/s -> upload proxy si ATTIVA da solo (log 'LINEA SUFFICIENTE')
* 06/09: M59 (32 voci) registrate con esito per regola
* sotto soglia resta differito. Marco provera' il CAVO ethernet: nessun riavvio necessario, il test se ne accorge da solo entro 2h max (o al primo test post-push). Se anche col cavo <0.35: la linea e' il limite fisico -> piano sessione-fibra o secondo PC.
* testi dei due libri in pillars/confronto_*.txt e stats in confronto_stats.json
* VPN esclusa da Marco (nessuna sul PC
* pagina 7121 kairos-and-chronos-how-to-step-out-of-linear-time pubblicata dopo lettura (formula 59.31, metronomo dal libro, 12 note reali), Doc IT 10KVjfoNUlVEWTQ0SD31Nda52N2eG7t_T6K1yICp-aA8
* sul telefono si - screenshot con VPN attiva, upload speedtest mai completato, download 75.47 vicino al PC = aria wifi buona). Sospettato principale: SCHEDA WI-FI DEL PC (radio vecchia/2.4GHz/driver). v4.2 PUBBLICATA (sha 002ab005, salta 4.0->4.2): DIAGNOSI WI-FI REMOTA - all'avvio del thread velocita l'agente logga 'netsh wlan show interfaces' (SSID, banda, segnale, velocita di aggancio, canale) + tachimetro 8MB ogni 2h con auto-attivazione proxy >=0.35MB/s. Le due misure insieme daranno il verdetto: aggancio radio basso = colpa scheda PC (fix: adattatore USB wifi/ethernet 10-15 euro o trasloco PC vicino al router)
* confronto in Doc 1my01fS9Ze6cmqUxFUD2mjKVHstCN3tyoROfdF0CrWcc
* aggancio alto ma upload basso = linea/contratto.
* 06/09 notte: kairos 7121 v2 (bambino, nell istante, due maniere, note approfondite) + Doc a strati
* PRIMO RIAVVIO REMOTO RIUSCITO via control.json (agente rinato 15:27 post cambio-rete di Marco: da SFR_A570_EXT a rete principale). BUG SCOPERTO dal riavvio: sb_key resa sola-lettura da icacls al primo avvio -> ai riavvii open('w') = PermissionError -> sb_setup falliva -> Storage Box E TACHIMETRO spenti (per questo nessun Test velocita finora!). v4.3 PUBBLICATA (sha 4694a2e2): riusa la chiave esistente su PermissionError. Al prossimo confine clip: push v4.3 -> boot -> diagnosi Wi-Fi (verificare SSID senza _EXT) + tachimetro finalmente operativo + eventuale auto-attivazione proxy. Upload pre-cambio: 0.02MB/s (baseline peggiorata, ma misure a cavallo dello switch).
* M62
* SVOLTA RETE: screenshot Marco 19/08 00:03 conferma Wi-Fi ora SFR_A570 5GHz 802.11ac, TX 780Mbps RX 585 (era _EXT 2.4GHz) - il ripetitore era il problema di rete, NordVPN rimossa, Windows riavviato. Tachimetro falliva per BUG MIO: il warning ssh 'Permanently added to known hosts' (primo collegamento) trattato come errore. v4.4 PUBBLICATA (sha f3d292d5): (1) FIX ssh/scp LogLevel=ERROR + errori valutati SOLO su returncode
* pagina 7125 how-to-persuade-without-pressure (grammatica fusa 61.44, dai due libri verificati nel corpus, Deutsch&Gerard raccontato, modellamento->rispecchiamento) pubblicata dopo lettura, Doc IT creato
* (2) IDEA MARCO IMPLEMENTATA: esclusione cartelle palesemente estranee dopo la mappatura - EXCLUDE_PAT (film/serie/musica/call recorder/downloads/appdata/windows/temp Pc/backup pc/whatsapp/telegram/screenshot/pictures/onedrive), con riepilogo a log 'Saltati N video estranei (X GB)'
* 06/09 notte: 7125 marcoparet -> bozza
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito.
* pagina persuasione v2 pubblicata su neurolinguistic.com/blog PID 11804 con tutte le note di Marco
* BUG PUSH TROVATO E CORRETTO (Marco chiedeva 'non puoi fare riavvio push?'): il riavvio da control.json veniva eseguito PRIMA del controllo versione -> l'agente si rilanciava sempre sulla STESSA versione (bloccato a v4.3 mentre la wiki serviva 4.4/4.5/4.6)
* Doc a strati 1i-CtKlHG92 (v2, note, v1)
* inoltre ogni errore di aggiornamento era ingoiato da un except silenzioso. v4.7 PUBBLICATA (sha in wiki): ordine invertito (PRIMA aggiorna, POI eventuale riavvio) + ogni fallimento di aggiornamento ora e' loggato con tipo eccezione
* M63 (13) e M64 (9)
* control.json azzerato. 2 assert (priorita aggiornamento su riavvio, errore visibile su PermissionError). NOTA: il .bat di avvio scarica sempre l'ultima versione -> un chiudi/riapri manuale porta comunque all'ultima. ERRORI TRANSCODIFICA MASSIVI su Maxtor (MTS e anche MP4 di altre cartelle, quindi NON e' il formato): sospetto forte DISCO PIENO
; Prossimo passo :
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi.
* Note di Marco su: tocco 7119, passi 7094, fascinare 7075, non verbale 7062. Titoli con formula status->disciplina->beneficio (63.13). Frase-cardine vera del libro nella pagina kairos. M48 link su 7116.
* CAUSA ERRORI TRANSCODIFICA TROVATA (grazie a v4.7 in produzione + screenshot Marco): MAXTOR PIENO 0.0GB. Causa di design MIA: i proxy si scrivono in _proxy SULLO STESSO disco letto e non venivano mai cancellati (dovevano sparire dopo l'upload, ma gli upload erano fermi). Nessun dato di Marco toccato. Anche C: ha solo 23GB. Inoltre v4.7 ha mostrato il vero motivo del tachimetro fallito: la shell della Storage Box non digerisce le virgolette (scp: dest open: No such file or directory). v4.9 PUBBLICATA (sha b21b1525): (1) upload proxy via SFTP BATCH in una sola sessione - crea tutti i livelli con -mkdir (errori ignorati) e fa put, gestisce spazi nei path
 
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati)
=== corso-analgesia ===
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo
''Aggiornato 2026-09-01 13:08 UTC'' &mdash; dominio: -
* (3) fallback proxy su C: gia con 15GB liberi. FUNZIONANTI in v4.7: esclusioni (891 video estranei saltati, 8.2GB), cartelle_dubbie (72 da confermare: videos/congres pavlina/ULTIMO GIORNO/OTHER 39, testimonial 8, recastly 5...), guardia spazio, allerte v4.8. Wi-Fi ora 866Mbps.
 
* CAUSA ERRORI TRANSCODIFICA CONFERMATA dal log v4.7: 'spazio quasi esaurito (0.0GB sul disco)' - i proxy venivano scritti in _proxy SULLO STESSO disco letto e mai cancellati (dovevano esserlo dopo l'upload, ma gli upload erano fermi) -> Maxtor saturato. Nessun file di Marco toccato. Trovato anche il perche' upload/speedtest fallivano: la shell della Storage Box non digerisce mkdir con virgolette su path con spazi. v4.9+v5.0 PUBBLICATE (sha b21b1525 -> nuova): (1) upload via SFTP BATCH (una connessione: -mkdir per livello + put, spazi gestiti) - PROVATO SUL CAMPO dalla VM: cartella 'TEST SPAZI' creata e 8MB caricati
; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo
; Vincoli in vigore :
* (3) REGOLA MARCO: in emergenza spazio la scala e' disco origine -> ALTRO DISCO ESTERNO collegato (>50GB, es. INTENSO) -> PC di Marco SOLO se tutti pieni, con allerta email
* Modello di consegna dei monografici = Google Site pubblico (sites.google.com/view/corso-ipnosi-per-dormire|peso|fumo). Nessun Google Site analgesia esiste. Il materiale analgesia della scuola sta nel sito riservato Advanced (sites.google.com/view/advanced-level-master-di-ii-li/analgesia/materiale e /registraz) leggibile solo con browser loggato: profilo /home/claudeuser/.config/chrome-jules risulta Signed out -> serve login di Marco via VNC (porta 6080). yt-dlp bloccato (bot check) su VM e Hetzner: trascrizioni via YouTube captions API con token-yt-<canale> (quota giornaliera, reset 09:00 Roma) e Groq Whisper per media Drive.
* (4) sistema ALLERTE v4.8: agent_alerts BQ + email isicnv@gmail.com + flush log immediato su primo errore, 3/10/30 errori consecutivi, spazio esaurito, aggiornamento fallito, 5/25/100 upload falliti (anti-ripetizione 2h). Assert passati su tutto. Wi-Fi ora 866Mbps (5GHz). Saltati 891 video estranei (8.2GB) su Maxtor + 72 clip in 8 cartelle dubbie registrate.
; Fatto (con prova) :
* INCIDENTE E RIPARAZIONE: mia sostituzione di codice in v4.9 aveva cancellato net_diag e speed_loop -> agente CRASH all'avvio (NameError, fermo ~40 min). v5.1 ripristino + ASSERT ANTI-REGRESSIONE ora in pipeline di deploy (AST: nessuna chiamata a funzione inesistente, blocca la pubblicazione). DECISIONI MARCO 19/08: (1) cartelle dubbie CONFERMATE TUTTE (72 su Maxtor: videos/congres pavlina, testimonial, recastly, ANEB/DORA, enneagramma PNL3, GOOGLE DRIVE, fotosequenze HANA) - si lavorano tutte, restano solo tracciate in BQ cartelle_dubbie
* Scripts in /home/claudeuser/scripts/analgesia_{common,inventory,sites,transcribe,synth}.py, stato in /home/claudeuser/analgesia/. Inventario: 655 video YouTube candidati (IT 111, EN 281, FR 62), 160 gia' con trascrizione, 157 media Drive
* (2) REGOLA DI CANCELLAZIONE codificata: l'agente puo' rimuovere SOLO file creati da se' (proxy/audio/thumb) e SOLO se l'originale sul disco esiste ancora (sono rigenerabili=temporanei)
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run.
* mai file utente, mai i registri manifest/uploaded/media.csv
* SVOLTA 31/08 sera: profilo Chrome jules su display :1 GIA loggato (Chrome vero via /home/claudeuser/launch_cdp.sh + CDP 127.0.0.1:9222). Sezione ANALGESIA sito Advanced letta: lezione Zoom 10.11.2025 = yt _8Vu4mrRNMg
* (3) PRIORITA SPAZIO: disco origine -> altro disco esterno (INTENSO) -> PC di Marco solo ULTIMA RISORSA con email. v5.2 PUBBLICATA (sha 1a579beb) con libera_spazio() che pulisce Maxtor automaticamente sotto i 25GB liberi (target 45GB), assert stringenti superati (file con originale mancante NON toccato, registri intatti).
* lezione 04.04.2022 = yt lJ6838MgFLY
* SESSIONE 28/08 - agente video da v3.9 a v5.9 (23 versioni pubblicate, tutte via push). RETE RISOLTA: da 0.1 MB/s (ripetitore SFR_A570_EXT 2.4GHz + NordVPN residua) a 5-6 MB/s su rete principale, poi trasferimento in via dell'Umanesimo (fibra Wind, WINDTRE-C003E8 5GHz 802.11ax 574Mbps, upload linea 168 Mbps): v5.5 con 4 UPLOAD PARALLELI + cifrario aes128-gcm -> ~15-20 MB/s aggregati. Riferimento VM->Box 21.6 MB/s. UPLOAD: passaggio da WebDAV Yandex (PUT lunghi che cadevano) a SFTP BATCH su Storage Box u649132 (crea i livelli con spazi in una sessione). Box: 325GB di proxy, 1TB totale, monitor su dashboard con soglia 78%. BUG STORICI CORRETTI: (1) push che riavviava senza aggiornare (ordine invertito in v4.7)
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus)
* (2) v4.9 aveva cancellato net_diag/speed_loop -> crash: ora ASSERT ANTI-REGRESSIONE AST in pipeline di deploy (nessuna chiamata a funzione inesistente, blocca la pubblicazione)
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi
* (3) sb_key resa sola-lettura bloccava i riavvii
* quota YouTube riprova ogni 30 min, reset 09:00). noVNC: http://34.22.207.95:6081/vnc.html, regola firewall allow-novnc-6081 DA RIMUOVERE a fine lavori
* (4) percorsi >260 caratteri Windows -> prefisso \\?\\ (wp())
* 01/09: SITO-MANUALE ONLINE https://www.neurolinguistic.com/riservato-analgesia-k7f3x2/ (index, principi, indurre, catalessi, esempi con 22 spezzoni fini + 4 video Starter, metodi=53 metodi dal doc di Marco). Generatore /home/claudeuser/scripts/analgesia_manuale.py (cache LLM manuale_cache.json), spezzoni fini analgesia_spezzoni.py find/extract fine, ciclo asincrono analgesia_ciclo.sh in cron ogni 4h (8 spezzoni nuovi + rigenera + pubblica via cPanel FastComet overwrite=1). Corpus: doc_53_metodi, doc_analgesia_magnetica (allegati Marco), esercizi, slides. Starter site pubblico: sites.google.com/view/itapiattaformastarter, pagina analgesia-ed-ipnosi-rapida = yt 8RpS00D-iLY ELwE399kgnc d6zGPTokP2I ixz5QtfnwOg (in inventario, trascrizione dopo reset quota 09:00). Sites scan completo: 366 siti, 40 con analgesia (sites_scan.json).
* (5) stderr ffmpeg buttato via -> ora il motivo reale e' nel log. REGOLE DI MARCO CODIFICATE: (a) cancellazione: solo file creati dall'agente e solo se l'originale esiste (libera_spazio, target 45GB, mai registri ne' file utente)
* 01/09 09:50: versione professionale online (7 pagine incl. Riferimenti: Erickson, Hilgard, Esdaile, Braid, Rainville...), filtro anti-meta (pulisci()), Scuola non tradizione, Google Doc di revisione aggiornato ad ogni ciclo: manuale_doc.json
* (b) priorita spazio: disco origine -> altro disco esterno -> PC solo ULTIMA RISORSA con email
* 01/09 13:40: LOGIN ISI-CNV operativo (test e2e ok): CC route GET /login?key&sito&ritorno -> Google (client web esistente, redirect /oauth/callback?key= registrato) -> ramo login: in oauth-callback-v2 (path /oauth/callback
* (c) cartelle dubbie: si fanno TUTTE, restano tracciate
* NB oauth-callback.json e ombra) -> userinfo -> allow.json -> token HMAC (segreto login/secret.txt) -> sito Cloud Run (app Flask gate, cookie isicnv_sess 30gg, file da bucket GCS). Sito riservato: https://ipnoanalgesia-424757051842.europe-west1.run.app (accesso: qualsiasi account Google
* (d) backup/personali esclusi ma CATALOGATI (cartelle_escluse: disco, n file, GB, tipi). ALLERTE IMMEDIATE (v4.8): agent_alerts + email al primo errore, anti-ripetizione 2h. SCANSIONE OTTIMIZZATA (v5.8): scandir con stat gratuito + batch BQ 1500 -> 30.000 eml in 0.18s, catasto 40.000 file in 0.4s. Verificato su disco reale EXTERNAL_USB24: 1.590.200 file catalogati, backup esclusi (BackupPC-MAGGIO-2025: 1.305.148 file, 348GB, 370.997 .eml). SCOPERTA (intuizione Marco): ARCHIVIO STORICO 14.172 trascrizioni su 15 dischi in /home/claudeuser/trascrizioni_isicnv, molti MAI passati dal sistema (Elements2021 3465, Seagate Expansion Drive 2269, Seagate 2023 1269, Horota2024 992, TOSHIBA EXT2018 910) -> niente ri-trascrizione. v5.9: indice https://wiki.marcoparet.com/agent/trascritti.json (8373 nomi, esclusi <7 char per omonimie), l'agente salta l'audio se gia trascritto (status audio_skip)
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails]
* sul disco attuale 398/2007 clip gia coperte. CENSIMENTI CLOUD: Drive driveuploader 2668 video/3.19TB (con md5) in drive_uploader_census
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico.
* Yandex 1858/1.88TB in yandex_video_census
* 01/09 15:10: login Google spostato su neurolinguistic.com (gate.php + .htaccess nella cartella riservato-analgesia-k7f3x2, segreto in /home/marcopar/.isicnv_login_secret via cPanel)
* viste v_drive_vs_dischi, v_cloud_vs_dischi_bysize (match rename-tolerant per dimensione), v_cerca_file (ricerca su tutti i dischi). Solo-cloud: 6692 video = 5.2TB. Cron census settimanale lun 05:30 (include WeVideo_Export). STATO: INTENSO e Maxtor COMPLETATI (2600 e 1857 proxy, 18 danneggiati totali su ~4500 = 0.4%), EXTERNAL_USB24 in corso, 13.735 trascrizioni indicizzate in BQ, coda upload a zero.
* Cloud Run ipnoanalgesia e bucket cancellati (zero spazio/costi GCP). Test e2e OK. Per un nuovo sito su hosting PHP: copiare gate.php (cambiare SITO) + .htaccess (RewriteBase) + voce allow.json
; Provato ed escluso :
* per Cloud Run resta nuovo_sito_login.sh
* Storage Box Hetzner rimandato: nessun token API esiste e Marco preferisce Yandex gia pagato
* GCS e volumi cloud bocciati per costo
* la lentezza 1.1x della v2.4 era DOPPIA ISTANZA, non hardware
; Prossimo passo :
; Prossimo passo :
* 1) monitorare EXTERNAL_USB24 (2007 video, 401 in lavorazione) e righe 'audio saltato' 2) dischi storici gia trascritti (Elements2021, Seagate 2023, Horota2024, TOSHIBA EXT2018): serve SOLO il proxy -> molto piu veloci 3) rigenerare indice trascritti dopo nuove trascrizioni: python3 /home/claudeuser/gen_indice_trascritti.py + scp su wiki 4) valutare proxy leggeri dei 6692 video solo-cloud direttamente da VM (Marco: si, senza ri-trascrivere) 5) CANTIERE SUCCESSIVO: vision su miniature -> video_scenes (demo detection, due demo per video, momento-reazione via segmenti whisper) 6) upgrade box a BX21 solo quando la dashboard segna rosso (78% di 1TB)
* Dominio dedicato se Marco lo vuole
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email


=== paret-ai-pillar ===
=== video-proxy-pipeline ===
''Aggiornato 2026-08-27 12:01 UTC'' &mdash; dominio: hosting/siti + ai-search
''Aggiornato 2026-08-28 22:52 UTC'' &mdash; dominio: video / infrastruttura


; Obiettivo : Costruire i pillar neurolinguistic.com per Ipnosi non verbale, Ipnosi con lo sguardo e Mesmerismus preservando SEO storico e preparando evidence graph
; Obiettivo : Fase 1: proxy 1080p dei 40TB con audio+scene su cloud; Fase 2 editor web; Fase 3 conform 4K dagli originali; Fase 4 piattaforme; strato scene+significato; estrazione WeVideo
; Vincoli in vigore :
; Vincoli in vigore :
* MASTER v7.12
* mai cancellare file utente
* testo pubblico mai da Claude: generazione via GLM e review
* solo file propri con originale esistente
* nessuna nuova pagina se esiste URL valido
* PC di Marco ultima risorsa per lo spazio
* snapshot/backup prima di ogni write
* backup e cartelle personali esclusi ma catalogati
* pubblicazione solo dopo gate previsto dal cantiere benchmark-visibilita-ai
* nessuna ri-trascrizione se esiste gia in archivio storico
* deploy solo con assert anti-regressione superato
; Fatto (con prova) :
; Fatto (con prova) :
* Letto MASTER v7.12 e Piano Drive 14QM2efTg8YQwCp4LcF-gKfk5kMR1u0BzpX8IsbI8TFo. Ripreso cantiere benchmark-visibilita-ai. Audit live read-only: PID197 /ipnosi-non-verbale-tecnica-ed-esempi/ 200 self-canonical e storico dal 2013
* Agente Windows autoaggiornante v2.9 (C:/isicnv, Python embeddable+ffmpeg, icona desktop+menu Start) su https://wiki.marcoparet.com/agent/agent.py : rileva dischi da solo, QSV full-GPU 1080p 2Mbps con fallback, anti doppia istanza (bug 47 righe/24 clip risolto), progresso live e stime, catasto dischi in BQ disk_inventory, upload WebDAV Yandex con backlog e retry (creds bootstrap k_9vq2m8xk4t.json, copia in gs tokens-yandex-webdav.json). Yandex verificato: 3TB totali, 1.81 usati, 1.20 liberi, cartella isicnv_proxy creata. Tabelle BQ: video_proxy_tracking con disk_serial, disk_label_map, trascrizioni_index 9860 righe, disk_inventory. Dashboard https://wiki.marcoparet.com/agent/status.html cron 10min con dedup. Dischi: Maxtor 2019-09 2020-03 (2943 video, label=nome canonico) e INTENSO in corso 15/08. Mirror ffmpeg su wiki per problema TLS del PC.
* PID3576 /guardarmi-negli-occhi/ 200 self-canonical
* v2.10 online: fix sdur (assert obbligatori sulle patch) + estensioni .mod/.tod/.3gp/.webm/.flv (431 MOD su INTENSO trovati dal catasto). Catasto INTENSO 54419 file validato. TROVATA pipeline trascrizione VIVA: /home/claudeuser/trascrivi_run.py (fonte rclone gdrive:Audio da Corsi dal vivo per nome disco, Groq whisper-large-v3, chiavi in isicnv/keys/groq_keys.json, resume automatico, flock). Intenso ha solo 164 trascrizioni perche i suoi mp3 (_AUDIO_ESTRATTI, 1501 file 11.6GB) non sono mai saliti tutti su Drive. Export chat Claude 853MB in Drive folder 1TpajgASPSO non serve piu.
* PID1848 /il-potere-dellocchio/ 200 self-canonical
* Agente v3.0 PUBBLICATO su https://wiki.marcoparet.com/agent/agent.py (sha256 1ddb5c7d..., backup v2.10 in agent_v2.10_backup.py): per ogni proxy estrae audio mp3 16kHz mono 48k (fallback aac m4a) + miniature cambi scena (soglia 0.35, 360p, max 200, timestamp nel filename sNNNNN_tSEC.jpg + scenes.json
* /mesmerismus/ 200 self-canonical ma contenuto molto sottile. Vecchio cluster attribuisce autorita 8218 a PID197, 5308 a PID3576, 3923 a PID1848. RAIDA e snapshot pre-build letti.
* video statici 1 copertina a meta durata)
* 27/08: canone+fonti raccolti nel registro bibliotecario (23 fatti STABILITI: brand da referenze_canon BQ, storici da Oracolo 8085 con ark Gallica). Verifica dei 4 pillar live: NESSUN drift storico reale, 2 falsi positivi bibliografici su 4 pagine. Registro+brief in gs://isicnv-command-center-routes/docs/bibliotecario/. NB: i pillar vivono sotto /blog/ (neurolinguistic.com/<slug>/ ora 404, WP installato in /blog/)
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/
; Provato ed escluso :
* backlog automatico su clip done senza media via media.csv
* Nessuna modifica live eseguita. Non riutilizzare alla cieca potenzia_pillar.py: contiene pipeline precedente e testo con claim senza fonte.
* BQ status audio/scenes/audio_up/scene_up. Testato con 3 livelli assert. ATTIVA al prossimo riavvio agente. INTENSO verificato in lavorazione v2.10 (3 done ts 09:05 UTC 15/08)
* cancello di verifica su HTML renderizzato: rumore per costruzione, va sul corpo markdown
* trascrivi_yandex.py DEPLOYATO su VM (/home/claudeuser/trascrivi_yandex.py): fonte yandex:isicnv_audio (mp3+m4a), stesso albero output trascrizioni_isicnv/<label>/, meta con disk_label e yandex_path, flock dedicato, rotazione 13 chiavi Groq, ricompressione >24MB. Smoke test ok (0 audio: v3 non ancora riavviata). Cron 15 */6 * * * con log logs/trascrivi_yandex.log. Remote rclone yandex webdav configurato su VM
; Prossimo passo :
* creds copiate in gs://isicnv-command-center-routes/tokens/tokens-yandex-webdav.json. Tabella BQ isicnv_workflows.video_scenes CREATA (clip_id, scene_n, t_sec, thumb_yandex_path, vision_labels, vision_desc, is_demo, vision_model). Mirror wiki cantiere di nuovo funzionante (saveRevision risolto)
* generare bozze GLM incollando brief_pillar.txt nel prompt
* v3.1 PUBBLICATA (sha 5bf72d28...): miniature ora estratte dall'ORIGINALE sul disco collegato a 720p (fallback proxy se assente), encoder BQ dichiara la fonte (scene0.35-orig/proxy). Testato: scena a t=3.0 dall'originale mentre il proxy era statico
* bibliotecario --verifica come cancello dopo bonifica e su ogni traduzione
* fallback verificato. trascrivi_yandex v2: salva SEGMENTI TEMPORIZZATI whisper (start/end/testo) nel .json meta - base per allineamento scena-parlato e 'momento reazione' - e inserisce in BQ trascrizioni_index (batch 25, flush finale). Smoke test ok.
* agganciare ark Gallica del Rapport 1784 per chiudere il fatto commissari
* v3.1 VERIFICATA IN PRODUZIONE post-riavvio Marco: BQ mostra 2 audio (a16k-mono) + 2 scenes (scene0.35-orig, dagli ORIGINALI) + 5 done alle 09:31-09:42 UTC
 
* upload media in coda dietro i proxy (fisiologico). v3.2 PUBBLICATA (sha 31165499...): SISTEMA PUSH - da idle a code vuote, ogni 10 min l'agente controlla wiki: versione nuova -> scarica, compile-check (se rotta resta sulla vecchia), sostituisce e si riavvia da solo con os.execv
=== modalita-contabilita ===
* inoltre legge control.json (force_restart_ts) per riavvio remoto senza cambio versione. Testato con 5 assert (update, no-op, protezione codice rotto, throttle, restart remoto). Da v3.2 in poi NESSUN riavvio manuale servira' piu': pubblicare = deployare. Riavvio remoto: scrivere force_restart_ts=epoch futuro in /var/www/wiki/agent/control.json su Hetzner
''Aggiornato 2026-08-25 22:42 UTC'' &mdash; dominio: finance
* v3.3 PUBBLICATA (sha d434a9f7): HEARTBEAT ogni 5 min in BQ agent_heartbeat (versione, disco, clip corrente, attivita, code, uptime) + AUTOSTART con Windows (shortcut in shell:startup, si crea da solo al primo avvio). Dashboard status.html AGGIORNATA (backup gen_video_status_backup.py): banner vivo in cima con semaforo ATTIVO<=12min/SILENZIOSO<=40/SPENTO?, versione, clip in corso, code, contatori audio/scene estratti e caricati
 
* fix VEXT con .mod/.tod/.3gp/.webm/.flv nel catasto. Verificata pubblica. MODELLO OPERATIVO COMPLETO: PC acceso col disco + tutto guidabile da remoto (push deploy, riavvio via control.json) + monitoraggio mobile su https://wiki.marcoparet.com/agent/status.html
; Obiettivo : Modalita Contabilita: rispondere in automatico a Perche questa spesa
* v3.4 PUBBLICATA (sha 70b15e2a): FIX heartbeat (backslash Windows rompevano la SQL: solo 1 battito in 7h - ora sanificati e INSERT provato reale su BQ), FIX timeout upload Yandex (era 300s fisso -> 0 proxy INTENSO caricati per read timeout su file grandi
; Vincoli in vigore :
* ora dinamico 600-3600s in base alla size), errori upload VISIBILI (contatore+ultimo errore nel heartbeat con colonne up_err/last_err via ALTER, riga upload_err in tracking alla prima occorrenza per clip), check aggiornamenti anche AL CONFINE TRA CLIP (senno mai idle su dischi da 450h e il push non scattava mai), GUARDIA disco staccato (stop pulito, clip error ritentate al ricollegamento - verificato: pending esclude solo status done). Dashboard aggiornata con riga rossa errori upload. NOTA: v3.3 in esecuzione si aggiorna solo da idle: lo swap dischi di Marco (chiudi-riapri contestuale) carica v3.4.
* NON ripartire da zero: spec TESORIERE architecture_1783460671236_4nxv6j
* v3.4 CONFERMATA VIVA post-swap (battiti regolari con clip corrente, fix heartbeat funziona). v3.5 PUBBLICATA (sha f4da4f50) - PLUG-AND-PLAY COMPLETO: (1) set ENQ anti-duplicati sulle code (le ri-scansioni ogni 30s duplicavano gli item non ancora caricati), (2) rilascio chiave su file mancante cosi al ricollegamento il backlog riaccoda, (3) skipped &= drives: un disco che dava errore veniva ignorato per sempre fino al riavvio, ora l'estrazione cancella l'errore e il reinserimento riparte pulito. 4 assert passati. E' il PRIMO deploy push reale: v3.4 la carichera al confine della prossima clip.
* riusare classification_rules (678 regole), controparti, pagamenti_ricorrenti_attesi, tesoriere_v2.py, argo_watch.py
* v3.6 PUBBLICATA (sha 1aad55e7, supera v3.5 mai installata - l'agente v3.4 in esecuzione su Maxtor salta direttamente a v3.6 al confine clip): (1) LOG REMOTO: ogni riga log() bufferizzata e spedita a BQ isicnv_workflows.agent_log col battito ogni 5 min (sanificata, testata con INSERT reale), visibile a Claude via BQ e sulla dashboard (sezione 'Ultime righe di log')
* MAI LLM sui numeri
* (2) FILTRO FILE FANTASMA: scan_videos salta ._* (AppleDouble macOS, causavano ERRORE transcodifica su Maxtor) e file <64KB. Include tutte le migliorie v3.5 (dedup ENQ, rilascio chiavi, skipped auto-dimenticato = plug-and-play). Dashboard rigenerata OK 101.
* coordinarsi col cantiere finanze-classificazione
* PUSH VERIFICATO FUNZIONANTE: agente auto-aggiornato v3.4->v3.6 nella notte senza mani. Avanzamento 16/08: INTENSO 72/1526 (4.7%), Maxtor 119/2944 (4%), ~50 clip/notte. PROBLEMA APERTO: upload Yandex ancora in read-timeout anche con timeout 3600s (289 in coda, solo 4 proxy passati) - non e' questione di timeout ma di banda/WebDAV. v3.7 PUBBLICATA (sha in wiki): coda upload a PRIORITA by-size (audio e thumb passano davanti ai proxy -> trascrizioni e strato semantico fluiscono anche se i proxy arrancano) + METRICHE velocita (MB/s e durata su ogni successo/fallimento nel log remoto, e nell'ultimo errore heartbeat). Assert passati (priorita, dedup, rilascio).
; Fatto (con prova) :
* STORAGE BOX ESISTENTE TROVATA (Marco aveva ragione): u649132.your-storagebox.de, BX11 1TB usata 7GB (backup CC/BQ, cron storagebox_backup.py). NIENTE UPGRADE ORA: 1TB copre mesi (proxy totali stimati 1.6TB a fine 40TB)
* Riletto MRO v7.1 completo
* upgrade BX21 con un click quando serve. Setup: chiave dedicata sb_agent_ed25519 generata su VM e autorizzata sulla box (separata dalla chiave backup), cartella isicnv_proxy creata, test scp reale 30MB in 2s (15MB/s). Creds agente su https://wiki.marcoparet.com/agent/k_sb_7hq4x9m2vt.json + GCS tokens/tokens-storagebox-agent.json. v3.8 PUBBLICATA: PROXY -> Storage Box via scp Windows OpenSSH (mkdir -p remoto con cache, quoting spazi testato sui path RUSSIA TORINO, ACL icacls sulla chiave, timeout by-size, fallback Yandex se scp assente), audio+thumb restano su Yandex (trascrittore gia' li'). encoder BQ scp-sb vs webdav.
* recuperata spec TESORIERE 4 tier
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot
* censiti asset esistenti (tabelle isicnv_finance, tesoriere_daily/v2, cantiere finanze-classificazione)
* costo solo su modifiche/cancellazioni future
* best practices raccolte: tagging deterministico prima di tutto, alert+allocazione insieme, closed-loop spesa-lead-ricavo con identificatore comune
* i proxy sono comunque rigenerabili dagli originali (dati derivati, non preziosi)
* Tabelle BQ create e popolate: contratti_fornitori (3: accordo 2026 960/mese solo GAds, storico 2025 1532/mese, progetto Storie e stelle), fatture_fornitori (19 fatture VMK 2025-26 dal riepilogo 07/05), fornitori_pagamenti_dichiarati (22 pagamenti)
* lo script VM spinge backup VERSO la box, non fa immagini della box. Dashboard: aggiunta riga 'Storage Box (proxy + backup): usati X su 1TB' con allarme rosso a 78% e nota upgrade BX21 (fix parsing df: shell ristretta box a volte ignora il pipe tail, ora si parsa l'ultima riga non-header). Verificata pubblica: 7.1G/1TB (1%). Agente ancora v3.7 su clip lunga: v3.8 attesa al prossimo confine clip.
* pagina wiki Contabilita creata e verificata HTTP 200 con template 5 blocchi + quadro VMK
* MILESTONE: PRIME TRASCRIZIONI AUTOMATICHE end-to-end. 10 audio su Yandex (priorita v3.7 funziona), trascrivi_yandex manuale: ok=5 skip=5 err=0, lingue auto (IT/EN), 267 e 364 segmenti temporizzati, BQ trascrizioni_index +5. Il ciclo disco->proxy->audio->Yandex->Groq->testo+tempi->BQ e' VIVO. 24 miniature su Yandex. v3.8 in attesa del confine clip (clip 12/1437 gigante in corso, v3.7 batte regolare). Calcolo fattibilita consegnato: proxy 0.9GB/h video, scenari 1.7-4.5TB per 40TB, 3.5-10 mesi su 1 PC, box 1TB regge ~2 mesi poi BX21
* SEGNALATO A MARCO: saldo residuo VMK 2415 EUR dichiarato al 07/05, sollecito 16/06 senza risposta
* Marco valuta secondo PC.
* perche_spesa.py deployato (5 blocchi, alias VMK=Veneto Marketing Lab, cron 07:25 daily-ads con tg solo se anomalo)
* v3.8 ATTIVA (terzo push riuscito, proxy->StorageBox da ora). v3.9 PUBBLICATA (sha 26e7b459): ANTI-STANDBY Windows via SetThreadExecutionState - il PC non va a riposo finche' l'agente e' aperto (schermo puo' spegnersi), elimina il rischio principale del PC-sempre-acceso. Strategia Marco confermata: priorita' INTENSO (~10TB recenti). Stima INTENSO: ~460h video 4K -> proxy ~410GB (sta nel 1TB attuale senza upgrade), audio ~10GB, ~27 giorni di lavoro a ritmo attuale.
* sentinella DA_CLASSIFICARE cron 03:50 (baseline 10012)
* CENSIMENTO DRIVEUPLOADER COMPLETATO (richiesta Marco): 45 cartelle radice, 190 cartelle totali, 2668 video = 3.19TB su Drive isicnv, con md5 e path, in BQ isicnv_workflows.drive_video_census (script VM census_driveuploader.py, token root bucket NON tokens/). Incrocio col catasto: solo 39 match sui 2 dischi finora catastati (Maxtor) -> il grosso dei video Drive viene da dischi non ancora analizzati, come previsto da Marco. Vista permanente v_drive_vs_dischi: ogni NUOVO disco catastato si confronta da solo (match nome+size, md5 disponibile per verifiche forti). USO: prima di caricare/processare un disco si vede subito cosa esiste gia in cloud
* riconciliazione VMK 21/22
* i 3.19TB su Drive sono anche processabili DALLA VM senza disco fisico (opzione futura per proxy/trascrizioni di materiale non piu su disco).
* DISCREPANZA: lista VMK somma 25546 ma dichiarano 26546, saldo possibile 3415 non 2415, da chiarire con Marina
* CENSIMENTO ESTESO (richieste Marco): (1) match RENAME-TOLERANT operativo: vista v_cloud_vs_dischi_bysize incrocia cloud e dischi per SOLA dimensione esatta -> gia trovati 12 file rinominati-ma-identici + 57 stesso nome, con appena 2 dischi catastati
* wiki Contabilita sez.8 aggiornata
* md5 disponibile lato Drive per conferme forti. (2) Census esteso a WeVideo_Export (i media in arrivo da WeVideo avranno md5 gratis da Drive) e messo a CRON settimanale lun 05:30 -> i nuovi arrivi si censiscono da soli. (3) ATTENZIONE COORDINAMENTO: tabella drive_video_census riscritta da altro processo (probabile sessione Cowork WeVideo, schema path/top_folder/ext) -> il mio census con md5 spostato su drive_uploader_census (namespace separato, viste aggiornate). (4) Census Yandex IN CORSO (listing WebDAV lento, tabella placeholder pronta, si carica da solo al termine, log yandex_census.log). Quadro Marco: ~6-7TB gia in cloud (Drive 3.19TB + Yandex in conteggio + WeVideo in arrivo) -> materiale per primi test Fase 2 quasi pronto.
; Provato ed escluso :
* DIAGNOSI DEFINITIVA UPLOAD: linea casa Marco ~0.1MB/s effettivi (prova: 30MB totali su box in ore, audio 61MB in timeout a 605s, upload 94min morto in EOF). Marco aveva ragione: il collo E' l'upload - ma della linea, non del provider. PIVOT v4.0 PUBBLICATA (sha c7c2da5c): SIGNIFICATO SEPARATO DAI PIXEL - upload proxy DIFFERITO (config proxy_upload:false, riattivabile via config push), i proxy restano al sicuro in _proxy sui dischi (rigenerabili+spedibili in blocco quando la linea si risolve)
* Progettare rami di spesa ex novo: esistono gia come classification_rules+controparti+tier
* audio+miniature (briciole) continuano a fluire -> trascrizioni e strato semantico NON si fermano. CENSUS YANDEX COMPLETO: 1858 video = 1.88TB (24 stesso nome + 11 rinominati vs dischi). TOTALE CLOUD CONFERMATO: Drive 3.19TB + Yandex 1.88TB = 5.07TB + WeVideo in arrivo = i 6-7TB stimati da Marco. Da chiedere a Marco: PC in Wi-Fi o cavo? (fix banale possibile)
* /memory/get non esiste, full text memoria via gsutil su GCS
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce.
; Prossimo passo :
* AVANZAMENTO FORTE: INTENSO 212/1526 (13.9%, raddoppiato - ora su file OSMO piccoli), Maxtor 119/2944, 102 audio + 141 thumb su Yandex, coda collassata a 23 (pivot v4.0 efficace). v4.1 PUBBLICATA (sha ad5740d5): SPEED-TEST AUTOMATICO ogni 2h (8MB reali verso la box) con AUTO-DECISIONE: >=0.35MB/s -> upload proxy si ATTIVA da solo (log 'LINEA SUFFICIENTE')
* 1) chiarire con Marina la discrepanza 1000 EUR prima di saldare 2) estrarre importi PDF rate Storie e stelle (bloccato: allegati Gmail non accessibili via MCP, servono da mailbox ily1975 o marcoparet) 3) verificare domattina esecuzione cron perche_spesa e sentinella
* sotto soglia resta differito. Marco provera' il CAVO ethernet: nessun riavvio necessario, il test se ne accorge da solo entro 2h max (o al primo test post-push). Se anche col cavo <0.35: la linea e' il limite fisico -> piano sessione-fibra o secondo PC.
 
* VPN esclusa da Marco (nessuna sul PC
=== cruscotto-marketing-quotidiano ===
* sul telefono si - screenshot con VPN attiva, upload speedtest mai completato, download 75.47 vicino al PC = aria wifi buona). Sospettato principale: SCHEDA WI-FI DEL PC (radio vecchia/2.4GHz/driver). v4.2 PUBBLICATA (sha 002ab005, salta 4.0->4.2): DIAGNOSI WI-FI REMOTA - all'avvio del thread velocita l'agente logga 'netsh wlan show interfaces' (SSID, banda, segnale, velocita di aggancio, canale) + tachimetro 8MB ogni 2h con auto-attivazione proxy >=0.35MB/s. Le due misure insieme daranno il verdetto: aggancio radio basso = colpa scheda PC (fix: adattatore USB wifi/ethernet 10-15 euro o trasloco PC vicino al router)
''Aggiornato 2026-08-25 11:25 UTC'' &mdash; dominio: ads/analytics/report
* aggancio alto ma upload basso = linea/contratto.
 
* PRIMO RIAVVIO REMOTO RIUSCITO via control.json (agente rinato 15:27 post cambio-rete di Marco: da SFR_A570_EXT a rete principale). BUG SCOPERTO dal riavvio: sb_key resa sola-lettura da icacls al primo avvio -> ai riavvii open('w') = PermissionError -> sb_setup falliva -> Storage Box E TACHIMETRO spenti (per questo nessun Test velocita finora!). v4.3 PUBBLICATA (sha 4694a2e2): riusa la chiave esistente su PermissionError. Al prossimo confine clip: push v4.3 -> boot -> diagnosi Wi-Fi (verificare SSID senza _EXT) + tachimetro finalmente operativo + eventuale auto-attivazione proxy. Upload pre-cambio: 0.02MB/s (baseline peggiorata, ma misure a cavallo dello switch).
; Obiettivo : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi
* SVOLTA RETE: screenshot Marco 19/08 00:03 conferma Wi-Fi ora SFR_A570 5GHz 802.11ac, TX 780Mbps RX 585 (era _EXT 2.4GHz) - il ripetitore era il problema di rete, NordVPN rimossa, Windows riavviato. Tachimetro falliva per BUG MIO: il warning ssh 'Permanently added to known hosts' (primo collegamento) trattato come errore. v4.4 PUBBLICATA (sha f3d292d5): (1) FIX ssh/scp LogLevel=ERROR + errori valutati SOLO su returncode
; Vincoli in vigore :
* (2) IDEA MARCO IMPLEMENTATA: esclusione cartelle palesemente estranee dopo la mappatura - EXCLUDE_PAT (film/serie/musica/call recorder/downloads/appdata/windows/temp Pc/backup pc/whatsapp/telegram/screenshot/pictures/onedrive), con riepilogo a log 'Saltati N video estranei (X GB)'
* Deterministico, no LLM nel calcolo quotidiano
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito.
* riusare esistente: ARGO L0-L15 (scripts/argo/), cruscotto.py 07:15, rendiconto.py, avvisa.py digest
* BUG PUSH TROVATO E CORRETTO (Marco chiedeva 'non puoi fare riavvio push?'): il riavvio da control.json veniva eseguito PRIMA del controllo versione -> l'agente si rilanciava sempre sulla STESSA versione (bloccato a v4.3 mentre la wiki serviva 4.4/4.5/4.6)
* fonti gia fresche: ads_intelligence.campaigns_daily (25/08), allievi_pagamenti, change_event API v23 (per attivita agenzia, meglio di ads_events fermo a 03/2026)
* inoltre ogni errore di aggiornamento era ingoiato da un except silenzioso. v4.7 PUBBLICATA (sha in wiki): ordine invertito (PRIMA aggiorna, POI eventuale riavvio) + ogni fallimento di aggiornamento ora e' loggato con tipo eccezione
* email via MAIL_ENGINE o Gmail API isicnv, NO liste
* control.json azzerato. 2 assert (priorita aggiornamento su riavvio, errore visibile su PermissionError). NOTA: il .bat di avvio scarica sempre l'ultima versione -> un chiudi/riapri manuale porta comunque all'ultima. ERRORI TRANSCODIFICA MASSIVI su Maxtor (MTS e anche MP4 di altre cartelle, quindi NON e' il formato): sospetto forte DISCO PIENO
; Fatto (con prova) :
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi.
* Censimento fonti 25/08: campaigns_daily FRESCO
* CAUSA ERRORI TRANSCODIFICA TROVATA (grazie a v4.7 in produzione + screenshot Marco): MAXTOR PIENO 0.0GB. Causa di design MIA: i proxy si scrivono in _proxy SULLO STESSO disco letto e non venivano mai cancellati (dovevano sparire dopo l'upload, ma gli upload erano fermi). Nessun dato di Marco toccato. Anche C: ha solo 23GB. Inoltre v4.7 ha mostrato il vero motivo del tachimetro fallito: la shell della Storage Box non digerisce le virgolette (scp: dest open: No such file or directory). v4.9 PUBBLICATA (sha b21b1525): (1) upload proxy via SFTP BATCH in una sola sessione - crea tutti i livelli con -mkdir (errori ignorati) e fa put, gestisce spazi nei path
* allievi_pagamenti ok
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati)
* transactions_multianno al 07/08
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo
* ads_events (fogli VMK) FERMO 17/03 -> per attivita agenzia usare change_event API v23 appena riparata + confronto snapshot campagne/keywords giorno su giorno
* (3) fallback proxy su C: gia con 15GB liberi. FUNZIONANTI in v4.7: esclusioni (891 video estranei saltati, 8.2GB), cartelle_dubbie (72 da confermare: videos/congres pavlina/ULTIMO GIORNO/OTHER 39, testimonial 8, recastly 5...), guardia spazio, allerte v4.8. Wi-Fi ora 866Mbps.
* monitor argo_ads con heal_cmd gia registrato in capoufficio
* CAUSA ERRORI TRANSCODIFICA CONFERMATA dal log v4.7: 'spazio quasi esaurito (0.0GB sul disco)' - i proxy venivano scritti in _proxy SULLO STESSO disco letto e mai cancellati (dovevano esserlo dopo l'upload, ma gli upload erano fermi) -> Maxtor saturato. Nessun file di Marco toccato. Trovato anche il perche' upload/speedtest fallivano: la shell della Storage Box non digerisce mkdir con virgolette su path con spazi. v4.9+v5.0 PUBBLICATE (sha b21b1525 -> nuova): (1) upload via SFTP BATCH (una connessione: -mkdir per livello + put, spazi gestiti) - PROVATO SUL CAMPO dalla VM: cartella 'TEST SPAZI' creata e 8MB caricati
* AUDIT GOOGLE 25/08 con token-informazionicorsi: (A) GA4 GIA TUTTO ACCESSIBILE da informazionicorsi — 3 account, 18 properties incluse www.marcoparet.com (367013035), neurolinguistic.com (399463272), marcoparet.net, pnl-nlp.org: il token informazionicorsi ha gia scope analytics FUNZIONANTE, token-analytics-marcoparet morto NON serve piu, Fase 4 SBLOCCATA senza Marco. (B) Ads: gia sotto informazionicorsi (CID 2803415869). (C) GSC: buchi — informazionicorsi e siteOwner solo di lordofanneville.com
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo
* marcoparet.com e mesmerismus.info = siteUnverifiedUser
* (3) REGOLA MARCO: in emergenza spazio la scala e' disco origine -> ALTRO DISCO ESTERNO collegato (>50GB, es. INTENSO) -> PC di Marco SOLO se tutti pieni, con allerta email
* neurolinguistic.com/marcoparet.net/pnl-nlp.org ASSENTI (vivono sotto marcoparet@gmail.com)
* (4) sistema ALLERTE v4.8: agent_alerts BQ + email isicnv@gmail.com + flush log immediato su primo errore, 3/10/30 errori consecutivi, spazio esaurito, aggiornamento fallito, 5/25/100 upload falliti (anti-ripetizione 2h). Assert passati su tutto. Wi-Fi ora 866Mbps (5GHz). Saltati 891 video estranei (8.2GB) su Maxtor + 72 clip in 8 cartelle dubbie registrate.
* 25/08 pom: deployato /home/claudeuser/scripts/gsc_migrate.py + cron GSC_MIGRATE ogni 15min. Meccanismo: attende token-informazionicorsi-gsc.json su GCS tokens/ (OAuth scope siteverification+webmasters, link inviato a Marco, route testata 302 OK)
* INCIDENTE E RIPARAZIONE: mia sostituzione di codice in v4.9 aveva cancellato net_diag e speed_loop -> agente CRASH all'avvio (NameError, fermo ~40 min). v5.1 ripristino + ASSERT ANTI-REGRESSIONE ora in pipeline di deploy (AST: nessuna chiamata a funzione inesistente, blocca la pubblicazione). DECISIONI MARCO 19/08: (1) cartelle dubbie CONFERMATE TUTTE (72 su Maxtor: videos/congres pavlina, testimonial, recastly, ANEB/DORA, enneagramma PNL3, GOOGLE DRIVE, fotosequenze HANA) - si lavorano tutte, restano solo tracciate in BQ cartelle_dubbie
* all arrivo mappa docroot via cPanel DomainInfo/domains_data (gator4224 isicnv, gator4063 isicnv, fastcomet marcopar), carica file google-site-verification nel docroot e verifica ownership FILE per https:// e https://www di marcoparet.com, mesmerismus.info, pnl-nlp.org, neurolinguistic.com, marcoparet.net
* (2) REGOLA DI CANCELLAZIONE codificata: l'agente puo' rimuovere SOLO file creati da se' (proxy/audio/thumb) e SOLO se l'originale sul disco esiste ancora (sono rigenerabili=temporanei)
* stato in state/gsc_migrate_state.json, TG a ogni progresso e a completamento. Idempotente, riprova ai giri successivi
* mai file utente, mai i registri manifest/uploaded/media.csv
* 25/08 11:00 GSC MIGRATE COMPLETATO: informazionicorsi ora siteOwner di 9 properties GSC (marcoparet.com +www, mesmerismus.info +www, pnl-nlp.org +www, neurolinguistic.com +www, sc-domain lordofanneville). Verifica FILE via cPanel andata 8/8 al primo colpo
* (3) PRIORITA SPAZIO: disco origine -> altro disco esterno (INTENSO) -> PC di Marco solo ULTIMA RISORSA con email. v5.2 PUBBLICATA (sha 1a579beb) con libera_spazio() che pulisce Maxtor automaticamente sotto i 25GB liberi (target 45GB), assert stringenti superati (file con originale mancante NON toccato, registri intatti).
* PUT sites per aggiunta esplicita a GSC. SCOPERTA: informazionicorsi era GIA owner verificato di ~40 domini INET_DOMAIN storici (pnlcoaching, neuro-linguistic, nlp4all, franzbardon, carljung, milton-erickson etc) — per quelli lo storico GSC e gia disponibile. Token: token-any-informazionicorsi-gsc.json (root bucket
* SESSIONE 28/08 - agente video da v3.9 a v5.9 (23 versioni pubblicate, tutte via push). RETE RISOLTA: da 0.1 MB/s (ripetitore SFR_A570_EXT 2.4GHz + NordVPN residua) a 5-6 MB/s su rete principale, poi trasferimento in via dell'Umanesimo (fibra Wind, WINDTRE-C003E8 5GHz 802.11ax 574Mbps, upload linea 168 Mbps): v5.5 con 4 UPLOAD PARALLELI + cifrario aes128-gcm -> ~15-20 MB/s aggregati. Riferimento VM->Box 21.6 MB/s. UPLOAD: passaggio da WebDAV Yandex (PUT lunghi che cadevano) a SFTP BATCH su Storage Box u649132 (crea i livelli con spazi in una sessione). Box: 325GB di proxy, 1TB totale, monitor su dashboard con soglia 78%. BUG STORICI CORRETTI: (1) push che riavviava senza aggiornare (ordine invertito in v4.7)
* ATTENZIONE callback salva come token-any-{account}.json non token-{account}.json)
* (2) v4.9 aveva cancellato net_diag/speed_loop -> crash: ora ASSERT ANTI-REGRESSIONE AST in pipeline di deploy (nessuna chiamata a funzione inesistente, blocca la pubblicazione)
* 25/08 11:25 marcoparet.net COMPLETATO via Serverplan hmarcopl@cms026 (docroot /home2/hmarcopl/public_html, credenziali ritrovate in chat 09/04): verificato https e www, aggiunto a GSC. CONSOLIDAMENTO GSC 11/11 COMPLETO su tutti e 5 i domini target
* (3) sb_key resa sola-lettura bloccava i riavvii
* (4) percorsi >260 caratteri Windows -> prefisso \\?\\ (wp())
* (5) stderr ffmpeg buttato via -> ora il motivo reale e' nel log. REGOLE DI MARCO CODIFICATE: (a) cancellazione: solo file creati dall'agente e solo se l'originale esiste (libera_spazio, target 45GB, mai registri ne' file utente)
* (b) priorita spazio: disco origine -> altro disco esterno -> PC solo ULTIMA RISORSA con email
* (c) cartelle dubbie: si fanno TUTTE, restano tracciate
* (d) backup/personali esclusi ma CATALOGATI (cartelle_escluse: disco, n file, GB, tipi). ALLERTE IMMEDIATE (v4.8): agent_alerts + email al primo errore, anti-ripetizione 2h. SCANSIONE OTTIMIZZATA (v5.8): scandir con stat gratuito + batch BQ 1500 -> 30.000 eml in 0.18s, catasto 40.000 file in 0.4s. Verificato su disco reale EXTERNAL_USB24: 1.590.200 file catalogati, backup esclusi (BackupPC-MAGGIO-2025: 1.305.148 file, 348GB, 370.997 .eml). SCOPERTA (intuizione Marco): ARCHIVIO STORICO 14.172 trascrizioni su 15 dischi in /home/claudeuser/trascrizioni_isicnv, molti MAI passati dal sistema (Elements2021 3465, Seagate Expansion Drive 2269, Seagate 2023 1269, Horota2024 992, TOSHIBA EXT2018 910) -> niente ri-trascrizione. v5.9: indice https://wiki.marcoparet.com/agent/trascritti.json (8373 nomi, esclusi <7 char per omonimie), l'agente salta l'audio se gia trascritto (status audio_skip)
* sul disco attuale 398/2007 clip gia coperte. CENSIMENTI CLOUD: Drive driveuploader 2668 video/3.19TB (con md5) in drive_uploader_census
* Yandex 1858/1.88TB in yandex_video_census
* viste v_drive_vs_dischi, v_cloud_vs_dischi_bysize (match rename-tolerant per dimensione), v_cerca_file (ricerca su tutti i dischi). Solo-cloud: 6692 video = 5.2TB. Cron census settimanale lun 05:30 (include WeVideo_Export). STATO: INTENSO e Maxtor COMPLETATI (2600 e 1857 proxy, 18 danneggiati totali su ~4500 = 0.4%), EXTERNAL_USB24 in corso, 13.735 trascrizioni indicizzate in BQ, coda upload a zero.
; Provato ed escluso :
; Provato ed escluso :
* form_db_all/leads_journey/yt analytics_daily hanno dato 500 su MAX(colonna): colonne da mappare con INFORMATION_SCHEMA, tabelle esistono
* Storage Box Hetzner rimandato: nessun token API esiste e Marco preferisce Yandex gia pagato
* GA4: nessun token analytics in GCS tokens/ -> token-analytics-marcoparet MORTO, serve ri-auth manuale Marco (unico punto che richiede lui)
* GCS e volumi cloud bocciati per costo
* NON ricostruire ads_events da fogli VMK
* la lentezza 1.1x della v2.4 era DOPPIA ISTANZA, non hardware
* Ri-auth token-analytics-marcoparet: inutile, si usa informazionicorsi
* DNS TXT GoDaddy: NS di tutti e 5 i domini NON GoDaddy (hostgator/fcomet/cmshigh)
* marcoparet.net: se docroot non su gator4224 (probabile Serverplan cms026, username cPanel ignoto) restera SKIP -> servira username Serverplan o delega manuale
* marcoparet.net: Serverplan, username cPanel ignoto -> unico rimasto sotto marcoparet@gmail
* fallback delega manuale o username da Marco
; Prossimo passo :
; Prossimo passo :
* FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY
* 1) monitorare EXTERNAL_USB24 (2007 video, 401 in lavorazione) e righe 'audio saltato' 2) dischi storici gia trascritti (Elements2021, Seagate 2023, Horota2024, TOSHIBA EXT2018): serve SOLO il proxy -> molto piu veloci 3) rigenerare indice trascritti dopo nuove trascrizioni: python3 /home/claudeuser/gen_indice_trascritti.py + scp su wiki 4) valutare proxy leggeri dei 6692 video solo-cloud direttamente da VM (Marco: si, senza ri-trascrivere) 5) CANTIERE SUCCESSIVO: vision su miniature -> video_scenes (demo detection, due demo per video, momento-reazione via segmenti whisper) 6) upgrade box a BX21 solo quando la dashboard segna rosso (78% di 1TB)


=== compressore-contesto ===
=== cruscotto-marketing-quotidiano ===
''Aggiornato 2026-08-25 09:34 UTC'' &mdash; dominio: VM / infrastruttura
''Aggiornato 2026-08-25 11:25 UTC'' &mdash; dominio: ads/analytics/report


; Obiettivo : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV
; Obiettivo : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi
; Vincoli in vigore :
; Vincoli in vigore :
* zero dipendenze esterne
* Deterministico, no LLM nel calcolo quotidiano
* mai comprimere pipeline Biblioteca/citazioni
* riusare esistente: ARGO L0-L15 (scripts/argo/), cruscotto.py 07:15, rendiconto.py, avvisa.py digest
* originale sempre recuperabile (CCR)
* fonti gia fresche: ads_intelligence.campaigns_daily (25/08), allievi_pagamenti, change_event API v23 (per attivita agenzia, meglio di ads_events fermo a 03/2026)
* email via MAIL_ENGINE o Gmail API isicnv, NO liste
; Fatto (con prova) :
; Fatto (con prova) :
* Creato /home/claudeuser/scripts/compressore.py (comprimi_json TSV, comprimi_log con conservazione errori, deposita CCR su GCS ccr/). Benchmark: JSON sintetico -39.5%, BQ reale domains_audit -55.3%, log -85.2%. Integrato in sblocco.py riga 39 (backup .bak_20260825, sintassi OK)
* Censimento fonti 25/08: campaigns_daily FRESCO
* allievi_pagamenti ok
* transactions_multianno al 07/08
* ads_events (fogli VMK) FERMO 17/03 -> per attivita agenzia usare change_event API v23 appena riparata + confronto snapshot campagne/keywords giorno su giorno
* monitor argo_ads con heal_cmd gia registrato in capoufficio
* AUDIT GOOGLE 25/08 con token-informazionicorsi: (A) GA4 GIA TUTTO ACCESSIBILE da informazionicorsi — 3 account, 18 properties incluse www.marcoparet.com (367013035), neurolinguistic.com (399463272), marcoparet.net, pnl-nlp.org: il token informazionicorsi ha gia scope analytics FUNZIONANTE, token-analytics-marcoparet morto NON serve piu, Fase 4 SBLOCCATA senza Marco. (B) Ads: gia sotto informazionicorsi (CID 2803415869). (C) GSC: buchi — informazionicorsi e siteOwner solo di lordofanneville.com
* marcoparet.com e mesmerismus.info = siteUnverifiedUser
* neurolinguistic.com/marcoparet.net/pnl-nlp.org ASSENTI (vivono sotto marcoparet@gmail.com)
* 25/08 pom: deployato /home/claudeuser/scripts/gsc_migrate.py + cron GSC_MIGRATE ogni 15min. Meccanismo: attende token-informazionicorsi-gsc.json su GCS tokens/ (OAuth scope siteverification+webmasters, link inviato a Marco, route testata 302 OK)
* all arrivo mappa docroot via cPanel DomainInfo/domains_data (gator4224 isicnv, gator4063 isicnv, fastcomet marcopar), carica file google-site-verification nel docroot e verifica ownership FILE per https:// e https://www di marcoparet.com, mesmerismus.info, pnl-nlp.org, neurolinguistic.com, marcoparet.net
* stato in state/gsc_migrate_state.json, TG a ogni progresso e a completamento. Idempotente, riprova ai giri successivi
* 25/08 11:00 GSC MIGRATE COMPLETATO: informazionicorsi ora siteOwner di 9 properties GSC (marcoparet.com +www, mesmerismus.info +www, pnl-nlp.org +www, neurolinguistic.com +www, sc-domain lordofanneville). Verifica FILE via cPanel andata 8/8 al primo colpo
* PUT sites per aggiunta esplicita a GSC. SCOPERTA: informazionicorsi era GIA owner verificato di ~40 domini INET_DOMAIN storici (pnlcoaching, neuro-linguistic, nlp4all, franzbardon, carljung, milton-erickson etc) — per quelli lo storico GSC e gia disponibile. Token: token-any-informazionicorsi-gsc.json (root bucket
* ATTENZIONE callback salva come token-any-{account}.json non token-{account}.json)
* 25/08 11:25 marcoparet.net COMPLETATO via Serverplan hmarcopl@cms026 (docroot /home2/hmarcopl/public_html, credenziali ritrovate in chat 09/04): verificato https e www, aggiunto a GSC. CONSOLIDAMENTO GSC 11/11 COMPLETO su tutti e 5 i domini target
; Provato ed escluso :
; Provato ed escluso :
* headroom-ai upstream come dipendenza: su nostro JSON default dava +10% overhead
* form_db_all/leads_journey/yt analytics_daily hanno dato 500 su MAX(colonna): colonne da mappare con INFORMATION_SCHEMA, tabelle esistono
; Prossimo passo :
* GA4: nessun token analytics in GCS tokens/ -> token-analytics-marcoparet MORTO, serve ri-auth manuale Marco (unico punto che richiede lui)
* Allineamento prefissi per Concilio dei Lettori (testo condiviso prima, persona dopo, per cache DeepSeek) + valutare comprimi_json dentro route /bq/query come parametro opzionale compress=1
* NON ricostruire ads_events da fogli VMK
* Ri-auth token-analytics-marcoparet: inutile, si usa informazionicorsi
* DNS TXT GoDaddy: NS di tutti e 5 i domini NON GoDaddy (hostgator/fcomet/cmshigh)
* marcoparet.net: se docroot non su gator4224 (probabile Serverplan cms026, username cPanel ignoto) restera SKIP -> servira username Serverplan o delega manuale
* marcoparet.net: Serverplan, username cPanel ignoto -> unico rimasto sotto marcoparet@gmail
* fallback delega manuale o username da Marco
; Prossimo passo :
* FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY
 
=== compressore-contesto ===
''Aggiornato 2026-08-25 09:34 UTC'' &mdash; dominio: VM / infrastruttura
 
; Obiettivo : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV
; Vincoli in vigore :
* zero dipendenze esterne
* mai comprimere pipeline Biblioteca/citazioni
* originale sempre recuperabile (CCR)
; Fatto (con prova) :
* Creato /home/claudeuser/scripts/compressore.py (comprimi_json TSV, comprimi_log con conservazione errori, deposita CCR su GCS ccr/). Benchmark: JSON sintetico -39.5%, BQ reale domains_audit -55.3%, log -85.2%. Integrato in sblocco.py riga 39 (backup .bak_20260825, sintassi OK)
; Provato ed escluso :
* headroom-ai upstream come dipendenza: su nostro JSON default dava +10% overhead
; Prossimo passo :
* Allineamento prefissi per Concilio dei Lettori (testo condiviso prima, persona dopo, per cache DeepSeek) + valutare comprimi_json dentro route /bq/query come parametro opzionale compress=1


=== pnl-nlp-download ===
=== pnl-nlp-download ===
Riga 968: Riga 1 525:
* DOPO fine benchmark NotebookLM (non prima, per non contaminare): 1) agent_kimi passa diversifica=true di default 2) timing per stadio nella risposta server 3) valutare HyDE-storico per lessico arcaico
* DOPO fine benchmark NotebookLM (non prima, per non contaminare): 1) agent_kimi passa diversifica=true di default 2) timing per stadio nella risposta server 3) valutare HyDE-storico per lessico arcaico


=== agritainment-sito ===
=== cairn-archive ===
''Aggiornato 2026-08-22 00:20 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com


; Obiettivo : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti)
; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Vincoli in vigore :
; Vincoli in vigore :
* video su 6 canali YouTube di partner diversi
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* slide moduli 3 e 4 inesistenti in WP3
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* traduzioni = obbligo di ciascun partner da formulario
* planned != held
* mail solo redatte
; Fatto (con prova) :
; Fatto (con prova) :
* Verificati sul sito 22/08: punto 1 sei video per modulo OK su tutti e 6 (modulo 1 confermato, il primo audit dava falso negativo per le slash escapate in data-settings)
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* punto 2 le 5 pagine choose linkano tutti i 6 moduli
* nota interna su AUD-001 col.N
* punto 4 materiali EN+lingua propria in ogni lingua (EN45 IT46 BG58 EL66 RO52)
* llms.txt e sitemap-static.xml aggiornati (11 url)
* punti 5-6-7 events/meetings/webinar online e nel menu
* punto 8 i 6 video irlandesi corrispondono. Fatti anche: rimossa voce Project library dal menu, tolti bottoni agenda e certificato dal webinar, aggiunto bottone form feedback, aggiunta voce Self-assessment al menu, barra fissa prev/next sulle 37 pagine lezione, footer con numero progetto e disclaimer EACEA, Atlas 121 pratiche pubblicato
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube
* solo 6 video (i sei irlandesi del Modulo 1) hanno auto-captions. Il punto 3 richiede quindi 36 video x 5 lingue = 180 tracce, su 6 canali di partner diversi.
; Provato ed escluso :
; Provato ed escluso :
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi
* archive.org/wayback/available da 429: usare la CDX API con retry
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403)
; Prossimo passo :
; Prossimo passo :
* Consegnare ai partner la lista per canale delle tracce mancanti
* salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine
* per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl
* facsimili redatti delle 3 mail
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* valutare pagina EN/IT bilingue


=== lessico-canonico ===
== Sospesi ==
''Aggiornato 2026-08-13 19:49 UTC'' &mdash; dominio: knowledge
=== segreteria-posta-quotidiana ===
''Aggiornato 2026-09-27 10:42 UTC'' &mdash; dominio: segreteria


; Obiettivo : Lessico canonico condiviso (idea Canonical ID da SGF): tabella BQ unica termine-ID-resa per lingua per eliminare la deriva terminologica fra traduttore live, RAIDA, Oracolo e wiki
; Obiettivo : Ogni mattina un solo report: chi non ha avuto risposta, quali lead mancano, soldi entrati, fatture, pratiche sospese, lettere in coda
; Vincoli in vigore :
; Vincoli in vigore :
* NULL dove la resa non e certa, mai fabbricare
* marcoparet@gmail.com senza token sulla VM: serve un consenso Google di Marco
* integrazioni nelle pipeline solo dopo test (traduttore = sistema live seminari) e dopo benchmark NotebookLM per lOracolo
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
* RUOLI (R154-ter rettificata 21/09): ChatGPT = redazione/revisione giuridica + bozze Gmail in marcoparet (proprio connettore) + allegati + spedizione su ordine di Marco da PRONTA. Claude = verifiche/fonti (CH, Wise, BQ, Drive, VM) + registrazione
* non apre allegati marcoparet. marcoparet ha Advanced Protection: nessun OAuth di terzi sulla VM, mai riproporlo
; Fatto (con prova) :
; Fatto (con prova) :
* Creata isicnv_knowledge.lessico_canonico (15 colonne: id, lemma, categoria, invariante, resa it/fr/en/es/ru/pt, varianti_asr ARRAY, boost_asr, note, fonte)
* segreteria_quotidiana.py in cron 20 7 * * *
* seed 33 termini estratti dalle patch reali del traduttore (/opt/translator/patch_glossary.py, patch_alch.py, patch_alch2.py, patch_hard.py): 8 latini invarianti con storpiature ASR note (athanor: latano/atanor/latano..., solve et coagula: sollievo alla colonna...), 5 marchi (Arkeos con 2 varianti note su 293 file), 11 nomi propri con rese standard in 6 lingue, 8 termini tecnici, 1 locuzione
* 3 caselle su 4 lette
* verificato con SELECT per categoria e spot-check
* tabelle isicnv_segreteria (email_giornaliere, azioni, sospesi, fatture_da_pagare)
* prima corsa 102 non risposti, 22 fatture, 11 azioni
* rotta /oauth/start-marcoparet-posta
* scoperta automatica del token marcoparet
* 23/09 Claude: passata a mano la casella marcoparet (il report non la copre, NESSUN_TOKEN): nuove L0006 Australia (partenza Londra) e L0007 BICE fattura 1.245,60
* L0004 scartata (Bertana ha gia' scritto a Pellerito 21/09)
* Qonto SATD SCI 175,84 EUR versati al fisco 21/09
* Trovato chiede TPV L24 (decide Marco)
* Brevo SMTP keys in scadenza ma nessuno script le usa
* plugin greenagritainment falliti
* 2026-09-23 19:41 UTC ASSORBITO il cantiere 'chat-s20260923-claudesegret-13ehdgy' (simile): obiettivo: D1: riepilogo posta marcoparet 19-23/09; D2: bozze nuove registrate in lettere.py (L0006, L0007); D3: L0004 scartata da verificare | perche': chat S20260923-claudesegret-13ehdgy chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 06:40 UTC ASSORBITO il cantiere 'posta-comando-unico-0921' (simile): obiettivo: Un solo comando (da Claude o ChatGPT) che prende un elenco di lettere/verifiche di posta e produce bozze, registrazione in lettere.py, verifiche e reminder, con | perche': Marco vuole dare in un colpo solo un elenco di lettere/verifiche di posta e ricevere bozze + verifiche + reminder; prova fatta a mano, va resa comando ripetibile anche da ChatGPT
* 27/09: segreteria a pratiche (R156): pratiche.py con 9 tipi e brief per agente
* PR0001-PR0006 aperte, PR0001/0002/0004 analizzate da agenti
* cruscotto Google Doc https://docs.google.com/document/d/1KAQQKvaGkEr2_03UuxGw5jg3uWMwwJRYqz4ASMY7Psw/edit rigenerato da cruscotto_segreteria.py (cron 07:30/13:30/19:30, mail a Marco 1/giorno se decisioni ferme >2gg)
* lucchetto fcntl su pratiche.py dopo race fra agenti
* Claude spedisce da marcoparet (test 1a0e25714d3e5e78)
* 2026-09-27 10:42 UTC ASSORBITO il cantiere 'chat-s20260927-claudesegret-16aqmeu' (simile): obiettivo: Commessa S20260927-claudesegret-16aqmeu aperta e mai chiusa (END_NONVERIFICATO alle 10:13). Mancano tutti e 4 i deliverable: D1 pratiche.py+registro, D2 analisi | perche': chat S20260927-claudesegret-16aqmeu chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-28 06:40 UTC riassorbito dal guardiano in mro-r103-r104: stesso script pratiche.py
; Prossimo passo :
* 1|Classificatore report: AIRETT newsletter segnata come richiesta allievo
* Menna (ricevuta 16/09) segnata come non risposta -> correggere segreteria_quotidiana.py
* 2|Auto-apertura pratiche dal report quotidiano (mail che chiedono decisione -> pratiche.py --apri)
* 3|Agente automatico per pratiche APERTE >1 giorno (claude CLI o ChatGPT) con pratiche.py --brief
* 4|Link al cruscotto nel report delle 08:00
* python3 scripts/pratiche.py --lista
* completare D1: pratiche.py + registro (salvare e verificare i file)
* completare D2: analisi TPV di PR0001
* completare D3: bozza L0008 aggiornata
* completare D4: riepilogo posta 27/09
* python3 commessa.py chiudi S20260927-claudesegret-16aqmeu --esito COMPIUTO --consegna <percorso deliverable> --next <verifica>
 
=== posta-comando-unico-0921 ===
''Aggiornato 2026-09-21 08:54 UTC'' &mdash; dominio: posta
 
; Obiettivo : Un solo comando (da Claude o ChatGPT) che prende un elenco di lettere/verifiche di posta e produce bozze, registrazione in lettere.py, verifiche e reminder, con riepilogo R152
; Vincoli in vigore :
* RUOLI (R154-ter rettificata 21/09): ChatGPT = redazione/revisione giuridica + bozze Gmail in marcoparet (proprio connettore) + allegati + spedizione su ordine di Marco da PRONTA. Claude = verifiche/fonti (CH, Wise, BQ, Drive, VM) + registrazione
* non apre allegati marcoparet. marcoparet ha Advanced Protection: nessun OAuth di terzi sulla VM, mai riproporlo
; Fatto (con prova) :
* 20-21/09 prova manuale: 5 bozze Gmail (Anna Mas accordo 2 documenti
* Salsina pagamento VMK ~4601 EUR da confermare
* Accurox non serve aiuto
* Bertana parere bozza
* Sun Shijin Fudan da dossier Cina)
* Companies House ok
* reminder Sabadell trig_01PevjAgHi8AoXNHEhuCgoYR
* 21/09: lettere.py in servizio (registro GCS+BQ, testo integrale, stati), L0001-L0005 registrati
* R154 nel Doc MRO e memoria CC rule_1789978160797_85frd0
* scheda progetto claude/Coda_Lettere_Claude_ChatGPT.md
* 2026-09-21 08:23 UTC ASSORBITO il cantiere 'chat-s20260921-claudepostam-1dw5fq2' (simile): obiettivo: Cantiere posta-comando-unico-0921: comando unico non ancora costruito; consenso Google marcoparet da dare (Marco); journal D2 da completare | perche': chat S20260921-claudepostam-1dw5fq2 chiusa senza prova: il custode R103 ha trovato passi eseguibili
* 2026-09-24 06:40 UTC riassorbito dal guardiano in segreteria-posta-quotidiana: stesso script lettere.py, segreteria_quotidiana.py
; Prossimo passo :
; Prossimo passo :
* 1) mining fonetico varianti Arkeos e altri marchi dai 9860 file trascrizione per completare varianti_asr 2) agent_gstt.py legge glossario+boost da export del lessico invece che hardcoded, con test feed_test.py prima del deploy 3) post-benchmark: query expansion Oracolo usa varianti_asr 4) giudice RAIDA verifica coerenza col lessico
* 1|ChatGPT: riallineare le bozze Gmail delle lettere con gmail_sync=PENDENTE e segnare OK (--aggiorna Lnnnn --note 'gmail ok' --autore chatgpt)|manuale ChatGPT
* 2|segreteria_quotidiana.py: nel report giornaliero elencare lettere PRONTA e gmail_sync=PENDENTE|AUTO: grep -n lettere scripts/segreteria_quotidiana.py
* 3|scripts/posta_comando.py: testo libero -> thread Gmail/Drive, bozza, registrazione lettere.py, verifiche (CH, Wise, fatture), reminder
* output R152
* 4|Route CC POST /posta/comando in OpenAPI GPT Actions
* 5|Companies House: cron mensile con avviso Telegram 30gg prima scadenze
* 6|Riparare Wise transfers/activities (403) e token fetch_vmk.py (invalid_grant)


=== migrazione-aigw ===
=== migrazione-aigw ===
''Aggiornato 2026-08-13 16:56 UTC'' &mdash; dominio: infrastruttura AI / gateway
''Aggiornato 2026-09-16 22:26 UTC'' &mdash; dominio: -


; Obiettivo : Instradare ogni lavoro AI sul fornitore piu economico che lo sa fare, dal gateway
; Obiettivo : Instradare ogni lavoro AI sul fornitore piu economico che lo sa fare
; Fatto (con prova) :
; Fatto (con prova) :
* VERIFICATO che il gateway aigw esiste ed e reale: systemd active su translator, /opt/aigw/aigw.py, calls.jsonl con 7 chiamate vere loggate fra cui oracolo-agent su glm-5.2 e client cc su deepseek-chat, con token in/out e costo
* VERIFICATO che il gateway aigw esiste ed e reale: systemd active su translator, /opt/aigw/aigw.py, calls.jsonl con 7 chiamate vere loggate fra cui oracolo-agent su glm-5.2 e client cc su deepseek-chat, con token in/out e costo
Riga 1 023: Riga 1 640:
* Su OpenRouter xAI offre: grok-4.6 e 4.5 a 2.00/6.00 ctx 500K, grok-4.3 e 4.20 a 1.25/2.50 ctx 1M e 2M, grok-build-0.1 a 1.00/2.00
* Su OpenRouter xAI offre: grok-4.6 e 4.5 a 2.00/6.00 ctx 500K, grok-4.3 e 4.20 a 1.25/2.50 ctx 1M e 2M, grok-build-0.1 a 1.00/2.00
* ATTENZIONE: le tariffe xAI RADDOPPIANO sopra i 200K token di prompt, e con contesti da 1-2M e facile inciamparci
* ATTENZIONE: le tariffe xAI RADDOPPIANO sopra i 200K token di prompt, e con contesti da 1-2M e facile inciamparci
* 17/09 assorbito in pilota-custode-flash: scelta dei modelli per ruolo su dati reali (modelli_ledger.py), che copre anche il costo per fornitore
; Provato ed escluso :
; Provato ed escluso :
* Migrare gli script automaticamente senza prima censirli: circa 14 sul VM era una stima, non una lista. Il censimento produce la lista vera con quali girano da cron
* Migrare gli script automaticamente senza prima censirli: circa 14 sul VM era una stima, non una lista. Il censimento produce la lista vera con quali girano da cron
Riga 1 030: Riga 1 648:
* Passare a Grok 4.6 per riflesso: 2.00/6.00 contro 1.25/2.50 del 4.3, e il doppio in uscita per un modello posizionato su codice e agenti
* Passare a Grok 4.6 per riflesso: 2.00/6.00 contro 1.25/2.50 del 4.3, e il doppio in uscita per un modello posizionato su codice e agenti
* Aprire una fatturazione xAI diretta per Grok 4.1 Fast: qwen3-8b su OpenRouter costa gia meno
* Aprire una fatturazione xAI diretta per Grok 4.1 Fast: qwen3-8b su OpenRouter costa gia meno
; Prossimo passo :
* Collegare gli alias di classe al gateway: gli script chiedono volume o giudizio invece del nome del modello, cosi cambiare fornitore e una riga nel listino e non 289 modifiche
* Misurare il risparmio reale su una settimana confrontando calls.jsonl prima e dopo


=== finanze-classificazione ===
=== hpr_pilota ===
''Aggiornato 2026-08-11 15:08 UTC'' &mdash; dominio: contabilita / finance
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte
; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; Vincoli in vigore :
* read-only sul resto
* budget run 15
* giudizio col test delle 4 domande sul vault
; Fatto (con prova) :
; Fatto (con prova) :
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte
* script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh)
* CENSITO cosa esiste gia in isicnv_finance: 105 tabelle e 19 viste, fra cui v_costi_per_categoria, v_spese_azienda, v_spese_aziendali_da_conto_personale, v_finance_quinquennale, v_riconciliazione_allievi
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* TROVATA la causa vera del blocco: classification_rules ha 678 regole agganciate al campo counterparty, ma controparte_nome e NULL su TUTTE le 8.389 righe DA_CLASSIFICARE. Le regole non possono agganciare nulla
* Punto 1 FATTO: hyperresearch 0.11.1 + crawl4ai installati in /home/claudeuser/hyperresearch_pilot (.venv, config.toml, run init --budget 15). Punto 2 BLOCCATO: Claude Code sulla VM non e' autenticato (nessun .credentials.json, .anthropic-key vuoto dal 21/07) e api.anthropic.com e' bloccato da ISICNV_COST_GUARD in /etc/hosts
* MISURATO: derivando la controparte con TRIM(IF(direction=OUT, dst_name, src_name)) si classificano subito 3.413 movimenti pari a 666.086 euro, il 38 per cento, senza scrivere una regola nuova
* il gateway aigw espone solo chat/completions, non /v1/messages
* Stato attuale: DA_CLASSIFICARE 8.389 mov / 1.743.096 eur, DA_CHIARIRE 98 mov / 200.025 eur
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata).
* ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe)
; Provato ed escluso :
* controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction
* nessuna integrazione nella pipeline pillar finche' il pilota non e' giudicato
* Applicate le 678 regole di classification_rules: 3.413 movimenti classificati, DA_CLASSIFICARE sceso da 8.389 a 4.976 movimenti e da 1.743.096 a 1.077.010 euro. Marcati con classifier_blob auto:classification_rules:20260810
* Non aggirare il COST_GUARD senza ok di Marco (decisione di costo)
* Categorie assegnate: INCOME_CORSI 1.116 mov 472.134 eur, PERSONAL 431, BIZ_FOR_UNIVERSITE 197, PERSONAL_GENUINE 404, MARKETING 96, CASH 57, ANNA_FAMILY 76, REVIEW 353, TRASPORTI 166, STAFF 33, TRAVEL 40, TECH 353, LEGAL 12, INTERCOMPANY 13
* INTEGRITA VERIFICATA: 14.492 righe prima e dopo, somma importi 4.351.207 identica
* REGOLE DI MARCO INSERITE in classification_rules e applicate: LIGHTNING SOURCE -> INCOME_LIBRI (royalties, e IN non OUT: sono ricavi non costi di stampa), Di Feo Gioacchino -> INCOME_CORSI VIP COURS, Alena Telezin -> INCOME_CORSI corso Svizzera, IPCA -> INTERCOMPANY collaborazione associazione italiana, To GBP e To EUR -> FX conversioni interne Wise
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000
* RESIDUO ora 4.907 mov / 938.723 eur (partenza 8.389 / 1.743.096)
* INDAGINE sui 113 (da identificare): tutti IN su Universite apr-lug 2026, causali loan 15.050, vuota 8.374, Wages 7.094, bonus, rimborsi progetto, May Rent, fatture, Saldo corso Roma, quote iscrizione
* Gmail isicnv interrogabile via token-any-isicnv: le notifiche Wise Denaro ricevuto da X contengono il nome mancante. Estratte 12 mail con nome (TODARO STEFANIA, MORRONI CRISTIANA, Giuseppe Giudice, BERTON LINE SRL, Daniele Pacioni, D ALONZO ELISA, PRIVITERA ANTONINO, DONATI NAZZARENO...) in /home/claudeuser/wise_mail_match.json
* FALSO SUCCESSO SCOPERTO: tutto il lavoro di classificazione del 10 agosto (3.413 movimenti miei piu circa 1.700 di unaltra chat) era stato AZZERATO. DA_CLASSIFICARE era tornato a 8.389 mov / 1.743.096 euro, il numero esatto di partenza, mentre i marcatori in classifier_blob restavano a dire che il lavoro era stato fatto
* CAUSA TROVATA: finance_daily_sync.py alle 06:45 ha un passo chiamato classificazione che riscrive la colonna category da zero e riporta a DA_CLASSIFICARE tutto cio che le sue regole interne non riconoscono. Confermato da INFORMATION_SCHEMA.JOBS_BY_USER: catena di UPDATE alle 06:49-06:51 su category e perimetro, e ultima modifica tabella alle 06:50:29
* RIMEDIO: creato scripts/riapplica_regole.py, in cron alle 07:10 (dopo il sync). Ripopola controparte_nome e riapplica classification_rules
* BUG TROVATO NEL RIMEDIO: dopo le 6 regole aggiunte ieri alcune controparti erano doppie e BigQuery rifiutava con UPDATE must match at most one source row. Aggiunta deduplica con ROW_NUMBER sulla piu recente
* RIPRISTINO ESEGUITO: da 8.389 a 4.646 movimenti, da 1.743.096 a 702.043 euro
* USATA la libreria google.cloud.bigquery al posto della CLI bq: la CLI perdeva le regex nei livelli di escaping e l UPDATE tornava False senza errore visibile
* la libreria restituisce num_dml_affected_rows
; Provato ed escluso :
* Riclassificare a mano controparte per controparte come proponeva laltra chat: e lavoro gia fatto, 678 regole esistono. Il problema non erano le regole ma il campo vuoto
* Fidarsi dei nomi di colonna italiani: il ledger usa date amount_src category description NON data importo categoria
* Scrivere il marcatore nel campo note: e FLOAT64 non STRING, lUPDATE fallisce. Usare classifier_blob che e STRING
* Riclassificare a mano controparte per controparte prima di aver popolato controparte_nome
* Recuperare i nomi dai dati grezzi: recent_2026_raw ha sender valorizzato solo su 19 righe su 334 nel periodo, merchant zero. Il nome NON e nei grezzi
* Il campo note e FLOAT64: usare classifier_blob per i marcatori
* Solo 12 notifiche Wise nel periodo contro 113 movimenti: la posta copre una minoranza dei casi
* Modificare la logica interna del passo classificazione del sync: rischioso e non necessario. Meglio un passo additivo dopo, che riapplica la fonte di verita classification_rules
* Fidarsi di un ESITO FATTO senza ricontrollare il giorno dopo: era vero quando scritto e falso dodici ore dopo
* Stringhe SQL con apostrofo (Spese per l ufficio): usare ScalarQueryParameter
; Prossimo passo :
; Prossimo passo :
* Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga
* Dopo ok di Marco: (a) sospendere il cost guard: sudo sed -i '/ISICNV_COST_GUARD_BEGIN anthropic/,/ISICNV_COST_GUARD_END anthropic/s/^/#/' /etc/hosts
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key)
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2
* (d) a fine run ripristinare il guard togliendo i #


=== referenze-canon ===
=== audit_neurolinguistic_non_conformi ===
''Aggiornato 2026-08-10 20:26 UTC'' &mdash; dominio: Referenze E-E-A-T
''Aggiornato 2026-09-13 21:07 UTC'' &mdash; dominio: pillar


; Obiettivo : VIA eseguito: pubblicazione dossier referenze
; Obiettivo : portare a standard le pagine non conformi su neurolinguistic: [197, 4300, 11818, 11780, 11804, 479, 776, 3640, 3639, 3637, 4293, 4292, 3633, 3162, 4289, 4288, 11505, 4287, 4286, 3628, 2, 136, 146, 168, 303, 482, 65, 3627, 531, 535, 609, 621, 644, 682, 696, 872, 927, 1025, 1089, 1119]
; Vincoli in vigore :
* mai riscrivere: arricchire
* pubblicazione solo via pubblica_pillar.py --ok-marco
; Fatto (con prova) :
; Fatto (con prova) :
* 3 tabelle BQ (canon 31, libri 12, citazioni 30)
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): audit_marcoparet_non_conformi, che da oggi copre entrambi i siti
* 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
* Sheet 1COwn3BXgkzFmKTujVimzCX_X5P_1Q1a_uL2CfEt27oM con 3 tab
* canon 43 righe
* scoperta portfolio marchi (EMDR=EMF di Marco, TimeLine, Ipnorapport, visura 1996)
* Ivinghoe registrata subordinata ad Anneville
* LIVE verificati con shot e vista: /referenze-marco-paret/ entity home con Australia+Pandiscia integrate
* /llms.txt con backup del precedente su GCS llms_backup_pre_referenze.txt
* /referenze/ con 4 PDF: apca, uibm-1999 redatto con CF e indirizzi coperti verifica visiva OK, oradea-2024 redatto 3 box, sinape-2025. Wayback in coda Hetzner +1h. Canon stati aggiornati a pubblicato
; Provato ed escluso :
* stampa2=duplicato La Stampa
* Eminen Stell non finanziata
* Marie Claire non trovata
* pirateria Scribd+forum RU segnalata
* duplicati byte-identici nei TIF marchi
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare
* llms sugli altri 4 domini non ancora
; Prossimo passo :
; Prossimo passo :
* 1 llms.txt su marcoparet.com .net mesmerismus mesmerismonline da access_howto
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito neurolinguistic --correggi --pid 197 4300 11818 11780 11804 479 776 3640 3639 3637 4293 4292 3633 3162 4289 4288 11505 4287 4286 3628 2 136 146 168 303 482 65 3627 531 535 609 621 644 682 696 872 927 1025 1089 1119
* 2 blocco head 244 pagine RAIDA
* 3 leggere log Hetzner wb_retry e gb
* 4 TIF marchi estrazione
* 5 rigenerare Sheet dal canon


=== cairn-archive ===
=== pipeline_mancanti_censimento ===
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline


; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; Vincoli in vigore :
; Vincoli in vigore :
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* planned != held
* mail solo redatte
; Fatto (con prova) :
; Fatto (con prova) :
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi contrario alla regola di Marco 'pipeline solo se necessarie' (14/09): non si creano pipeline per sistema/mercurio/resta/stato/modo
* nota interna su AUD-001 col.N
* llms.txt e sitemap-static.xml aggiornati (11 url)
; Provato ed escluso :
* archive.org/wayback/available da 429: usare la CDX API con retry
; Prossimo passo :
; Prossimo passo :
* salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* facsimili redatti delle 3 mail
* partire dal primo cluster
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* valutare pagina EN/IT bilingue


== Sospesi ==
=== chat-s20260911-si1secondary-qqnl4c ===
=== hpr_pilota ===
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; Obiettivo : Completare il deploy SI-1: riparare il crash gcloud (credenziali rotte), installare in cron la copia dell'orchestrator su secondary e produrre la consegna verificabile D1
; Vincoli in vigore :
; Vincoli in vigore :
* read-only sul resto
* gate=auto
* budget run 15
* non chiedere a Marco
* giudizio col test delle 4 domande sul vault
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh)
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* contesto ricostruito da riprendi_chat
* Punto 1 FATTO: hyperresearch 0.11.1 + crawl4ai installati in /home/claudeuser/hyperresearch_pilot (.venv, config.toml, run init --budget 15). Punto 2 BLOCCATO: Claude Code sulla VM non e' autenticato (nessun .credentials.json, .anthropic-key vuoto dal 21/07) e api.anthropic.com e' bloccato da ISICNV_COST_GUARD in /etc/hosts
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento
* il gateway aigw espone solo chat/completions, non /v1/messages
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata).
; Provato ed escluso :
* nessuna integrazione nella pipeline pillar finche' il pilota non e' giudicato
* Non aggirare il COST_GUARD senza ok di Marco (decisione di costo)
; Prossimo passo :
; Prossimo passo :
* Dopo ok di Marco: (a) sospendere il cost guard: sudo sed -i '/ISICNV_COST_GUARD_BEGIN anthropic/,/ISICNV_COST_GUARD_END anthropic/s/^/#/' /etc/hosts
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key)
* gcloud auth list
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2
* gcloud config list
* (d) a fine run ripristinare il guard togliendo i #
* 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP)
 
* alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema
=== pipeline_mancanti_censimento ===
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline
 
; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; Vincoli in vigore :
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
; Fatto (con prova) :
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi contrario alla regola di Marco 'pipeline solo se necessarie' (14/09): non si creano pipeline per sistema/mercurio/resta/stato/modo
; Prossimo passo :
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* partire dal primo cluster
 
=== chat-s20260911-si1secondary-qqnl4c ===
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese
 
; Obiettivo : Completare il deploy SI-1: riparare il crash gcloud (credenziali rotte), installare in cron la copia dell'orchestrator su secondary e produrre la consegna verificabile D1
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* contesto ricostruito da riprendi_chat
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento
; Prossimo passo :
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* gcloud auth list
* gcloud config list
* 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP)
* alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema
* 3|Installare la copia dell'orchestrator SI-1 nel crontab di secondary, replicando la voce '27 */4' gia' attiva sulla VM|su secondary: crontab -e e aggiungere la riga '27 */4 <comando orchestrator SI-1>' identica a quella della VM
* 3|Installare la copia dell'orchestrator SI-1 nel crontab di secondary, replicando la voce '27 */4' gia' attiva sulla VM|su secondary: crontab -e e aggiungere la riga '27 */4 <comando orchestrator SI-1>' identica a quella della VM
* 4|Verificare la schedulazione su entrambe le macchine e l'esecuzione dell'orchestrator|crontab -l su VM e su secondary (voce '27 */4' per SI-1 presente)
* 4|Verificare la schedulazione su entrambe le macchine e l'esecuzione dell'orchestrator|crontab -l su VM e su secondary (voce '27 */4' per SI-1 presente)
Riga 1 255: Riga 1 787:
* 5|Aggiornare l'handoff della pipeline (deliverable D3)|python3 /home/claudeuser/scripts/handoff.py --resume pipeline-pagina-0609
* 5|Aggiornare l'handoff della pipeline (deliverable D3)|python3 /home/claudeuser/scripts/handoff.py --resume pipeline-pagina-0609
* 6|Rieseguire l'esame della chat (fallito per HTTP 429 di glm-5.2, resta in coda)|riprendi_chat dopo aver atteso il reset del rate-limit glm-5.2
* 6|Rieseguire l'esame della chat (fallito per HTTP 429 di glm-5.2, resta in coda)|riprendi_chat dopo aver atteso il reset del rate-limit glm-5.2
=== pipeline-pagina-0609 ===
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine
; Obiettivo : PIPELINE 2 (pagina2.py): semplice, deterministica, con harness; stesura da Claude con HARNESS.md; controlli senza riscrittura; bozza + Doc a strati; note di Marco -> regole
; Vincoli in vigore :
* Comandi: pagina2.py dossier|scrivi|controlla|bozza|note2regole --slug S. Stato in pillars/p2/<slug>/. La stesura NON usa i modelli del gateway (kimi/glm/minimax: impronta AI, bande ignorate) ne pipeline_completa R120 (riscrive e peggiora). Stesura = Claude con HARNESS.md (in chat oggi
* claude CLI sulla VM quando loggato: ora dice Not logged in). controlla = correzioni sicure (d epentetica ogni vocale, Fascinazione, id h2) + segnalazioni (frasi AI, negazioni, ci, link M48, note>=12, energia/polivagale/etica/YouTube/CTA/esercizio). bozza = UN solo ssh (M66) + Doc a strati. Semantico 8088/8089 spenti: il collage usa BM25 8085 con filtro autore Paret prima.
; Fatto (con prova) :
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* prima pagina 7083 who-is-the-father-of-modern-mesmerism pubblicata (collage 112 frasi da biblioteca + Training Manual di Marco, concorrenza, 260 regole p1), Doc IT 1lasNBE0vjN58nuqLEZJZcT2D0DHFmywjHnZAspFGVSI in Per pagine. Costo modelli misurato: 0.15 USD, 6 chiamate, 20 min. DIFETTO: kimi ignora la banda (7910 parole invece di 1500-1900)
* la condensazione 7b scartata
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* 06/09: 7083 tolta (draft). 7094 what-are-mesmeric-passes-and-how-do-they-work: materiale dalla pipeline (128 frasi, concorrenza, struttura), stesura da Claude come editor, guardiano+forma_finale, pubblicata dopo lettura, Doc IT 1g5xjb44_xpAsBoDIFP8XITt4wmipRE-VsPFlWK4-iUI in Per pagine. Costo modelli pipeline: 0.19 USD
* tempo macchina ~45 min
* tempo chat ~35 chiamate
* 07/09: pagina2.py installato
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509 (pagina2.py esiste; la produzione passa dalla fabbrica)
; Prossimo passo :
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* finche' no, la stesura la fa Claude in chat dal HARNESS.md. 2) struttura via glm: verificare perche' e' caduta nel template (JSON). 3) Registrare PAG-4 nel registro pipeline. 4) Prima pagina completa con pipeline 2: magnetic presence (dossier pronto).


=== chat-s20260904-claudegatepi-e9nzup ===
=== chat-s20260904-claudegatepi-e9nzup ===
Riga 1 275: Riga 1 830:
* 4|Completare D4: aggiornare memoria CC e aggiungere la riga History wiki di R148|editare la memoria CC e pubblicare la riga History tramite wiki_new.py
* 4|Completare D4: aggiornare memoria CC e aggiungere la riga History wiki di R148|editare la memoria CC e pubblicare la riga History tramite wiki_new.py


=== chat-s20260903-claudemicroc-1j0h7kz ===
=== memo-mailbox-import-isicnvstaff ===
''Aggiornato 2026-09-03 09:01 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email


; Obiettivo : Completare i deliverable mancanti D1-D4 dell'email a Ester (PDF RO ufficiale, PDF BG con indice corretto, PDF IT ed EL con indice tradotto online su R1, copie in uploads/deliverables e Drive aggiornato) e gestire le 20 richieste del gate
; Obiettivo : Importare la mailbox 2013 del disco MEMO dentro isicnvstaff@gmail.com come memoria storica; poi valutare i backup server per il restauro dei siti morti (inventario MEMO come mappa)
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Import via Gmail API messages.import con internalDateSource=dateHeader ed etichetta Archivio-2013, mai send. Formato mailbox da riconoscere (mbox/Maildir/eml/pst: per pst usare readpst). Originale su MEMO intoccabile
; Fatto (con prova) :
* Agent v9.4 zippera e caricherà mailbox+inventario su Storage Box isicnv_salvataggi/ al primo contatto del PC. Token OAuth isicnvstaff NON esiste: serve che Marco apra il link /oauth/start-any?account=isicnvstaff&service=gmail_full loggato come isicnvstaff@gmail.com
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): idea del 03/09 senza strumento; si riapre a richiesta di Marco
; Prossimo passo :
* sftp -P 23 -i /home/claudeuser/.ssh/sb_agent_ed25519 u649132@u649132.your-storagebox.de <<< 'ls -l isicnv_salvataggi' && gsutil ls gs://isicnv-command-center-routes/tokens/ | grep -i staff
 
=== chat-s20260903-claudemicroc-1j0h7kz ===
''Aggiornato 2026-09-03 09:01 UTC'' &mdash; dominio: chat_riprese
 
; Obiettivo : Completare i deliverable mancanti D1-D4 dell'email a Ester (PDF RO ufficiale, PDF BG con indice corretto, PDF IT ed EL con indice tradotto online su R1, copie in uploads/deliverables e Drive aggiornato) e gestire le 20 richieste del gate
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* non chiedere a Marco
* verifica prima di dichiarare fatto
* verifica prima di dichiarare fatto
Riga 1 314: Riga 1 881:
* 6|Registrare il completamento di ANA-1 e pubblicare il report finale|aggiornare registro.json e caricare la versione definitiva su gs://isicnv-command-center-routes/docs/analisi_visite_20260901.md
* 6|Registrare il completamento di ANA-1 e pubblicare il report finale|aggiornare registro.json e caricare la versione definitiva su gs://isicnv-command-center-routes/docs/analisi_visite_20260901.md


=== harness-standard ===
=== ricalco-guida-2siti ===
''Aggiornato 2026-08-17 15:01 UTC'' &mdash; dominio: architettura / knowledge base
''Aggiornato 2026-08-31 14:45 UTC'' &mdash; dominio: pagine pillar


; Obiettivo : Harness gerarchico e Marco fuori dal loop di esecuzione
; Obiettivo : Due bozze IT su ricalco e guida (nuova visione: si parte dalla relazione -> polivagale -> magnetismo): neurolinguistic.com/blog/ricalco-e-guida (PID 11780, noindex Yoast) e marcoparet.com ricalco-e-guida-pnl; fino a CONFORME+VISUAL_OK; Marco corregge, poi PAG-3
; Vincoli in vigore :
; Vincoli in vigore :
* La gerarchia deve SOSTITUIRE substrati esistenti, mai affiancarsi: oggi ne esistono 7 paralleli
* restano bozze finche Marco non dice approvo
* Ogni routing file ha 6 sezioni fisse: chi esegue / accessi / come si verifica / criterio di accettazione / fallimenti noti / strumenti ammessi
* pagine esistenti si preservano e si arricchiscono in coda
* Nessuna credenziale nei routing file, solo puntatori
; Fatto (con prova) :
; 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/)
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU)
* Misurato: attrito piatto sulla lunghezza della chat (14-18 per 100 msg in ogni fascia) = problema strutturale non di contesto
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo
* Misurato: autocorrezioni Claude raddoppiano oltre 25-50k token di contesto (8,8 -> 17,2 per 100 msg) = context rot reale, ginocchio a 25-50k
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run)
* Misurato: 899 route nel bucket, 525 MAI citate in nessuna chat, ~25 reggono il sistema
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso
* Misurato: 8 domini coprono il traffico (spedizioni 190 chat, VM 155, BQ 151, hosting 118, token 114, route 77, drive 76, wiki 59)
* passo 3 marcoparet parte dopo 20 min
* Scritti HARNESS.md (1 pagina) e INFRA-VM.md (primo routing file compilato)
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509
* Creato handoff.py su VM + pagina wiki Cantieri aperti
; Prossimo passo :
* 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
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638
* INFRA-VM.md primo routing file compilato su 6 sezioni fisse
* python3 job.py --status ricalco_guida_2siti_v2_run
* handoff.py operativo su VM (GCS + wiki + memoria CC in una chiamata), testato write/resume/list
* poi controllo_visivo screenshot e consegna link
* Pagina wiki Cantieri aperti creata e verificata via getText.php
* anelli neuro dedicati (agente_anima.py, agente_stupore.py, due_motori.py PID 11780) se la catena non li copre
* 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)
* link da art-40.htm e da 11304 rapport-magnetico verso la nuova (preservando il testo)
* 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
=== paret-ai-pillar ===
''Aggiornato 2026-08-27 12:01 UTC'' &mdash; dominio: hosting/siti + ai-search
 
; Obiettivo : Costruire i pillar neurolinguistic.com per Ipnosi non verbale, Ipnosi con lo sguardo e Mesmerismus preservando SEO storico e preparando evidence graph
; Vincoli in vigore :
* MASTER v7.12
* testo pubblico mai da Claude: generazione via GLM e review
* nessuna nuova pagina se esiste URL valido
* snapshot/backup prima di ogni write
* pubblicazione solo dopo gate previsto dal cantiere benchmark-visibilita-ai
; Fatto (con prova) :
* Letto MASTER v7.12 e Piano Drive 14QM2efTg8YQwCp4LcF-gKfk5kMR1u0BzpX8IsbI8TFo. Ripreso cantiere benchmark-visibilita-ai. Audit live read-only: PID197 /ipnosi-non-verbale-tecnica-ed-esempi/ 200 self-canonical e storico dal 2013
* PID3576 /guardarmi-negli-occhi/ 200 self-canonical
* PID1848


== Chiusi ==
=== benchmark-visibilita-ai ===
=== prova_parcheggio_gate ===
''Aggiornato 2026-08-17 08:40 UTC'' &mdash; dominio: ai-search
''Aggiornato 2026-09-16 21:46 UTC'' &mdash; dominio: -


; Obiettivo : prova del gate di chiusura
; Obiettivo : Chat 'brand dr. Paret' CHIUSA (16/08 sera). Prossima chat: QUESTIONARI per nuove pagine (neurolinguistic + marcoparet.com)
; Vincoli in vigore :
* testo pubblico mai da Claude (watermark)
* citazioni solo con fonte completa e gate verbatim
* fonte sempre dichiarata in pagina
; Fatto (con prova) :
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* v2 eseguito 12/08 1050 chiamate 4 errori: JSON /opt/wikibox/state/benchmark_ai_v2_20260812_1809.json + CSV summary. Controllo 100pct ovunque. Definizione: solo ipnosi_non_verbale 12/50 e fascinazione 7/50, tutte da Gemini. Mercato b1 quasi zero (1/315). Mercato b2 Perplexity: mesmerismus 4/5, fascinazione 3/5, resto 0. wiki.marcoparet.com e la fonte piu citata nei riferimenti. PT NON piu forte (0/70 mercato). Nessun concorrente commerciale: spazio occupato da YouTube/Wikipedia/Scribd/Udemy. Bug v1 corretto: mesmerismus come termine non conta piu come brand
* wiki riallineata dopo analisi cantieri 16/09
* 13/08: regola watermark in memoria (rule_1786624124612_5qbv8r). oracle-cita riattivato+enabled su translator. tunnel-reranker systemd nuovo verso media 8089. cita_wiki.py deployato con gate verbatim (procedure_1786625083038_anqrlp). Report controllo per chat verifica: report in memoria CC. Estrazione 3 temi fascinazione in corso
 
* 13/08 sera: TRE PILLAR PUBBLICATI da Claude via SSH+WP-CLI FastComet (canale rollback.py). 197 ipnosi-non-verbale: replace blocco, live OK. 3576 guardarmi-negli-occhi: insert additivo, live OK. Mesmerismus: SCOPERTA slug duplicato - post 111 shadowed da PAGE 1582 che vince il permalink /blog/mesmerismus/
=== prova-pipeline-v2-0914 ===
* blocco applicato ANCHE a page 1582 (backup pre_pillar_20260813_202256), live OK 3/3 sonde. Backup: ~/wikibox_backups/{197,3576,111,1582}/pre_pillar_20260813_*. Collaudo: 200, canonical self, nuovo contenuto presente, storico intatto. MCP CC testato vivo (tools/list ok): guasto ChatGPT era nella sua sessione connettore, non nel CC. Regola marchi aggiunta (Mesmerismus registrato, Luxmind commercio)
''Aggiornato 2026-09-14 13:02 UTC'' &mdash; dominio: -
* 14/08: intervista Paret completata e ripulita (GDoc DEFINITIVA 122Py9-ftfDKmCo6Pbji73L3pmm1QKXCtwhvxNMgVV3A). Canone Meheust in memoria (canon_1786660725831_puth3n). 27 opere Meheust in BQ biblioteca.riferimenti_autori. BOZZA PILLAR generata da GLM-5.2 con brief completo (intervista+canone+6 citazioni verificate+polivagale+regole fattualita/fluido): 2442 parole, review Claude PASSATA (0 negazioni vietate). GDoc bozza: 1ZRR8JqKeFnfFQ3MpYw6aT8HqMG12nbU6AcfbXSoRT5c. GCS: drafts/paret-ai-pillars/bozza_fascinazione_v1.html. Nota: oracle-cita ora con Restart=always (override systemd)
 
* estrazione casi 0 valide (gate severo, temi da raffinare: Pigeaire, Husson)
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
* 14/08: v2 generata da GLM (2767 parole) con: esempi (ristorante, congresso+VIDEO zfIqe-WD4W0 embeddato, specchio/Virgilio, Di Pisa ipnosi istantanea da libro citabile), sezione Un mistero documentato: da Ficino a Donato (Ficino De amore, Agrippa, Della Porta, Meheust), lessico segreto/svelare qualificato (regola rule_1786691698743_ia8z1y + principio 18 RAIDA), 4 link interni. Review: 0 negazioni vietate. PUBBLICATA: post 11274, https://www.neurolinguistic.com/blog/fascinazione-ipnotica/ HTTP 200 canonical ok. Link in ingresso aggiunti da 1848 (il-potere-dellocchio) e 3576 (guardarmi-negli-occhi), backup pre_link_*. GCS: bozza v1+v2 in drafts/paret-ai-pillars/
; Fatto (con prova) :
* 14/08: intervista Marco (GDoc 1zfdcmJ7...) -> pillar generato GLM con 7 citazioni verificate (Guidi, Frere volonta causa prima, Joly), canone Meheust, parasimpatico/polivagale (parole di Marco: la vera sicurezza si appoggia al parasimpatico), segreto svelato (esci dai pensieri stai nel corpo), est modus in rebus, video passi magnetici eysSdCL7S1Q, tipografia inline, FAQ salute. PUBBLICATO post 11285 https://www.neurolinguistic.com/blog/magnetismo-personale/ HTTP200 canonical ok 0 negazioni. Link in ingresso da Mesmerismus (1582) e fascinazione (11274), backup pre_linkmag_*. Cluster ora: 5 pagine interconnesse
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* 14/08 pomeriggio: (a) incipit magnetismo positivizzato (formula Marco, backup pre_incipit)
* strato 2-3 via prova_v2_run.py
* (b) pagina INTERVISTA pubblicata post 11291 /blog/intervista-magnetismo-personale/ 15 Q&A parole Marco, link incrociati
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
* (c) sistema DUE MOTORI (due_motori.py su VM /tmp/pillars): M1 GLM sceglie keyword, M2 giudica semantica sequenza (fallback glm su 429 kimi), applicazione meccanica con GATE sha256 testo-identico. 11285: 78 grassetti+17 corsivi. 11274: 94 grassetti+23 corsivi. Entrambi PUBBLICATI con backup pre_bold_*. Secondo messaggio verificato leggibile. Pagine confermate NUOVE al 100% (slug check pre-create), vecchie intatte: zero perdita SEO
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): pagina di prova gia approvata e integrata nella fabbrica
* 14/08 sera: regola domande retoriche v2 (rule_1786726404389_f26u8e + principio 19: UNA per articolo, 70% apertura, mai in FAQ ne accanto a domande vere)
; Prossimo passo :
* Q2 rimossa da 11285
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* CATENA completata su 197/3576/1582+111sync: pacchetto GLM (Meheust, polivagale, segreti Virgilio, mistero Ficino, domanda retorica, link cluster) + due motori (197: 56 bold/6 em
* 2) regole_deterministiche.py: M104.2 con controllo del modo verbale, H2Q solo sugli H2 veri
* 3576: 94/82
* 3) fabbrica.py: prompt di stesura = Fasi 5-24 della v2, strati 2-3 a valle
* 1582: 19 bold, M2 ha potato 37 kw per ripetizioni marchio). Tutti con sanity+gate sha256+backup pre_pacchetto_*/pre_bold_*. Cluster completo: 7 pagine interconnesse tutte con doppio livello lettura
 
* 14/08 sera: test traduzione full-AI RIUSCITO: /blog/personal-magnetism/ (post 11312, giudice madrelingua 8/10, gate strutturali ok, interlink IT-EN). Pipeline traduci.py su VM /tmp/pillars: GLM traduce con struttura HTML bloccata -> gate deterministici (tag/URL/marchio/lunghezza/vietati per lingua) -> giudice madrelingua voto>=8 -> publish + interlink. Patch multilingua (VIET_L, note pt/fr). BATCH catena_trad.py LANCIATO: 17 job (11285 pt/fr
=== bench-regole-0914 ===
* 11274 en/pt/fr
''Aggiornato 2026-09-14 05:15 UTC'' &mdash; dominio: -
* 11304 en/pt/fr
 
* 11291 en/pt/fr
; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore
* 197 en/pt/fr
; Vincoli in vigore :
* 1582 en/pt/fr), log /tmp/pillars/catena_trad.log, idempotente (skip slug esistenti). Strategia: pagine native per lingua, no plugin, hreflang eventuale dopo con Polylang. Misuratore settimanale gia' multilingua (baseline t0 14/08 in BQ: fascinazione b2 riferimenti 10/10!)
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* 15/08: intervista Marco P5 completata (GDoc definitiva 1_jgtIpf6xIdLi-qX36eJPBgCn-P5pBOe0ohuFtOYeQY) -> pillar https://www.neurolinguistic.com/blog/ipnosi-istantanea/ generato con DEEPSEEK (glm in guard budget opencode), 5 citazioni verificate (Donato in persona, Morety, Belfiore, Caroli, Papus), aneddoto Virgilio/guardia del corpo (argomento anti-suggestione), Meheust corpus contraddittori + punto Paret ricerca universitaria, video zfIqe, domanda retorica apertura, 3 blockquote con trad, fix meccanici (2 domande-ponte rimosse). Link in ingresso da 11274, 197, 2329(corso storico). Due motori: 72 bold + 24 corsivi, gate ok (fallback deepseek aggiunto anche a due_motori). Collaudo HTTP200 canonical ok
* stato in /home/claudeuser/pillars/benchmark_regole/ (dataset.json, risultati.jsonl, config_*.json, STATO.txt). Punteggio = 0.6 giudice sonnet (vs finale Marco) + 0.25 lessicale + 0.15 gate deterministico. Tetto spesa per run --budget_usd
* 15/08 pomeriggio: (a) 11336 bonificato: 22 paragrafi riscritti positivi (deepseek per paragrafo, gate link), 0 palco/spettacolo, residue solo citazioni Marco e termini tecnici, backup pre_neg_*
* ottimizza oltre 2 USD richiede OK di Marco. Il registro ha 1176 regole (Marco ne cita 1700: verificare depositi non caricati). Solo coppie con note di Marco per default (--tutte per le altre)
* (b) PRESENZA 11348 https://www.neurolinguistic.com/blog/presenza/ pubblicata (intervista GDoc definitiva 1yGx1C5..., non-trance, De Michelis tempo rallentato, 3 bq Olivier/Rosen, mindfulness rispettosa, 99 bold due motori)
; Fatto (con prova) :
* (c) CNV MAGNETICA 11355 https://www.neurolinguistic.com/blog/comunicazione-non-verbale-magnetica/ pubblicata (intervista GDoc 1bRh8..., 93 percento Mehrabian precisato, cluster/gestalt, domanda dietro la domanda, sincronizzazione dalla relazione, Puysegur, bonifica preventiva 10 paragrafi, due motori lanciato dm_cnv.log). Cluster IT: 9 pagine interconnesse. Regola operativa: mai palco/spettacolo, zero negazioni anche nominali (whitelist: termini tecnici e citazioni)
* 14/09: script installato
* 15/08 sera: (a) regola v3 DUE domande retoriche (rule_1786806645966_yk8kmj + principio 19 v3)
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
* seconda domanda inserita su 11274(apertura) 11285 11304 11336 11348 11355 3576 1582+111sync (197 SKIP adiacenza corretta
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
* 11285 positivizzata da Non-vi-e a Vi-e)
* gate deterministico normalizzato sulla finale
* (b) titoli corretti 'i suoi segreti svelati' su 6 pillar + anchor in 11 pagine
* classifica per coppie selezionate
* (c) ALCHIMIA INTERIORE pubblicata 11385 https://www.neurolinguistic.com/blog/alchimia-interiore/ (intervista GDoc 1ry0CLa..., neidan, Egizi-Paracelso-Van Helmont, fasi Opera con citazione Grande Opera, corpo materia prima, segreto respirazione/parasimpatico, bonifica preventiva 14 paragrafi 0 negazioni, 3 bq, 2 domande, FAQ salute, link da presenza/magnetismo/mesmerismus). Cluster IT: 10 pagine
* 14/09: regole_deterministiche.py (21 elementi: correzioni a valle + controlli) integrato nel benchmark (det_dopo)
* 15/08 sera: (a) BONIFICA cluster completata (negazioni via da 9 pagine, residue solo legittime)
* su Persuadere: base 69.8 -> migliore senza det 84.5 -> det+chirurgo 86.2
* (b) batch trad 29 job in corso
* Doc risultati+pagine: https://docs.google.com/document/d/1kIPZUElTp1wxwWp7gHdKBYStxQilguL28kyS5ULnDMo/edit
* (c) Marco ha risposto a P8 PASSI MAGNETICI (stato parasimpatico, degagement, ricerca passi-vs-parole misurabilita'), P9 SONNAMBULISMO (plesso solare, argomento animali vs suggestionabilita', ipnosi=recovery mode, sviluppo del sonnambulo ottocentesco), P10 SILENZIO (tre stanze/sala dei miracoli [nome maestro ASR da confermare: Raccanelli?], territorio-altro-che-mappa, DMN, area di Broca, dimensione oltre le AI): estrazioni citazioni in coda (cits_passi/sonnambulismo/silenzio)
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): benchmark eseguito 14/09 (86.2 su 1 coppia); il seguito e' fabbrica-ingresso-config-vincente
* GENERAZIONE 3 PILLAR AL PROSSIMO TURNO
* (d) MISURA INTERMEDIA 15/08: fascinazione riferimenti 4/4 con MARCOPARET.COM CITATO IN TUTTE le risposte (it/en, def/mercato) + wiki + mesmerism.info
* magnetismo 0/4 (pagina di ieri, curva da zero: competitor citati = ananda/mindvalley/charismaschool). INSIGHT: marcoparet.com ha gia' autorita' AI -> pagine li' = alta priorita' (TranslatePress 17 lingue moltiplica)
* 16/08: nomi confermati BACCI (passi) e RACANELLI (tre stanze). PASSI MAGNETICI pubblicato AGGIORNANDO il post 2511 del 2018 (URL con 7 anni di anzianita', backup pre_pillar_*): Bacci, stato parasimpatico + degagement, Gazette fourmillement, video eysSdCL7S1Q embed, convincer palme, 2 domande, 0 negazioni, misurabilita' vs induzioni verbali, link da 11285/1582/11348/11336, due motori ok. Archivi aggiornati: convincer marco-passi, differenziatori stato-parasimpatico/passi-misurabili/scienza-passi. Trascrizione GDoc 1ngF5GuujGkBx4RNep2LIMO3NXzgkLM2v2uf2iEop9oU
* 16/08 sera: GSC 15 domini verificati oggi (marcoparet.com+.net, mesmerismus/mesmerism.info, personalmagnetism, hypnotisme, hipnotismo, franzantonmesmer, miltonerickson, programmazioneneurolinguistica.net, cerclesatoum, analisitransazionale, campanelli, erotic-hypnosis, pnl-nlp) via token-any-gsc-admin (scope siteverification+indexing+webmasters) e TXT sui 4 cPanel (zone map: 112 domini)
* sitemap neurolinguistic inviata
* Indexing API su 12 pagine cluster + sonnambulismo. P9 SONNAMBULISMO: pubblicato da chat parallela come 11505 (OTTIMO: 0 negazioni, plesso solare, FAQ ok) — questa chat ha completato: link da 11285, due motori lanciato, indexing. P10 SILENZIO: PRESO IN CARICO QUI (Racanelli/tre stanze/sala miracoli, territorio-vs-mappa, DMN, Broca, oltre-le-AI)
* Sessione 16/08: P8 passi (2511 rinnovato, coda entita' ripristinata, box scuola, complementarita', anima v2), P9 sonnambulismo 11505 (chat parallela + rifiniture qui), P10 silenzio 11512 (Racanelli via Bacci - fact_1786919344548). AGENTE ANIMA in pipeline (manifest v3: scopo, sottile, dolori forum impliciti, complementarita'). GSC: 15 domini verificati (token-any-gsc-admin, TXT sui 4 cPanel, zone map 112), sitemap + indexing 14 URL. Catalogo biblioteca 2761 voci (isicnv_knowledge.biblio_catalogo). LEARNING: wp post update MAI via stdin - sempre file+scp+verifica (learning_1786902279558)
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi geo-loop (ciclo 3 giorni approvato 15/09)
; Provato ed escluso :
* ipotesi PT-forte smentita dai dati
; Prossimo passo :
; Prossimo passo :
* con budget di Marco: job.py --run "python3 /home/claudeuser/scripts/benchmark_regole.py ottimizza --giri 8 --budget_usd 6" --id bench_regole_ottimizza_4pag (4 coppie con note) poi benchmark_regole.py report
* 1) hub biblioteca-magnetica + 10 pagine-periodo
* 2) anima retroattiva cluster + coda entita' regia (schema+attribuzione ovunque, referenze solo ammiraglie)
* 3) pagine satellite domini tematici (franzantonmesmer, miltonerickson, hypnotisme, personalmagnetism)
* 4) marcoparet.com publishing path + serie M (M1/M2 GDoc in attesa risposte)
* 5) trascrizioni P9/P10 GDoc
* 6) misura lunedi'


=== r103_giudice_ko ===
=== lessico-canonico ===
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-08-13 19:49 UTC'' &mdash; dominio: knowledge


; Obiettivo : R103 riprendi_chat - giudice dalla VM: KO glm-5.2: HTTP Error 401: Unauthorized | da media: KO glm-5.2: HTTP Error 401: Unauthorized. Il giudice non risponde da nessuna macchina: e' l'AIGW o la chiave. Cantiere r103_giudice_ko.
; Obiettivo : Lessico canonico condiviso (idea Canonical ID da SGF): tabella BQ unica termine-ID-resa per lingua per eliminare la deriva terminologica fra traduttore live, RAIDA, Oracolo e wiki
; Vincoli in vigore :
* NULL dove la resa non e certa, mai fabbricare
* integrazioni nelle pipeline solo dopo test (traduttore = sistema live seminari) e dopo benchmark NotebookLM per lOracolo
; Fatto (con prova) :
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato dal pilota-custode-flash (modelli nuovi via OpenRouter, approvato 16/09)
* Creata isicnv_knowledge.lessico_canonico (15 colonne: id, lemma, categoria, invariante, resa it/fr/en/es/ru/pt, varianti_asr ARRAY, boost_asr, note, fonte)
* seed 33 termini estratti dalle patch reali del traduttore (/opt/translator/patch_glossary.py, patch_alch.py, patch_alch2.py, patch_hard.py): 8 latini invarianti con storpiature ASR note (athanor: latano/atanor/latano..., solve et coagula: sollievo alla colonna...), 5 marchi (Arkeos con 2 varianti note su 293 file), 11 nomi propri con rese standard in 6 lingue, 8 termini tecnici, 1 locuzione
* verificato con SELECT per categoria e spot-check
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): idea ferma dal 13/08, nessun passo eseguibile; si riapre quando serve a un lavoro concreto
; Prossimo passo :
; Prossimo passo :
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* 1) mining fonetico varianti Arkeos e altri marchi dai 9860 file trascrizione per completare varianti_asr 2) agent_gstt.py legge glossario+boost da export del lessico invece che hardcoded, con test feed_test.py prima del deploy 3) post-benchmark: query expansion Oracolo usa varianti_asr 4) giudice RAIDA verifica coerenza col lessico
* print(r.modelli())
* print(r.esamina('prova'))"


=== si1_proposer_target ===
=== finanze-classificazione ===
''Aggiornato 2026-09-11 22:31 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-08-11 15:08 UTC'' &mdash; dominio: contabilita / finance


; Obiettivo : SI-1: il proposer deve vedere il file target prima di scrivere replace/patch
; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte
; Fatto (con prova) :
; Fatto (con prova) :
* 12/09: _ancora_al_target in proposer.py (EVOLUZIONE=SI-1-TARGET-CONTEXT): rilegge il file vero, chiede solo replace con find verbatim, 2 tentativi su 2 modelli, pending_reason con i tentativi se fallisce
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte
* prova sintetica 2/2 ANCORATA
* CENSITO cosa esiste gia in isicnv_finance: 105 tabelle e 19 viste, fra cui v_costi_per_categoria, v_spese_azienda, v_spese_aziendali_da_conto_personale, v_finance_quinquennale, v_riconciliazione_allievi
* memory_add risponde 200 (titoli con due punti e testi da 6000 char): il 400 di ieri non e riproducibile
* TROVATA la causa vera del blocco: classification_rules ha 678 regole agganciate al campo counterparty, ma controparte_nome e NULL su TUTTE le 8.389 righe DA_CLASSIFICARE. Le regole non possono agganciare nulla
* scrittura wiki handoff: rc=0
* MISURATO: derivando la controparte con TRIM(IF(direction=OUT, dst_name, src_name)) si classificano subito 3.413 movimenti pari a 666.086 euro, il 38 per cento, senza scrivere una regola nuova
; Prossimo passo :
* Stato attuale: DA_CLASSIFICARE 8.389 mov / 1.743.096 eur, DA_CHIARIRE 98 mov / 200.025 eur
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending
* ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe)
 
* controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction
=== prova_parcheggio_gate3 ===
* Applicate le 678 regole di classification_rules: 3.413 movimenti classificati, DA_CLASSIFICARE sceso da 8.389 a 4.976 movimenti e da 1.743.096 a 1.077.010 euro. Marcati con classifier_blob auto:classification_rules:20260810
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test
* Categorie assegnate: INCOME_CORSI 1.116 mov 472.134 eur, PERSONAL 431, BIZ_FOR_UNIVERSITE 197, PERSONAL_GENUINE 404, MARKETING 96, CASH 57, ANNA_FAMILY 76, REVIEW 353, TRASPORTI 166, STAFF 33, TRAVEL 40, TECH 353, LEGAL 12, INTERCOMPANY 13
* INTEGRITA VERIFICATA: 14.492 righe prima e dopo, somma importi 4.351.207 identica
* REGOLE DI MARCO INSERITE in classification_rules e applicate: LIGHTNING SOURCE -> INCOME_LIBRI (royalties, e IN non OUT: sono ricavi non costi di stampa), Di Feo Gioacchino -> INCOME_CORSI VIP COURS, Alena Telezin -> INCOME_CORSI corso Svizzera, IPCA -> INTERCOMPANY collaborazione associazione italiana, To GBP e To EUR -> FX conversioni interne Wise
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000
* RESIDUO ora 4.907 mov / 938.723 eur (partenza 8.389 / 1.743.096)
* INDAGINE sui 113 (da identificare): tutti IN su Universite apr-lug 2026, causali loan 15.050, vuota 8.374, Wages 7.094, bonus, rimborsi progetto, May Rent, fatture, Saldo corso Roma, quote iscrizione
* Gmail isicnv interrogabile via token-any-isicnv: le notifiche Wise Denaro ricevuto da X contengono il nome mancante. Estratte 12 mail con nome (TODARO STEFANIA, MORRONI CRISTIANA, Giuseppe Giudice, BERTON LINE SRL, Daniele Pacioni, D ALONZO ELISA, PRIVITERA ANTONINO, DONATI NAZZARENO...) in /home/claudeuser/wise_mail_match.json
* FALSO SUCCESSO SCOPERTO: tutto il lavoro di classificazione del 10 agosto (3.413 movimenti miei piu circa 1.700 di unaltra chat) era stato AZZERATO. DA_CLASSIFICARE era tornato a 8.389 mov / 1.743.096 euro, il numero esatto di partenza, mentre i marcatori in classifier_blob restavano a dire che il lavoro era stato fatto
* CAUSA TROVATA: finance_daily_sync.py alle 06:45 ha un passo chiamato classificazione che riscrive la colonna category da zero e riporta a DA_CLASSIFICARE tutto cio che le sue regole interne non riconoscono. Confermato da INFORMATION_SCHEMA.JOBS_BY_USER: catena di UPDATE alle 06:49-06:51 su category e perimetro, e ultima modifica tabella alle 06:50:29
* RIMEDIO: creato scripts/riapplica_regole.py, in cron alle 07:10 (dopo il sync). Ripopola controparte_nome e riapplica classification_rules
* BUG TROVATO NEL RIMEDIO: dopo le 6 regole aggiunte ieri alcune controparti erano doppie e BigQuery rifiutava con UPDATE must match at most one source row. Aggiunta deduplica con ROW_NUMBER sulla piu recente
* RIPRISTINO ESEGUITO: da 8.389 a 4.646 movimenti, da 1.743.096 a 702.043 euro
* USATA la libreria google.cloud.bigquery al posto della CLI bq: la CLI perdeva le regex nei livelli di escaping e l UPDATE tornava False senza errore visibile
* la libreria restituisce num_dml_affected_rows
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): allievi_360_pipeline (gli strumenti esistono: classifica_*.py, controllo_contabile_completo in cron su media; il buco DA_CLASSIFICARE si segue li')
; Provato ed escluso :
* Riclassificare a mano controparte per controparte come proponeva laltra chat: e lavoro gia fatto, 678 regole esistono. Il problema non erano le regole ma il campo vuoto
* Fidarsi dei nomi di colonna italiani: il ledger usa date amount_src category description NON data importo categoria
* Scrivere il marcatore nel campo note: e FLOAT64 non STRING, lUPDATE fallisce. Usare classifier_blob che e STRING
* Riclassificare a mano controparte per controparte prima di aver popolato controparte_nome
* Recuperare i nomi dai dati grezzi: recent_2026_raw ha sender valorizzato solo su 19 righe su 334 nel periodo, merchant zero. Il nome NON e nei grezzi
* Il campo note e FLOAT64: usare classifier_blob per i marcatori
* Solo 12 notifiche Wise nel periodo contro 113 movimenti: la posta copre una minoranza dei casi
* Modificare la logica interna del passo classificazione del sync: rischioso e non necessario. Meglio un passo additivo dopo, che riapplica la fonte di verita classification_rules
* Fidarsi di un ESITO FATTO senza ricontrollare il giorno dopo: era vero quando scritto e falso dodici ore dopo
* Stringhe SQL con apostrofo (Spese per l ufficio): usare ScalarQueryParameter
; Prossimo passo :
* Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga
 
== Chiusi ==
=== dossier-corsi-presenza-0923 ===
''Aggiornato 2026-09-23 23:18 UTC'' &mdash; dominio: video


; Obiettivo : prova
; Obiettivo : Dossier corsi in presenza Milano/Roma 2023-2026 su Drive
; Fatto (con prova) :
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* 23/09 sera: criterio lingua (corsi Italia = italiano)
* abbinamenti provvisori dossier_corsi/abbinamenti_provv.json
* prelim_report.md su Drive cartella 1pIGjQyct_asJak2HnmTY68E8XPveVaHq doc 1mE_vYqLnI0dp7a531k7kMXdBdhZuksznDgs-lSQI_h4
* CAM362-376 = corso estero
* Consegnato 24/09: 18 edizioni con scheda+trascrizione+indice in Drive 1pIGjQyct_asJak2HnmTY68E8XPveVaHq
* indice 1PAwT7CsX9JLI57lzvsSMTtYTyij2A_BFGoV2RsOEhDU
* report titoli vs programmi 1mf1vrKT5Wf4lG73UQrGIYew4uR0gYICYYPLbkoFtQ0E
* 8 edizioni in lacuna. Nota: sezioni 2026-03-RM/06-RM/06-MI generate con input compattato (quota Groq TPD esaurita)
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
* eventuale: rifare con input completo le 3 sezioni compattate quando la quota Groq si rinnova
* verificare abbinamenti 'bassa'


=== prova_parcheggio_gate2 ===
=== gate-spec-ingresso-0918 ===
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-22 21:04 UTC'' &mdash; dominio: -


; Obiettivo : prova
; Obiettivo : Nessun lavoro lungo parte senza obiettivo, fatto-quando verificabile, prova, tempo e area dichiarati
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
* python3 /home/claudeuser/scripts/gate_spec.py --bilancio


=== pnl3-reverse-nlp-wiki ===
=== mail-engine-gate-test-autorizzazione ===
''Aggiornato 2026-09-09 00:18 UTC'' &mdash; dominio: Wiki pubblica
''Aggiornato 2026-09-21 08:37 UTC'' &mdash; dominio: spedizioni / MAIL-1


; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com
; Obiettivo : Fatto quando: nessun invio reale parte da Mail Engine senza un test riuscito della stessa lettera a log (sempre per le campagne grandi) e senza autorizzazione umana verificata (message_id R102 con verbo di invio, ultime 48h). Regola di Marco 21/09; Mail Engine e la pipeline unica di riferimento.
; Vincoli in vigore :
; Vincoli in vigore :
* usare wiki_new.py (WIKI-1), non edit.php diretto
* gate deterministico, nessun modello
* PNL3 va aggiornata non ricreata (backup /home/claudeuser/pnl3_wiki/backup/PNL3_live_revid4642.wiki)
* test/test_isicnv/dry_run non gated
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* soglia grande 500
* deroga test solo per campagne piccole con senza_test_motivo a log
; Fatto (con prova) :
; Fatto (con prova) :
* pacchetto scaricato in /home/claudeuser/pnl3_wiki/pkg
* 21/09: scripts/mail_gate_test_autorizzazione.py + aggancio in mail_engine.py prima dell esecuzione (EVOLUZIONE=MAIL-1-GATE-TEST-AUTORIZZAZIONE, backup .bak_gate_test_autorizzazione_*). Provato su 5 casi senza inviare: grande senza test -> respinto
* solo PNL3 esisteva live, 38 nuove
* piccola senza test -> respinto
* catena piano pnl3-cluster (driver.py + qa.py) lanciata come job catena_pnl3-cluster alle 23:01 UTC, ritmo ~2.5 min/pagina (wiki_new.py fa ricerca similarita ogni volta)
* piccola con deroga senza autorizzazione -> respinto
* Template e Categoria gia online
* con message_id di un messaggio che parla di spedizioni ma non ordina -> respinto (BigQuery letto correttamente)
* CHIUSO 09/09: 39/39 online, QA PASS, storia PNL3 preservata, log Drive 1M6ciq4qflYPC9JerIU3kYitCnb4K4GJD
* test_isicnv -> passa. Manuale MANUALE_SPEDIZIONI_ISICNV.md su GCS e wiki ops Spedizione_a_fasce_orarie aggiornati.
; Provato ed escluso :
* publish_pnl3_cluster.sh del pacchetto (edit.php locale: la wiki sta su Hetzner 91.99.116.65, si passa da wiki_new.py)
; Prossimo passo :
; Prossimo passo :
* niente
* python3 /home/claudeuser/scripts/mail_gate_test_autorizzazione.py {"action":"send","letter_id":"X","recipients_estimate":10}
 
=== collaudo-gatecant-0918 ===
''Aggiornato 2026-09-18 10:25 UTC'' &mdash; dominio: -
 
; Obiettivo : collaudo


=== pillar-next-queue-20260901 ===
=== prova-perche-a ===
''Aggiornato 2026-09-01 15:31 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-16 22:42 UTC'' &mdash; dominio: test


; Obiettivo : Prendere la prossima pagina pillar valida e libera e portarla a revisione noindex
; Obiettivo : prova
; Fatto (con prova) :
; Fatto (con prova) :
* MRO v8.0, manuale pillar, Cantieri_aperti, bacheca, coda e REGOLE_VIVEZZA letti. R102+commessa attivi. Ricalco gia in cantiere. Nlp Meaning ha lock valido di altra chat dal 31/08 19:03 UTC, scadenza 01/09 19:03 UTC. STRATEGA canonico ha aggiunto site:www.neurolinguistic.com, scartato come query navigazionale. Nessun PID modificato.
* 2026-09-16 22:41 UTC ASSORBITO il cantiere 'prova-perche-b2' (simile): obiettivo: censimento delle tabelle BigQuery orfane con catalogo | perche': seconda prova
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato da fabbrica_pagine.py in cron settimanale (lun 05:00 secondary), che fa esattamente questo
* riga
; Prossimo passo :
; Prossimo passo :
* Quando il lock pillar-nlp-meaning viene rilasciato/scade, prendere Nlp Meaning
* python3 /home/claudeuser/scripts/catalogo_bq.py --stats
* altrimenti usare solo STRATEGA/PAG-1 canonici per un candidato editoriale valido, poi grounding, expansion cache, gerarchia, PAG-2, gate e preview noindex.
 
=== prova-perche-c ===
''Aggiornato 2026-09-16 22:42 UTC'' &mdash; dominio: test


=== microcredential-it-el-ro-online ===
; Obiettivo : prova
''Aggiornato 2026-09-01 13:14 UTC'' &mdash; dominio: -
 
=== prova-perche-b ===
''Aggiornato 2026-09-16 22:41 UTC'' &mdash; dominio: test
 
; Obiettivo : prova
 
=== prova_parcheggio_gate ===
''Aggiornato 2026-09-16 21:46 UTC'' &mdash; dominio: -


; Obiettivo : SUPERATO: IT/EL/RO pubblicati 01/09 mattina; RO ufficiale e correzioni in microcredential-passaggi-finali-ester-0109
; Obiettivo : prova del gate di chiusura
; Vincoli in vigore :
* gate=auto
* nessuna domanda a Marco
* verifica live prima di dichiarare fatto
* backup dei vecchi file
; Fatto (con prova) :
; Fatto (con prova) :
* BG online 31/08
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* IT EL RO tradotti e convertiti in PDF (tmp/mc/out, 01/09 09:35)
* wiki riallineata dopo analisi cantieri 16/09
* IT verificato visivamente
* pubblicati
* verificato md5 con allegati Ester


=== r103-riprendi-chat-esaminatore ===
=== prova-pipeline-v2-0914 ===
''Aggiornato 2026-09-01 10:17 UTC'' &mdash; dominio: sovra
''Aggiornato 2026-09-14 13:02 UTC'' &mdash; dominio: -


; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
; Vincoli in vigore :
* gate=auto
; Fatto (con prova) :
; Fatto (con prova) :
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): assorbito in pilota-custode-flash
* strato 2-3 via prova_v2_run.py
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): pagina di prova gia approvata e integrata nella fabbrica
; Prossimo passo :
; Prossimo passo :
* 1|debug|curl aigw /v1/chat/completions con il prompt di riprendi_chat e stampare la risposta grezza (choices[0].message), controllare se il contenuto sta in reasoning_content o se aigw taglia per budget
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON
* 2) regole_deterministiche.py: M104.2 con controllo del modo verbale, H2Q solo sugli H2 veri
* 3) fabbrica.py: prompt di stesura = Fasi 5-24 della v2, strati 2-3 a valle


=== cc-backup-timeout ===
=== espressioni-pipeline ===
''Aggiornato 2026-09-01 07:19 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-14 10:59 UTC'' &mdash; dominio: -


; Obiettivo : cc_backup_failed dal 27/08 su gs://isicnv-command-center-routes: il tar scade sui prefissi grandi. Trovare il prefisso che sfora e spezzare il backup per prefisso invece di un tar unico.
; Obiettivo : Pipeline iterativa DB espressioni per tema (sguardo, estasi, magnetismo, influence, toucher, volonte, clairvoyance): motore scripts/espressioni_extract.py + espressioni_export_sheet.py + coda espressioni_pipeline.py; temi in scripts/espressioni_temi.json; stato in espressioni_db/<tema>/pipeline.json e registro.json; job espressioni-coda-1_run in corso; estasi-db_run in corso (estasi_db/). Per un tema nuovo: aggiungere voce al json e lanciare job.py --run "python3 /home/claudeuser/scripts/espressioni_pipeline.py --coda <slug>"
; Vincoli in vigore :
* niente cancellazioni su GCS
* il backup deve restare ripristinabile in un colpo solo
* misurare prima con gsutil du -s per prefisso
; Fatto (con prova) :
; Fatto (con prova) :
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): guscio vuoto (0 fatto, 0 passi): la pipeline esiste gia' (espressioni_pipeline.py, espressioni_temi.json, espressioni_extract.py)
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): verificato 16/09: backup CC su gs://isicnv-cc-backup-secondary/daily/ presente 14, 15, 16 settembre (~39 MB)
; Prossimo passo :
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti


=== hermes-f3-matching ===
=== bench-regole-0914 ===
''Aggiornato 2026-08-27 12:00 UTC'' &mdash; dominio: hermes
''Aggiornato 2026-09-14 05:15 UTC'' &mdash; dominio: -


; Obiettivo : F3 matching engine friction x articoli -> proposte nel daily
; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore
; Vincoli in vigore :
; Vincoli in vigore :
* aigw con fallback qwen
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* load job non streaming
* stato in /home/claudeuser/pillars/benchmark_regole/ (dataset.json, risultati.jsonl, config_*.json, STATO.txt). Punteggio = 0.6 giudice sonnet (vs finale Marco) + 0.25 lessicale + 0.15 gate deterministico. Tetto spesa per run --budget_usd
* idempotente per giorno
* ottimizza oltre 2 USD richiede OK di Marco. Il registro ha 1176 regole (Marco ne cita 1700: verificare depositi non caricati). Solo coppie con note di Marco per default (--tutte per le altre)
; Fatto (con prova) :
; Fatto (con prova) :
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* 14/09: script installato
* cron 50 18 * * *
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* gate deterministico normalizzato sulla finale
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* classifica per coppie selezionate
* cron 50 18 * * *
* 14/09: regole_deterministiche.py (21 elementi: correzioni a valle + controlli) integrato nel benchmark (det_dopo)
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* su Persuadere: base 69.8 -> migliore senza det 84.5 -> det+chirurgo 86.2
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* Doc risultati+pagine: https://docs.google.com/document/d/1kIPZUElTp1wxwWp7gHdKBYStxQilguL28kyS5ULnDMo/edit
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): benchmark eseguito 14/09 (86.2 su 1 coppia); il seguito e' fabbrica-ingresso-config-vincente
* cron 50 18 * * *
; Prossimo passo :
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* con budget di Marco: job.py --run "python3 /home/claudeuser/scripts/benchmark_regole.py ottimizza --giri 8 --budget_usd 6" --id bench_regole_ottimizza_4pag (4 coppie con note) poi benchmark_regole.py report
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
 
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
=== r103_giudice_ko ===
* cron 50 18 * * *
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
 
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
; Obiettivo : R103 riprendi_chat - giudice dalla VM: KO glm-5.2: HTTP Error 401: Unauthorized | da media: KO glm-5.2: HTTP Error 401: Unauthorized. Il giudice non risponde da nessuna macchina: e' l'AIGW o la chiave. Cantiere r103_giudice_ko.
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
; Fatto (con prova) :
* cron 50 18 quotidiano
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato dal pilota-custode-flash (modelli nuovi via OpenRouter, approvato 16/09)
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
; Provato ed escluso :
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw 429 persistente
* deepseek-v4-flash-free 400 (nome modello da verificare)
* exec-direct tronca output a 4KB (dd+base64 a chunk)
* CC 503 a ondate 26-27/08
; Prossimo passo :
; Prossimo passo :
* fix scorer postcondition 76/100 (proposta T1 in hermes_proposals)
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* indagare 429/400 aigw
* print(r.modelli())
* decisioni Marco su proposte via digest
* print(r.esamina('prova'))"


=== bibliotecario-fiducia ===
=== si1_proposer_target ===
''Aggiornato 2026-08-26 22:34 UTC'' &mdash; dominio: pillar/wiki
''Aggiornato 2026-09-11 22:31 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Bibliotecario a fiducia scalare per drift cifre nei pillar 10 lingue (arXiv 2608.12984)
; Obiettivo : SI-1: il proposer deve vedere il file target prima di scrivere replace/patch
; Vincoli in vigore :
* deterministico, zero modelli
* generazione e bonifica restano passi separati
; Fatto (con prova) :
; Fatto (con prova) :
* bibliotecario.py installato in scripts/ e collaudato su VM (bozza errata=4 problemi, FR intercetta onze, corretta pulita)
* 12/09: _ancora_al_target in proposer.py (EVOLUZIONE=SI-1-TARGET-CONTEXT): rilegge il file vero, chiede solo replace con find verbatim, 2 tentativi su 2 modelli, pending_reason con i tentativi se fallisce
* ippocampo.py patch prerequisiti collaudata (255/3179 voci col bonus, grafo.json aggiornato)
* prova sintetica 2/2 ANCORATA
* riparatore.py log durata/esito attivo in logs/riparatore_esiti.jsonl
* memory_add risponde 200 (titoli con due punti e testi da 6000 char): il 400 di ieri non e riproducibile
; Provato ed escluso :
* scrittura wiki handoff: rc=0
* archi non persistiti nel grafo.json: il bonus va calcolato nel folding, non nel briefing
; Prossimo passo :
; Prossimo passo :
* usare il bibliotecario sul primo pillar reale: raccogliere asserzioni da Oracolo 8085+Gallica+Doc canonici e agganciare --verifica come cancello pre-pubblicazione
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending


=== bridge-exec-isolamento ===
=== prova_parcheggio_gate3 ===
''Aggiornato 2026-08-25 10:36 UTC'' &mdash; dominio: VM / infrastruttura
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test


; Obiettivo : Isolare stdout per invocazione nel bridge claude-agent (leak output tra sessioni)
; Obiettivo : prova
; Vincoli in vigore :
* backup service prima di toccarlo
* testare con due sessioni parallele
* MAI deployare senza canale di ripristino alternativo
; Fatto (con prova) :
; Fatto (con prova) :
* Diagnosi completa 25/08: leak verificato tra sessione claudeanalis e headroomeval alle 09:23. Bridge = claude-agent.service, node pid 862 porta 8081. Escluse cause: sitecustomize (apport standard), usercustomize (llm_meter legittimo), agri_watch (linkwatch legittimo). Learning learning_1787653936523_1qid6h
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* FIX APPLICATO 25/08: agent.py v1.2-isolated deployato. Output per-invocazione su file temporanei unici + start_new_session, mai pipe condivise. Backup agent.py.bak_20260825, watchdog root /etc/cron.d/agent-watchdog (auto-rollback se 8080 muore), deploy via systemd-run in cgroup separato. Collaudo: background writer di cmd1 NON contamina cmd2, e i comandi con figli in background non bloccano piu exec-direct
; Provato ed escluso :
* patch immediato del bridge: rischio auto-lobotomia, serve canale ripristino pronto
; Prossimo passo :
; Prossimo passo :
* niente
* python3 /home/claudeuser/scripts/handoff.py --list


=== tesine-archivio ===
=== prova_parcheggio_gate2 ===
''Aggiornato 2026-08-24 00:13 UTC'' &mdash; dominio: fascicolo allievo
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test


; Obiettivo : Archiviare tesine/elaborati finali da Gmail isicnv e censire gli allievi storici
; Obiettivo : prova
; Vincoli in vigore :
* dedupe su nomi normalizzati
* nomi file: Titolo - Nome Cognome.ext
* no UPDATE BQ uno-a-uno (timeout)
; Fatto (con prova) :
; Fatto (con prova) :
* 68 tesine nuove scaricate da 692 email esaminate
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* archivio GCS da 30 a 118 file
* documenti BQ 32->120 righe
* 56 allievi storici inseriti nel registry (91->147)
* aggancio via UPDATE JOIN con tabella stage doc_map_stage
* fascicolo_sync eseguito: 76 allievi completati con tesi
; Provato ed escluso :
* loop di UPDATE BQ uno per documento: timeout a 120s per query, inutilizzabile su 88 righe - sostituito da load stage + singolo UPDATE JOIN
; Prossimo passo :
; Prossimo passo :
* Rivedere 13 tesine orfane residue (nomi non estraibili dal filename) e 38 allegati ambigui in logs/tesine_harvest_result.json campo review
* python3 /home/claudeuser/scripts/handoff.py --list
* ripulire 3-4 file etichettati Marco Paret staff che sono conferme di discussione, non tesi


=== marcoparet-lingua-video ===
=== pnl3-reverse-nlp-wiki ===
''Aggiornato 2026-08-22 08:06 UTC'' &mdash; dominio: hosting-siti
''Aggiornato 2026-09-09 00:18 UTC'' &mdash; dominio: Wiki pubblica


; Obiettivo : Recent Posts stessa lingua + audit traduzioni + sistema video YouTube 30% copertura
; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com
; Vincoli in vigore :
; Vincoli in vigore :
* mu-plugin trp-claude.php: leggere tutto prima di modificare
* usare wiki_new.py (WIKI-1), non edit.php diretto
* backup .bak.recentposts_fix esiste
* PNL3 va aggiornata non ricreata (backup /home/claudeuser/pnl3_wiki/backup/PNL3_live_revid4642.wiki)
* HostGator php via SSH con SHORTINIT richiede wpdb diretto non update_post_meta
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
; Fatto (con prova) :
; Fatto (con prova) :
* 1) FIX RECENT POSTS VERIFICATO: patch pre_get_posts in trp-claude.php filtra query secondarie (Elementor Posts) per lingua pagina corrente
* pacchetto scaricato in /home/claudeuser/pnl3_wiki/pkg
* backfill _pll_lang su 98 post da suffisso slug + language detection titolo (script /tmp/backfill_v3.php su HostGator)
* solo PNL3 esisteva live, 38 nuove
* EN context ora OR(en,NOT EXISTS)
* catena piano pnl3-cluster (driver.py + qa.py) lanciata come job catena_pnl3-cluster alle 23:01 UTC, ritmo ~2.5 min/pagina (wiki_new.py fa ricerca similarita ogni volta)
* safety-net save_post auto-set da suffisso. Sidebar fascinazione-istantanea-sguardo ora mostra solo articoli IT. 2) AUDIT PLAYWRIGHT COMPLETATO: /home/claudeuser/scripts/mp_translation_audit.py, report /tmp/mp_translation_audit.json, 31/35 OK
* Template e Categoria gia online
* FAIL reali solo photo-gallery e certified-practitioners quasi vuote
* CHIUSO 09/09: 39/39 online, QA PASS, storia PNL3 preservata, log Drive 1M6ciq4qflYPC9JerIU3kYitCnb4K4GJD
* /zh/ falso positivo (sito usa /zh-tw/ che funziona)
* -en falsi positivi (markers EN mancanti nello script). 3) VIDEO MATCHER deployato /home/claudeuser/scripts/video_matcher.py, --plan in esecuzione: matching argomento (BQ catalogo_arricchito tema/argomenti/sintesi) x qualita (rutube_migration_queue eng_score/views), max 2 usi per video, caption check YouTube API, output BQ marketing.video_article_assignments
* BATCH VIDEO COMPLETATO 22/08: 250 articoli iniettati (top score), 0 errori. Copertura 303/900=34%. Spot check live OK. Cleanup: 2 duplicati veri in trash (ja-draft-2/-4)
* i -2 sono traduzioni di articoli diversi (slug troncati dal publishing). Cache purgata. Scripts permanenti in /home/claudeuser/scripts/: video_matcher.py, inject_from_plan.py, mp_translation_audit.py
; Provato ed escluso :
; Provato ed escluso :
* update_post_meta con SHORTINIT crasha silenziosamente (funzione non caricata) - usare wpdb->insert
* publish_pnl3_cluster.sh del pacchetto (edit.php locale: la wiki sta su Hetzner 91.99.116.65, si passa da wiki_new.py)
* nohup php su HostGator viene killato dopo ~40 righe - girare sincrono con timeout 50
; Prossimo passo :
* /memory/search da 503, usare /memory2/search
* niente
* /bq/query vuole campo sql non query
; Prossimo passo :
* Opzionale piu' copertura: inject_from_plan.py 100 --min-score 0.03 (320 assegnazioni residue). Fix publishing flow (slug troncati + _pll_lang). Contenuti photo-gallery/certified-practitioners.


=== propensity-scoring-allievi ===
=== spedizione-2791-fasce-sentinella ===
''Aggiornato 2026-08-12 10:54 UTC'' &mdash; dominio: BigQuery / dati
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email


; Obiettivo : Lead scoring predittivo: colonna propensity_allievo in contatti_master, job notturno
; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
; Vincoli in vigore :
; Vincoli in vigore :
* MERGE tocca solo colonne propensity
* Non toccare status campagna a mano: lo governa fasce_2791.py. Un solo invio per persona garantito da Mailwizz sulla stessa campagna.
* MERGE a lotti annuali (limite 4000 partizioni)
* score relativo non calibrato
; Fatto (con prova) :
; Fatto (con prova) :
* Benchmark TabICL 0.9727 vs XGBoost 0.9623
* Controllore fasce_2791.py attivo (cron */5): fasce Rome 12-14/18-20/21-22:30, quota=pending/fasce rimaste, pausa automatica fuori fascia e a quota. Sentinella sentinella_blocchi.py (cron orario min 7): EMAIL a isicnv+marcoparet 'SONO FERMO'+ragione se consegne ferme in fascia attiva, cron mancante, mysql giu' o WeVideo PAUSA_AUTH
* script propensity_allievo.py
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
* primo run 251550 righe in 229s
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto (strumenti fasce_2791.py, fasce_sentinella.py, gate_fasce.py esistono)
* cron 05:15
; Prossimo passo :
* wiki + learnings + memoria
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json
; Provato ed escluso :
 
* TabICL in produzione (22s/849 righe su CPU, OOM con default su 3.9GB)
=== pillar-next-queue-20260901 ===
* /vm/task (runner CLI non autenticata)
''Aggiornato 2026-09-01 15:31 UTC'' &mdash; dominio: -
 
; Obiettivo : Prendere la prossima pagina pillar valida e libera e portarla a revisione noindex
; Fatto (con prova) :
* MRO v8.0, manuale pillar, Cantieri_aperti, bacheca, coda e REGOLE_VIVEZZA letti. R102+commessa attivi. Ricalco gia in cantiere. Nlp Meaning ha lock valido di altra chat dal 31/08 19:03 UTC, scadenza 01/09 19:03 UTC. STRATEGA canonico ha aggiunto site:www.neurolinguistic.com, scartato come query navigazionale. Nessun PID modificato.
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato da fabbrica_pagine.py in cron settimanale (lun 05:00 secondary), che fa esattamente questo
; Prossimo passo :
* Quando il lock pillar-nlp-meaning viene rilasciato/scade, prendere Nlp Meaning
* altrimenti usare solo STRATEGA/PAG-1 canonici per un candidato editoriale valido, poi grounding, expansion cache, gerarchia, PAG-2, gate e preview noindex.
 
=== microcredential-it-el-ro-online ===
''Aggiornato 2026-09-01 13:14 UTC'' &mdash; dominio: -
 
; Obiettivo : SUPERATO: IT/EL/RO pubblicati 01/09 mattina; RO ufficiale e correzioni in microcredential-passaggi-finali-ester-0109
; Vincoli in vigore :
* gate=auto
* nessuna domanda a Marco
* verifica live prima di dichiarare fatto
* backup dei vecchi file
; Fatto (con prova) :
* BG online 31/08
* IT EL RO tradotti e convertiti in PDF (tmp/mc/out, 01/09 09:35)
* IT verificato visivamente
* pubblicati
* verificato md5 con allegati Ester
 
=== microcredential-passaggi-finali-ester-0109 ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment
 
; Obiettivo : Mail Ester 01/09 Passaggi finali progetto (Gmail 1a05cc46495b99ba): RO ufficiale al posto del nostro, BG con indice riformattato, indice IT/EL tradotto; tutto online su greenagritainment.com R1 post 1175
; Vincoli in vigore :
* gate=auto
* nessuna domanda a Marco
* backup prima di sostituire
* verifica live prima di dichiarare fatto
; Fatto (con prova) :
* IT/EL/RO nostri gia online (01/09 mattina)
* allegati Ester scaricati in tmp/mc/ester_0109
* DOCX sorgenti in tmp/mc e tmp/mc/out
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto
; Prossimo passo :
* 1|RO ufficiale|backup di uploads/2025/09/Agritainment_Micro-Credential-Model_RO.pdf e uploads/deliverables/ (stesso nome) su greenagritainment.com (cPanel bsgvwjte, docroot /home1/bsgvwjte/greenagritainment.com/, uploader PHP cc-up-tmp51 se ancora presente, altrimenti ricrearlo), poi sostituire con /home/claudeuser/tmp/mc/ester_0109/Agritainment_Micro-Credential_Model_RO.pdf (file ufficiale del partner rumeno, mail Ester 01/09 id 1a05cc46495b99ba)
* MD5 live = MD5 locale
* 2|BG formattazione|partire da /home/claudeuser/tmp/mc/BULGARIA__Micro - credentials model translated BG__Agritainment_Micro-Credential Model.BG.docx: nell indice i numeri di pagina vanno a capo (impostare tab destro dell indice al margine, ridurre corpo/indent delle voci) e pag.3 inizia troppo in basso (rimuovere paragrafi vuoti/interruzioni prima del titolo)
* convertire in PDF con soffice, controllo visivo pdftoppm pagine 1-3, sostituire online ..._BG.pdf con backup e MD5
* 3|IT e EL indice|nei DOCX /home/claudeuser/tmp/mc/out/Agritainment_Micro-Credential-Model_IT.docx e _EL.docx l indice a pag.2 e rimasto in inglese (testo cache del campo TOC): tradurre le voci del TOC (w:sdt TOC / w:hyperlink) con lo stesso glossario usato per il corpo (aigw), rigenerare PDF, controllo visivo pag.2, sostituire online _IT.pdf e _EL.pdf (uploads/2025/09 e deliverables) con backup e MD5
* verificare i 4 link live con curl -I
* 4|Drive e chiusura|caricare i PDF/DOCX definitivi RO/BG/IT/EL sulla cartella Drive del progetto Green Agritainment
* chiudere commessa con consegne = 4 URL live
* NON scrivere a Ester (lo fa Marco)
 
=== posta-isicnv-followup-0109 ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: crm
 
; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche)
; Vincoli in vigore :
* gate=umano: risposte a terzi a nome di Marco
; Fatto (con prova) :
* elenco in sovra/posta_isicnv_20260901.txt
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto
; Prossimo passo :
* 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558)
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM
* 3|Alejandro Banda ES|28/08 chiede certificacion mesmerismo y fascinacion (1a0495cbddd32504): lead ES per Salsina
* 4|Ordine 2456 fallito|27/08 Ipnoanalgesia 79 EUR (1a042262c93b78e7), riuscito 2455 Nunziana Dibenedetto: verificare se 2456 e la stessa persona e se serve recupero
 
=== r103-riprendi-chat-esaminatore ===
''Aggiornato 2026-09-01 10:17 UTC'' &mdash; dominio: sovra
 
; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio
; Vincoli in vigore :
* gate=auto
; Fatto (con prova) :
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): assorbito in pilota-custode-flash
; Prossimo passo :
* 1|debug|curl aigw /v1/chat/completions con il prompt di riprendi_chat e stampare la risposta grezza (choices[0].message), controllare se il contenuto sta in reasoning_content o se aigw taglia per budget
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON
 
=== cc-backup-timeout ===
''Aggiornato 2026-09-01 07:19 UTC'' &mdash; dominio: infrastruttura
 
; Obiettivo : cc_backup_failed dal 27/08 su gs://isicnv-command-center-routes: il tar scade sui prefissi grandi. Trovare il prefisso che sfora e spezzare il backup per prefisso invece di un tar unico.
; Vincoli in vigore :
* niente cancellazioni su GCS
* il backup deve restare ripristinabile in un colpo solo
* misurare prima con gsutil du -s per prefisso
; Fatto (con prova) :
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): verificato 16/09: backup CC su gs://isicnv-cc-backup-secondary/daily/ presente 14, 15, 16 settembre (~39 MB)
; Prossimo passo :
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti
 
=== ordine-2455-ipnoanalgesia ===
''Aggiornato 2026-08-31 14:20 UTC'' &mdash; dominio: marcoparet.net WooCommerce
 
; Obiettivo : Consegnare a Nunziana Dibenedetto (ritadb7920@gmail.com, ordine #2455, 79 EUR Stripe py_3U8xmiBJplFqfgbM1yIQ2r5z pagato 27/08 09:31) l'accesso al Corso di Ipnoanalgesia (prodotto 2332) e rendere automatica la consegna dei corsi monografici
; Vincoli in vigore :
* Email al cliente = azione esterna a nome di Marco: solo dopo che Marco indica il contenuto del corso. Endpoint ops: POST https://marcoparet.net/wp-json/isicnv/v1/ops header x-isicnv-key ops-8f3a2d19c7e44b6b9a1d5e7f0c2b3a41, azioni: ping|sql(SELECT)|order|resend_email|send_course_link|set_purchase_note|set_status|test_mail|option. File: mu-plugins/isicnv-ops.php via cPanel Serverplan Fileman (hmarcopl, cms026.cmshigh.com:2083).
; Fatto (con prova) :
* Diagnosi completa: pagamento reale e unico (2456 = tentativo fallito 5 min dopo, nessun doppio addebito). Prodotto 2332 non virtuale, senza download, senza purchase note, nessuna pagina/sottodominio/video collegato: la consegna era manuale via notifica a ily1975/isicnv e non e' avvenuta. Cliente ha scritto 3 volte (27/08 form Contatti, 28/08 form marcoparet.com, 31/08 form prodotto) senza risposta. Anche ordine 2426 (Nardoni, 11/05, stesso corso) e' fermo in processing e l'email isicnv del 11/05 10:35 e' vuota (solo firma). Deploy isicnv-ops.php v1.1 con hook woocommerce_payment_complete: se tutti i prodotti hanno purchase note -> ordine Completato + email con il link. wp_mail testato e verificato su Gmail isicnv (msg 1a058304ffa6be2e).
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto
; Prossimo passo :
* 1) Marco indica il contenuto del corso (candidati YouTube unlisted canale IT: JqwJ1JSajQ0 'adv ita analgesia', _8Vu4mrRNMg 'ANALGESIA ADVANCED LESSON', wU2uR9ukVR4 'ADVANCED LEVEL - ANALGESIA'). 2) curl ops set_purchase_note {product_id:2332, note:'<testo con link>'}. 3) curl ops send_course_link {id:2455, subject, html, complete:true} e verifica su Gmail. 4) Stesso per ordine 2426 (manuelanardoni3@gmail.com). 5) Compilare purchase note anche per 1264,1258,1283,2012 se venduti online.
 
=== crisi-mesmerica-potatura ===
''Aggiornato 2026-08-29 17:24 UTC'' &mdash; dominio: hosting/pillar
 
; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna
; Vincoli in vigore :
* prima di editare un pid: leggere bacheca interchat e annunciare
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy)
; Fatto (con prova) :
* Analisi 28/8: diff versioneA_6747 vs live. Persi: sezioni 'Cosa aspettarsi da una seduta', 'Le due forme del magnetismo', 'Il rapporto con la medicina' (con Ambito di pratica/Cosa non puo fare), hook apertura, ~7 citazioni dirette Paret (incl. Di Pisa). Salvati in /home/claudeuser/pillars/scorpori_crisi_mesmerica_6751.md
* 28/8 sera: reintegro live su 6751 (hook, seduta, ambito/limiti, 3 citazioni Paret, ciclo in lista) verificato con curl, guardiano 232 grassetti 1/12.9, rilettore 0 rilievi. Pagina nuova 6818 le-due-forme-del-magnetismo PUBBLICATA con link incrociati. Sistema autonomo in scripts/: pill_lib.py, inventario_protetti.py, diff_perdita.py, potatura_sicura.py, architetto.py (con regola tema-cuore e snapshot), fabbrica_pagine.py + coda_temi.txt + cron lun 05:00 UTC (solo BOZZE). Test reale architetto: ha scorporato ciclo-delle-tre-crisi (bozza 6820), sezione ripristinata perche' tema-cuore, regola aggiunta.
* 28/8 notte: DEFINITIVA su marcoparet.com/crisi-mesmerica/ (2965 parole, 221 strong bilanciati, rilettore 0 rilievi): fusi i filoni delle due chat dopo collisione, riapplicate regole di stile della chat brand perse, corretti 3 strong orfani, Arkeos ridotto a richiamo, FAQ asciugata, keyword a 8. Snapshot DEFINITIVA+inventario salvati. interchat.py operativo (memoria+wiki Bacheca_interchat+file): 2 messaggi inviati a chat brand
* nota anche sul Google Doc strategia. Fabbrica: bozza EN mesmerism-training pid 6828 (draft, 0 rilievi) MA prodotta con memoria in 503 quindi senza materiale radicato
* fabbrica patchata (retry x3 + marcatura senza-materiale)
* 28/8 22:3x: Note finali riscritte (frasi duplicate, quarta ripetizione tre rami, rimando a articolo wiki inesistente sostituito con link reale stati-ipnosi-non-verbale). 2847 parole, strong 223/223, dedup 0 su 191 frasi. Nuovo controllo dedup_frasi.py agganciato alla fabbrica. Avvisata chat brand via interchat.
* 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco
* ha gia' corretto la coda del crisi-mesmerica. Bozza 6828 mesmerism-training riscritta a mano con dati GSC (cluster ~350 impressioni), quote EN verificate, dedup 0, title SEO: resta DRAFT. Nota infra: CC connector degradato (503 su payload lunghi: workaround chunk idempotenti via exec-direct)
* hostgator ssh throttling temporaneo (risolto con loop retry su VM).
* 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP
* prompt di continuazione consegnato a Marco e salvato nel Project
* puntatore in memoria CC
* avviso in bacheca a tutte le chat.
* 29/8 pom: bridge MCP diagnosticato (era GIA' stateless: il blocco era il client ChatGPT che in chat normale invoca solo search/fetch). Bridge portato a v3.1 via /self-update (hot, backup su GCS): aggiunti tool search e fetch formato ChatGPT, con timeout interni (memoria degradata non blocca piu' la risposta). Testato: tools/list ok, search restituisce il manuale, fetch legge la bacheca. La chat coordinatrice ChatGPT ora legge il sistema dal connettore anche col browser rotto
* per l'esecuzione le serve la modalita' sviluppatore ChatGPT, e le e' stato inviato in bacheca il protocollo completo sessione/commessa/journal/handoff (richiesta di Marco). Manuale aggiornato.
* 29/8 pom (2): bridge v3.2 con auto-sessione (se session manca, il bridge la apre da solo): rimosso il bootstrap circolare segnalato dalla chat ChatGPT: cc_vm_exec via MCP senza session TESTATO ok sulla VM. Backup v3.1 su GCS. Manuale aggiornato, protocollo e sblocco comunicati in bacheca.
* 29/8 sera: SECONDO MOTORE. stratega.py (cron dom 05:30 UTC): opportunita' da GSC, proposte in coda, questionari grounding su Drive (creati: pnl-ricalco e catalessi). bq_sink_cruscotto.py (cron 07:35 UTC): cruscotto -> BigQuery pillar_intelligence.metrics_giornaliere, 38 righe caricate al primo giro, registro auto-esteso, alert in bacheca. arricchitore.py in catena fabbrica: pagella video/immagini/JSON-LD/liste + --schema per Article/FAQPage. Pagelle attuali: 6751 e 6828 senza video/immagini/schema. pill_lib.wp con retry. NOTA: ssh hostgator in ban temporaneo (connection refused): WP in pausa.
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo
* resta draft
* 0 duplicati
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato.
* PROVA BRIDGE: da questa chat ChatGPT, cc_vm_exec chiamato senza sessione esplicita ha eseguito sulla VM e restituito stdout AUTOSESSIONE_CHATGPT_OK con rc 0
* il gate ha poi assegnato la sessione S20260829-mcpchatgpt-1ul2nt6, usata per commessa e journal. PROVA PILLAR: draft 6828 mesmerism-training grounded con Q1 definitivo, resta draft, 0 duplicati, grassetti EN tarati circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato.
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica
* Playwright desktop+mobile sul contenuto WordPress finale
* per post pubblicati verifica anche permalink reale
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso.
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): il gate visivo esiste: controllo_visivo_pillar.py; il ciclo pillar vive nella fabbrica
; Provato ed escluso :
* potatura ulteriore automatica: toglie sostanza
* scorporo del ciclo delle tre crisi dalla pagina madre
* pubblicazione automatica dalla fabbrica
* pubblicazione automatica
* edit paralleli sullo stesso pid
; Prossimo passo :
* Marco controlla il testo 6828
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale.
 
=== hermes-f3-matching ===
''Aggiornato 2026-08-27 12:00 UTC'' &mdash; dominio: hermes
 
; Obiettivo : F3 matching engine friction x articoli -> proposte nel daily
; Vincoli in vigore :
* aigw con fallback qwen
* load job non streaming
* idempotente per giorno
; Fatto (con prova) :
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* cron 50 18 * * *
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* cron 50 18 * * *
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* cron 50 18 * * *
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* cron 50 18 * * *
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* cron 50 18 quotidiano
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
; Provato ed escluso :
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw in 429 persistente
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
* kimi-k3 aigw 429 persistente
* deepseek-v4-flash-free 400 (nome modello da verificare)
* exec-direct tronca output a 4KB (dd+base64 a chunk)
* CC 503 a ondate 26-27/08
; Prossimo passo :
* fix scorer postcondition 76/100 (proposta T1 in hermes_proposals)
* indagare 429/400 aigw
* decisioni Marco su proposte via digest
 
=== bibliotecario-fiducia ===
''Aggiornato 2026-08-26 22:34 UTC'' &mdash; dominio: pillar/wiki
 
; Obiettivo : Bibliotecario a fiducia scalare per drift cifre nei pillar 10 lingue (arXiv 2608.12984)
; Vincoli in vigore :
* deterministico, zero modelli
* generazione e bonifica restano passi separati
; Fatto (con prova) :
* bibliotecario.py installato in scripts/ e collaudato su VM (bozza errata=4 problemi, FR intercetta onze, corretta pulita)
* ippocampo.py patch prerequisiti collaudata (255/3179 voci col bonus, grafo.json aggiornato)
* riparatore.py log durata/esito attivo in logs/riparatore_esiti.jsonl
; Provato ed escluso :
* archi non persistiti nel grafo.json: il bonus va calcolato nel folding, non nel briefing
; Prossimo passo :
* usare il bibliotecario sul primo pillar reale: raccogliere asserzioni da Oracolo 8085+Gallica+Doc canonici e agganciare --verifica come cancello pre-pubblicazione
 
=== bridge-exec-isolamento ===
''Aggiornato 2026-08-25 10:36 UTC'' &mdash; dominio: VM / infrastruttura
 
; Obiettivo : Isolare stdout per invocazione nel bridge claude-agent (leak output tra sessioni)
; Vincoli in vigore :
* backup service prima di toccarlo
* testare con due sessioni parallele
* MAI deployare senza canale di ripristino alternativo
; Fatto (con prova) :
* Diagnosi completa 25/08: leak verificato tra sessione claudeanalis e headroomeval alle 09:23. Bridge = claude-agent.service, node pid 862 porta 8081. Escluse cause: sitecustomize (apport standard), usercustomize (llm_meter legittimo), agri_watch (linkwatch legittimo). Learning learning_1787653936523_1qid6h
* FIX APPLICATO 25/08: agent.py v1.2-isolated deployato. Output per-invocazione su file temporanei unici + start_new_session, mai pipe condivise. Backup agent.py.bak_20260825, watchdog root /etc/cron.d/agent-watchdog (auto-rollback se 8080 muore), deploy via systemd-run in cgroup separato. Collaudo: background writer di cmd1 NON contamina cmd2, e i comandi con figli in background non bloccano piu exec-direct
; Provato ed escluso :
* patch immediato del bridge: rischio auto-lobotomia, serve canale ripristino pronto
; Prossimo passo :
* niente
 
=== tesine-archivio ===
''Aggiornato 2026-08-24 00:13 UTC'' &mdash; dominio: fascicolo allievo
 
; Obiettivo : Archiviare tesine/elaborati finali da Gmail isicnv e censire gli allievi storici
; Vincoli in vigore :
* dedupe su nomi normalizzati
* nomi file: Titolo - Nome Cognome.ext
* no UPDATE BQ uno-a-uno (timeout)
; Fatto (con prova) :
* 68 tesine nuove scaricate da 692 email esaminate
* archivio GCS da 30 a 118 file
* documenti BQ 32->120 righe
* 56 allievi storici inseriti nel registry (91->147)
* aggancio via UPDATE JOIN con tabella stage doc_map_stage
* fascicolo_sync eseguito: 76 allievi completati con tesi
; Provato ed escluso :
* loop di UPDATE BQ uno per documento: timeout a 120s per query, inutilizzabile su 88 righe - sostituito da load stage + singolo UPDATE JOIN
; Prossimo passo :
* Rivedere 13 tesine orfane residue (nomi non estraibili dal filename) e 38 allegati ambigui in logs/tesine_harvest_result.json campo review
* ripulire 3-4 file etichettati Marco Paret staff che sono conferme di discussione, non tesi
 
=== marcoparet-lingua-video ===
''Aggiornato 2026-08-22 08:06 UTC'' &mdash; dominio: hosting-siti
 
; Obiettivo : Recent Posts stessa lingua + audit traduzioni + sistema video YouTube 30% copertura
; Vincoli in vigore :
* mu-plugin trp-claude.php: leggere tutto prima di modificare
* backup .bak.recentposts_fix esiste
* HostGator php via SSH con SHORTINIT richiede wpdb diretto non update_post_meta
; Fatto (con prova) :
* 1) FIX RECENT POSTS VERIFICATO: patch pre_get_posts in trp-claude.php filtra query secondarie (Elementor Posts) per lingua pagina corrente
* backfill _pll_lang su 98 post da suffisso slug + language detection titolo (script /tmp/backfill_v3.php su HostGator)
* EN context ora OR(en,NOT EXISTS)
* safety-net save_post auto-set da suffisso. Sidebar fascinazione-istantanea-sguardo ora mostra solo articoli IT. 2) AUDIT PLAYWRIGHT COMPLETATO: /home/claudeuser/scripts/mp_translation_audit.py, report /tmp/mp_translation_audit.json, 31/35 OK
* FAIL reali solo photo-gallery e certified-practitioners quasi vuote
* /zh/ falso positivo (sito usa /zh-tw/ che funziona)
* -en falsi positivi (markers EN mancanti nello script). 3) VIDEO MATCHER deployato /home/claudeuser/scripts/video_matcher.py, --plan in esecuzione: matching argomento (BQ catalogo_arricchito tema/argomenti/sintesi) x qualita (rutube_migration_queue eng_score/views), max 2 usi per video, caption check YouTube API, output BQ marketing.video_article_assignments
* BATCH VIDEO COMPLETATO 22/08: 250 articoli iniettati (top score), 0 errori. Copertura 303/900=34%. Spot check live OK. Cleanup: 2 duplicati veri in trash (ja-draft-2/-4)
* i -2 sono traduzioni di articoli diversi (slug troncati dal publishing). Cache purgata. Scripts permanenti in /home/claudeuser/scripts/: video_matcher.py, inject_from_plan.py, mp_translation_audit.py
; Provato ed escluso :
* update_post_meta con SHORTINIT crasha silenziosamente (funzione non caricata) - usare wpdb->insert
* nohup php su HostGator viene killato dopo ~40 righe - girare sincrono con timeout 50
* /memory/search da 503, usare /memory2/search
* /bq/query vuole campo sql non query
; Prossimo passo :
* Opzionale piu' copertura: inject_from_plan.py 100 --min-score 0.03 (320 assegnazioni residue). Fix publishing flow (slug troncati + _pll_lang). Contenuti photo-gallery/certified-practitioners.
 
=== propensity-scoring-allievi ===
''Aggiornato 2026-08-12 10:54 UTC'' &mdash; dominio: BigQuery / dati
 
; Obiettivo : Lead scoring predittivo: colonna propensity_allievo in contatti_master, job notturno
; Vincoli in vigore :
* MERGE tocca solo colonne propensity
* MERGE a lotti annuali (limite 4000 partizioni)
* score relativo non calibrato
; Fatto (con prova) :
* Benchmark TabICL 0.9727 vs XGBoost 0.9623
* script propensity_allievo.py
* primo run 251550 righe in 229s
* cron 05:15
* wiki + learnings + memoria
; Provato ed escluso :
* TabICL in produzione (22s/849 righe su CPU, OOM con default su 3.9GB)
* /vm/task (runner CLI non autenticata)
; Prossimo passo :
; Prossimo passo :
* niente - chiuso. Opzionali: fix /vm/task, calibrazione score, sheet settimanale Ilaria
* niente - chiuso. Opzionali: fix /vm/task, calibrazione score, sheet settimanale Ilaria
=== referenze-canon ===
''Aggiornato 2026-08-10 20:26 UTC'' &mdash; dominio: Referenze E-E-A-T
; Obiettivo : VIA eseguito: pubblicazione dossier referenze
; 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
* Sheet 1COwn3BXgkzFmKTujVimzCX_X5P_1Q1a_uL2CfEt27oM con 3 tab
* canon 43 righe
* scoperta portfolio marchi (EMDR=EMF di Marco, TimeLine, Ipnorapport, visura 1996)
* Ivinghoe registrata subordinata ad Anneville
* LIVE verificati con shot e vista: /referenze-marco-paret/ entity home con Australia+Pandiscia integrate
* /llms.txt con backup del precedente su GCS llms_backup_pre_referenze.txt
* /referenze/ con 4 PDF: apca, uibm-1999 redatto con CF e indirizzi coperti verifica visiva OK, oradea-2024 redatto 3 box, sinape-2025. Wayback in coda Hetzner +1h. Canon stati aggiornati a pubblicato
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): obiettivo dichiarato 'VIA eseguito: pubblicazione dossier referenze'
; Provato ed escluso :
* stampa2=duplicato La Stampa
* Eminen Stell non finanziata
* Marie Claire non trovata
* pirateria Scribd+forum RU segnalata
* duplicati byte-identici nei TIF marchi
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare
* llms sugli altri 4 domini non ancora
; Prossimo passo :
* 1 llms.txt su marcoparet.com .net mesmerismus mesmerismonline da access_howto
* 2 blocco head 244 pagine RAIDA
* 3 leggere log Hetzner wb_retry e gb
* 4 TIF marchi estrazione
* 5 rigenerare Sheet dal canon


[[Categoria:Domini operativi]]
[[Categoria:Domini operativi]]