Cantieri aperti: differenze tra le versioni

[versione verificata][versione verificata]
WikiBot (discussione | contributi)
handoff automatico
WikiBot (discussione | contributi)
handoff automatico
Riga 7: Riga 7:


== Cantieri attivi ==
== Cantieri attivi ==
=== audit_marcoparet_non_conformi ===
''Aggiornato 2026-09-16 22:21 UTC'' — dominio: -
; Obiettivo : portare a standard le pagine non conformi su marcoparet.com E neurolinguistic.com (fuso il 17/09 con audit_neurolinguistic_non_conformi: id 197, 4300, 11818, 11780, 11804 e seguenti)
; Vincoli in vigore :
* mai riscrivere: arricchire
* pubblicazione solo via pubblica_pillar.py --ok-marco
; Fatto (con prova) :
* 17/09 fusione dei due audit in uno (analisi cantieri)
=== censimento-biblioteca ===
=== censimento-biblioteca ===
''Aggiornato 2026-09-16 22:10 UTC'' — dominio: biblioteca
''Aggiornato 2026-09-16 22:10 UTC'' — dominio: biblioteca
Riga 90: Riga 100:
* 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"
* 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"
* poi grep -n "chat_journal\|START" /home/claudeuser/cc_src/*.js 2>/dev/null | head
* poi grep -n "chat_journal\|START" /home/claudeuser/cc_src/*.js 2>/dev/null | head
=== audit_marcoparet_non_conformi ===
''Aggiornato 2026-09-15 05:39 UTC'' — dominio: pillar
; 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]
; Vincoli in vigore :
* mai riscrivere: arricchire
* pubblicazione solo via pubblica_pillar.py --ok-marco
; 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


=== geo-loop ===
=== geo-loop ===
Riga 189: Riga 189:
* 2) se si, scrivere un job che legge lo stato di indicizzazione delle ultime pagine e lo scrive in BigQuery
* 2) se si, scrivere un job che legge lo stato di indicizzazione delle ultime pagine e lo scrive in BigQuery
* 3) solo dopo, la segnalazione automatica
* 3) solo dopo, la segnalazione automatica
=== espressioni-pipeline ===
''Aggiornato 2026-09-14 10:59 UTC'' — dominio: -
; 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]
; Vincoli in vigore :
* mai riscrivere: arricchire
* pubblicazione solo via pubblica_pillar.py --ok-marco
; 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


=== capoufficio_agente_risolve ===
=== capoufficio_agente_risolve ===
Riga 440: Riga 425:
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE


=== pipeline-pagina-0609 ===
=== database-esercizi ===
''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)
; 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).
 
=== database-esercizi ===
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca


Riga 522: Riga 485:
* 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.
* 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.


=== memo-mailbox-import-isicnvstaff ===
=== corso-analgesia ===
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email
''Aggiornato 2026-09-01 13:08 UTC'' &mdash; dominio: -


; 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 : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare
; Vincoli in vigore :
; 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
* 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.
; 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
* 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
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run.
* 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
* lezione 04.04.2022 = yt lJ6838MgFLY
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus)
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi
* 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
* 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).
* 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
* 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
* 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 :
* 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
* Dominio dedicato se Marco lo vuole
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email


=== spedizione-2791-fasce-sentinella ===
=== mro-r103-r104 ===
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email
''Aggiornato 2026-09-01 11:18 UTC'' &mdash; dominio: mro


; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
; 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
; Vincoli in vigore :
; 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.
* gate=auto
* mai creare copie del MRO
; 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
* codice installato e testato 01/09
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
; Prossimo passo :
; Prossimo passo :
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json
* 1|Doc|inserire R103 e R104 dopo R102 nella sezione regole, in-place (leggere il doc, trovare R102, inserire)
* 2|wiki|MRO_Storia riga 01/09
* 3|LEGGIMI|sezione 5 COME SI CHIUDE: aggiungere riga DELIVERABLES e nota R104


=== microcredential-passaggi-finali-ester-0109 ===
=== video-proxy-pipeline ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment
''Aggiornato 2026-08-28 22:52 UTC'' &mdash; dominio: video / infrastruttura


; 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 : 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 :
* gate=auto
* mai cancellare file utente
* nessuna domanda a Marco
* solo file propri con originale esistente
* backup prima di sostituire
* PC di Marco ultima risorsa per lo spazio
* verifica live prima di dichiarare fatto
* 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) :
* IT/EL/RO nostri gia online (01/09 mattina)
* 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.
* allegati Ester scaricati in tmp/mc/ester_0109
* 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.
* DOCX sorgenti in tmp/mc e tmp/mc/out
* 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)
* 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)
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/
* MD5 live = MD5 locale
* backlog automatico su clip done senza media via media.csv
* 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)
* 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)
* convertire in PDF con soffice, controllo visivo pdftoppm pagine 1-3, sostituire online ..._BG.pdf con backup e MD5
* 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
* 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
* 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)
* verificare i 4 link live con curl -I
* 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
* 4|Drive e chiusura|caricare i PDF/DOCX definitivi RO/BG/IT/EL sulla cartella Drive del progetto Green Agritainment
* 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.
* chiudere commessa con consegne = 4 URL live
* 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
* NON scrivere a Ester (lo fa Marco)
* 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
 
* 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
=== posta-isicnv-followup-0109 ===
* 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
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: crm
* 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
 
* 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
; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche)
* 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.
; Vincoli in vigore :
* 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.
* gate=umano: risposte a terzi a nome di Marco
* 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')
; Fatto (con prova) :
* (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.
* elenco in sovra/posta_isicnv_20260901.txt
* 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).
; Prossimo passo :
* 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)
* 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558)
* 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.
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot
* 3|Alejandro Banda ES|28/08 chiede certificacion mesmerismo y fascinacion (1a0495cbddd32504): lead ES per Salsina
* costo solo su modifiche/cancellazioni future
* 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
* i proxy sono comunque rigenerabili dagli originali (dati derivati, non preziosi)
 
* 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.
=== corso-analgesia ===
* 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
''Aggiornato 2026-09-01 13:08 UTC'' &mdash; dominio: -
* Marco valuta secondo PC.
 
* 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.
; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare
* 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
; Vincoli in vigore :
* i 3.19TB su Drive sono anche processabili DALLA VM senza disco fisico (opzione futura per proxy/trascrizioni di materiale non piu su disco).
* 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.
* 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
; Fatto (con prova) :
* 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.
* 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
* 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)
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run.
* 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)
* 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
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce.
* lezione 04.04.2022 = yt lJ6838MgFLY
* 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')
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus)
* 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.
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi
* VPN esclusa da Marco (nessuna sul PC
* 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
* 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)
* 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).
* aggancio alto ma upload basso = linea/contratto.
* 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
* 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).
* 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
* 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
* 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
* (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)'
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails]
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito.
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico.
* 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)
* 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)
* 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
* 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
* 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
* per Cloud Run resta nuovo_sito_login.sh
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi.
; Prossimo passo :
* 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
* Dominio dedicato se Marco lo vuole
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati)
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo
 
* (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.
=== mro-r103-r104 ===
* 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
''Aggiornato 2026-09-01 11:18 UTC'' &mdash; dominio: mro
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo
 
* (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
; 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
* (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.
; Vincoli in vigore :
* 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
* gate=auto
* (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)
* mai creare copie del MRO
* mai file utente, mai i registri manifest/uploaded/media.csv
; Fatto (con prova) :
* (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).
* codice installato e testato 01/09
* 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)
* (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)
* (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 :
* 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|Doc|inserire R103 e R104 dopo R102 nella sezione regole, in-place (leggere il doc, trovare R102, inserire)
* 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)
* 2|wiki|MRO_Storia riga 01/09
* 3|LEGGIMI|sezione 5 COME SI CHIUDE: aggiungere riga DELIVERABLES e nota R104


=== ricalco-guida-2siti ===
=== cruscotto-marketing-quotidiano ===
''Aggiornato 2026-08-31 14:45 UTC'' &mdash; dominio: pagine pillar
''Aggiornato 2026-08-25 11:25 UTC'' &mdash; dominio: ads/analytics/report


; 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 : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi
; Vincoli in vigore :
; Vincoli in vigore :
* restano bozze finche Marco non dice approvo
* Deterministico, no LLM nel calcolo quotidiano
* pagine esistenti si preservano e si arricchiscono in coda
* riusare esistente: ARGO L0-L15 (scripts/argo/), cruscotto.py 07:15, rendiconto.py, avvisa.py digest
* 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) :
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU)
* Censimento fonti 25/08: campaigns_daily FRESCO
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo
* allievi_pagamenti ok
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run)
* transactions_multianno al 07/08
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso
* ads_events (fogli VMK) FERMO 17/03 -> per attivita agenzia usare change_event API v23 appena riparata + confronto snapshot campagne/keywords giorno su giorno
* passo 3 marcoparet parte dopo 20 min
* 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 :
* form_db_all/leads_journey/yt analytics_daily hanno dato 500 su MAX(colonna): colonne da mappare con INFORMATION_SCHEMA, tabelle esistono
* GA4: nessun token analytics in GCS tokens/ -> token-analytics-marcoparet MORTO, serve ri-auth manuale Marco (unico punto che richiede lui)
* 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 :
; Prossimo passo :
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638
* FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY
* python3 job.py --status ricalco_guida_2siti_v2_run
* poi controllo_visivo screenshot e consegna link
* anelli neuro dedicati (agente_anima.py, agente_stupore.py, due_motori.py PID 11780) se la catena non li copre
* link da art-40.htm e da 11304 rapport-magnetico verso la nuova (preservando il testo)


=== ordine-2455-ipnoanalgesia ===
=== compressore-contesto ===
''Aggiornato 2026-08-31 14:20 UTC'' &mdash; dominio: marcoparet.net WooCommerce
''Aggiornato 2026-08-25 09:34 UTC'' &mdash; dominio: VM / infrastruttura


; 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 : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV
; 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).
* zero dipendenze esterne
* mai comprimere pipeline Biblioteca/citazioni
* originale sempre recuperabile (CCR)
; 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).
* 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 :
; 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.
* 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


=== crisi-mesmerica-potatura ===
=== pnl-nlp-download ===
''Aggiornato 2026-08-29 17:24 UTC'' &mdash; dominio: hosting/pillar
''Aggiornato 2026-08-22 14:04 UTC'' &mdash; dominio: Hosting / siti


; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna
; Obiettivo : pnl-nlp.org completo: struttura originale, gate email, archivio funzionante
; Vincoli in vigore :
; Vincoli in vigore :
* prima di editare un pid: leggere bacheca interchat e annunciare
* NON spostare il dominio
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy)
* NON chiedere credenziali a Marco (R2: memoria+Log Gerarchico)
* nlp4all.org resta su Google Sites
* collaudo finale Playwright R88: il browser deve ricevere davvero il file
; 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
* Credenziali gator4063 recuperate e salvate in memoria CC (kind=credential, token cPanel JJ7LP3RN6YLQGOHJ6EABS9HOAS32YTJM)
* 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.
* docroot pnl-nlp.org = /home2/isicnv/public_html (unico dominio account, home /home2/isicnv)
* 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
* SSH porta 2222 con password RIFIUTA (rc=5) -> si lavora via API cPanel che funziona
* 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
* dn/download.php letto: SELECT file FROM downloads_item WHERE id=N poi cerca /dn/downloads/<file> con fallback <id>.<ext>, se non trova mostra la pagina - Download temporaneamente non disponibile -
* fabbrica patchata (retry x3 + marcatura senza-materiale)
* DB isicnv_dn utente isicnv_g63 pass 2&ynT(cq7^zH
* 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.
* CATALOGO REALE = 741 item (non 49), 416 con titolo in downloads_item_lang, contatori download storici presenti
* 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco
* la colonna file e vuota per quasi tutti: i percorsi veri stanno in file_external (366 item) come URL assoluti verso programmazioneneurolinguistica.com, pnl-nlp.org/download, pnl-nlp.org/corsi, neurolinguistic.com, fascinazione.com, club-positif.com
* 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)
* dn.zip 22MB estratto in /dn/_archivio (3963 file)
* hostgator ssh throttling temporaneo (risolto con loop retry su VM).
* indice ricorsivo di tutti i file scaricabili del sito in /dn/_indice.json (617 nomi)
* 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP
* catalogo completo in /dn/_catalogo3.json e copia locale /home/claude/cat3.json
* prompt di continuazione consegnato a Marco e salvato nel Project
* TOP download storici: Manuale Autoipnosi 10575, Small Post on Modeling Dilts-Grinder 9616, Tecniche Varie PNL e Ipnosi 9435, GUIDA FLASH ALL IPNOSI 7735, Autoipnosi Pratica 5530, Dinamiche di Relazione 4257, Tecniche Segrete 4063, movimenti oculari 3003, BROCHURE COMPLETA 2911, Ipnosi Clinica 2730, MESMERISMUS 2459
* puntatore in memoria CC
* su disco ci sono 148 file in /download e 187 in /corsi (Braid_Neurohypnology.pdf 13MB, Mind_Studio kit 15MB, brochure, Mesmerismus, Heilmagnetismus)
* avviso in bacheca a tutte le chat.
* ESEGUITO E COLLAUDATO 22/08: sito rifatto responsive (index.html + dn/index.html, backup originale in index.pre-restyle.html), testo EN originale invariato, 536 documenti pubblicati con ricerca live per parola chiave, ordinati per popolarita storica
* 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
* archivio ricostruito con 2 fonti: 39 file riparati (32 da file locali del sito + dn.zip estratto in /dn/_archivio con 3963 file, 7 scaricati da domini terzi trans4mind/columbia/queensu) depositati in /dn/downloads/<id>.<ext> cosi download.php funziona senza modifiche, piu 497 file reali gia sul server indicizzati da /dn/_indice.json
* 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.
* BUG CORRETTO: gli URL relativi in file_external perdevano lo slash (. invece di ./.ltrim)
* 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.
* COLLAUDO PLAYWRIGHT R88 SUPERATO: home 200, 536 card, viewport+meta description presenti, 0 immagini rotte, 0 richieste fallite, nessun overflow mobile, 9 link ai siti principali, e su 10 download testati 9 hanno consegnato un FILE VERO verificato per magic bytes (PDF/ZIP/DOC), tra cui Mesmerismus_Slides2012.pdf 34MB, PNL3 prima parte 1.4MB, brochure 51.zip 4MB
* 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.
* script temporanei _dumper*.php _fix.php _build.php neutralizzati (404)
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo
* screenshot https://marcoparet.com/preview-eval/PNL_desktop.jpg e PNL_mobile.jpg
* resta draft
* GATE EMAIL STILE SCRIBD ATTIVO 22/08. Verifica massiva dei 536 link: 99 rotti esclusi. Catalogo pubblico /dn/_catalogo_pub.json con 429 documenti verificati per magic bytes, con slug leggibili. doc.php = scheda documento con anteprima sfumata (.preview.locked) + form email con consenso GDPR + predisposizione Google Sign-In (si attiva creando /home2/isicnv/public_html/dn/.google_client_id con il client id
* 0 duplicati
* se assente il bottone e nascosto). dl.php = serve il file SOLO a chi si e registrato (altrimenti 302 al gate) e logga ogni download. Tabella MySQL dn_leads in isicnv_dn: email, nome, fonte (form/google/download), doc, doc_titolo, lingua, consenso, ip, user_agent, referer, creato, sync_bq. Home rigenerata: i bottoni puntano a doc.php, nessun link diretto ai file. COLLAUDO R88 SUPERATO: dl.php senza cookie 302 al gate
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile
* POST form 302 con ok=1 e cookie dn_access 180gg
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato.
* pagina sbloccata mostra il bottone
* 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
* download reale 3.667.704 byte application/zip
* 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
* dn_leads registra form + download con titolo documento.
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato.
* COMPLETATO 22/08 (4 punti su 5 in autonomia). STRUTTURA ORIGINALE RIPRISTINATA: / = introduzione (nessun download, 0 card, CTA verso l area), /dn/ = area download con 429 documenti. ATTENZIONE: /dn/ serve index.php (ha precedenza su index.html) - dopo ogni rebuild copiare index.html su index.php
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica
* l app vecchia e salvata come /dn/index.legacy.php. ANTEPRIME: 140 thumbnail JPEG prima pagina + estratti testuali generati sulla VM con poppler (pdftotext/pdftoppm, assenti su gator4063) e caricati in /dn/thumbs via upload_files multipart
* Playwright desktop+mobile sul contenuto WordPress finale
* script /home/claudeuser/scripts/pnl_all.py thumbs. LEAD IN BIGQUERY: tabella isicnv_contacts.dn_leads_pnl, endpoint /dn/_export.php (chiave isicnv-dump-8f3a) legge i lead con sync_bq=0 e li marca via ack
* per post pubblicati verifica anche permalink reale
* CRON ATTIVO sulla VM ogni 6 ore (17 */6) pnl_all.py leads
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso.
* 4 lead gia sincronizzati. PRIVACY POLICY: https://www.pnl-nlp.org/privacy.html (GDPR: titolare Universite Europeenne LLP OC348224, dati raccolti, base giuridica consenso art.6.1.a, conservazione 36 mesi, diritti, cookie tecnico dn_access 180gg) linkata dalla checkbox di consenso in doc.php. CONTENUTI RIGENERATI: 14 documenti creati dai titoli-keyword mancanti via AI Gateway (deepseek-chat) in /dn/generated/, lingua dedotta dal titolo (IT/FR/EN), 1100-1500 parole, aggiunti al catalogo
* script /home/claudeuser/scripts/pnl_gen.py con LIM=N, la chiave AIGW e in /tmp/pillars/aigw_key.txt e va passata come Authorization Bearer + header X-Processo:1 (senza da 401). COLLAUDO: home 200 senza card, /dn/ 200 con 429 card e 140 anteprime, gate POST 302, download reale 3.667.704 byte firma PK, documento generato 200, thumbnail 200, BigQuery 4 lead.
; Provato ed escluso :
; Provato ed escluso :
* potatura ulteriore automatica: toglie sostanza
* NON usare i 25 PDF Wayback come fonte primaria: i file veri sono sul server
* scorporo del ciclo delle tre crisi dalla pagina madre
* NON fidarsi di download.php 200 = successo (R88)
* pubblicazione automatica dalla fabbrica
* i primi 46 -recuperi- Wayback erano pagine HTML travestite: verificare sempre i magic bytes
* pubblicazione automatica
* catalogo DB 741 item e in gran parte residuo/spam: 370 senza alcun URL, molti url sono titoli o testo pubblicitario
* edit paralleli sullo stesso pid
* NON ricostruire da Wayback quando i file sono sul server
* Google Sign-In non attivabile in autonomia: serve autorizzare origine https://www.pnl-nlp.org in Google Cloud Console. pdftotext/pdftoppm NON presenti su gator4063: estratti e anteprime PDF vanno generati sulla VM e caricati.
* Google Sign-In: il codice e completo in doc.php e si attiva da solo creando /home2/isicnv/public_html/dn/.google_client_id con dentro il client id. Richiede pero di autorizzare l origine https://www.pnl-nlp.org come JavaScript origin nel client OAuth in Google Cloud Console: NON esiste API pubblica per farlo, e l unico passaggio che richiede un click umano.
; Prossimo passo :
; Prossimo passo :
* Marco controlla il testo 6828
* 1) rilanciare pnl_gen.py con LIM piu alto per gli altri titoli-keyword mancanti (ne restano ~300) 2) rilanciare pnl_all.py thumbs per i PDF oltre i primi 140 3) creare .google_client_id dopo l autorizzazione dell origine 4) applicare lo stesso schema (gate + catalogo + privacy) agli altri siti vecchi
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale.


=== video-proxy-pipeline ===
=== oracolo-reindex ===
''Aggiornato 2026-08-28 22:52 UTC'' &mdash; dominio: video / infrastruttura
''Aggiornato 2026-08-22 08:51 UTC'' &mdash; dominio: oracolo


; 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 : Reindicizzare la coda Biblioteca, ingerire il Traite dOr, riparare pipeline oracolo
; Vincoli in vigore :
; Fatto (con prova) :
* mai cancellare file utente
* DIAGNOSI del fallimento del task programmato ChatGPT Archive Reindex: lerrore --dangerously-skip-permissions cannot be used with root/sudo NON e SSH ne Hetzner, e un messaggio della CLI Claude Code. Lo strumento Command Center VM passa da /vm/task che gira la stringa alla CLI claude come root, che rifiuta il flag ed esce. Stesso bug documentato il 07/08
* solo file propri con originale esistente
* Flag deep_archive_new.flag fermo dal 19-21 luglio con 27 documenti mai reindicizzati
* PC di Marco ultima risorsa per lo spazio
* VM in fetch failed: recuperata con la sequenza documentata status/reset/90s
* backup e cartelle personali esclusi ma catalogati
* Reindex lanciato con job.py id reindex_oracle, flock su Hetzner
* nessuna ri-trascrizione se esiste gia in archivio storico
* Traite dOr trascritto e INSERITO in biblioteca.corpus doc_id DEEP_4616b9112532634b71f1, 13.363 caratteri, lingua fr, tier extended, verificato con query BQ. Flag ora a 28 righe
* deploy solo con assert anti-regressione superato
* BUG /vm/task RISOLTO alla radice. La route statica invoca claude --dangerously-skip-permissions -p COMANDO
; Fatto (con prova) :
* la CLI rifiuta il flag da root. Installato wrapper /usr/local/bin/claude che riconosce quello schema ed esegue con bash, e stampa nel log cosa e successo e cosa usare per i job lunghi. CLI vera spostata in claude.real. VERIFICATO: task di prova ha creato davvero /tmp/fix_test.txt
* 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.
* Reindex 1 completato in 20 minuti (job reindex_oracle DONE rc=0)
* 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.
* SCOPERTA RACE CONDITION: il documento inserito DURANTE il reindex e stato svuotato dal flag senza essere indicizzato. Verificato con ricerca BM25 su Hetzner: Fresse-Louis non trovato. Ri-flaggato e rilanciato job reindex_traite
* 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
* SCOPERTO limite ~100KB del body di /vm/exec-direct (default Express), fallimento muto con ok:false e stderr vuoto
* video statici 1 copertina a meta durata)
* AUDIT RETRIEVAL vs checklist 7 tecniche stato dellarte: BM25 v3 OK con query expansion multilingue DeepSeek + boost wiki terms
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/
* dense e5 OK peso 1.6
* backlog automatico su clip done senza media via media.csv
* fusione RRF k=60 OK
* 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)
* cross-encoder BGE-reranker-v2-m3 OK con retry adattivo se best<0.30
* 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
* diversificazione per famiglia presente nel server (parametro diversifica, bm25_http_server.py riga 193) ma agent_kimi NON la richiede: rischio top-k ridondante dalla stessa opera
* 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)
* nessuna strumentazione latenze per stadio
* 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
* 22/08/2026 IMMAGINI RISOLTE: il canale giusto NON e' exec-direct ne' URL firmati, ma POST /gcs/public-upload dal container Claude. Collaudo: JPEG 2.127.271 byte in una chiamata, md5 identico dopo download pubblico. Vedi learning_1787387382962_bq9g7v
* 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.
* 22/08/2026 Route /gcs-upload-url RIMOSSA (backup in backups/routes/): richiedeva iam.serviceAccounts.signBlob che il SA Cloud Run non ha e la VM non puo' concedersi. Superata da /gcs/public-upload, che non firma nulla
* 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
* 22/08/2026 Reindex portato da SETTIMANALE (lun 03:40) a GIORNALIERO 03:40 con flock: la coda restava ferma fino a 7 giorni. Prima esecuzione reale della catena cron collaudata oggi
* 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
; Provato ed escluso :
* 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
* Trasferire le foto alla VM per OCR tesseract: /vm/exec-direct rifiuta payload sopra ~100KB e fallisce IN SILENZIO (ok:false, stderr vuoto). Falliti 3 tentativi: base64 intero, compresso, a blocchi. Strategia cambiata: trascrizione lato Claude e trasferimento del solo testo
* 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
* Programmare il reindex via /vm/task: e la causa del guasto, va sostituito con job.py o cron
* 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
* Route /gcs-upload-url per firmare URL di scrittura: creata ma il service account Cloud Run non ha iam.serviceAccounts.signBlob. Va rimossa o va concesso il permesso
* 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
* Trasferire immagini via exec-direct: sopra 90KB fallisce muto. La via giusta per i libri e caricarli nella cartella Drive della Biblioteca e usare biblioteca/ingest.py, che gestisce gia scarico e coda OCR tesseract
* 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.
; Prossimo passo :
* 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.
* 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
* 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')
 
* (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.
=== agritainment-sito ===
* 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).
''Aggiornato 2026-08-22 00:20 UTC'' &mdash; dominio: Hosting / siti
* 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)
 
* 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.
; Obiettivo : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti)
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot
; Vincoli in vigore :
* costo solo su modifiche/cancellazioni future
* video su 6 canali YouTube di partner diversi
* i proxy sono comunque rigenerabili dagli originali (dati derivati, non preziosi)
* slide moduli 3 e 4 inesistenti in WP3
* 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.
* traduzioni = obbligo di ciascun partner da formulario
* 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
; Fatto (con prova) :
* Marco valuta secondo PC.
* 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)
* 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.
* punto 2 le 5 pagine choose linkano tutti i 6 moduli
* 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
* punto 4 materiali EN+lingua propria in ogni lingua (EN45 IT46 BG58 EL66 RO52)
* i 3.19TB su Drive sono anche processabili DALLA VM senza disco fisico (opzione futura per proxy/trascrizioni di materiale non piu su disco).
* punti 5-6-7 events/meetings/webinar online e nel menu
* 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
* 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
* 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.
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube
* 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)
* 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.
* 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)
; Provato ed escluso :
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce.
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi
* 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')
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403)
* 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.
; Prossimo passo :
* VPN esclusa da Marco (nessuna sul PC
* Consegnare ai partner la lista per canale delle tracce mancanti
* 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)
* per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl
* 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).
=== migrazione-aigw ===
* 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
''Aggiornato 2026-08-13 16:56 UTC'' &mdash; dominio: infrastruttura AI / gateway
* (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)'
 
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito.
; Obiettivo : Instradare ogni lavoro AI sul fornitore piu economico che lo sa fare, dal gateway
* 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)
; Fatto (con prova) :
* 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
* 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
* 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
* LANCIATO in asincrono il censimento che mancava: job censimento_aigw, scripts/censimento_aigw.py. Cerca su VM, translator e media quali script usano ancora sk-or-v1, api.deepseek.com, openrouter.ai, dashscope, moonshot direttamente invece del gateway. Sola lettura, nessuna modifica. Esito in gs state/migrazione_aigw.json
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi.
* CHIUSO UN BUCO in chiusura.py: la regex dei rinvii copriva nella prossima sessione al singolare ma non nelle prossime sessioni al plurale, ne progressivamente, man mano, a tappe. Aggiunto anche il gruppo CODA: la coda della, li migro, restano da fare. Provato sul testo reale: ora pesca tutti e tre i punti piu la mancanza del contratto
* 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
* COST GUARD OPENROUTER ANALIZZATO: scattato 13/08 alle 18:45. NON per spesa eccessiva. Spesa giornaliera 1.33 su tetto 3.00, accelerazione 0.01 USD ogni 5 min. Ha scattato la condizione rest < CREDIT_MIN: credito residuo 4.99 contro soglia 5.00 USD. VERDETTO: guard APPROPRIATO, sta segnalando credito quasi esaurito non spreco. Spesa settimanale 35.68 USD
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati)
* Processi fermati dal guard: cita_service.py, svc oracle-agent, svc oracle-cita. Per riattivare: rm /opt/oracle/openrouter_guard.state
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo
* PREZZI VERIFICATI 13/08/2026: Grok 4.6 uscito il 12/08 a 2.00 in / 6.00 out, contesto 500K, cache a 0.50. Grok 4.3 a 1.25/2.50 con contesto 1M. Grok 4.1 Fast a 0.20/0.50 con contesto 2M, il piu economico dei frontier. Grok Build 0.1 per codice a 1.00/2.00. ATTENZIONE: ogni tariffa RADDOPPIA sopra i 200K token di prompt
* (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.
* OpenCode Zen: gateway curato senza ricarico, vende a costo e copre solo le commissioni di pagamento. Ricarica automatica di 20 USD sotto i 5. Alcuni modelli gratuiti a tempo (Grok Code Fast 1, DeepSeek V4 Flash). Endpoint compatibile OpenAI: opencode.ai/zen/v1
* 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
* LISTINO VIVO costruito: scripts/listino.py in cron alle 04:30. Legge i prezzi reali dal catalogo OpenRouter e sceglie, per ogni CLASSE DI LAVORO, il modello piu economico che soddisfa il requisito di contesto. Esito in gs state/listino_modelli.json
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo
* CLASSI E VINCITORI AL 13/08: volume qwen3-8b 0.12/0.46, giudizio deepseek-chat 0.26/1.03, lungo glm-5.2 0.49/1.54, profondo glm-5.2 0.49/1.54, codice deepseek-chat 0.26/1.03. Costo misto calcolato come 75 per cento input piu 25 per cento output, il profilo dei nostri lavori
* (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
* SCOPERTO che il gateway aigw ha GIA un instradamento opencode (provider, opencode_models, oc_cost): era gia stato aggiunto
* (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.
* SCOPERTO che Grok 4.1 Fast a 0.20/0.50 NON e su OpenRouter, esiste solo sullAPI xAI diretta. Ma non serve: qwen3-8b costa meno
* 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
* 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
* (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)
* ATTENZIONE: le tariffe xAI RADDOPPIANO sopra i 200K token di prompt, e con contesti da 1-2M e facile inciamparci
* mai file utente, mai i registri manifest/uploaded/media.csv
* (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).
* 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)
* (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)
* (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 :
* Storage Box Hetzner rimandato: nessun token API esiste e Marco preferisce Yandex gia pagato
* 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
* GCS e volumi cloud bocciati per costo
* Ruotare le chiavi provider prima che lultimo client sia migrato: spacca i non migrati
* la lentezza 1.1x della v2.4 era DOPPIA ISTANZA, non hardware
* Alzare CREDIT_MIN o disattivare il guard per far ripartire i servizi: nasconderebbe il problema vero, che e il credito in esaurimento
* Passare tutto a Grok 4.6 per riflesso: costa il doppio in uscita rispetto a Grok 4.3, ed e posizionato per codice e agenti non per uso generale
* 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
; 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)
* 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


=== paret-ai-pillar ===
=== cairn-archive ===
''Aggiornato 2026-08-27 12:01 UTC'' &mdash; dominio: hosting/siti + ai-search
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com


; Obiettivo : Costruire i pillar neurolinguistic.com per Ipnosi non verbale, Ipnosi con lo sguardo e Mesmerismus preservando SEO storico e preparando evidence graph
; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Vincoli in vigore :
; Vincoli in vigore :
* MASTER v7.12
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* testo pubblico mai da Claude: generazione via GLM e review
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* nessuna nuova pagina se esiste URL valido
* planned != held
* snapshot/backup prima di ogni write
* mail solo redatte
* pubblicazione solo dopo gate previsto dal cantiere benchmark-visibilita-ai
; 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
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* PID3576 /guardarmi-negli-occhi/ 200 self-canonical
* nota interna su AUD-001 col.N
* PID1848 /il-potere-dellocchio/ 200 self-canonical
* llms.txt e sitemap-static.xml aggiornati (11 url)
* /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.
* 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/)
; Provato ed escluso :
; Provato ed escluso :
* Nessuna modifica live eseguita. Non riutilizzare alla cieca potenzia_pillar.py: contiene pipeline precedente e testo con claim senza fonte.
* archive.org/wayback/available da 429: usare la CDX API con retry
* cancello di verifica su HTML renderizzato: rumore per costruzione, va sul corpo markdown
; Prossimo passo :
; Prossimo passo :
* generare bozze GLM incollando brief_pillar.txt nel prompt
* salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine
* bibliotecario --verifica come cancello dopo bonifica e su ogni traduzione
* facsimili redatti delle 3 mail
* agganciare ark Gallica del Rapport 1784 per chiudere il fatto commissari
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* valutare pagina EN/IT bilingue


=== modalita-contabilita ===
== Sospesi ==
''Aggiornato 2026-08-25 22:42 UTC'' &mdash; dominio: finance
=== hpr_pilota ===
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : Modalita Contabilita: rispondere in automatico a Perche questa spesa
; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; Vincoli in vigore :
; Vincoli in vigore :
* NON ripartire da zero: spec TESORIERE architecture_1783460671236_4nxv6j
* read-only sul resto
* riusare classification_rules (678 regole), controparti, pagamenti_ricorrenti_attesi, tesoriere_v2.py, argo_watch.py
* budget run 15
* MAI LLM sui numeri
* giudizio col test delle 4 domande sul vault
* coordinarsi col cantiere finanze-classificazione
; Fatto (con prova) :
; Fatto (con prova) :
* Riletto MRO v7.1 completo
* script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh)
* recuperata spec TESORIERE 4 tier
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* censiti asset esistenti (tabelle isicnv_finance, tesoriere_daily/v2, cantiere finanze-classificazione)
* 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
* best practices raccolte: tagging deterministico prima di tutto, alert+allocazione insieme, closed-loop spesa-lead-ricavo con identificatore comune
* il gateway aigw espone solo chat/completions, non /v1/messages
* 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)
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata).
* pagina wiki Contabilita creata e verificata HTTP 200 con template 5 blocchi + quadro VMK
* SEGNALATO A MARCO: saldo residuo VMK 2415 EUR dichiarato al 07/05, sollecito 16/06 senza risposta
* perche_spesa.py deployato (5 blocchi, alias VMK=Veneto Marketing Lab, cron 07:25 daily-ads con tg solo se anomalo)
* sentinella DA_CLASSIFICARE cron 03:50 (baseline 10012)
* riconciliazione VMK 21/22
* DISCREPANZA: lista VMK somma 25546 ma dichiarano 26546, saldo possibile 3415 non 2415, da chiarire con Marina
* wiki Contabilita sez.8 aggiornata
; Provato ed escluso :
; Provato ed escluso :
* Progettare rami di spesa ex novo: esistono gia come classification_rules+controparti+tier
* nessuna integrazione nella pipeline pillar finche' il pilota non e' giudicato
* /memory/get non esiste, full text memoria via gsutil su GCS
* Non aggirare il COST_GUARD senza ok di Marco (decisione di costo)
; Prossimo passo :
; Prossimo passo :
* 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
* 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 #


=== cruscotto-marketing-quotidiano ===
=== audit_neurolinguistic_non_conformi ===
''Aggiornato 2026-08-25 11:25 UTC'' &mdash; dominio: ads/analytics/report
''Aggiornato 2026-09-13 21:07 UTC'' &mdash; dominio: pillar


; Obiettivo : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi
; 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 :
; Vincoli in vigore :
* Deterministico, no LLM nel calcolo quotidiano
* mai riscrivere: arricchire
* riusare esistente: ARGO L0-L15 (scripts/argo/), cruscotto.py 07:15, rendiconto.py, avvisa.py digest
* pubblicazione solo via pubblica_pillar.py --ok-marco
* 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) :
* Censimento fonti 25/08: campaigns_daily FRESCO
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): audit_marcoparet_non_conformi, che da oggi copre entrambi i siti
* 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 :
* form_db_all/leads_journey/yt analytics_daily hanno dato 500 su MAX(colonna): colonne da mappare con INFORMATION_SCHEMA, tabelle esistono
* GA4: nessun token analytics in GCS tokens/ -> token-analytics-marcoparet MORTO, serve ri-auth manuale Marco (unico punto che richiede lui)
* 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 :
; Prossimo passo :
* FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY
* 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


=== compressore-contesto ===
=== pipeline_mancanti_censimento ===
''Aggiornato 2026-08-25 09:34 UTC'' &mdash; dominio: VM / infrastruttura
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline


; Obiettivo : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV
; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; Vincoli in vigore :
; Vincoli in vigore :
* zero dipendenze esterne
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
* mai comprimere pipeline Biblioteca/citazioni
* originale sempre recuperabile (CCR)
; 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)
* 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
; Provato ed escluso :
* headroom-ai upstream come dipendenza: su nostro JSON default dava +10% overhead
; Prossimo passo :
; 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
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* partire dal primo cluster


=== pnl-nlp-download ===
=== chat-s20260911-si1secondary-qqnl4c ===
''Aggiornato 2026-08-22 14:04 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : pnl-nlp.org completo: struttura originale, gate email, archivio funzionante
; 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 :
* NON spostare il dominio
* gate=auto
* NON chiedere credenziali a Marco (R2: memoria+Log Gerarchico)
* non chiedere a Marco
* nlp4all.org resta su Google Sites
* verifica prima di dichiarare fatto
* collaudo finale Playwright R88: il browser deve ricevere davvero il file
; Fatto (con prova) :
; Fatto (con prova) :
* Credenziali gator4063 recuperate e salvate in memoria CC (kind=credential, token cPanel JJ7LP3RN6YLQGOHJ6EABS9HOAS32YTJM)
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* docroot pnl-nlp.org = /home2/isicnv/public_html (unico dominio account, home /home2/isicnv)
* contesto ricostruito da riprendi_chat
* SSH porta 2222 con password RIFIUTA (rc=5) -> si lavora via API cPanel che funziona
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento
* dn/download.php letto: SELECT file FROM downloads_item WHERE id=N poi cerca /dn/downloads/<file> con fallback <id>.<ext>, se non trova mostra la pagina - Download temporaneamente non disponibile -
; Prossimo passo :
* DB isicnv_dn utente isicnv_g63 pass 2&ynT(cq7^zH
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* CATALOGO REALE = 741 item (non 49), 416 con titolo in downloads_item_lang, contatori download storici presenti
* gcloud auth list
* la colonna file e vuota per quasi tutti: i percorsi veri stanno in file_external (366 item) come URL assoluti verso programmazioneneurolinguistica.com, pnl-nlp.org/download, pnl-nlp.org/corsi, neurolinguistic.com, fascinazione.com, club-positif.com
* gcloud config list
* dn.zip 22MB estratto in /dn/_archivio (3963 file)
* 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP)
* indice ricorsivo di tutti i file scaricabili del sito in /dn/_indice.json (617 nomi)
* alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema
* catalogo completo in /dn/_catalogo3.json e copia locale /home/claude/cat3.json
* 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
* TOP download storici: Manuale Autoipnosi 10575, Small Post on Modeling Dilts-Grinder 9616, Tecniche Varie PNL e Ipnosi 9435, GUIDA FLASH ALL IPNOSI 7735, Autoipnosi Pratica 5530, Dinamiche di Relazione 4257, Tecniche Segrete 4063, movimenti oculari 3003, BROCHURE COMPLETA 2911, Ipnosi Clinica 2730, MESMERISMUS 2459
* 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)
* su disco ci sono 148 file in /download e 187 in /corsi (Braid_Neurohypnology.pdf 13MB, Mind_Studio kit 15MB, brochure, Mesmerismus, Heilmagnetismus)
* controllare log/ultima esecuzione dell'orchestrator
* ESEGUITO E COLLAUDATO 22/08: sito rifatto responsive (index.html + dn/index.html, backup originale in index.pre-restyle.html), testo EN originale invariato, 536 documenti pubblicati con ricerca live per parola chiave, ordinati per popolarita storica
* 5|Produrre la consegna verificabile D1 (output crontab -l di VM e secondary + log esecuzione) e chiudere la chat con prova di completamento|aggiornare il GIORNALE con END verificato e D1 consegnato al posto di 'D1 MANCA'
* archivio ricostruito con 2 fonti: 39 file riparati (32 da file locali del sito + dn.zip estratto in /dn/_archivio con 3963 file, 7 scaricati da domini terzi trans4mind/columbia/queensu) depositati in /dn/downloads/<id>.<ext> cosi download.php funziona senza modifiche, piu 497 file reali gia sul server indicizzati da /dn/_indice.json
 
* BUG CORRETTO: gli URL relativi in file_external perdevano lo slash (. invece di ./.ltrim)
=== chat-s20260910-claudesi1ref-1kurya6 ===
* COLLAUDO PLAYWRIGHT R88 SUPERATO: home 200, 536 card, viewport+meta description presenti, 0 immagini rotte, 0 richieste fallite, nessun overflow mobile, 9 link ai siti principali, e su 10 download testati 9 hanno consegnato un FILE VERO verificato per magic bytes (PDF/ZIP/DOC), tra cui Mesmerismus_Slides2012.pdf 34MB, PNL3 prima parte 1.4MB, brochure 51.zip 4MB
''Aggiornato 2026-09-11 23:40 UTC'' &mdash; dominio: chat_riprese
* script temporanei _dumper*.php _fix.php _build.php neutralizzati (404)
* screenshot https://marcoparet.com/preview-eval/PNL_desktop.jpg e PNL_mobile.jpg
* GATE EMAIL STILE SCRIBD ATTIVO 22/08. Verifica massiva dei 536 link: 99 rotti esclusi. Catalogo pubblico /dn/_catalogo_pub.json con 429 documenti verificati per magic bytes, con slug leggibili. doc.php = scheda documento con anteprima sfumata (.preview.locked) + form email con consenso GDPR + predisposizione Google Sign-In (si attiva creando /home2/isicnv/public_html/dn/.google_client_id con il client id
* se assente il bottone e nascosto). dl.php = serve il file SOLO a chi si e registrato (altrimenti 302 al gate) e logga ogni download. Tabella MySQL dn_leads in isicnv_dn: email, nome, fonte (form/google/download), doc, doc_titolo, lingua, consenso, ip, user_agent, referer, creato, sync_bq. Home rigenerata: i bottoni puntano a doc.php, nessun link diretto ai file. COLLAUDO R88 SUPERATO: dl.php senza cookie 302 al gate
* POST form 302 con ok=1 e cookie dn_access 180gg
* pagina sbloccata mostra il bottone
* download reale 3.667.704 byte application/zip
* dn_leads registra form + download con titolo documento.
* COMPLETATO 22/08 (4 punti su 5 in autonomia). STRUTTURA ORIGINALE RIPRISTINATA: / = introduzione (nessun download, 0 card, CTA verso l area), /dn/ = area download con 429 documenti. ATTENZIONE: /dn/ serve index.php (ha precedenza su index.html) - dopo ogni rebuild copiare index.html su index.php
* l app vecchia e salvata come /dn/index.legacy.php. ANTEPRIME: 140 thumbnail JPEG prima pagina + estratti testuali generati sulla VM con poppler (pdftotext/pdftoppm, assenti su gator4063) e caricati in /dn/thumbs via upload_files multipart
* script /home/claudeuser/scripts/pnl_all.py thumbs. LEAD IN BIGQUERY: tabella isicnv_contacts.dn_leads_pnl, endpoint /dn/_export.php (chiave isicnv-dump-8f3a) legge i lead con sync_bq=0 e li marca via ack
* CRON ATTIVO sulla VM ogni 6 ore (17 */6) pnl_all.py leads
* 4 lead gia sincronizzati. PRIVACY POLICY: https://www.pnl-nlp.org/privacy.html (GDPR: titolare Universite Europeenne LLP OC348224, dati raccolti, base giuridica consenso art.6.1.a, conservazione 36 mesi, diritti, cookie tecnico dn_access 180gg) linkata dalla checkbox di consenso in doc.php. CONTENUTI RIGENERATI: 14 documenti creati dai titoli-keyword mancanti via AI Gateway (deepseek-chat) in /dn/generated/, lingua dedotta dal titolo (IT/FR/EN), 1100-1500 parole, aggiunti al catalogo
* script /home/claudeuser/scripts/pnl_gen.py con LIM=N, la chiave AIGW e in /tmp/pillars/aigw_key.txt e va passata come Authorization Bearer + header X-Processo:1 (senza da 401). COLLAUDO: home 200 senza card, /dn/ 200 con 429 card e 140 anteprime, gate POST 302, download reale 3.667.704 byte firma PK, documento generato 200, thumbnail 200, BigQuery 4 lead.
; Provato ed escluso :
* NON usare i 25 PDF Wayback come fonte primaria: i file veri sono sul server
* NON fidarsi di download.php 200 = successo (R88)
* i primi 46 -recuperi- Wayback erano pagine HTML travestite: verificare sempre i magic bytes
* catalogo DB 741 item e in gran parte residuo/spam: 370 senza alcun URL, molti url sono titoli o testo pubblicitario
* NON ricostruire da Wayback quando i file sono sul server
* Google Sign-In non attivabile in autonomia: serve autorizzare origine https://www.pnl-nlp.org in Google Cloud Console. pdftotext/pdftoppm NON presenti su gator4063: estratti e anteprime PDF vanno generati sulla VM e caricati.
* Google Sign-In: il codice e completo in doc.php e si attiva da solo creando /home2/isicnv/public_html/dn/.google_client_id con dentro il client id. Richiede pero di autorizzare l origine https://www.pnl-nlp.org come JavaScript origin nel client OAuth in Google Cloud Console: NON esiste API pubblica per farlo, e l unico passaggio che richiede un click umano.
; Prossimo passo :
* 1) rilanciare pnl_gen.py con LIM piu alto per gli altri titoli-keyword mancanti (ne restano ~300) 2) rilanciare pnl_all.py thumbs per i PDF oltre i primi 140 3) creare .google_client_id dopo l autorizzazione dell origine 4) applicare lo stesso schema (gate + catalogo + privacy) agli altri siti vecchi


=== oracolo-reindex ===
; Obiettivo : Chiudere verificato il cantiere SI-1 Reflect (chat S20260910-claudesi1ref-1kurya6): eseguire le verifiche rimaste su si1.cron.log, definire la consegna verificabile D1, aggiornare wiki/handoff, e gestire il messaggio umano non letto sull'errore gcloud.
''Aggiornato 2026-08-22 08:51 UTC'' &mdash; dominio: oracolo
; Vincoli in vigore :
 
* gate=auto
; Obiettivo : Reindicizzare la coda Biblioteca, ingerire il Traite dOr, riparare pipeline oracolo
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* DIAGNOSI del fallimento del task programmato ChatGPT Archive Reindex: lerrore --dangerously-skip-permissions cannot be used with root/sudo NON e SSH ne Hetzner, e un messaggio della CLI Claude Code. Lo strumento Command Center VM passa da /vm/task che gira la stringa alla CLI claude come root, che rifiuta il flag ed esce. Stesso bug documentato il 07/08
* chat S20260910-claudesi1ref-1kurya6 chiusa senza prova
* Flag deep_archive_new.flag fermo dal 19-21 luglio con 27 documenti mai reindicizzati
* contesto ricostruito da riprendi_chat
* VM in fetch failed: recuperata con la sequenza documentata status/reset/90s
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento
* Reindex lanciato con job.py id reindex_oracle, flock su Hetzner
* Traite dOr trascritto e INSERITO in biblioteca.corpus doc_id DEEP_4616b9112532634b71f1, 13.363 caratteri, lingua fr, tier extended, verificato con query BQ. Flag ora a 28 righe
* BUG /vm/task RISOLTO alla radice. La route statica invoca claude --dangerously-skip-permissions -p COMANDO
* la CLI rifiuta il flag da root. Installato wrapper /usr/local/bin/claude che riconosce quello schema ed esegue con bash, e stampa nel log cosa e successo e cosa usare per i job lunghi. CLI vera spostata in claude.real. VERIFICATO: task di prova ha creato davvero /tmp/fix_test.txt
* Reindex 1 completato in 20 minuti (job reindex_oracle DONE rc=0)
* SCOPERTA RACE CONDITION: il documento inserito DURANTE il reindex e stato svuotato dal flag senza essere indicizzato. Verificato con ricerca BM25 su Hetzner: Fresse-Louis non trovato. Ri-flaggato e rilanciato job reindex_traite
* SCOPERTO limite ~100KB del body di /vm/exec-direct (default Express), fallimento muto con ok:false e stderr vuoto
* AUDIT RETRIEVAL vs checklist 7 tecniche stato dellarte: BM25 v3 OK con query expansion multilingue DeepSeek + boost wiki terms
* dense e5 OK peso 1.6
* fusione RRF k=60 OK
* cross-encoder BGE-reranker-v2-m3 OK con retry adattivo se best<0.30
* diversificazione per famiglia presente nel server (parametro diversifica, bm25_http_server.py riga 193) ma agent_kimi NON la richiede: rischio top-k ridondante dalla stessa opera
* nessuna strumentazione latenze per stadio
* 22/08/2026 IMMAGINI RISOLTE: il canale giusto NON e' exec-direct ne' URL firmati, ma POST /gcs/public-upload dal container Claude. Collaudo: JPEG 2.127.271 byte in una chiamata, md5 identico dopo download pubblico. Vedi learning_1787387382962_bq9g7v
* 22/08/2026 Route /gcs-upload-url RIMOSSA (backup in backups/routes/): richiedeva iam.serviceAccounts.signBlob che il SA Cloud Run non ha e la VM non puo' concedersi. Superata da /gcs/public-upload, che non firma nulla
* 22/08/2026 Reindex portato da SETTIMANALE (lun 03:40) a GIORNALIERO 03:40 con flock: la coda restava ferma fino a 7 giorni. Prima esecuzione reale della catena cron collaudata oggi
; Provato ed escluso :
* Trasferire le foto alla VM per OCR tesseract: /vm/exec-direct rifiuta payload sopra ~100KB e fallisce IN SILENZIO (ok:false, stderr vuoto). Falliti 3 tentativi: base64 intero, compresso, a blocchi. Strategia cambiata: trascrizione lato Claude e trasferimento del solo testo
* Programmare il reindex via /vm/task: e la causa del guasto, va sostituito con job.py o cron
* Route /gcs-upload-url per firmare URL di scrittura: creata ma il service account Cloud Run non ha iam.serviceAccounts.signBlob. Va rimossa o va concesso il permesso
* Trasferire immagini via exec-direct: sopra 90KB fallisce muto. La via giusta per i libri e caricarli nella cartella Drive della Biblioteca e usare biblioteca/ingest.py, che gestisce gia scarico e coda OCR tesseract
; Prossimo passo :
; Prossimo passo :
* 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
* 1|Leggere e gestire il messaggio umano non letto: errore gcloud (AttributeError: 'Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* verificare/rigenerare le credenziali (gcloud auth login o activate-service-account) e riportare l'esito in chat
* 2|Eseguire la verifica rimasta dal journal 10:32|grep -E "MANUTENZIONE|GATE_REFLECT" /home/claudeuser/self_improvement/si1.cron.log
* 3|Eseguire le verifiche pendenti precedenti|tail -30 /home/claudeuser/self_improvement/si1.cron.log
* python3 /home/claudeuser/self_improvement/reflect_gate.py --auto
* 4|Definire e verificare il deliverable D1 'consegna verificabile' (es. digest gate rc=0 + righe GATE_REFLECT nel log) e documentarlo|confrontare digest a75a1350e174 e rc del gate
* registrare D1 nel journal
* 5|Aggiornare wiki SI-1_Reflect e Cantieri aperti con l'esito verificato e chiudere il cantiere ripresa_S20260910-claudesi1ref-1kurya6|modifica wiki + entry GIORNALE END verificato
* 6|SERVE MARCO: sbloccare il gate umano del cantiere ripresa_S20260910-claudesi1ref-1kurya6 (campanello: esame immediato) se la verifica automatica non basta a chiudere


=== agritainment-sito ===
=== chat-s20260911-clauderegist-sskkcz ===
''Aggiornato 2026-08-22 00:20 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-09-11 23:00 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti)
; Obiettivo : Completare e verificare la pipeline Zoom zoom_recordings_daily.py: chiudere i 2 job backfill in corso, assicurare che le 5 registrazioni recuperate (inclusa Lesson 8, presente solo su cloud Zoom) siano su Drive, definire il deliverable D1 mancante, e risolvere il crash gcloud segnalato nei messaggi umani non letti
; Vincoli in vigore :
; Vincoli in vigore :
* video su 6 canali YouTube di partner diversi
* gate=auto
* slide moduli 3 e 4 inesistenti in WP3
* non chiedere a Marco
* traduzioni = obbligo di ciascun partner da formulario
* verifica prima di dichiarare fatto
; 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)
* chat S20260911-clauderegist-sskkcz chiusa senza prova
* punto 2 le 5 pagine choose linkano tutti i 6 moduli
* contesto ricostruito da riprendi_chat
* punto 4 materiali EN+lingua propria in ogni lingua (EN45 IT46 BG58 EL66 RO52)
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi zoom-registrazioni-daily-0911
* punti 5-6-7 events/meetings/webinar online e nel menu
; Prossimo passo :
* 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
* 1|Riprendere il contesto completo della sessione|python3 /home/claudeuser/scripts/handoff.py --resume zoom-registrazioni-daily-0911
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube
* 2|Verificare se i 2 job backfill avviati alle 18:35 sono terminati con successo|ps aux | grep -iE 'zoom|backfill'
* 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.
* controllare log/output di zoom_recordings_daily.py e del cron installato
; Provato ed escluso :
* 3|Diagnosticare il crash gcloud non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi
* gcloud components update
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403)
* ispezionare ~/.config/gcloud/application_default_credentials.json e ~/.config/gcloud/credentials.db
; Prossimo passo :
* 4|Riparare le credenziali gcloud (ricreare ADC o riattivare service account con key-file valida)|gcloud auth activate-service-account --key-file=<percorso chiave.json> oppure rm ~/.config/gcloud/application_default_credentials.json e rieseguire gcloud auth application-default login
* Consegnare ai partner la lista per canale delle tracce mancanti
* 5|Verificare che le 5 registrazioni recuperate dal cestino Zoom siano scaricate e caricate su Drive, inclusa Lesson 8 (attualmente solo su cloud Zoom)|ls -la sulla cartella di destinazione delle registrazioni
* per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl
* verifica presenza di Lesson 8 su Google Drive
* 6|Definire e produrre il deliverable D1 (consegna verificabile) esplicitamente mancante|precisare la consegna verificabile dalla chat (es. report pipeline + elenco file caricati su Drive) e validarla
* 7|SERVE MARCO: credenziali Zoom S2S (blocco citato nel STEP delle 17:16) e, se la riparazione gcloud richiede login browser/OTP, completare gcloud auth login con Marco|


=== lessico-canonico ===
=== chat-s20260907-esemplari-1p38o3i ===
''Aggiornato 2026-08-13 19:49 UTC'' &mdash; dominio: knowledge
''Aggiornato 2026-09-07 22:02 UTC'' &mdash; dominio: chat_riprese


; 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 : Completare i deliverable mancanti D1-D3 della pipeline-pagina-0609 (pagina how-to-develop-magnetic-presence, WP 7127): stadio PAG-2 di esemplari.py con ESEMPLARI.md per H2, CONFRONTO_2.md e CONFRONTO_3.md con metriche A/B, handoff aggiornato; poi superare l'esame della chat.
; Vincoli in vigore :
; Vincoli in vigore :
* NULL dove la resa non e certa, mai fabbricare
* gate=auto
* integrazioni nelle pipeline solo dopo test (traduttore = sistema live seminari) e dopo benchmark NotebookLM per lOracolo
* non chiedere a Marco
* verifica prima di dichiarare fatto
; 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)
* chat S20260907-esemplari-1p38o3i chiusa senza prova
* 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
* contesto ricostruito da riprendi_chat
* verificato con SELECT per categoria e spot-check
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi pipeline-pagina-0609
; 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|Verificare lo stato del job esemplari-magnetic2_run (build+confronto A/B)|python3 /home/claudeuser/scripts/job.py --status esemplari-magnetic2_run
* 2|Leggere il CONFRONTO_2.md eventualmente prodotto dal job|cat /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md
* 3|Eseguire lo stadio PAG-2 di esemplari.py per generare ESEMPLARI.md per H2 (deliverable D1)|python3 /home/claudeuser/scripts/esemplari.py --slug how-to-develop-magnetic-presence --lang en --confronta 2
* 4|Completare CONFRONTO_2.md e CONFRONTO_3.md con le metriche A vs B (deliverable D2)|python3 /home/claudeuser/scripts/esemplari.py --slug how-to-develop-magnetic-presence --lang en --confronta 3
* poi verificare/editare /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md e CONFRONTO_3.md
* 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


=== migrazione-aigw ===
=== pipeline-pagina-0609 ===
''Aggiornato 2026-08-13 16:56 UTC'' &mdash; dominio: infrastruttura AI / gateway
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine


; Obiettivo : Instradare ogni lavoro AI sul fornitore piu economico che lo sa fare, dal gateway
; 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) :
; 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
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* LANCIATO in asincrono il censimento che mancava: job censimento_aigw, scripts/censimento_aigw.py. Cerca su VM, translator e media quali script usano ancora sk-or-v1, api.deepseek.com, openrouter.ai, dashscope, moonshot direttamente invece del gateway. Sola lettura, nessuna modifica. Esito in gs state/migrazione_aigw.json
* 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)
* CHIUSO UN BUCO in chiusura.py: la regex dei rinvii copriva nella prossima sessione al singolare ma non nelle prossime sessioni al plurale, ne progressivamente, man mano, a tappe. Aggiunto anche il gruppo CODA: la coda della, li migro, restano da fare. Provato sul testo reale: ora pesca tutti e tre i punti piu la mancanza del contratto
* la condensazione 7b scartata
* COST GUARD OPENROUTER ANALIZZATO: scattato 13/08 alle 18:45. NON per spesa eccessiva. Spesa giornaliera 1.33 su tetto 3.00, accelerazione 0.01 USD ogni 5 min. Ha scattato la condizione rest < CREDIT_MIN: credito residuo 4.99 contro soglia 5.00 USD. VERDETTO: guard APPROPRIATO, sta segnalando credito quasi esaurito non spreco. Spesa settimanale 35.68 USD
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* Processi fermati dal guard: cita_service.py, svc oracle-agent, svc oracle-cita. Per riattivare: rm /opt/oracle/openrouter_guard.state
* 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
* PREZZI VERIFICATI 13/08/2026: Grok 4.6 uscito il 12/08 a 2.00 in / 6.00 out, contesto 500K, cache a 0.50. Grok 4.3 a 1.25/2.50 con contesto 1M. Grok 4.1 Fast a 0.20/0.50 con contesto 2M, il piu economico dei frontier. Grok Build 0.1 per codice a 1.00/2.00. ATTENZIONE: ogni tariffa RADDOPPIA sopra i 200K token di prompt
* tempo macchina ~45 min
* OpenCode Zen: gateway curato senza ricarico, vende a costo e copre solo le commissioni di pagamento. Ricarica automatica di 20 USD sotto i 5. Alcuni modelli gratuiti a tempo (Grok Code Fast 1, DeepSeek V4 Flash). Endpoint compatibile OpenAI: opencode.ai/zen/v1
* tempo chat ~35 chiamate
* LISTINO VIVO costruito: scripts/listino.py in cron alle 04:30. Legge i prezzi reali dal catalogo OpenRouter e sceglie, per ogni CLASSE DI LAVORO, il modello piu economico che soddisfa il requisito di contesto. Esito in gs state/listino_modelli.json
* 07/09: pagina2.py installato
* CLASSI E VINCITORI AL 13/08: volume qwen3-8b 0.12/0.46, giudizio deepseek-chat 0.26/1.03, lungo glm-5.2 0.49/1.54, profondo glm-5.2 0.49/1.54, codice deepseek-chat 0.26/1.03. Costo misto calcolato come 75 per cento input piu 25 per cento output, il profilo dei nostri lavori
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* SCOPERTO che il gateway aigw ha GIA un instradamento opencode (provider, opencode_models, oc_cost): era gia stato aggiunto
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
* SCOPERTO che Grok 4.1 Fast a 0.20/0.50 NON e su OpenRouter, esiste solo sullAPI xAI diretta. Ma non serve: qwen3-8b costa meno
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509 (pagina2.py esiste; la produzione passa dalla fabbrica)
* 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
; 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
* Ruotare le chiavi provider prima che lultimo client sia migrato: spacca i non migrati
* Alzare CREDIT_MIN o disattivare il guard per far ripartire i servizi: nasconderebbe il problema vero, che e il credito in esaurimento
* Passare tutto a Grok 4.6 per riflesso: costa il doppio in uscita rispetto a Grok 4.3, ed e posizionato per codice e agenti non per uso generale
* 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
; Prossimo passo :
; 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
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* Misurare il risparmio reale su una settimana confrontando calls.jsonl prima e dopo
* 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).


=== finanze-classificazione ===
=== chat-s20260904-claudegatepi-e9nzup ===
''Aggiornato 2026-08-11 15:08 UTC'' &mdash; dominio: contabilita / finance
''Aggiornato 2026-09-05 00:22 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte
; Obiettivo : Completare e provare i deliverable D1-D4 di R148 (wiki_new.py operativo in /home/claudeuser/scripts, gate.sh che blocca edit.php diretto, registro pipeline WIKI-1 aggiornato, memoria CC + riga History wiki), rimasti senza prova alla chiusura END_NONVERIFICATO
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte
* chat S20260904-claudegatepi-e9nzup chiusa senza prova
* 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
* contesto ricostruito da riprendi_chat
* 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
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi mro-r103-r104
* 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
* 1|Eseguire la verifica rimasta in next: confermare che wiki_new.py è operativo e che la pagina 'Guida pipeline pagine' (ricostruita da rev 2782) esiste|python3 /home/claudeuser/scripts/wiki_new.py --wiki ops --title "Guida pipeline pagine" --cerca-solo
* ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe)
* 2|Verificare D2: gate.sh blocca edit.php diretto e rimanda a wiki_new.py|tentare una richiesta diretta a edit.php (es. curl) e confermare blocco e rimando a wiki_new
* controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction
* controllare nei log le 69 richieste dal gate del 2026-09-05 00:17
* 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
* 3|Verificare D3: registro pipeline WIKI-1 aggiornato con la sessione R148|cercare la riga R148/sessione nel registro WIKI-1 (es. python3 /home/claudeuser/scripts/wiki_new.py --wiki ops --title "WIKI-1" --cerca-solo oppure file registro locale)
* 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
* 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
* 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
=== memo-mailbox-import-isicnvstaff ===
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email
* 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 :
* Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga


=== referenze-canon ===
; 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)
''Aggiornato 2026-08-10 20:26 UTC'' &mdash; dominio: Referenze E-E-A-T
; 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) :
* 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 : VIA eseguito: pubblicazione dossier referenze
; 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
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* 3 tabelle BQ (canon 31, libri 12, citazioni 30)
* chat S20260903-claudemicroc-1j0h7kz chiusa senza prova
* 3 pagine rassegna LIVE su neurolinguistic.com/referenze/rassegna/ (lastampa-2002, autostima-ipnosi-shock, donnad) con screenshot-verify OK
* contesto ricostruito da riprendi_chat
* job wayback_rassegna programmato +4h con retry
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi microcredential-passaggi-finali-ester-0109
* NGH/NFNLP/ministero-psicoterapeuti/sindacato-FR integrati in pagina+llms+canon
; Prossimo passo :
* GCS docs/referenze/ sincronizzato
* 1|Pubblicare il PDF RO ufficiale online su R1 (D1, segnato MANCA)|pubblicazione su R1 del PDF della RO ufficiale
* Sheet 1COwn3BXgkzFmKTujVimzCX_X5P_1Q1a_uL2CfEt27oM con 3 tab
* 2|Pubblicare il PDF BG con indice corretto online (D2, segnato MANCA)|pubblicazione su R1 del PDF BG con indice corretto
* canon 43 righe
* 3|Pubblicare i PDF IT e EL con indice tradotto online (D3, segnato MANCA)|pubblicazione su R1 dei PDF IT ed EL con indice tradotto
* scoperta portfolio marchi (EMDR=EMF di Marco, TimeLine, Ipnorapport, visura 1996)
* 4|Copiare i PDF in uploads/deliverables e aggiornare Drive (D4, segnato MANCA)|cp dei PDF in uploads/deliverables/ e sincronizzazione della cartella Drive
* Ivinghoe registrata subordinata ad Anneville
* 5|Esaminare le 20 richieste segnalate dal gate (GIORNALE 2026-09-03 08:47)|rilettura del gate e processamento/accodamento delle 20 richieste
* 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 :
* 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


=== cairn-archive ===
=== chat-s20260901-claudeanalyt-1ambje5 ===
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com
''Aggiornato 2026-09-01 14:23 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Obiettivo : Completare l'analisi ANA-1: eseguire gli script di analisi visite, produrre i deliverable mancanti D1 (trend visite GA4/GSC per sito e pagine nuove), D2 (incrocio date dei 6 rifacimenti RAIDA/pillar con l'andamento visite) e D3 (giudizio sulla strategia con prove numeriche), e pubblicare il report finale.
; Vincoli in vigore :
; Vincoli in vigore :
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* gate=auto
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* non chiedere a Marco
* planned != held
* verifica prima di dichiarare fatto
* mail solo redatte
; Fatto (con prova) :
; Fatto (con prova) :
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* chat S20260901-claudeanalyt-1ambje5 chiusa senza prova
* nota interna su AUD-001 col.N
* contesto ricostruito da riprendi_chat
* llms.txt e sitemap-static.xml aggiornati (11 url)
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi cruscotto-marketing-quotidiano
; 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
* 1|Eseguire lo script di analisi visite indicato come next alla chiusura|python3 /home/claudeuser/scripts/analisi_visite.py
* facsimili redatti delle 3 mail
* 2|Eseguire gli script di coorti per i trend GA4 e GSC necessari a D1|python3 /home/claudeuser/scripts/ga4_organico_coorti.py && python3 /home/claudeuser/scripts/gsc_trend_coorti.py
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* 3|D1: completare l'analisi trend visite GA4/GSC per sito e pagine nuove|integrare i risultati nel report gs://isicnv-command-center-routes/docs/analisi_visite_20260901.md
* valutare pagina EN/IT bilingue
* 4|D2: incrociare le date dei 6 rifacimenti registrati (RAIDA, pillar) con l'andamento visite|usare registro.json (registro pipeline, copia anche su GCS) e output di analisi_visite.py
* 5|D3: redigere il giudizio sulla strategia con prove numeriche|aggiungere sezione conclusiva al report 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


== Sospesi ==
=== ricalco-guida-2siti ===
=== hpr_pilota ===
''Aggiornato 2026-08-31 14:45 UTC'' &mdash; dominio: pagine pillar
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; 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 :
* read-only sul resto
* restano bozze finche Marco non dice approvo
* budget run 15
* pagine esistenti si preservano e si arricchiscono in coda
* giudizio col test delle 4 domande sul vault
; Fatto (con prova) :
; Fatto (con prova) :
* script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh)
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU)
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo
* 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
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run)
* il gateway aigw espone solo chat/completions, non /v1/messages
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata).
* passo 3 marcoparet parte dopo 20 min
; Provato ed escluso :
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509
* 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
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key)
* python3 job.py --status ricalco_guida_2siti_v2_run
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2
* poi controllo_visivo screenshot e consegna link
* (d) a fine run ripristinare il guard togliendo i #
* anelli neuro dedicati (agente_anima.py, agente_stupore.py, due_motori.py PID 11780) se la catena non li copre
* link da art-40.htm e da 11304 rapport-magnetico verso la nuova (preservando il testo)


=== pipeline_mancanti_censimento ===
=== paret-ai-pillar ===
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline
''Aggiornato 2026-08-27 12:01 UTC'' &mdash; dominio: hosting/siti + ai-search


; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; 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 :
; Vincoli in vigore :
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
* 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) :
; 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
* 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 /il-potere-dellocchio/ 200 self-canonical
* /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.
* 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/)
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509 (le pagine le produce la fabbrica in cron)
; Provato ed escluso :
* Nessuna modifica live eseguita. Non riutilizzare alla cieca potenzia_pillar.py: contiene pipeline precedente e testo con claim senza fonte.
* cancello di verifica su HTML renderizzato: rumore per costruzione, va sul corpo markdown
; Prossimo passo :
; Prossimo passo :
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* generare bozze GLM incollando brief_pillar.txt nel prompt
* partire dal primo cluster
* bibliotecario --verifica come cancello dopo bonifica e su ogni traduzione
* agganciare ark Gallica del Rapport 1784 per chiudere il fatto commissari


=== chat-s20260911-si1secondary-qqnl4c ===
=== modalita-contabilita ===
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-08-25 22:42 UTC'' &mdash; dominio: finance


; 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
; Obiettivo : Modalita Contabilita: rispondere in automatico a Perche questa spesa
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* NON ripartire da zero: spec TESORIERE architecture_1783460671236_4nxv6j
* non chiedere a Marco
* riusare classification_rules (678 regole), controparti, pagamenti_ricorrenti_attesi, tesoriere_v2.py, argo_watch.py
* verifica prima di dichiarare fatto
* MAI LLM sui numeri
* coordinarsi col cantiere finanze-classificazione
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* Riletto MRO v7.1 completo
* contesto ricostruito da riprendi_chat
* recuperata spec TESORIERE 4 tier
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento
* censiti asset esistenti (tabelle isicnv_finance, tesoriere_daily/v2, cantiere finanze-classificazione)
* best practices raccolte: tagging deterministico prima di tutto, alert+allocazione insieme, closed-loop spesa-lead-ricavo con identificatore comune
* 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)
* pagina wiki Contabilita creata e verificata HTTP 200 con template 5 blocchi + quadro VMK
* SEGNALATO A MARCO: saldo residuo VMK 2415 EUR dichiarato al 07/05, sollecito 16/06 senza risposta
* perche_spesa.py deployato (5 blocchi, alias VMK=Veneto Marketing Lab, cron 07:25 daily-ads con tg solo se anomalo)
* sentinella DA_CLASSIFICARE cron 03:50 (baseline 10012)
* riconciliazione VMK 21/22
* DISCREPANZA: lista VMK somma 25546 ma dichiarano 26546, saldo possibile 3415 non 2415, da chiarire con Marina
* wiki Contabilita sez.8 aggiornata
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): allievi_360_pipeline + riconciliazione_cassa (riconcilia_cassa.py in cron 07:35, allievi_360_worker ogni 20 min)
; Provato ed escluso :
* Progettare rami di spesa ex novo: esistono gia come classification_rules+controparti+tier
* /memory/get non esiste, full text memoria via gsutil su GCS
; Prossimo passo :
; 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
* 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
* 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
* 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)
* controllare log/ultima esecuzione dell'orchestrator
* 5|Produrre la consegna verificabile D1 (output crontab -l di VM e secondary + log esecuzione) e chiudere la chat con prova di completamento|aggiornare il GIORNALE con END verificato e D1 consegnato al posto di 'D1 MANCA'


=== chat-s20260910-claudesi1ref-1kurya6 ===
=== harness-standard ===
''Aggiornato 2026-09-11 23:40 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-08-17 15:01 UTC'' &mdash; dominio: architettura / knowledge base


; Obiettivo : Chiudere verificato il cantiere SI-1 Reflect (chat S20260910-claudesi1ref-1kurya6): eseguire le verifiche rimaste su si1.cron.log, definire la consegna verificabile D1, aggiornare wiki/handoff, e gestire il messaggio umano non letto sull'errore gcloud.
; Obiettivo : Harness gerarchico e Marco fuori dal loop di esecuzione
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* La gerarchia deve SOSTITUIRE substrati esistenti, mai affiancarsi: oggi ne esistono 7 paralleli
* non chiedere a Marco
* Ogni routing file ha 6 sezioni fisse: chi esegue / accessi / come si verifica / criterio di accettazione / fallimenti noti / strumenti ammessi
* verifica prima di dichiarare fatto
* Nessuna credenziale nei routing file, solo puntatori
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260910-claudesi1ref-1kurya6 chiusa senza 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/)
* contesto ricostruito da riprendi_chat
* Misurato: attrito piatto sulla lunghezza della chat (14-18 per 100 msg in ogni fascia) = problema strutturale non di contesto
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento
* Misurato: autocorrezioni Claude raddoppiano oltre 25-50k token di contesto (8,8 -> 17,2 per 100 msg) = context rot reale, ginocchio a 25-50k
; Prossimo passo :
* Misurato: 899 route nel bucket, 525 MAI citate in nessuna chat, ~25 reggono il sistema
* 1|Leggere e gestire il messaggio umano non letto: errore gcloud (AttributeError: 'Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* Misurato: 8 domini coprono il traffico (spedizioni 190 chat, VM 155, BQ 151, hosting 118, token 114, route 77, drive 76, wiki 59)
* verificare/rigenerare le credenziali (gcloud auth login o activate-service-account) e riportare l'esito in chat
* Scritti HARNESS.md (1 pagina) e INFRA-VM.md (primo routing file compilato)
* 2|Eseguire la verifica rimasta dal journal 10:32|grep -E "MANUTENZIONE|GATE_REFLECT" /home/claudeuser/self_improvement/si1.cron.log
* Creato handoff.py su VM + pagina wiki Cantieri aperti
* 3|Eseguire le verifiche pendenti precedenti|tail -30 /home/claudeuser/self_improvement/si1.cron.log
* 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
* python3 /home/claudeuser/self_improvement/reflect_gate.py --auto
* INFRA-VM.md primo routing file compilato su 6 sezioni fisse
* 4|Definire e verificare il deliverable D1 'consegna verificabile' (es. digest gate rc=0 + righe GATE_REFLECT nel log) e documentarlo|confrontare digest a75a1350e174 e rc del gate
* handoff.py operativo su VM (GCS + wiki + memoria CC in una chiamata), testato write/resume/list
* registrare D1 nel journal
* Pagina wiki Cantieri aperti creata e verificata via getText.php
* 5|Aggiornare wiki SI-1_Reflect e Cantieri aperti con l'esito verificato e chiudere il cantiere ripresa_S20260910-claudesi1ref-1kurya6|modifica wiki + entry GIORNALE END verificato
* 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)
* 6|SERVE MARCO: sbloccare il gate umano del cantiere ripresa_S20260910-claudesi1ref-1kurya6 (campanello: esame immediato) se la verifica automatica non basta a chiudere
* 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
=== chat-s20260911-clauderegist-sskkcz ===
''Aggiornato 2026-09-11 23:00 UTC'' &mdash; dominio: chat_riprese
 
; Obiettivo : Completare e verificare la pipeline Zoom zoom_recordings_daily.py: chiudere i 2 job backfill in corso, assicurare che le 5 registrazioni recuperate (inclusa Lesson 8, presente solo su cloud Zoom) siano su Drive,
; Provato ed escluso :
; Provato ed escluso :
* Adottare ahar / agentharnesses-cli: presuppone Claude Code su repo locale, Marco lavora da smartphone via route CC
* ipotesi PT-forte smentita dai dati
* Ridurre la lunghezza delle chat come rimedio: i dati mostrano che non e la lunghezza il problema
; Prossimo passo :
* Marcatore regex bloccato per misurare Claude in difficolta: falsi positivi pesanti (denaro bloccato, siti bloccati AGCOM)
* 1) hub biblioteca-magnetica + 10 pagine-periodo
* La cartella Drive 1TpajgASPSO non e accessibile da nessun account: 404 su tutti i token
* 2) anima retroattiva cluster + coda entita' regia (schema+attribuzione ovunque, referenze solo ammiraglie)
* Creare un nome nuovo tipo HARNESS.md accanto al Master: errore, aggiungeva un substrato invece di sostituirlo. Il nome resta MASTER READ ORDER
* 3) pagine satellite domini tematici (franzantonmesmer, miltonerickson, hypnotisme, personalmagnetism)
* Ridurre i turni continua come rimedio: sono il 2,7 pc, il costo vero sono le domande di Claude
* 4) marcoparet.com publishing path + serie M (M1/M2 GDoc in attesa risposte)
* Spostare subito le 525 route in routes_deprecated: mai citata in chat NON significa mai usata, possono esserci chiamanti cron o altre route. Prima cercare i chiamanti
* 5) trascrizioni P9/P10 GDoc
* Rinominare o cancellare i token morti: si rompe chi li referenzia. Meglio TOKENS_STATUS.json come fonte di verita, senza toccare i file
* 6) misura lunedi'
* Cancellare i vecchi .txt: rinominati SUPERATO, reversibile
 
* Riscrivere il canonico da zero: e append-only per tracciabilita, si aggiunge intestazione in cima
=== lessico-canonico ===
* Rifare il login della CLI Claude Code sulla VM per riparare /vm/task: richiede OAuth interattivo di Marco, e job.py risolve senza dipendenze
''Aggiornato 2026-08-13 19:49 UTC'' &mdash; dominio: knowledge
* Fidarsi della documentazione delle route senza provarle: due bug su due (headless GET, vm/task) erano documentati male
 
* Testare /vm/reset e /routes/deploy: distruttive, saltate di proposito
; 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
* Cancellare i record di prova via /memory/delete: la route NON ESISTE (Cannot POST). Restano da ripulire test_1786141053523_gbv40d e system_state_1786092629694_7idl9o
; Vincoli in vigore :
* Fidarsi di un upload senza rileggere il file caricato: il nome era giusto ma il contenuto no. La verifica deve confrontare il CONTENUTO, non solo lo status 200
* NULL dove la resa non e certa, mai fabbricare
* Usare un modello giudice come CANCELLO di autorizzazione a procedere: produce falsi FAIL, quindi bloccherebbe lavoro corretto. Va usato come valutatore aggregato su golden set, con revisione umana dei numeri, non come autorita per singola decisione
* integrazioni nelle pipeline solo dopo test (traduttore = sistema live seminari) e dopo benchmark NotebookLM per lOracolo
* Giudice con potere di bloccare: produce falsi FAIL e blocca lavoro corretto. Marco ha corretto il disegno: il giudice puo solo TOGLIERE interruzioni, mai aggiungerne. Con questa asimmetria non esiste caso in cui peggiori le cose
; Fatto (con prova) :
* Un giudice esterno con potere di bloccare: tutti e tre i filtri (continua, resta, e leval) seguono la stessa asimmetria, possono solo TOGLIERE interruzioni
* 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)
* Innescare lescalation sul numero di passaggi: non distingue progresso da stallo. Il segnale giusto e ripetizione senza cambio di stato
* 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
* Segnalare a Marco i problemi trovati invece di risolverli: e la domanda inversa. Si fa, si lascia una via di ritorno (backup, rinomina, .disarmato) e si offre di disfare
* verificato con SELECT per categoria e spot-check
* Cancellare senza backup: ogni intervento di oggi e reversibile
* 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
* Bloccare una voce solo perche contiene una cifra: analizzare importi grandi costa zero e va eseguito. La soglia dei 2 euro riguarda quanto costa ESEGUIRE lazione, non le cifre nominate
; Prossimo passo :
* Adottare Qwen come esecutore senza misurarlo: il test sui 6 casi doro e la via
* 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
* Fidarsi del numero dei 16 giorni: non trovato in nessuna fonte
 
* Aggiungere regole al Master sperando che vengano lette: il buco esisteva perche i filtri guardavano le domande e le liste, non il messaggio. Il controllo va messo dove si passa davvero, cioe alluscita
=== finanze-classificazione ===
* Pubblicare una versione del Master senza misurarla: e il difetto che larticolo Harness-R1 documenta, i modelli fissi propongono patch plausibili che peggiorano
''Aggiornato 2026-08-11 15:08 UTC'' &mdash; dominio: contabilita / finance
* Fidarsi di una singola esecuzione delleval: serve la mediana su piu run, e anche cosi oggi non basta
 
* Il giudice LLM come strumento di misura: varianza 3 punti su 6 sullo stesso input, inutilizzabile per un gate
; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte
* Le tre conclusioni basate su di lui: v7.7 peggiorata (falso), Qwen inferiore a DeepSeek (falso), differenze fra versioni del Master (non dimostrate)
; Fatto (con prova) :
* Far decidere a un modello cosa eseguire alla ripresa: e la strada al loop infinito e al danno non sorvegliato. Il comando lo scrive la sessione quando e lucida, il guardiano lo esegue e basta
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte
* Riarmo automatico del cost guard: resta manuale di proposito, ma la sentinella ora lo segnala
* 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
* Far dedurre a un modello quale sia il prossimo punto: il piano lo dice in modo deterministico. Nessun modello nel ciclo di ripresa
* 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
* Secondo agente LLM come controllore di qualita: varianza inaccettabile, misurata. LLM solo dove il criterio e davvero qualitativo, mai per verificare fatti controllabili
* 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
* Fidarsi che una pagina sia a posto perche risponde 200: cairn risponde 200 e ha due link rotti
* Stato attuale: DA_CLASSIFICARE 8.389 mov / 1.743.096 eur, DA_CHIARIRE 98 mov / 200.025 eur
* Chiedere a Marco di scrivere vai per far proseguire: e usarlo come schedulatore. La chat crea il piano e lo lancia, poi puo anche morire
* ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe)
* Far proseguire la catena dopo un collaudo respinto: si ferma e avvisa, con lelenco preciso dei difetti
* controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction
* Riparare i link CAIRN: non erano rotti. Prima di riparare, verificare che il difetto esista. Un controllore che segnala falsi difetti e il male che volevamo evitare, e il mio lo faceva
* 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
* Spiegare a parole a un modello esterno come avviare un lavoro lungo: serve un blocco copiabile con una chiamata sola, non una procedura a passi
* 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
* Fidarsi dello status 200 delle upload: la verifica deve leggere il CONTENUTO. E la terza volta che questo controllo salva una pubblicazione sbagliata
* INTEGRITA VERIFICATA: 14.492 righe prima e dopo, somma importi 4.351.207 identica
* Chiedere a Marco di scrivere vai: il lavoro andava lanciato come catena
* 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
* Il mio primo tentativo di catena e fallito al punto 1 per virgolette annidate dentro ssh: risolto mettendo i comandi in cita_step.sh invece che inline
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000
* Un agente che legge il log e decide ed esegue comandi da solo: e la strada al danno non sorvegliato. Esegue solo rimedi da manuale gia scritti
* RESIDUO ora 4.907 mov / 938.723 eur (partenza 8.389 / 1.743.096)
* per il resto propone e decide Marco
* 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
* Insistere con un rimedio noto che fallisce: ora al primo fallimento passa alla proposta
* 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
* Lasciare che due modelli daccordo scavalchino il veto deterministico: possono sbagliare insieme, il nostro giudice LLM oscillava di 3 punti su 6
* 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
* Contare un errore tecnico di un revisore come voto contrario: e sicuro ma e una bugia sulletichetta
* 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
* Inventare la lista dei guasti: e stata estratta dai 51 learnings e dai sintomi realmente registrati
* RIMEDIO: creato scripts/riapplica_regole.py, in cron alle 07:10 (dopo il sync). Ripopola controparte_nome e riapplica classification_rules
* Mettere il manuale nel codice: sta su GCS cosi si estende senza modificare il riparatore
* 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
* Dare per buono un DNS non risolvibile riferito da un modello: il CC risponde 200 da qui. Prima di credere a un guasto, verificarlo dal proprio lato
* RIPRISTINO ESEGUITO: da 8.389 a 4.646 movimenti, da 1.743.096 a 702.043 euro
* Cancellare backup_staging senza verificare: prima confrontati i nomi con GCS
* 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
* Continuare a patchare un file quando le scritture falliscono: il problema era il disco, non il codice
* la libreria restituisce num_dml_affected_rows
* NVIDIA e MicrosoftDocs skills: fuori stack
* 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')
* addyosmani/mattpocock: quality gates gia coperti da V/B/C e giudice/verifica
; Provato ed escluso :
* Aspettare che il disco arrivi al 100 per cento: le scritture falliscono in silenzio e i file diventano vuoti senza un errore
* 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
* Cancellare per liberare: le cartelle fredde salgono su GCS e restano recuperabili
* Fidarsi dei nomi di colonna italiani: il ledger usa date amount_src category description NON data importo categoria
* Fidarsi del codice di uscita di gsutil per dichiarare un caricamento riuscito: va confrontato il numero di file
* Scrivere il marcatore nel campo note: e FLOAT64 non STRING, lUPDATE fallisce. Usare classifier_blob che e STRING
* Soglie di panico: se la pulizia riporta a 88 e larchiviazione parte a 90, il sistema non libera mai. Serve un obiettivo
* Riclassificare a mano controparte per controparte prima di aver popolato controparte_nome
* Spostare una cartella e creare un collegamento senza montare la destinazione: ho rotto la biblioteca per unora. Il collegamento va creato DOPO aver verificato che la destinazione risponda
* 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
* Un cost guard sulla spesa dei modelli che blocca ogni ripresa: i lavori che non usano modelli devono proseguire
* Il campo note e FLOAT64: usare classifier_blob per i marcatori
* Riarmare il guard adesso: il credito e davvero a 2.62 USD, e una segnalazione vera
* Solo 12 notifiche Wise nel periodo contro 113 movimenti: la posta copre una minoranza dei casi
* Partire in modo DURO: se il controllo ha un difetto blocca tutti i modelli di colpo. Prima si osserva quante chiamate arriverebbero senza processo, poi si stringe
* 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
* Far scaricare il registro al gateway da GCS: 403, il bucket non e pubblico e non va reso tale
* Fidarsi di un ESITO FATTO senza ricontrollare il giorno dopo: era vero quando scritto e falso dodici ore dopo
* Un secondo accesso MCP di scorta per i 503: il servizio non era rotto, era spento per risparmio. Due porte sullo stesso servizio addormentato danno lo stesso risultato
* Stringhe SQL con apostrofo (Spese per l ufficio): usare ScalarQueryParameter
* Ampliare la VM per risolvere i 503: sono due cose diverse, Cloud Run e la VM
; Prossimo passo :
* Passare a DURO sulla base di zero rifiuti misurati prima che il controllo esistesse: e la stessa classe di falso successo di /vm/task e dello status 200
* Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga
* Esentare per numero di processo: si esenta per NATURA del cliente, cosi non serve registrare i sorveglianti
* Esenzioni permanenti e non motivate: diventano buchi che nessuno ricorda di aver aperto
* Far decidere allanalisi chi esentare: propone i candidati con i numeri, concede Marco
* Trattare il caso come dimenticanza o pigrizia: e un errore di ordinamento, e si corregge con una regola di ordinamento non con un richiamo
* Costruire Hermes Daily da zero: esisteva gia, mancava solo la F3
* Proposte di buone pratiche generiche: senza citazione della prova vengono scartate automaticamente
* Eseguire la proposta cosi come formulata: diceva sostituire /vm/task con job.py, ma /vm/task lho gia riparato col wrapper il 09/08. Il problema vero era piu grande, la dipendenza da una chat esterna
* Curare il sintomo dei 90KB: il male era che la scrittura fallisse in silenzio, non la dimensione
* Tenere modelli Anthropic nel listino e nei revisori: Marco non usa quellAPI e il credito OpenRouter e a 2 dollari
* Rifiutare col guard scattato: ferma il lavoro. Meglio retrocedere
* Chiedere a Marco informazioni sul sito: erano tutte ricavabili da wp-cli e dal registro. Laccesso cera, wp-cli era installato
; Prossimo passo :
* Lanciare wiki_proprieta.py --controlla su tutte le 286 website per contare le pagine promesse mancanti
* Scansione Wordfence dal pannello
* Domani 08:15 rapporto registro processi


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


; Obiettivo : Chat 'brand dr. Paret' CHIUSA (16/08 sera). Prossima chat: QUESTIONARI per nuove pagine (neurolinguistic + marcoparet.com)
; Obiettivo : prova del gate di chiusura
; Vincoli in vigore :
; Fatto (con prova) :
* testo pubblico mai da Claude (watermark)
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* citazioni solo con fonte completa e gate verbatim
* wiki riallineata dopo analisi cantieri 16/09
* fonte sempre dichiarata in pagina
 
=== prova-pipeline-v2-0914 ===
''Aggiornato 2026-09-14 13:02 UTC'' &mdash; dominio: -
 
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
; Fatto (con prova) :
; Fatto (con 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
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* 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
* strato 2-3 via prova_v2_run.py
* 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/
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
* 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)
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): pagina di prova gia approvata e integrata nella fabbrica
* 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)
; Prossimo passo :
* estrazione casi 0 valide (gate severo, temi da raffinare: Pigeaire, Husson)
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* 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/
* 2) regole_deterministiche.py: M104.2 con controllo del modo verbale, H2Q solo sugli H2 veri
* 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
* 3) fabbrica.py: prompt di stesura = Fasi 5-24 della v2, strati 2-3 a valle
* 14/08 pomeriggio: (a) incipit magnetismo positivizzato (formula Marco, backup pre_incipit)
 
* (b) pagina INTERVISTA pubblicata post 11291 /blog/intervista-magnetismo-personale/ 15 Q&A parole Marco, link incrociati
=== espressioni-pipeline ===
* (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
''Aggiornato 2026-09-14 10:59 UTC'' &mdash; dominio: -
* 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)
 
* Q2 rimossa da 11285
; 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>"
* 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
; Fatto (con prova) :
* 3576: 94/82
* 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)
* 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 :
* 1) hub biblioteca-magnetica + 10 pagine-periodo
* 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
* 2) anima retroattiva cluster + coda entita' regia (schema+attribuzione ovunque, referenze solo ammiraglie)
 
* 3) pagine satellite domini tematici (franzantonmesmer, miltonerickson, hypnotisme, personalmagnetism)
=== r103_giudice_ko ===
* 4) marcoparet.com publishing path + serie M (M1/M2 GDoc in attesa risposte)
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
* 5) trascrizioni P9/P10 GDoc
* 6) misura lunedi'


== Chiusi ==
; 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.
=== prova_parcheggio_gate ===
''Aggiornato 2026-09-16 21:46 UTC'' &mdash; dominio: -
 
; Obiettivo : prova del gate di chiusura
; Fatto (con prova) :
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di 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)
* wiki riallineata dopo analisi cantieri 16/09
; Prossimo passo :
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* print(r.modelli())
* print(r.esamina('prova'))"


=== prova-pipeline-v2-0914 ===
=== si1_proposer_target ===
''Aggiornato 2026-09-14 13:02 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-11 22:31 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
; Obiettivo : SI-1: il proposer deve vedere il file target prima di scrivere replace/patch
; Fatto (con prova) :
; Fatto (con prova) :
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* 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
* strato 2-3 via prova_v2_run.py
* prova sintetica 2/2 ANCORATA
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
* memory_add risponde 200 (titoli con due punti e testi da 6000 char): il 400 di ieri non e riproducibile
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): pagina di prova gia approvata e integrata nella fabbrica
* scrittura wiki handoff: rc=0
; Prossimo passo :
; Prossimo passo :
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending
* 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


=== bench-regole-0914 ===
=== prova_parcheggio_gate3 ===
''Aggiornato 2026-09-14 05:15 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test


; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore
; Obiettivo : prova
; Vincoli in vigore :
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* 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
* 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) :
* 14/09: script installato
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
* gate deterministico normalizzato sulla finale
* classifica per coppie selezionate
* 14/09: regole_deterministiche.py (21 elementi: correzioni a valle + controlli) integrato nel benchmark (det_dopo)
* su Persuadere: base 69.8 -> migliore senza det 84.5 -> det+chirurgo 86.2
* Doc risultati+pagine: https://docs.google.com/document/d/1kIPZUElTp1wxwWp7gHdKBYStxQilguL28kyS5ULnDMo/edit
* 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
; 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
* python3 /home/claudeuser/scripts/handoff.py --list


=== r103_giudice_ko ===
=== prova_parcheggio_gate2 ===
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test
 
; 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.
; 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)
; Prossimo passo :
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* print(r.modelli())
* print(r.esamina('prova'))"
 
=== si1_proposer_target ===
''Aggiornato 2026-09-11 22:31 UTC'' &mdash; dominio: infrastruttura
 
; Obiettivo : SI-1: il proposer deve vedere il file target prima di scrivere replace/patch
; 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
* prova sintetica 2/2 ANCORATA
* memory_add risponde 200 (titoli con due punti e testi da 6000 char): il 400 di ieri non e riproducibile
* scrittura wiki handoff: rc=0
; Prossimo passo :
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending
 
=== prova_parcheggio_gate3 ===
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test


; Obiettivo : prova
; Obiettivo : prova
Riga 1 809: Riga 1 689:
* python3 /home/claudeuser/scripts/handoff.py --list
* python3 /home/claudeuser/scripts/handoff.py --list


=== prova_parcheggio_gate2 ===
=== pnl3-reverse-nlp-wiki ===
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-09 00:18 UTC'' &mdash; dominio: Wiki pubblica
 
; Obiettivo : prova
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
 
=== pnl3-reverse-nlp-wiki ===
''Aggiornato 2026-09-09 00:18 UTC'' &mdash; dominio: Wiki pubblica


; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com
; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com
Riga 1 836: Riga 1 707:
; Prossimo passo :
; Prossimo passo :
* niente
* niente
=== spedizione-2791-fasce-sentinella ===
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email
; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
; 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) :
* 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
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
* 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)
; Prossimo passo :
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json


=== pillar-next-queue-20260901 ===
=== pillar-next-queue-20260901 ===
Riga 1 864: Riga 1 748:
* verificato md5 con allegati Ester
* verificato md5 con allegati Ester


=== r103-riprendi-chat-esaminatore ===
=== microcredential-passaggi-finali-ester-0109 ===
''Aggiornato 2026-09-01 10:17 UTC'' &mdash; dominio: sovra
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment


; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio
; 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 :
; Vincoli in vigore :
* gate=auto
* gate=auto
; Fatto (con prova) :
* nessuna domanda a Marco
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller
* backup prima di sostituire
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): assorbito in pilota-custode-flash
* 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 :
; 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|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)
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON
* 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)


=== cc-backup-timeout ===
=== posta-isicnv-followup-0109 ===
''Aggiornato 2026-09-01 07:19 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: crm


; 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 : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche)
; Vincoli in vigore :
; Vincoli in vigore :
* niente cancellazioni su GCS
* gate=umano: risposte a terzi a nome di Marco
* 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
* elenco in sovra/posta_isicnv_20260901.txt
* 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)
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto
; Prossimo passo :
; Prossimo passo :
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti
* 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


=== hermes-f3-matching ===
=== r103-riprendi-chat-esaminatore ===
''Aggiornato 2026-08-27 12:00 UTC'' &mdash; dominio: hermes
''Aggiornato 2026-09-01 10:17 UTC'' &mdash; dominio: sovra


; Obiettivo : F3 matching engine friction x articoli -> proposte nel daily
; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio
; Vincoli in vigore :
; Vincoli in vigore :
* aigw con fallback qwen
* gate=auto
* load job non streaming
* idempotente per giorno
; Fatto (con prova) :
; Fatto (con prova) :
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller
* cron 50 18 * * *
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): assorbito in pilota-custode-flash
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
; Prossimo passo :
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* 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
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON
* cron 50 18 * * *
 
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
=== cc-backup-timeout ===
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
''Aggiornato 2026-09-01 07:19 UTC'' &mdash; dominio: infrastruttura
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
 
* cron 50 18 * * *
; 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.
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
; Vincoli in vigore :
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* niente cancellazioni su GCS
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* il backup deve restare ripristinabile in un colpo solo
* cron 50 18 * * *
* misurare prima con gsutil du -s per prefisso
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
; Fatto (con prova) :
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert
* 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): verificato 16/09: backup CC su gs://isicnv-cc-backup-secondary/daily/ presente 14, 15, 16 settembre (~39 MB)
* cron 50 18 quotidiano
; Prossimo passo :
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
 
; Provato ed escluso :
=== ordine-2455-ipnoanalgesia ===
* kimi-k3 aigw in 429 persistente
''Aggiornato 2026-08-31 14:20 UTC'' &mdash; dominio: marcoparet.net WooCommerce
* 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)
; 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
* kimi-k3 aigw in 429 persistente
; Vincoli in vigore :
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* 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).
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk)
; Fatto (con prova) :
* kimi-k3 aigw in 429 persistente
* 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).
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py)
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto
* 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)
* 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.
* indagare 429/400 aigw
* decisioni Marco su proposte via digest


=== bibliotecario-fiducia ===
=== crisi-mesmerica-potatura ===
''Aggiornato 2026-08-26 22:34 UTC'' &mdash; dominio: pillar/wiki
''Aggiornato 2026-08-29 17:24 UTC'' &mdash; dominio: hosting/pillar


; Obiettivo : Bibliotecario a fiducia scalare per drift cifre nei pillar 10 lingue (arXiv 2608.12984)
; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna
; Vincoli in vigore :
; Vincoli in vigore :
* deterministico, zero modelli
* prima di editare un pid: leggere bacheca interchat e annunciare
* generazione e bonifica restano passi separati
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy)
; Fatto (con prova) :
; Fatto (con prova) :
* bibliotecario.py installato in scripts/ e collaudato su VM (bozza errata=4 problemi, FR intercetta onze, corretta pulita)
* 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
* ippocampo.py patch prerequisiti collaudata (255/3179 voci col bonus, grafo.json aggiornato)
* 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.
* riparatore.py log durata/esito attivo in logs/riparatore_esiti.jsonl
* 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
; Provato ed escluso :
* 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
* archi non persistiti nel grafo.json: il bonus va calcolato nel folding, non nel briefing
* fabbrica patchata (retry x3 + marcatura senza-materiale)
; Prossimo passo :
* 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.
* usare il bibliotecario sul primo pillar reale: raccogliere asserzioni da Oracolo 8085+Gallica+Doc canonici e agganciare --verifica come cancello pre-pubblicazione
* 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)
=== bridge-exec-isolamento ===
* hostgator ssh throttling temporaneo (risolto con loop retry su VM).
''Aggiornato 2026-08-25 10:36 UTC'' &mdash; dominio: VM / infrastruttura
* 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
; Obiettivo : Isolare stdout per invocazione nel bridge claude-agent (leak output tra sessioni)
* puntatore in memoria CC
; Vincoli in vigore :
* avviso in bacheca a tutte le chat.
* backup service prima di toccarlo
* 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
* testare con due sessioni parallele
* 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.
* MAI deployare senza canale di ripristino alternativo
* 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.
; Fatto (con prova) :
* 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.
* 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
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo
* 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
* 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 :
; Provato ed escluso :
* patch immediato del bridge: rischio auto-lobotomia, serve canale ripristino pronto
* 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 :
; Prossimo passo :
* niente
* Marco controlla il testo 6828
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale.


=== tesine-archivio ===
=== hermes-f3-matching ===
''Aggiornato 2026-08-24 00:13 UTC'' &mdash; dominio: fascicolo allievo
''Aggiornato 2026-08-27 12:00 UTC'' &mdash; dominio: hermes


; Obiettivo : Archiviare tesine/elaborati finali da Gmail isicnv e censire gli allievi storici
; Obiettivo : F3 matching engine friction x articoli -> proposte nel daily
; Vincoli in vigore :
; Vincoli in vigore :
* dedupe su nomi normalizzati
* aigw con fallback qwen
* nomi file: Titolo - Nome Cognome.ext
* load job non streaming
* no UPDATE BQ uno-a-uno (timeout)
* idempotente per giorno
; Fatto (con prova) :
; Fatto (con prova) :
* 68 tesine nuove scaricate da 692 email esaminate
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* archivio GCS da 30 a 118 file
* cron 50 18 * * *
* documenti BQ 32->120 righe
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* 56 allievi storici inseriti nel registry (91->147)
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API
* aggancio via UPDATE JOIN con tabella stage doc_map_stage
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08)
* fascicolo_sync eseguito: 76 allievi completati con tesi
* cron 50 18 * * *
; Provato ed escluso :
* hermes_daily.py patchato con sezione Proposte (bak_props_*)
* loop di UPDATE BQ uno per documento: timeout a 120s per query, inutilizzabile su 88 righe - sostituito da load stage + singolo UPDATE JOIN
* 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 :
; Prossimo passo :
* Rivedere 13 tesine orfane residue (nomi non estraibili dal filename) e 38 allegati ambigui in logs/tesine_harvest_result.json campo review
* fix scorer postcondition 76/100 (proposta T1 in hermes_proposals)
* ripulire 3-4 file etichettati Marco Paret staff che sono conferme di discussione, non tesi
* indagare 429/400 aigw
* decisioni Marco su proposte via digest


=== marcoparet-lingua-video ===
=== bibliotecario-fiducia ===
''Aggiornato 2026-08-22 08:06 UTC'' &mdash; dominio: hosting-siti
''Aggiornato 2026-08-26 22:34 UTC'' &mdash; dominio: pillar/wiki


; Obiettivo : Recent Posts stessa lingua + audit traduzioni + sistema video YouTube 30% copertura
; Obiettivo : Bibliotecario a fiducia scalare per drift cifre nei pillar 10 lingue (arXiv 2608.12984)
; Vincoli in vigore :
; Vincoli in vigore :
* mu-plugin trp-claude.php: leggere tutto prima di modificare
* deterministico, zero modelli
* backup .bak.recentposts_fix esiste
* generazione e bonifica restano passi separati
* HostGator php via SSH con SHORTINIT richiede wpdb diretto non update_post_meta
; 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
* bibliotecario.py installato in scripts/ e collaudato su VM (bozza errata=4 problemi, FR intercetta onze, corretta pulita)
* backfill _pll_lang su 98 post da suffisso slug + language detection titolo (script /tmp/backfill_v3.php su HostGator)
* ippocampo.py patch prerequisiti collaudata (255/3179 voci col bonus, grafo.json aggiornato)
* EN context ora OR(en,NOT EXISTS)
* riparatore.py log durata/esito attivo in logs/riparatore_esiti.jsonl
* 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 :
; Provato ed escluso :
* update_post_meta con SHORTINIT crasha silenziosamente (funzione non caricata) - usare wpdb->insert
* archi non persistiti nel grafo.json: il bonus va calcolato nel folding, non nel briefing
* 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 :
; 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.
* usare il bibliotecario sul primo pillar reale: raccogliere asserzioni da Oracolo 8085+Gallica+Doc canonici e agganciare --verifica come cancello pre-pubblicazione


=== propensity-scoring-allievi ===
=== bridge-exec-isolamento ===
''Aggiornato 2026-08-12 10:54 UTC'' &mdash; dominio: BigQuery / dati
''Aggiornato 2026-08-25 10:36 UTC'' &mdash; dominio: VM / infrastruttura


; Obiettivo : Lead scoring predittivo: colonna propensity_allievo in contatti_master, job notturno
; Obiettivo : Isolare stdout per invocazione nel bridge claude-agent (leak output tra sessioni)
; Vincoli in vigore :
; Vincoli in vigore :
* MERGE tocca solo colonne propensity
* backup service prima di toccarlo
* MERGE a lotti annuali (limite 4000 partizioni)
* testare con due sessioni parallele
* score relativo non calibrato
* MAI deployare senza canale di ripristino alternativo
; Fatto (con prova) :
; Fatto (con prova) :
* Benchmark TabICL 0.9727 vs XGBoost 0.9623
* 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
* script propensity_allievo.py
* 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
* primo run 251550 righe in 229s
* cron 05:15
* wiki + learnings + memoria
; Provato ed escluso :
; Provato ed escluso :
* TabICL in produzione (22s/849 righe su CPU, OOM con default su 3.9GB)
* patch immediato del bridge: rischio auto-lobotomia, serve canale ripristino pronto
* /vm/task (runner CLI non autenticata)
; 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]]