Cantieri aperti: differenze tra le versioni

[versione verificata][versione verificata]
WikiBot (discussione | contributi)
handoff automatico
WikiBot (discussione | contributi)
handoff automatico
Riga 175: Riga 175:
* 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
=== prova-pipeline-v2-0914 ===
''Aggiornato 2026-09-14 13:02 UTC'' — dominio: -
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
; Fatto (con prova) :
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* strato 2-3 via prova_v2_run.py
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
; Prossimo passo :
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* 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


=== espressioni-pipeline ===
=== espressioni-pipeline ===
Riga 194: Riga 181:
; 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>"
; 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>"


=== bench-regole-0914 ===
=== audit_neurolinguistic_non_conformi ===
''Aggiornato 2026-09-14 05:15 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-13 21:07 UTC'' &mdash; dominio: pillar


; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore
; 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 :
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* mai riscrivere: arricchire
* 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
* pubblicazione solo via pubblica_pillar.py --ok-marco
* 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)
; Prossimo passo :
; Fatto (con prova) :
* 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
* 14/09: script installato
 
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
=== capoufficio_agente_risolve ===
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
''Aggiornato 2026-09-12 14:10 UTC'' &mdash; dominio: -
* 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
; 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


=== r103_giudice_ko ===
; Obiettivo : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
 
; 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.
; Prossimo passo :
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* print(r.modelli())
* print(r.esamina('prova'))"
 
=== 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 :
; Vincoli in vigore :
* mai riscrivere: arricchire
* reversibile: backup .bak_* accanto a ogni file toccato
* 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
 
=== pipeline_mancanti_censimento ===
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline
 
; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; Vincoli in vigore :
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
; Prossimo passo :
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* partire dal primo cluster
 
=== capoufficio_agente_risolve ===
''Aggiornato 2026-09-12 14:10 UTC'' &mdash; dominio: -
 
; Obiettivo : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat
; Vincoli in vigore :
* reversibile: backup .bak_* accanto a ogni file toccato
; Fatto (con prova) :
; Fatto (con prova) :
* capoufficio_watch.py reso host-aware (check+heal via ssh su media/secondary dove i cron sono migrati il 10/09
* capoufficio_watch.py reso host-aware (check+heal via ssh su media/secondary dove i cron sono migrati il 10/09
Riga 320: Riga 268:
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome


=== chat-s20260911-si1secondary-qqnl4c ===
=== zoom-registrazioni-daily-0911 ===
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-11 20:16 UTC'' &mdash; dominio: trascrizioni


; 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 : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.*
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Scope report aggiunti da Marco 11/09 (report:read:user:admin ecc.). LIMITE ZOOM: il report copre SOLO gli ultimi 6 mesi (code 300): lo storico prima di marzo 2026 non e' recuperabile dall'API
* non chiedere a Marco
* il cron 06:45 fa scorrere la finestra ogni giorno cosi' da qui in avanti nulla si perde. Cancellazione automatica da Zoom dopo archiviazione NON attiva (serve OK Marco).
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* Script /home/claudeuser/scripts/zoom_recordings_daily.py (compila, dry-run ok, esce rc=3 senza credenziali). Cron 06:15 ogni giorno --days 3, log /home/claudeuser/zoom_rec/daily.log, stato /home/claudeuser/zoom_rec/state.json. Scarica MP4 (speaker view) + M4A + VTT transcript Zoom + chat, upload resumable su Drive, poi job.py trascrivi_ids.py --lang auto sull'M4A con Doc nella cartella Drive. Su Drive oggi esiste solo ULTIMATE PATH LESSON 1.mp4 (1RzftibHpVT4g9EZOLt8SvjkafbyiVFwp).
* contesto ricostruito da riprendi_chat
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* su Drive c'era solo LESSON 1.
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* su Drive c'era solo LESSON 1.
* v2 script: --from (backfill a finestre 30 gg), --inline-transcribe (sequenziale), avviso Telegram a fine corsa (bot ISI-CNV Worker). Prima corsa: Lesson 8 + Australian 07/09 su Drive, trascrizioni job zoomtr_*. Job backfill zoom_backfill_0911 (--from 2024-01-01 inline) e zoom_backfill_cestino_0911 (parte dopo, riprende i 5 recuperati dal cestino). Cron 06:15 --days 3 attivo.
* zoom_bq_sync.py (cron 06:45): tabelle zoom.riunioni_passate (7), partecipanti (327), riunioni_programmate (11), iscritti (91), registrazioni (43, con cestino), vista v_lezioni. zoom_recover_trash.py salvato. ZOOM-1 registrata (sovrapposizione segnalata: INF-1). Backfill zoom_backfill_0911 in corso (trascrizione inline), poi zoom_backfill_cestino_0911.
* zoom_bq_sync.py v2 (default --from oggi-180gg, salta le finestre oltre i 6 mesi): 43 riunioni passate da marzo 2026, 3.313 righe partecipanti (cache in zoom_rec/participants/), 11 programmate, 93 iscritti, 43 file registrazione
* vista zoom.v_lezioni. Job zoom_bq_storico_6m_0911 completato.
; Prossimo passo :
; Prossimo passo :
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* job.py --status zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni)
* gcloud auth list
* query: SELECT * FROM zoom.v_lezioni ORDER BY start_time DESC (client bigquery sulla VM, dataset in EU). Se Marco autorizza: --free-space in zoom_recordings_daily.py per cancellare da Zoom dopo verifica Drive+trascrizione.
* 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 ===
=== sito-ipnomentalismo ===
''Aggiornato 2026-09-11 23:40 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-11 09:34 UTC'' &mdash; dominio: -


; 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 : Sito-manuale riservato Ipnomentalismo / Ipnosi sottile, modello Ipnoanalgesia
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260910-claudesi1ref-1kurya6 chiusa senza prova
* 11/09: ONLINE https://www.neurolinguistic.com/ipnomentalismo/ (7 pagine, login Google, accessi mode=all). Censimento: 69 lezioni/37,3h (censo.json nomi+testo, concetto.json firma concettuale), corpus 23 manuali in /home/claudeuser/ipnomentalismo/corpus/ (Avviamento ipnotismo sottile liv.2 PDF, Ipnosi sottile 2015/2016, Primi passi 2022, 9 lezioni corso online, dispense). Generatore /home/claudeuser/scripts/im_build.py (corpus|transcripts|build|publish), LLM deepseek-chat (glm-5.2 fuori budget settimanale). Gate: gate.php+.htaccess clonati, accessi.sh ipnomentalismo mode all (modi validi: all|list, NON any). QA headless 7/7 pagine OK. Cartella vecchia riservato-ipnomentalismo-m4k9p7 ancora presente, da cancellare.
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 1|Leggere e gestire il messaggio umano non letto: errore gcloud (AttributeError: 'Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py)
* verificare/rigenerare le credenziali (gcloud auth login o activate-service-account) e riportare l'esito in chat
* cron 4h come analgesia_ciclo.sh
* 2|Eseguire la verifica rimasta dal journal 10:32|grep -E "MANUTENZIONE|GATE_REFLECT" /home/claudeuser/self_improvement/si1.cron.log
* cancellare cartella vecchia
* 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


=== chat-s20260911-clauderegist-sskkcz ===
=== migrazione-carichi-media ===
''Aggiornato 2026-09-11 23:00 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-10 07:42 UTC'' &mdash; dominio: infrastruttura


; 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
; Obiettivo : Spostare i 197 cron della VM (729 esecuzioni/ora su 2 vCPU) dove e opportuno: 67 restano (monitor locali, ssh), 85 su media (BigQuery/Drive/video), 45 su secondary (solo API CC e Telegram). Via libera di Marco 10/09: fino al risultato finale.
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Il SA della VM non puo assegnare ruoli IAM (manca setIamPolicy): il SA media-worker@leafy-responder-483419-a4 esiste, chiave gia su media in /home/claudeuser/.gcp/media-worker.json, ma SENZA ruoli finche Marco non li da in console (bigquery.jobUser, bigquery.dataEditor, storage.objectUser). Il driver aspetta da solo quel momento. Backup crontab VM: backups/crontab_vm_prima_migrazione_20260910.txt. Wrapper bq = semaforo 2 slot.
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260911-clauderegist-sskkcz chiusa senza prova
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta)
* contesto ricostruito da riprendi_chat
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4
* earlyoom + swappiness 10 sulla VM
* wrapper /usr/local/bin/bq con nice 15 + timeout 300 (22 script cron usano bq CLI)
* vm-heartbeat.sh riscritto solo-curl (da 60s+ a 1.5s, backup .bak_bq_20260909)
* uccisi gsutil/bq orfani da 30 min.
* censimento_cron.py -> logs/censimento_cron.json (197 righe classificate). migra_cron.py: --lotto/--verifica/--rollback/--stato, promuove dopo il primo log pulito, ripristina su Traceback/credenziali/file mancanti. migrazione_driver.sh in cron */30: rsync idempotente, pip, verifica, un lotto per giro (secondary_1 45 cron, media_1 15 senza Google, poi lotti media_bq da 15 quando la SA risponde), si ritira da solo a fine lavoro.
; Provato ed escluso :
* Upgrade e2-medium: NO (deciso). Billing export BQ e budget alert: il SA della VM non ha permessi billing, deve farlo Marco in console.
* Cadenze dei cron NON toccate (es. campaigns_monitor ogni minuto): solo spostamenti. Nessuna chiave del SA compute (editor) fuori da GCP.
; Prossimo passo :
; Prossimo passo :
* 1|Riprendere il contesto completo della sessione|python3 /home/claudeuser/scripts/handoff.py --resume zoom-registrazioni-daily-0911
* tail -40 /home/claudeuser/logs/migrazione_driver.log
* 2|Verificare se i 2 job backfill avviati alle 18:35 sono terminati con successo|ps aux | grep -iE 'zoom|backfill'
* python3 /home/claudeuser/scripts/migra_cron.py --stato
* controllare log/output di zoom_recordings_daily.py e del cron installato
* cat /home/claudeuser/logs/migrazione_cron_state.json | python3 -c "import json,sys
* 3|Diagnosticare il crash gcloud non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* [print(k,v[\"dest\"],v[\"stato\"],v.get(\"motivo\",\"\")) for k,v in json.load(sys.stdin).items() if v[\"stato\"]==\"ripristinato\"]"  # i ripristinati vanno letti uno a uno: dipendenze locali non rilevabili dal log
* gcloud components update
 
* ispezionare ~/.config/gcloud/application_default_credentials.json e ~/.config/gcloud/credentials.db
=== reverse-nlp-legacy-html ===
* 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
''Aggiornato 2026-09-09 00:43 UTC'' &mdash; dominio: Hosting / siti
* 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
* 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|


=== zoom-registrazioni-daily-0911 ===
; Obiettivo : neurolinguistic.com: conversione additiva pagina-per-pagina a PNL3/Reverse NLP dalle HTML legacy meno visitate (job_reverse_nlp_legacy_html_20260909)
''Aggiornato 2026-09-11 20:16 UTC'' &mdash; dominio: trascrizioni
 
; Obiettivo : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.*
; Vincoli in vigore :
; Vincoli in vigore :
* Scope report aggiunti da Marco 11/09 (report:read:user:admin ecc.). LIMITE ZOOM: il report copre SOLO gli ultimi 6 mesi (code 300): lo storico prima di marzo 2026 non e' recuperabile dall'API
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* il cron 06:45 fa scorrere la finestra ogni giorno cosi' da qui in avanti nulla si perde. Cancellazione automatica da Zoom dopo archiviazione NON attiva (serve OK Marco).
* nessuna cancellazione testo storico, URL/title/H1 invariati
* ordine per traffico reale GA4 (analytics_isicnv.ga4_pages_daily, property 533218658+399463272)
* backup prima di ogni modifica
* QA HTML/mobile/HTTP per pagina
* pubblicazione = azione irreversibile: primo lotto proposto a Marco prima del deploy
; Fatto (con prova) :
; Fatto (con prova) :
* Script /home/claudeuser/scripts/zoom_recordings_daily.py (compila, dry-run ok, esce rc=3 senza credenziali). Cron 06:15 ogni giorno --days 3, log /home/claudeuser/zoom_rec/daily.log, stato /home/claudeuser/zoom_rec/state.json. Scarica MP4 (speaker view) + M4A + VTT transcript Zoom + chat, upload resumable su Drive, poi job.py trascrivi_ids.py --lang auto sull'M4A con Doc nella cartella Drive. Su Drive oggi esiste solo ULTIMATE PATH LESSON 1.mp4 (1RzftibHpVT4g9EZOLt8SvjkafbyiVFwp).
* traffico HTML 2025-08..2026-08 esportato in /home/claudeuser/reverse_nlp_legacy/traffico_html_2025-08_2026-08.csv (348 URL, 932 views)
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* lotto 1 scelto = 10 URL a 1 view chiaramente PNL (batch1.txt)
* su Drive c'era solo LESSON 1.
* originali scaricati via ssh FastComet in orig/ e backup in backup/
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione
* LOTTO 1 ONLINE 09/09 00:40 UTC: 10 pagine (batch1.txt) con lead RF + sezione Dalla PNL alla PNL3
* su Drive c'era solo LESSON 1.
* blocchi in blocchi.json, apply.py idempotente (marker rnl-additivo-2026-09), qa_html.py PASS 10/10, mobile ok
* v2 script: --from (backfill a finestre 30 gg), --inline-transcribe (sequenziale), avviso Telegram a fine corsa (bot ISI-CNV Worker). Prima corsa: Lesson 8 + Australian 07/09 su Drive, trascrizioni job zoomtr_*. Job backfill zoom_backfill_0911 (--from 2024-01-01 inline) e zoom_backfill_cestino_0911 (parte dopo, riprende i 5 recuperati dal cestino). Cron 06:15 --days 3 attivo.
* backup server ~/rnl_backup_20260909 e VM backup/
* zoom_bq_sync.py (cron 06:45): tabelle zoom.riunioni_passate (7), partecipanti (327), riunioni_programmate (11), iscritti (91), registrazioni (43, con cestino), vista v_lezioni. zoom_recover_trash.py salvato. ZOOM-1 registrata (sovrapposizione segnalata: INF-1). Backfill zoom_backfill_0911 in corso (trascrizione inline), poi zoom_backfill_cestino_0911.
* log Drive
* zoom_bq_sync.py v2 (default --from oggi-180gg, salta le finestre oltre i 6 mesi): 43 riunioni passate da marzo 2026, 3.313 righe partecipanti (cache in zoom_rec/participants/), 11 programmate, 93 iscritti, 43 file registrazione
* LOTTO 2 ONLINE 09/09 00:40 UTC: italy-20,24,25,23,06,26,05,02,10 + magnetismo/rapport-magnetico (blocchi2.json)
* vista zoom.v_lezioni. Job zoom_bq_storico_6m_0911 completato.
* QA estesa PASS (canonical, noindex, img, keyword, testo 100%)
* inventario 7418 htm con GA4+GSC in inventario_legacy_html.csv (Drive 1bhHc1KDlKXuCMiNPdmBg90bKTC9D6m8-)
* registro_operativo.csv (Drive 16ar1_8T4QoJ3UZQpkuoSy1grvnLnG8Rg)
* Doc Legacy HTML Audit aggiornato con lotti 1-2 e lotto 3 proposto
* Marco (prompt 09/09): NON chiedere approvazione per pagina, continuare a lotti
; Provato ed escluso :
* dataset site_analytics_2026: non esiste, i dati sono in analytics_isicnv
; Prossimo passo :
; Prossimo passo :
* job.py --status zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni)
* LOTTO 3: cd /home/claudeuser/reverse_nlp_legacy && cat > batch3.txt (URL dal Doc Audit sez. LOTTO 3 proposto
* query: SELECT * FROM zoom.v_lezioni ORDER BY start_time DESC (client bigquery sulla VM, dataset in EU). Se Marco autorizza: --free-space in zoom_recordings_daily.py per cancellare da Zoom dopo verifica Drive+trascrizione.
* verificare prima formato di nlp/rapport.htm e nlp/erickson.htm) && scaricare orig via sshpass ssh marcopar@itpro1.fcomet.com tar -T batch3.txt, leggere testi, scrivere blocchi3.json, python3 apply.py blocchi3.json, backup+deploy, job.py --run "python3 qa_html.py batch3.txt", python3 registro.py


=== prova_parcheggio_gate3 ===
=== chat-s20260908-dipisafermo-1ol47hs ===
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-08 23:22 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : prova
; Obiettivo : Completare R90-bis per la chat S20260908-dipisafermo-1ol47hs (dipisa-pagina-en): commessa automatica al primo comando, filtro assenso e pagina 7150 corretta, producendo i deliverable D1-D4 tutti mancanti (diagnosi, pagina IT corretta, regola wiki-prima, filtro)
; Prossimo passo :
; Vincoli in vigore :
* python3 /home/claudeuser/scripts/handoff.py --list
* gate=auto
 
* non chiedere a Marco
=== prova_parcheggio_gate2 ===
* verifica prima di dichiarare fatto
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test
; Fatto (con prova) :
 
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
; Obiettivo : prova
* contesto ricostruito da riprendi_chat
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
* 1|Superare il gate umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs (campanello per esame immediato, chat bloccata da errori glm-5.2 429/timeout)|suonare il campanello al gate=umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs
* 2|Riprendere la chat S20260908-dipisafermo-1ol47hs nel cantiere di ripresa|handoff.py --resume dipisa-pagina-en
* 3|D1: produrre la diagnosi mancante|redigere la diagnosi R90-bis nel cantiere ripresa_S20260908-dipisafermo-1ol47hs
* 4|D2: correggere e pubblicare la pagina IT (pagina 7150)|correzione della pagina IT 7150
* 5|D3: scrivere la regola wiki-prima|inserire la regola wiki-prima
* 6|D4: implementare il filtro di assenso|implementare il filtro assenso (commessa automatica al primo comando)
* 7|Far verificare il completamento (chat chiusa END_NONVERIFICATO)|richiedere esame/verifica dei deliverable D1-D4 al gate


=== prova_parcheggio_gate ===
=== trascrizione-master-tanya-0709 ===
''Aggiornato 2026-09-11 13:54 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-08 22:46 UTC'' &mdash; dominio: trascrizioni


; Obiettivo : prova del gate di chiusura
; Obiettivo : Trascrizione 2 video mail 'registrazione Master e Tanya'
; Vincoli in vigore :
* I file sono condivisi SOLO con marcoparet@gmail.com: token isicnv -> 404, accesso anonimo -> login. Nessun token Drive marcoparet su VM/GCS. Serve che Marco condivida i 2 file con isicnv@gmail.com (o Salsina).
; Fatto (con prova) :
* Script pronto: /home/claudeuser/scripts/trascrivi_ids.py (download per ID, audio 16k, pezzi 20 min, Groq whisper-large-v3, txt+json+timestamp, Doc in cartella). Cartella output Drive: 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* Accesso dato da Marco. Job trascr_master_tanya_0709 in corso (Master CNV 07/09, 175 min, italiano). Tanya (60 min) e' in INGLESE: prima passata con language=it era una traduzione -> cancellata
* ricodata con --lang auto nel piano trascr_tanya_en (job trascr_tanya_en_run) che parte alla fine del Master.
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907'
* poi rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC


=== sito-ipnomentalismo ===
=== dipisa-pagina-en ===
''Aggiornato 2026-09-11 09:34 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-08 19:22 UTC'' &mdash; dominio: pagine


; Obiettivo : Sito-manuale riservato Ipnomentalismo / Ipnosi sottile, modello Ipnoanalgesia
; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto)
; Vincoli in vigore :
* nessuna data di nascita/morte di Di Pisa: la wiki non le da
* niente promesse terapeutiche
* solo bozza, pubblica Marco
; Fatto (con prova) :
; Fatto (con prova) :
* 11/09: ONLINE https://www.neurolinguistic.com/ipnomentalismo/ (7 pagine, login Google, accessi mode=all). Censimento: 69 lezioni/37,3h (censo.json nomi+testo, concetto.json firma concettuale), corpus 23 manuali in /home/claudeuser/ipnomentalismo/corpus/ (Avviamento ipnotismo sottile liv.2 PDF, Ipnosi sottile 2015/2016, Primi passi 2022, 9 lezioni corso online, dispense). Generatore /home/claudeuser/scripts/im_build.py (corpus|transcripts|build|publish), LLM deepseek-chat (glm-5.2 fuori budget settimanale). Gate: gate.php+.htaccess clonati, accessi.sh ipnomentalismo mode all (modi validi: all|list, NON any). QA headless 7/7 pagine OK. Cartella vecchia riservato-ipnomentalismo-m4k9p7 ancora presente, da cancellare.
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento
* regola wiki-prima in memoria rule_1788895263452_p8oahr
; Prossimo passo :
; Prossimo passo :
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py)
* cd /home/claudeuser/scripts && python3 crea_pagina.py questionario "Erminio Di Pisa" --lang en, poi fabbrica.py nuova "Erminio Di Pisa" --def <def_pNN.txt> --titolo "Erminio Di Pisa: the Italian master of eyes-open hypnosis" --slug erminio-di-pisa --lang en
* cron 4h come analgesia_ciclo.sh
* cancellare cartella vecchia


=== migrazione-carichi-media ===
=== rete-sicurezza-orfani ===
''Aggiornato 2026-09-10 07:42 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-08 07:30 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Spostare i 197 cron della VM (729 esecuzioni/ora su 2 vCPU) dove e opportuno: 67 restano (monitor locali, ssh), 85 su media (BigQuery/Drive/video), 45 su secondary (solo API CC e Telegram). Via libera di Marco 10/09: fino al risultato finale.
; Obiettivo : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco
; Vincoli in vigore :
; Vincoli in vigore :
* Il SA della VM non puo assegnare ruoli IAM (manca setIamPolicy): il SA media-worker@leafy-responder-483419-a4 esiste, chiave gia su media in /home/claudeuser/.gcp/media-worker.json, ma SENZA ruoli finche Marco non li da in console (bigquery.jobUser, bigquery.dataEditor, storage.objectUser). Il driver aspetta da solo quel momento. Backup crontab VM: backups/crontab_vm_prima_migrazione_20260910.txt. Wrapper bq = semaforo 2 slot.
* non toccare i cantieri con costi/invii/cancellazioni
* nessuna cancellazione su GCS
; Fatto (con prova) :
; Fatto (con prova) :
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta)
* gate_pipeline.py: una pipeline risponde sempre al proprio nome
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4
* trigger PAG-2 ampliato
* earlyoom + swappiness 10 sulla VM
* sovra/ripresa_commessa.py ricostruisce il comando dalla commessa via registro
* wrapper /usr/local/bin/bq con nice 15 + timeout 300 (22 script cron usano bq CLI)
* handoff.py --list mostra PRONTO
* vm-heartbeat.sh riscritto solo-curl (da 60s+ a 1.5s, backup .bak_bq_20260909)
* job ripresa_orfani_20260908 in corso sui 235 cantieri
* uccisi gsutil/bq orfani da 30 min.
* esamina_resta: riprova su 429, ritmo 3s, silenzio=[?] mai NO, avviso ogni 6h
* censimento_cron.py -> logs/censimento_cron.json (197 righe classificate). migra_cron.py: --lotto/--verifica/--rollback/--stato, promuove dopo il primo log pulito, ripristina su Traceback/credenziali/file mancanti. migrazione_driver.sh in cron */30: rsync idempotente, pip, verifica, un lotto per giro (secondary_1 45 cron, media_1 15 senza Google, poi lotti media_bq da 15 quando la SA risponde), si ritira da solo a fine lavoro.
* chat_controller chiama ripresa_commessa.py
; Provato ed escluso :
* job rete_orfani_patch_20260908 (prova giudice) e ripresa_orfani_20260908 (235 cantieri) in corso
* Upgrade e2-medium: NO (deciso). Billing export BQ e budget alert: il SA della VM non ha permessi billing, deve farlo Marco in console.
* Cadenze dei cron NON toccate (es. campaigns_monitor ogni minuto): solo spostamenti. Nessuna chiave del SA compute (editor) fuori da GCP.
; Prossimo passo :
; Prossimo passo :
* tail -40 /home/claudeuser/logs/migrazione_driver.log
* job.py --status rete_orfani_patch_20260908
* python3 /home/claudeuser/scripts/migra_cron.py --stato
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE
* cat /home/claudeuser/logs/migrazione_cron_state.json | python3 -c "import json,sys
* [print(k,v[\"dest\"],v[\"stato\"],v.get(\"motivo\",\"\")) for k,v in json.load(sys.stdin).items() if v[\"stato\"]==\"ripristinato\"]"  # i ripristinati vanno letti uno a uno: dipendenze locali non rilevabili dal log


=== reverse-nlp-legacy-html ===
=== pipeline-pagina-0609 ===
''Aggiornato 2026-09-09 00:43 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine


; Obiettivo : neurolinguistic.com: conversione additiva pagina-per-pagina a PNL3/Reverse NLP dalle HTML legacy meno visitate (job_reverse_nlp_legacy_html_20260909)
; 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 :
; Vincoli in vigore :
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* 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
* nessuna cancellazione testo storico, URL/title/H1 invariati
* 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.
* ordine per traffico reale GA4 (analytics_isicnv.ga4_pages_daily, property 533218658+399463272)
* backup prima di ogni modifica
* QA HTML/mobile/HTTP per pagina
* pubblicazione = azione irreversibile: primo lotto proposto a Marco prima del deploy
; Fatto (con prova) :
; Fatto (con prova) :
* traffico HTML 2025-08..2026-08 esportato in /home/claudeuser/reverse_nlp_legacy/traffico_html_2025-08_2026-08.csv (348 URL, 932 views)
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* lotto 1 scelto = 10 URL a 1 view chiaramente PNL (batch1.txt)
* 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)
* originali scaricati via ssh FastComet in orig/ e backup in backup/
* la condensazione 7b scartata
* LOTTO 1 ONLINE 09/09 00:40 UTC: 10 pagine (batch1.txt) con lead RF + sezione Dalla PNL alla PNL3
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* blocchi in blocchi.json, apply.py idempotente (marker rnl-additivo-2026-09), qa_html.py PASS 10/10, mobile ok
* 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
* backup server ~/rnl_backup_20260909 e VM backup/
* tempo macchina ~45 min
* log Drive
* tempo chat ~35 chiamate
* LOTTO 2 ONLINE 09/09 00:40 UTC: italy-20,24,25,23,06,26,05,02,10 + magnetismo/rapport-magnetico (blocchi2.json)
* 07/09: pagina2.py installato
* QA estesa PASS (canonical, noindex, img, keyword, testo 100%)
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* inventario 7418 htm con GA4+GSC in inventario_legacy_html.csv (Drive 1bhHc1KDlKXuCMiNPdmBg90bKTC9D6m8-)
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
* registro_operativo.csv (Drive 16ar1_8T4QoJ3UZQpkuoSy1grvnLnG8Rg)
* Doc Legacy HTML Audit aggiornato con lotti 1-2 e lotto 3 proposto
* Marco (prompt 09/09): NON chiedere approvazione per pagina, continuare a lotti
; Provato ed escluso :
* dataset site_analytics_2026: non esiste, i dati sono in analytics_isicnv
; Prossimo passo :
; Prossimo passo :
* LOTTO 3: cd /home/claudeuser/reverse_nlp_legacy && cat > batch3.txt (URL dal Doc Audit sez. LOTTO 3 proposto
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* verificare prima formato di nlp/rapport.htm e nlp/erickson.htm) && scaricare orig via sshpass ssh marcopar@itpro1.fcomet.com tar -T batch3.txt, leggere testi, scrivere blocchi3.json, python3 apply.py blocchi3.json, backup+deploy, job.py --run "python3 qa_html.py batch3.txt", python3 registro.py
* finche' no, la stesura la fa Claude in chat dal HARNESS.md. 2) struttura via glm: verificare perche' e' caduta nel template (JSON). 3) Registrare PAG-4 nel registro pipeline. 4) Prima pagina completa con pipeline 2: magnetic presence (dossier pronto).


=== chat-s20260908-dipisafermo-1ol47hs ===
=== database-esercizi ===
''Aggiornato 2026-09-08 23:22 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca


; Obiettivo : Completare R90-bis per la chat S20260908-dipisafermo-1ol47hs (dipisa-pagina-en): commessa automatica al primo comando, filtro assenso e pagina 7150 corretta, producendo i deliverable D1-D4 tutti mancanti (diagnosi, pagina IT corretta, regola wiki-prima, filtro)
; Obiettivo : Database esercizi dal corpus: parole esatte, contesto, prerequisiti, vantaggi, pagina, libro. Fasi: 1 Paret, 2 Lefebure, 3 Hanish/Mazdaznan, 4 Durville, 5 Encausse/Papus, 6 Evola+Gruppo di Ur. Poi Marco amplia il corpus.
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Script canonico /home/claudeuser/scripts/esercizi_extract.py (BIB-1). Tabelle BQ biblioteca.esercizi + esercizi_coda. Modello glm-5.2 via aigw, 6 worker. Pagina: pdf (\\f) o stimata
* non chiedere a Marco
* pagina_stampata dal testo. Costo stimato ~30 USD totali, tetto aigw giornaliero 8 USD -> il job pausa 60 min e riprende.
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* Coda 295 doc costruita e deduplicata
* contesto ricostruito da riprendi_chat
* job esercizi_run lanciato 07/09 08:26 UTC
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 1|Superare il gate umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs (campanello per esame immediato, chat bloccata da errori glm-5.2 429/timeout)|suonare il campanello al gate=umano del cantiere ripresa_S20260908-dipisafermo-1ol47hs
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run
* 2|Riprendere la chat S20260908-dipisafermo-1ol47hs nel cantiere di ripresa|handoff.py --resume dipisa-pagina-en
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run
* 3|D1: produrre la diagnosi mancante|redigere la diagnosi R90-bis nel cantiere ripresa_S20260908-dipisafermo-1ol47hs
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue
* 4|D2: correggere e pubblicare la pagina IT (pagina 7150)|correzione della pagina IT 7150
* 5|D3: scrivere la regola wiki-prima|inserire la regola wiki-prima
* 6|D4: implementare il filtro di assenso|implementare il filtro assenso (commessa automatica al primo comando)
* 7|Far verificare il completamento (chat chiusa END_NONVERIFICATO)|richiedere esame/verifica dei deliverable D1-D4 al gate


=== trascrizione-master-tanya-0709 ===
=== pagine-seo-affiancate-0509 ===
''Aggiornato 2026-09-08 22:46 UTC'' &mdash; dominio: trascrizioni
''Aggiornato 2026-09-06 21:58 UTC'' &mdash; dominio: pagine SEO marcoparet.com e neurolinguistic.com


; Obiettivo : Trascrizione 2 video mail 'registrazione Master e Tanya'
; Obiettivo : Ciclo pagine nuove + Doc IT a strati + regole dalle note
; Vincoli in vigore :
; Vincoli in vigore :
* I file sono condivisi SOLO con marcoparet@gmail.com: token isicnv -> 404, accesso anonimo -> login. Nessun token Drive marcoparet su VM/GCS. Serve che Marco condivida i 2 file con isicnv@gmail.com (o Salsina).
* Registro M1-M64 (736). M64.9: pagine di persuasione/vendita su neurolinguistic.com/blog (ssh marcopar@itpro1.fcomet.com, wp --path=/home/marcopar/neurolinguistic.com/blog), non su marcoparet.com. 64.1 niente temi negativi in apertura/titolo
* 64.4 rapport nasce dalla relazione
* 64.6 vendita: occhi e stretta di mano, non passi/tocco. Doc a strati sempre.
; Fatto (con prova) :
; Fatto (con prova) :
* Script pronto: /home/claudeuser/scripts/trascrivi_ids.py (download per ID, audio 16k, pezzi 20 min, Groq whisper-large-v3, txt+json+timestamp, Doc in cartella). Cartella output Drive: 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* 05/09: onde-cerebrali IT 7018 pubblicata
* Accesso dato da Marco. Job trascr_master_tanya_0709 in corso (Master CNV 07/09, 175 min, italiano). Tanya (60 min) e' in INGLESE: prima passata con language=it era una traduzione -> cancellata
* 153 e 155 ripristinate alle versioni originali
* ricodata con --lang auto nel piano trascr_tanya_en (job trascr_tanya_en_run) che parte alla fine del Master.
* pagine nuove affiancate 7051 how-to-shift-your-brainwave-states, 7052 animal-magnetism-full-history-mesmerism, 7046 how-to-develop-hypnotic-gaze
; Prossimo passo :
* 289 ripristinata e protetta
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run
* regole M34-M44 estratte (da 358 a 464)
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907'
* creati forma_finale.py, scopo_pagina.py, concorrenza.py, metafore.py, agente_logico.py, gate_pagina_protetta.py
* poi rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* censite 78 pagine protette
 
* 05/09: onde-cerebrali IT 7018 pubblicata
=== dipisa-pagina-en ===
* 153/155/289 ripristinate e protette
''Aggiornato 2026-09-08 19:22 UTC'' &mdash; dominio: pagine
* pagine affiancate 7046, 7051, 7052
 
* 155 ampliata
; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto)
* regole M34-M45 (466 voci)
; Vincoli in vigore :
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta
* nessuna data di nascita/morte di Di Pisa: la wiki non le da
* 78 pagine protette
* niente promesse terapeutiche
* note Doc onde cerebrali 1IF5_ gia in M34
* solo bozza, pubblica Marco
* 05/09 sera: M46 (25 regole) estratte dal Doc sguardo 13tz6GqK3TSft5yvnWrO5A6WdwHLO5FTW3PzmRSvuLE8 e riportate su 7046 (14 sostituzioni, titolo Powerful, verificato live). Pagina NUOVA 7062 what-is-non-verbal-hypnosis-how-it-works pubblicata (affiancata al post what-non-verbal-hypnosis-and-why-it-effective), catena metafore/agente_logico/guardiano/dedup/scopo/forma_finale/gate PASS. Doc IT in Per pagine: 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo
; Fatto (con prova) :
* 05/09 notte: M47 estratte dal Doc 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo e applicate alla 7062 (riscrittura integrale, titolo con Touch and Presence, note da 7 a 20 tutte verificate una per una via web, agente_logico 6/6, guardiano OK, forma_finale OK, gate PASS, verificato live). Prima: M46 su 7046. Backup 7062_backup_prima_M47.html
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento
* 05/09 notte: pagina NUOVA 7075 come-fascinare-con-lo-sguardo (IT) pubblicata, affiancata a fascinazione-ipnotica 6999 (105 impr 0 click, intatta). Titolo-domanda dalle query reali. 15 note verificate, agente_logico 2/2, guardiano OK, dedup OK, scopo SCOPO_OK, forma_finale OK, gate PASS, verificata live. Doc IT 1h2glSPY_WlmNPcNsfya3PrYYEDk-cQ_plelHTd9BAwk in Per pagine
* regola wiki-prima in memoria rule_1788895263452_p8oahr
* 06/09 notte: 7116 centratura (v3 EN fatta dall altra chat, regole M58 gia estratte da lei) PUBBLICATA da me dopo lettura e verifica link: https://marcoparet.com/self-hypnosis-centering-to-feel-and-find-your-own-centre/
* 7119 magnetic-touch-how-to-induce-trance-with-the-hand PUBBLICATA (terzo strumento dopo sguardo 7046 e passi 7094), Doc IT 1JbfWkH70s1-_AnBwjsGPkT7xroiK1x-WcyJDTNGrQhw
* 7094 passi pubblicata con Doc 1g5xjb44
* 06/09: M59 (32 voci) registrate con esito per regola
* testi dei due libri in pillars/confronto_*.txt e stats in confronto_stats.json
* pagina 7121 kairos-and-chronos-how-to-step-out-of-linear-time pubblicata dopo lettura (formula 59.31, metronomo dal libro, 12 note reali), Doc IT 10KVjfoNUlVEWTQ0SD31Nda52N2eG7t_T6K1yICp-aA8
* confronto in Doc 1my01fS9Ze6cmqUxFUD2mjKVHstCN3tyoROfdF0CrWcc
* 06/09 notte: kairos 7121 v2 (bambino, nell istante, due maniere, note approfondite) + Doc a strati
* M62
* pagina 7125 how-to-persuade-without-pressure (grammatica fusa 61.44, dai due libri verificati nel corpus, Deutsch&Gerard raccontato, modellamento->rispecchiamento) pubblicata dopo lettura, Doc IT creato
* 06/09 notte: 7125 marcoparet -> bozza
* pagina persuasione v2 pubblicata su neurolinguistic.com/blog PID 11804 con tutte le note di Marco
* Doc a strati 1i-CtKlHG92 (v2, note, v1)
* M63 (13) e M64 (9)
; Prossimo passo :
; Prossimo passo :
* cd /home/claudeuser/scripts && python3 crea_pagina.py questionario "Erminio Di Pisa" --lang en, poi fabbrica.py nuova "Erminio Di Pisa" --def <def_pNN.txt> --titolo "Erminio Di Pisa: the Italian master of eyes-open hypnosis" --slug erminio-di-pisa --lang en
* 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.


=== rete-sicurezza-orfani ===
=== memo-mailbox-import-isicnvstaff ===
''Aggiornato 2026-09-08 07:30 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email


; Obiettivo : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco
; Obiettivo : Importare la mailbox 2013 del disco MEMO dentro isicnvstaff@gmail.com come memoria storica; poi valutare i backup server per il restauro dei siti morti (inventario MEMO come mappa)
; Vincoli in vigore :
; Vincoli in vigore :
* non toccare i cantieri con costi/invii/cancellazioni
* 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
* nessuna cancellazione su GCS
; Fatto (con prova) :
; Fatto (con prova) :
* gate_pipeline.py: una pipeline risponde sempre al proprio nome
* 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
* trigger PAG-2 ampliato
* sovra/ripresa_commessa.py ricostruisce il comando dalla commessa via registro
* handoff.py --list mostra PRONTO
* job ripresa_orfani_20260908 in corso sui 235 cantieri
* esamina_resta: riprova su 429, ritmo 3s, silenzio=[?] mai NO, avviso ogni 6h
* chat_controller chiama ripresa_commessa.py
* job rete_orfani_patch_20260908 (prova giudice) e ripresa_orfani_20260908 (235 cantieri) in corso
; Prossimo passo :
; Prossimo passo :
* job.py --status rete_orfani_patch_20260908
* 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
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE


=== chat-s20260907-esemplari-1p38o3i ===
=== spedizione-2791-fasce-sentinella ===
''Aggiornato 2026-09-07 22:02 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email


; 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.
; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* Non toccare status campagna a mano: lo governa fasce_2791.py. Un solo invio per persona garantito da Mailwizz sulla stessa campagna.
* non chiedere a Marco
; Fatto (con prova) :
* verifica prima di dichiarare fatto
* 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
; Fatto (con prova) :
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
* chat S20260907-esemplari-1p38o3i chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 1|Verificare lo stato del job esemplari-magnetic2_run (build+confronto A/B)|python3 /home/claudeuser/scripts/job.py --status esemplari-magnetic2_run
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json
* 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


=== pipeline-pagina-0609 ===
=== microcredential-passaggi-finali-ester-0109 ===
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment


; Obiettivo : PIPELINE 2 (pagina2.py): semplice, deterministica, con harness; stesura da Claude con HARNESS.md; controlli senza riscrittura; bozza + Doc a strati; note di Marco -> regole
; Obiettivo : 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 :
* 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
* gate=auto
* 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.
* nessuna domanda a Marco
* backup prima di sostituire
* verifica live prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* IT/EL/RO nostri gia online (01/09 mattina)
* 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)
* allegati Ester scaricati in tmp/mc/ester_0109
* la condensazione 7b scartata
* DOCX sorgenti in tmp/mc e tmp/mc/out
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* 06/09: 7083 tolta (draft). 7094 what-are-mesmeric-passes-and-how-do-they-work: materiale dalla pipeline (128 frasi, concorrenza, struttura), stesura da Claude come editor, guardiano+forma_finale, pubblicata dopo lettura, Doc IT 1g5xjb44_xpAsBoDIFP8XITt4wmipRE-VsPFlWK4-iUI in Per pagine. Costo modelli pipeline: 0.19 USD
* tempo macchina ~45 min
* tempo chat ~35 chiamate
* 07/09: pagina2.py installato
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
; Prossimo passo :
; Prossimo passo :
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* 1|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)
* 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).
* 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)


=== database-esercizi ===
=== posta-isicnv-followup-0109 ===
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: crm


; Obiettivo : Database esercizi dal corpus: parole esatte, contesto, prerequisiti, vantaggi, pagina, libro. Fasi: 1 Paret, 2 Lefebure, 3 Hanish/Mazdaznan, 4 Durville, 5 Encausse/Papus, 6 Evola+Gruppo di Ur. Poi Marco amplia il corpus.
; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche)
; Vincoli in vigore :
; Vincoli in vigore :
* Script canonico /home/claudeuser/scripts/esercizi_extract.py (BIB-1). Tabelle BQ biblioteca.esercizi + esercizi_coda. Modello glm-5.2 via aigw, 6 worker. Pagina: pdf (\\f) o stimata
* gate=umano: risposte a terzi a nome di Marco
* pagina_stampata dal testo. Costo stimato ~30 USD totali, tetto aigw giornaliero 8 USD -> il job pausa 60 min e riprende.
; Fatto (con prova) :
; Fatto (con prova) :
* Coda 295 doc costruita e deduplicata
* elenco in sovra/posta_isicnv_20260901.txt
* job esercizi_run lanciato 07/09 08:26 UTC
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run
* 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558)
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue
* 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


=== pagine-seo-affiancate-0509 ===
=== corso-analgesia ===
''Aggiornato 2026-09-06 21:58 UTC'' &mdash; dominio: pagine SEO marcoparet.com e neurolinguistic.com
''Aggiornato 2026-09-01 13:08 UTC'' &mdash; dominio: -


; Obiettivo : Ciclo pagine nuove + Doc IT a strati + regole dalle note
; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare
; Vincoli in vigore :
; Vincoli in vigore :
* Registro M1-M64 (736). M64.9: pagine di persuasione/vendita su neurolinguistic.com/blog (ssh marcopar@itpro1.fcomet.com, wp --path=/home/marcopar/neurolinguistic.com/blog), non su marcoparet.com. 64.1 niente temi negativi in apertura/titolo
* 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.
* 64.4 rapport nasce dalla relazione
* 64.6 vendita: occhi e stretta di mano, non passi/tocco. Doc a strati sempre.
; Fatto (con prova) :
; Fatto (con prova) :
* 05/09: onde-cerebrali IT 7018 pubblicata
* 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
* 153 e 155 ripristinate alle versioni originali
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run.
* pagine nuove affiancate 7051 how-to-shift-your-brainwave-states, 7052 animal-magnetism-full-history-mesmerism, 7046 how-to-develop-hypnotic-gaze
* 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
* 289 ripristinata e protetta
* lezione 04.04.2022 = yt lJ6838MgFLY
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus)
* regole M34-M44 estratte (da 358 a 464)
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi
* creati forma_finale.py, scopo_pagina.py, concorrenza.py, metafore.py, agente_logico.py, gate_pagina_protetta.py
* 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
* censite 78 pagine protette
* 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).
* 05/09: onde-cerebrali IT 7018 pubblicata
* 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
* 153/155/289 ripristinate e protette
* 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
* pagine affiancate 7046, 7051, 7052
* 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
* 155 ampliata
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails]
* regole M34-M45 (466 voci)
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico.
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta
* 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)
* 78 pagine protette
* 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
* note Doc onde cerebrali 1IF5_ gia in M34
* per Cloud Run resta nuovo_sito_login.sh
* 05/09 sera: M46 (25 regole) estratte dal Doc sguardo 13tz6GqK3TSft5yvnWrO5A6WdwHLO5FTW3PzmRSvuLE8 e riportate su 7046 (14 sostituzioni, titolo Powerful, verificato live). Pagina NUOVA 7062 what-is-non-verbal-hypnosis-how-it-works pubblicata (affiancata al post what-non-verbal-hypnosis-and-why-it-effective), catena metafore/agente_logico/guardiano/dedup/scopo/forma_finale/gate PASS. Doc IT in Per pagine: 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo
* 05/09 notte: M47 estratte dal Doc 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo e applicate alla 7062 (riscrittura integrale, titolo con Touch and Presence, note da 7 a 20 tutte verificate una per una via web, agente_logico 6/6, guardiano OK, forma_finale OK, gate PASS, verificato live). Prima: M46 su 7046. Backup 7062_backup_prima_M47.html
* 05/09 notte: pagina NUOVA 7075 come-fascinare-con-lo-sguardo (IT) pubblicata, affiancata a fascinazione-ipnotica 6999 (105 impr 0 click, intatta). Titolo-domanda dalle query reali. 15 note verificate, agente_logico 2/2, guardiano OK, dedup OK, scopo SCOPO_OK, forma_finale OK, gate PASS, verificata live. Doc IT 1h2glSPY_WlmNPcNsfya3PrYYEDk-cQ_plelHTd9BAwk in Per pagine
* 06/09 notte: 7116 centratura (v3 EN fatta dall altra chat, regole M58 gia estratte da lei) PUBBLICATA da me dopo lettura e verifica link: https://marcoparet.com/self-hypnosis-centering-to-feel-and-find-your-own-centre/
* 7119 magnetic-touch-how-to-induce-trance-with-the-hand PUBBLICATA (terzo strumento dopo sguardo 7046 e passi 7094), Doc IT 1JbfWkH70s1-_AnBwjsGPkT7xroiK1x-WcyJDTNGrQhw
* 7094 passi pubblicata con Doc 1g5xjb44
* 06/09: M59 (32 voci) registrate con esito per regola
* testi dei due libri in pillars/confronto_*.txt e stats in confronto_stats.json
* pagina 7121 kairos-and-chronos-how-to-step-out-of-linear-time pubblicata dopo lettura (formula 59.31, metronomo dal libro, 12 note reali), Doc IT 10KVjfoNUlVEWTQ0SD31Nda52N2eG7t_T6K1yICp-aA8
* confronto in Doc 1my01fS9Ze6cmqUxFUD2mjKVHstCN3tyoROfdF0CrWcc
* 06/09 notte: kairos 7121 v2 (bambino, nell istante, due maniere, note approfondite) + Doc a strati
* M62
* pagina 7125 how-to-persuade-without-pressure (grammatica fusa 61.44, dai due libri verificati nel corpus, Deutsch&Gerard raccontato, modellamento->rispecchiamento) pubblicata dopo lettura, Doc IT creato
* 06/09 notte: 7125 marcoparet -> bozza
* pagina persuasione v2 pubblicata su neurolinguistic.com/blog PID 11804 con tutte le note di Marco
* Doc a strati 1i-CtKlHG92 (v2, note, v1)
* M63 (13) e M64 (9)
; Prossimo passo :
; Prossimo passo :
* Note di Marco su: tocco 7119, passi 7094, fascinare 7075, non verbale 7062. Titoli con formula status->disciplina->beneficio (63.13). Frase-cardine vera del libro nella pagina kairos. M48 link su 7116.
* Dominio dedicato se Marco lo vuole
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email


=== chat-s20260904-claudegatepi-e9nzup ===
=== mro-r103-r104 ===
''Aggiornato 2026-09-05 00:22 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-01 11:18 UTC'' &mdash; dominio: mro


; 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
; 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 :
* gate=auto
* gate=auto
* non chiedere a Marco
* mai creare copie del MRO
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260904-claudegatepi-e9nzup chiusa senza prova
* codice installato e testato 01/09
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 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
* 1|Doc|inserire R103 e R104 dopo R102 nella sezione regole, in-place (leggere il doc, trovare R102, inserire)
* 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
* 2|wiki|MRO_Storia riga 01/09
* controllare nei log le 69 richieste dal gate del 2026-09-05 00:17
* 3|LEGGIMI|sezione 5 COME SI CHIUDE: aggiungere riga DELIVERABLES e nota R104
* 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)
* 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


=== memo-mailbox-import-isicnvstaff ===
=== ricalco-guida-2siti ===
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email
''Aggiornato 2026-08-31 14:45 UTC'' &mdash; dominio: pagine pillar


; 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 : 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 :
* 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
* restano bozze finche Marco non dice approvo
* pagine esistenti si preservano e si arricchiscono in coda
; 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
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU)
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run)
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso
* passo 3 marcoparet parte dopo 20 min
; Prossimo passo :
; Prossimo passo :
* 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
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638
* 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)


=== spedizione-2791-fasce-sentinella ===
=== ordine-2455-ipnoanalgesia ===
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email
''Aggiornato 2026-08-31 14:20 UTC'' &mdash; dominio: marcoparet.net WooCommerce


; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
; Obiettivo : Consegnare a Nunziana Dibenedetto (ritadb7920@gmail.com, ordine #2455, 79 EUR Stripe py_3U8xmiBJplFqfgbM1yIQ2r5z pagato 27/08 09:31) l'accesso al Corso di Ipnoanalgesia (prodotto 2332) e rendere automatica la consegna dei corsi monografici
; Vincoli in vigore :
; 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.
* Email al cliente = azione esterna a nome di Marco: solo dopo che Marco indica il contenuto del corso. Endpoint ops: POST https://marcoparet.net/wp-json/isicnv/v1/ops header x-isicnv-key ops-8f3a2d19c7e44b6b9a1d5e7f0c2b3a41, azioni: ping|sql(SELECT)|order|resend_email|send_course_link|set_purchase_note|set_status|test_mail|option. File: mu-plugins/isicnv-ops.php via cPanel Serverplan Fileman (hmarcopl, cms026.cmshigh.com:2083).
; Fatto (con prova) :
; 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
* 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).
* 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) 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.


=== chat-s20260903-claudemicroc-1j0h7kz ===
=== crisi-mesmerica-potatura ===
''Aggiornato 2026-09-03 09:01 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-08-29 17:24 UTC'' &mdash; dominio: hosting/pillar


; Obiettivo : Completare i deliverable mancanti D1-D4 dell'email a Ester (PDF RO ufficiale, PDF BG con indice corretto, PDF IT ed EL con indice tradotto online su R1, copie in uploads/deliverables e Drive aggiornato) e gestire le 20 richieste del gate
; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* prima di editare un pid: leggere bacheca interchat e annunciare
* non chiedere a Marco
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy)
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260903-claudemicroc-1j0h7kz chiusa senza 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
* contesto ricostruito da riprendi_chat
* 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.
; Prossimo passo :
* 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
* 1|Pubblicare il PDF RO ufficiale online su R1 (D1, segnato MANCA)|pubblicazione su R1 del PDF della RO ufficiale
* 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
* 2|Pubblicare il PDF BG con indice corretto online (D2, segnato MANCA)|pubblicazione su R1 del PDF BG con indice corretto
* fabbrica patchata (retry x3 + marcatura senza-materiale)
* 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
* 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.
* 4|Copiare i PDF in uploads/deliverables e aggiornare Drive (D4, segnato MANCA)|cp dei PDF in uploads/deliverables/ e sincronizzazione della cartella Drive
* 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco
* 5|Esaminare le 20 richieste segnalate dal gate (GIORNALE 2026-09-03 08:47)|rilettura del gate e processamento/accodamento delle 20 richieste
* ha gia' corretto la coda del crisi-mesmerica. Bozza 6828 mesmerism-training riscritta a mano con dati GSC (cluster ~350 impressioni), quote EN verificate, dedup 0, title SEO: resta DRAFT. Nota infra: CC connector degradato (503 su payload lunghi: workaround chunk idempotenti via exec-direct)
 
* hostgator ssh throttling temporaneo (risolto con loop retry su VM).
=== pillar-next-queue-20260901 ===
* 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP
''Aggiornato 2026-09-01 15:31 UTC'' &mdash; dominio: -
* prompt di continuazione consegnato a Marco e salvato nel Project
 
* puntatore in memoria CC
; Obiettivo : Prendere la prossima pagina pillar valida e libera e portarla a revisione noindex
* avviso in bacheca a tutte le chat.
; Fatto (con prova) :
* 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
* MRO v8.0, manuale pillar, Cantieri_aperti, bacheca, coda e REGOLE_VIVEZZA letti. R102+commessa attivi. Ricalco gia in cantiere. Nlp Meaning ha lock valido di altra chat dal 31/08 19:03 UTC, scadenza 01/09 19:03 UTC. STRATEGA canonico ha aggiunto site:www.neurolinguistic.com, scartato come query navigazionale. Nessun PID modificato.
* per l'esecuzione le serve la modalita' sviluppatore ChatGPT, e le e' stato inviato in bacheca il protocollo completo sessione/commessa/journal/handoff (richiesta di Marco). Manuale aggiornato.
* 29/8 pom (2): bridge v3.2 con auto-sessione (se session manca, il bridge la apre da solo): rimosso il bootstrap circolare segnalato dalla chat ChatGPT: cc_vm_exec via MCP senza session TESTATO ok sulla VM. Backup v3.1 su GCS. Manuale aggiornato, protocollo e sblocco comunicati in bacheca.
* 29/8 sera: SECONDO MOTORE. stratega.py (cron dom 05:30 UTC): opportunita' da GSC, proposte in coda, questionari grounding su Drive (creati: pnl-ricalco e catalessi). bq_sink_cruscotto.py (cron 07:35 UTC): cruscotto -> BigQuery pillar_intelligence.metrics_giornaliere, 38 righe caricate al primo giro, registro auto-esteso, alert in bacheca. arricchitore.py in catena fabbrica: pagella video/immagini/JSON-LD/liste + --schema per Article/FAQPage. Pagelle attuali: 6751 e 6828 senza video/immagini/schema. pill_lib.wp con retry. NOTA: ssh hostgator in ban temporaneo (connection refused): WP in pausa.
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo
* resta draft
* 0 duplicati
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato.
* PROVA BRIDGE: da questa chat ChatGPT, cc_vm_exec chiamato senza sessione esplicita ha eseguito sulla VM e restituito stdout AUTOSESSIONE_CHATGPT_OK con rc 0
* il gate ha poi assegnato la sessione S20260829-mcpchatgpt-1ul2nt6, usata per commessa e journal. PROVA PILLAR: draft 6828 mesmerism-training grounded con Q1 definitivo, resta draft, 0 duplicati, grassetti EN tarati circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato.
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica
* Playwright desktop+mobile sul contenuto WordPress finale
* per post pubblicati verifica anche permalink reale
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso.
; Provato ed escluso :
* potatura ulteriore automatica: toglie sostanza
* scorporo del ciclo delle tre crisi dalla pagina madre
* pubblicazione automatica dalla fabbrica
* pubblicazione automatica
* edit paralleli sullo stesso pid
; Prossimo passo :
; Prossimo passo :
* Quando il lock pillar-nlp-meaning viene rilasciato/scade, prendere Nlp Meaning
* Marco controlla il testo 6828
* altrimenti usare solo STRATEGA/PAG-1 canonici per un candidato editoriale valido, poi grounding, expansion cache, gerarchia, PAG-2, gate e preview noindex.
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale.


=== chat-s20260901-claudeanalyt-1ambje5 ===
=== video-proxy-pipeline ===
''Aggiornato 2026-09-01 14:23 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-08-28 22:52 UTC'' &mdash; dominio: video / infrastruttura


; 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.
; 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
* non chiedere a Marco
* solo file propri con originale esistente
* verifica prima di dichiarare fatto
* PC di Marco ultima risorsa per lo spazio
* backup e cartelle personali esclusi ma catalogati
* nessuna ri-trascrizione se esiste gia in archivio storico
* deploy solo con assert anti-regressione superato
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260901-claudeanalyt-1ambje5 chiusa senza prova
* Agente Windows autoaggiornante v2.9 (C:/isicnv, Python embeddable+ffmpeg, icona desktop+menu Start) su https://wiki.marcoparet.com/agent/agent.py : rileva dischi da solo, QSV full-GPU 1080p 2Mbps con fallback, anti doppia istanza (bug 47 righe/24 clip risolto), progresso live e stime, catasto dischi in BQ disk_inventory, upload WebDAV Yandex con backlog e retry (creds bootstrap k_9vq2m8xk4t.json, copia in gs tokens-yandex-webdav.json). Yandex verificato: 3TB totali, 1.81 usati, 1.20 liberi, cartella isicnv_proxy creata. Tabelle BQ: video_proxy_tracking con disk_serial, disk_label_map, trascrizioni_index 9860 righe, disk_inventory. Dashboard https://wiki.marcoparet.com/agent/status.html cron 10min con dedup. Dischi: Maxtor 2019-09 2020-03 (2943 video, label=nome canonico) e INTENSO in corso 15/08. Mirror ffmpeg su wiki per problema TLS del PC.
* contesto ricostruito da riprendi_chat
* 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.
; Prossimo passo :
* 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
* 1|Eseguire lo script di analisi visite indicato come next alla chiusura|python3 /home/claudeuser/scripts/analisi_visite.py
* video statici 1 copertina a meta durata)
* 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
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/
* 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
* backlog automatico su clip done senza media via media.csv
* 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
* 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)
* 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
* 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
* 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
* 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)
 
* 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
=== microcredential-passaggi-finali-ester-0109 ===
* 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.
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment
* v3.1 VERIFICATA IN PRODUZIONE post-riavvio Marco: BQ mostra 2 audio (a16k-mono) + 2 scenes (scene0.35-orig, dagli ORIGINALI) + 5 done alle 09:31-09:42 UTC
 
* upload media in coda dietro i proxy (fisiologico). v3.2 PUBBLICATA (sha 31165499...): SISTEMA PUSH - da idle a code vuote, ogni 10 min l'agente controlla wiki: versione nuova -> scarica, compile-check (se rotta resta sulla vecchia), sostituisce e si riavvia da solo con os.execv
; 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
* 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
; Vincoli in vigore :
* 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
* gate=auto
* 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
* nessuna domanda a Marco
* 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
* backup prima di sostituire
* 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.
* verifica live prima di dichiarare fatto
* 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.
; Fatto (con prova) :
* 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')
* IT/EL/RO nostri gia online (01/09 mattina)
* (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.
* allegati Ester scaricati in tmp/mc/ester_0109
* 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).
* DOCX sorgenti in tmp/mc e tmp/mc/out
* 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)
; Prossimo passo :
* 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.
* 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)
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot
* MD5 live = MD5 locale
* costo solo su modifiche/cancellazioni future
* 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)
* i proxy sono comunque rigenerabili dagli originali (dati derivati, non preziosi)
* convertire in PDF con soffice, controllo visivo pdftoppm pagine 1-3, sostituire online ..._BG.pdf con backup e MD5
* 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.
* 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
* 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
* verificare i 4 link live con curl -I
* Marco valuta secondo PC.
* 4|Drive e chiusura|caricare i PDF/DOCX definitivi RO/BG/IT/EL sulla cartella Drive del progetto Green Agritainment
* 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.
* chiudere commessa con consegne = 4 URL live
* 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
* NON scrivere a Ester (lo fa Marco)
* i 3.19TB su Drive sono anche processabili DALLA VM senza disco fisico (opzione futura per proxy/trascrizioni di materiale non piu su disco).
 
* 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
=== posta-isicnv-followup-0109 ===
* 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.
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: crm
* 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)
 
* 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)
; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche)
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce.
; Vincoli in vigore :
* 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')
* gate=umano: risposte a terzi a nome di Marco
* 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.
; Fatto (con prova) :
* VPN esclusa da Marco (nessuna sul PC
* elenco in sovra/posta_isicnv_20260901.txt
* 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)
; Prossimo passo :
* aggancio alto ma upload basso = linea/contratto.
* 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558)
* 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).
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM
* 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
* 3|Alejandro Banda ES|28/08 chiede certificacion mesmerismo y fascinacion (1a0495cbddd32504): lead ES per Salsina
* (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)'
* 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
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito.
 
* 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)
=== corso-analgesia ===
* 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
''Aggiornato 2026-09-01 13:08 UTC'' &mdash; dominio: -
* 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
 
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi.
; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare
* 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
; Vincoli in vigore :
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati)
* 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.
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo
; Fatto (con prova) :
* (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.
* 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
* 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
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run.
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo
* SVOLTA 31/08 sera: profilo Chrome jules su display :1 GIA loggato (Chrome vero via /home/claudeuser/launch_cdp.sh + CDP 127.0.0.1:9222). Sezione ANALGESIA sito Advanced letta: lezione Zoom 10.11.2025 = yt _8Vu4mrRNMg
* (3) 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
* lezione 04.04.2022 = yt lJ6838MgFLY
* (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.
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus)
* 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
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi
* (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)
* 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
* mai file utente, mai i registri manifest/uploaded/media.csv
* 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).
* (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).
* 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
* 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)
* 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
* (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)
* 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
* (3) sb_key resa sola-lettura bloccava i riavvii
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails]
* (4) percorsi >260 caratteri Windows -> prefisso \\?\\ (wp())
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico.
* (5) stderr ffmpeg buttato via -> ora il motivo reale e' nel log. REGOLE DI MARCO CODIFICATE: (a) cancellazione: solo file creati dall'agente e solo se l'originale esiste (libera_spazio, target 45GB, mai registri ne' file utente)
* 01/09 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)
* (b) priorita spazio: disco origine -> altro disco esterno -> PC solo ULTIMA RISORSA con email
* 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
* (c) cartelle dubbie: si fanno TUTTE, restano tracciate
* per Cloud Run resta nuovo_sito_login.sh
* (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 :
* Dominio dedicato se Marco lo vuole
* 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)
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email


=== mro-r103-r104 ===
=== paret-ai-pillar ===
''Aggiornato 2026-09-01 11:18 UTC'' &mdash; dominio: mro
''Aggiornato 2026-08-27 12:01 UTC'' &mdash; dominio: hosting/siti + ai-search


; Obiettivo : Scrivere in-place nel Doc MRO canonico (1Iyxrr5-uTRtRY52QTab1eyLlmzz6Frbc9fJbQn4HTNs) le regole R103 (chiusura verificata: END senza prova = END_NONVERIFICATO, riprendi_chat.py cron rilancia) e R104 (deliverables dichiarati in apertura con commessa.py apri --deliverables, prove a chiudi --consegne, verifica-tutte ogni 20 min, riga DELIVERABLES accanto a END); poi cronaca su wiki ops MRO_Storia e grafo
; Obiettivo : 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 :
* gate=auto
* MASTER v7.12
* mai creare copie del MRO
* 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) :
* codice installato e testato 01/09
* 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/)
; 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 :
* 1|Doc|inserire R103 e R104 dopo R102 nella sezione regole, in-place (leggere il doc, trovare R102, inserire)
* generare bozze GLM incollando brief_pillar.txt nel prompt
* 2|wiki|MRO_Storia riga 01/09
* bibliotecario --verifica come cancello dopo bonifica e su ogni traduzione
* 3|LEGGIMI|sezione 5 COME SI CHIUDE: aggiungere riga DELIVERABLES e nota R104
* agganciare ark Gallica del Rapport 1784 per chiudere il fatto commissari


=== r103-riprendi-chat-esaminatore ===
=== modalita-contabilita ===
''Aggiornato 2026-09-01 10:17 UTC'' &mdash; dominio: sovra
''Aggiornato 2026-08-25 22:42 UTC'' &mdash; dominio: finance


; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio
; 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
* riusare classification_rules (678 regole), controparti, pagamenti_ricorrenti_attesi, tesoriere_v2.py, argo_watch.py
* MAI LLM sui numeri
* coordinarsi col cantiere finanze-classificazione
; Fatto (con prova) :
; Fatto (con prova) :
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller
* Riletto MRO v7.1 completo
* recuperata spec TESORIERE 4 tier
* 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
; 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|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) 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
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON


=== cc-backup-timeout ===
=== cruscotto-marketing-quotidiano ===
''Aggiornato 2026-09-01 07:19 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-08-25 11:25 UTC'' &mdash; dominio: ads/analytics/report


; 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 : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi
; Vincoli in vigore :
; Vincoli in vigore :
* niente cancellazioni su GCS
* Deterministico, no LLM nel calcolo quotidiano
* il backup deve restare ripristinabile in un colpo solo
* riusare esistente: ARGO L0-L15 (scripts/argo/), cruscotto.py 07:15, rendiconto.py, avvisa.py digest
* misurare prima con gsutil du -s per prefisso
* 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) :
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert
* Censimento fonti 25/08: campaigns_daily FRESCO
; Prossimo passo :
* allievi_pagamenti ok
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti
* 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
=== ricalco-guida-2siti ===
* monitor argo_ads con heal_cmd gia registrato in capoufficio
''Aggiornato 2026-08-31 14:45 UTC'' &mdash; dominio: pagine pillar
* 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
; 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
* 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 :
* FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY
 
=== compressore-contesto ===
''Aggiornato 2026-08-25 09:34 UTC'' &mdash; dominio: VM / infrastruttura
 
; Obiettivo : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV
; Vincoli in vigore :
; Vincoli in vigore :
* restano bozze finche Marco non dice approvo
* zero dipendenze esterne
* pagine esistenti si preservano e si arricchiscono in coda
* mai comprimere pipeline Biblioteca/citazioni
; Fatto (con prova) :
* originale sempre recuperabile (CCR)
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU)
; Fatto (con prova) :
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo
* 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)
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run)
; Provato ed escluso :
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso
* headroom-ai upstream come dipendenza: su nostro JSON default dava +10% overhead
* passo 3 marcoparet parte dopo 20 min
; Prossimo passo :
; Prossimo passo :
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638
* 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
* 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 ===
=== pnl-nlp-download ===
''Aggiornato 2026-08-31 14:20 UTC'' &mdash; dominio: marcoparet.net WooCommerce
''Aggiornato 2026-08-22 14:04 UTC'' &mdash; dominio: Hosting / siti


; 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 : pnl-nlp.org completo: struttura originale, gate email, archivio funzionante
; 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).
* NON spostare il dominio
* 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) :
* 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).
* Credenziali gator4063 recuperate e salvate in memoria CC (kind=credential, token cPanel JJ7LP3RN6YLQGOHJ6EABS9HOAS32YTJM)
; Prossimo passo :
* docroot pnl-nlp.org = /home2/isicnv/public_html (unico dominio account, home /home2/isicnv)
* 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.
* SSH porta 2222 con password RIFIUTA (rc=5) -> si lavora via API cPanel che funziona
 
* 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 -
=== crisi-mesmerica-potatura ===
* DB isicnv_dn utente isicnv_g63 pass 2&ynT(cq7^zH
''Aggiornato 2026-08-29 17:24 UTC'' &mdash; dominio: hosting/pillar
* CATALOGO REALE = 741 item (non 49), 416 con titolo in downloads_item_lang, contatori download storici presenti
 
* 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
; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna
* dn.zip 22MB estratto in /dn/_archivio (3963 file)
; Vincoli in vigore :
* indice ricorsivo di tutti i file scaricabili del sito in /dn/_indice.json (617 nomi)
* prima di editare un pid: leggere bacheca interchat e annunciare
* catalogo completo in /dn/_catalogo3.json e copia locale /home/claude/cat3.json
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy)
* 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
; Fatto (con prova) :
* su disco ci sono 148 file in /download e 187 in /corsi (Braid_Neurohypnology.pdf 13MB, Mind_Studio kit 15MB, brochure, Mesmerismus, Heilmagnetismus)
* 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
* 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
* 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.
* 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
* 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
* BUG CORRETTO: gli URL relativi in file_external perdevano lo slash (. invece di ./.ltrim)
* 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
* 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
* fabbrica patchata (retry x3 + marcatura senza-materiale)
* script temporanei _dumper*.php _fix.php _build.php neutralizzati (404)
* 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.
* screenshot https://marcoparet.com/preview-eval/PNL_desktop.jpg e PNL_mobile.jpg
* 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco
* 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
* 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)
* 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
* hostgator ssh throttling temporaneo (risolto con loop retry su VM).
* POST form 302 con ok=1 e cookie dn_access 180gg
* 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP
* pagina sbloccata mostra il bottone
* prompt di continuazione consegnato a Marco e salvato nel Project
* download reale 3.667.704 byte application/zip
* puntatore in memoria CC
* dn_leads registra form + download con titolo documento.
* avviso in bacheca a tutte le chat.
* 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/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
* 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
* 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.
* 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
* 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.
* CRON ATTIVO sulla VM ogni 6 ore (17 */6) pnl_all.py leads
* 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.
* 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
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo
* 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.
* resta draft
* 0 duplicati
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato.
* PROVA BRIDGE: da questa chat ChatGPT, cc_vm_exec chiamato senza sessione esplicita ha eseguito sulla VM e restituito stdout AUTOSESSIONE_CHATGPT_OK con rc 0
* il gate ha poi assegnato la sessione S20260829-mcpchatgpt-1ul2nt6, usata per commessa e journal. PROVA PILLAR: draft 6828 mesmerism-training grounded con Q1 definitivo, resta draft, 0 duplicati, grassetti EN tarati circa 1 ogni 12.7 parole senza alterare testo visibile
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato.
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica
* Playwright desktop+mobile sul contenuto WordPress finale
* per post pubblicati verifica anche permalink reale
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso.
; Provato ed escluso :
; 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 :
* mai cancellare file utente
* solo file propri con originale esistente
* PC di Marco ultima risorsa per lo spazio
* backup e cartelle personali esclusi ma catalogati
* nessuna ri-trascrizione se esiste gia in archivio storico
* deploy solo con assert anti-regressione superato
; Fatto (con prova) :
; Fatto (con prova) :
* Agente Windows autoaggiornante v2.9 (C:/isicnv, Python embeddable+ffmpeg, icona desktop+menu Start) su https://wiki.marcoparet.com/agent/agent.py : rileva dischi da solo, QSV full-GPU 1080p 2Mbps con fallback, anti doppia istanza (bug 47 righe/24 clip risolto), progresso live e stime, catasto dischi in BQ disk_inventory, upload WebDAV Yandex con backlog e retry (creds bootstrap k_9vq2m8xk4t.json, copia in gs tokens-yandex-webdav.json). Yandex verificato: 3TB totali, 1.81 usati, 1.20 liberi, cartella isicnv_proxy creata. Tabelle BQ: video_proxy_tracking con disk_serial, disk_label_map, trascrizioni_index 9860 righe, disk_inventory. Dashboard https://wiki.marcoparet.com/agent/status.html cron 10min con dedup. Dischi: Maxtor 2019-09 2020-03 (2943 video, label=nome canonico) e INTENSO in corso 15/08. Mirror ffmpeg su wiki per problema TLS del PC.
* 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
* 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.
* Flag deep_archive_new.flag fermo dal 19-21 luglio con 27 documenti mai reindicizzati
* 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
* VM in fetch failed: recuperata con la sequenza documentata status/reset/90s
* video statici 1 copertina a meta durata)
* Reindex lanciato con job.py id reindex_oracle, flock su Hetzner
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/
* 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
* backlog automatico su clip done senza media via media.csv
* BUG /vm/task RISOLTO alla radice. La route statica invoca claude --dangerously-skip-permissions -p COMANDO
* 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)
* 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
* 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
* Reindex 1 completato in 20 minuti (job reindex_oracle DONE rc=0)
* 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)
* 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
* 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
* SCOPERTO limite ~100KB del body di /vm/exec-direct (default Express), fallimento muto con ok:false e stderr vuoto
* 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.
* AUDIT RETRIEVAL vs checklist 7 tecniche stato dellarte: BM25 v3 OK con query expansion multilingue DeepSeek + boost wiki terms
* 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
* dense e5 OK peso 1.6
* 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
* fusione RRF k=60 OK
* 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
* cross-encoder BGE-reranker-v2-m3 OK con retry adattivo se best<0.30
* 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
* 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
* 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
* nessuna strumentazione latenze per stadio
* 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
* 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
* 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.
* 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.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.
* 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
* 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')
; Provato ed escluso :
* (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.
* 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
* 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).
* Programmare il reindex via /vm/task: e la causa del guasto, va sostituito con job.py o cron
* 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)
* 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
* 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.
* 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
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot
; Prossimo passo :
* costo solo su modifiche/cancellazioni future
* 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
* 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.
=== agritainment-sito ===
* 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-08-22 00:20 UTC'' &mdash; dominio: Hosting / siti
* 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 : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti)
* 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).
* video su 6 canali YouTube di partner diversi
* 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
* slide moduli 3 e 4 inesistenti in WP3
* 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.
* traduzioni = obbligo di ciascun partner da formulario
* 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)
; Fatto (con prova) :
* 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)
* 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)
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce.
* punto 2 le 5 pagine choose linkano tutti i 6 moduli
* 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')
* punto 4 materiali EN+lingua propria in ogni lingua (EN45 IT46 BG58 EL66 RO52)
* 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.
* punti 5-6-7 events/meetings/webinar online e nel menu
* VPN esclusa da Marco (nessuna sul PC
* 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
* 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)
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube
* aggancio alto ma upload basso = linea/contratto.
* 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.
* 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).
; Provato ed escluso :
* 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
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi
* (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)'
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403)
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito.
; Prossimo passo :
* 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)
* Consegnare ai partner la lista per canale delle tracce mancanti
* 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
* per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl
* 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
 
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi.
=== lessico-canonico ===
* 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
''Aggiornato 2026-08-13 19:49 UTC'' &mdash; dominio: knowledge
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati)
 
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo
; 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
* (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.
; Vincoli in vigore :
* 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
* NULL dove la resa non e certa, mai fabbricare
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo
* integrazioni nelle pipeline solo dopo test (traduttore = sistema live seminari) e dopo benchmark NotebookLM per lOracolo
* (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
; Fatto (con prova) :
* (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.
* 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)
* 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
* 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
* (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)
* verificato con SELECT per categoria e spot-check
* mai file utente, mai i registri manifest/uploaded/media.csv
; Prossimo passo :
* (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).
* 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
* 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 :
* 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)


=== paret-ai-pillar ===
=== migrazione-aigw ===
''Aggiornato 2026-08-27 12:01 UTC'' &mdash; dominio: hosting/siti + ai-search
''Aggiornato 2026-08-13 16:56 UTC'' &mdash; dominio: infrastruttura AI / gateway


; Obiettivo : Costruire i pillar neurolinguistic.com per Ipnosi non verbale, Ipnosi con lo sguardo e Mesmerismus preservando SEO storico e preparando evidence graph
; Obiettivo : Instradare ogni lavoro AI sul fornitore piu economico che lo sa fare, dal gateway
; Vincoli in vigore :
; Fatto (con prova) :
* MASTER v7.12
* 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
* testo pubblico mai da Claude: generazione via GLM e review
* 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
* nessuna nuova pagina se esiste URL valido
* 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
* snapshot/backup prima di ogni write
* 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
* pubblicazione solo dopo gate previsto dal cantiere benchmark-visibilita-ai
* Processi fermati dal guard: cita_service.py, svc oracle-agent, svc oracle-cita. Per riattivare: rm /opt/oracle/openrouter_guard.state
; Fatto (con prova) :
* 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
* 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
* 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
* PID3576 /guardarmi-negli-occhi/ 200 self-canonical
* 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
* PID1848 /il-potere-dellocchio/ 200 self-canonical
* 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
* /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.
* SCOPERTO che il gateway aigw ha GIA un instradamento opencode (provider, opencode_models, oc_cost): era gia stato aggiunto
* 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/)
* 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
* 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 :
; Provato ed escluso :
* Nessuna modifica live eseguita. Non riutilizzare alla cieca potenzia_pillar.py: contiene pipeline precedente e testo con claim senza fonte.
* 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
* cancello di verifica su HTML renderizzato: rumore per costruzione, va sul corpo markdown
* Ruotare le chiavi provider prima che lultimo client sia migrato: spacca i non migrati
; Prossimo passo :
* Alzare CREDIT_MIN o disattivare il guard per far ripartire i servizi: nasconderebbe il problema vero, che e il credito in esaurimento
* generare bozze GLM incollando brief_pillar.txt nel prompt
* 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
* bibliotecario --verifica come cancello dopo bonifica e su ogni traduzione
* 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
* agganciare ark Gallica del Rapport 1784 per chiudere il fatto commissari
* Aprire una fatturazione xAI diretta per Grok 4.1 Fast: qwen3-8b su OpenRouter costa gia meno
; Prossimo passo :
* Collegare gli alias di classe al gateway: gli script chiedono volume o giudizio invece del nome del modello, cosi cambiare fornitore e una riga nel listino e non 289 modifiche
* Misurare il risparmio reale su una settimana confrontando calls.jsonl prima e dopo


=== modalita-contabilita ===
=== finanze-classificazione ===
''Aggiornato 2026-08-25 22:42 UTC'' &mdash; dominio: finance
''Aggiornato 2026-08-11 15:08 UTC'' &mdash; dominio: contabilita / finance


; Obiettivo : Modalita Contabilita: rispondere in automatico a Perche questa spesa
; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte
; Vincoli in vigore :
* NON ripartire da zero: spec TESORIERE architecture_1783460671236_4nxv6j
* riusare classification_rules (678 regole), controparti, pagamenti_ricorrenti_attesi, tesoriere_v2.py, argo_watch.py
* MAI LLM sui numeri
* coordinarsi col cantiere finanze-classificazione
; Fatto (con prova) :
; Fatto (con prova) :
* Riletto MRO v7.1 completo
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte
* recuperata spec TESORIERE 4 tier
* 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
* censiti asset esistenti (tabelle isicnv_finance, tesoriere_daily/v2, cantiere finanze-classificazione)
* 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
* best practices raccolte: tagging deterministico prima di tutto, alert+allocazione insieme, closed-loop spesa-lead-ricavo con identificatore comune
* 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
* 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)
* Stato attuale: DA_CLASSIFICARE 8.389 mov / 1.743.096 eur, DA_CHIARIRE 98 mov / 200.025 eur
* pagina wiki Contabilita creata e verificata HTTP 200 con template 5 blocchi + quadro VMK
* ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe)
* SEGNALATO A MARCO: saldo residuo VMK 2415 EUR dichiarato al 07/05, sollecito 16/06 senza risposta
* controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction
* perche_spesa.py deployato (5 blocchi, alias VMK=Veneto Marketing Lab, cron 07:25 daily-ads con tg solo se anomalo)
* 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
* sentinella DA_CLASSIFICARE cron 03:50 (baseline 10012)
* 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
* riconciliazione VMK 21/22
* INTEGRITA VERIFICATA: 14.492 righe prima e dopo, somma importi 4.351.207 identica
* DISCREPANZA: lista VMK somma 25546 ma dichiarano 26546, saldo possibile 3415 non 2415, da chiarire con Marina
* 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
* wiki Contabilita sez.8 aggiornata
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000
* RESIDUO ora 4.907 mov / 938.723 eur (partenza 8.389 / 1.743.096)
* INDAGINE sui 113 (da identificare): tutti IN su Universite apr-lug 2026, causali loan 15.050, vuota 8.374, Wages 7.094, bonus, rimborsi progetto, May Rent, fatture, Saldo corso Roma, quote iscrizione
* Gmail isicnv interrogabile via token-any-isicnv: le notifiche Wise Denaro ricevuto da X contengono il nome mancante. Estratte 12 mail con nome (TODARO STEFANIA, MORRONI CRISTIANA, Giuseppe Giudice, BERTON LINE SRL, Daniele Pacioni, D ALONZO ELISA, PRIVITERA ANTONINO, DONATI NAZZARENO...) in /home/claudeuser/wise_mail_match.json
* FALSO SUCCESSO SCOPERTO: tutto il lavoro di classificazione del 10 agosto (3.413 movimenti miei piu circa 1.700 di unaltra chat) era stato AZZERATO. DA_CLASSIFICARE era tornato a 8.389 mov / 1.743.096 euro, il numero esatto di partenza, mentre i marcatori in classifier_blob restavano a dire che il lavoro era stato fatto
* CAUSA TROVATA: finance_daily_sync.py alle 06:45 ha un passo chiamato classificazione che riscrive la colonna category da zero e riporta a DA_CLASSIFICARE tutto cio che le sue regole interne non riconoscono. Confermato da INFORMATION_SCHEMA.JOBS_BY_USER: catena di UPDATE alle 06:49-06:51 su category e perimetro, e ultima modifica tabella alle 06:50:29
* RIMEDIO: creato scripts/riapplica_regole.py, in cron alle 07:10 (dopo il sync). Ripopola controparte_nome e riapplica classification_rules
* BUG TROVATO NEL RIMEDIO: dopo le 6 regole aggiunte ieri alcune controparti erano doppie e BigQuery rifiutava con UPDATE must match at most one source row. Aggiunta deduplica con ROW_NUMBER sulla piu recente
* RIPRISTINO ESEGUITO: da 8.389 a 4.646 movimenti, da 1.743.096 a 702.043 euro
* USATA la libreria google.cloud.bigquery al posto della CLI bq: la CLI perdeva le regex nei livelli di escaping e l UPDATE tornava False senza errore visibile
* la libreria restituisce num_dml_affected_rows
; Provato ed escluso :
; Provato ed escluso :
* Progettare rami di spesa ex novo: esistono gia come classification_rules+controparti+tier
* 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
* /memory/get non esiste, full text memoria via gsutil su GCS
* Fidarsi dei nomi di colonna italiani: il ledger usa date amount_src category description NON data importo categoria
* Scrivere il marcatore nel campo note: e FLOAT64 non STRING, lUPDATE fallisce. Usare classifier_blob che e STRING
* Riclassificare a mano controparte per controparte prima di aver popolato controparte_nome
* Recuperare i nomi dai dati grezzi: recent_2026_raw ha sender valorizzato solo su 19 righe su 334 nel periodo, merchant zero. Il nome NON e nei grezzi
* Il campo note e FLOAT64: usare classifier_blob per i marcatori
* Solo 12 notifiche Wise nel periodo contro 113 movimenti: la posta copre una minoranza dei casi
* Modificare la logica interna del passo classificazione del sync: rischioso e non necessario. Meglio un passo additivo dopo, che riapplica la fonte di verita classification_rules
* Fidarsi di un ESITO FATTO senza ricontrollare il giorno dopo: era vero quando scritto e falso dodici ore dopo
* Stringhe SQL con apostrofo (Spese per l ufficio): usare ScalarQueryParameter
; Prossimo passo :
; Prossimo passo :
* 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
* Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga


=== cruscotto-marketing-quotidiano ===
=== referenze-canon ===
''Aggiornato 2026-08-25 11:25 UTC'' &mdash; dominio: ads/analytics/report
''Aggiornato 2026-08-10 20:26 UTC'' &mdash; dominio: Referenze E-E-A-T


; Obiettivo : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi
; Obiettivo : VIA eseguito: pubblicazione dossier referenze
; Vincoli in vigore :
* Deterministico, no LLM nel calcolo quotidiano
* 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) :
* Censimento fonti 25/08: campaigns_daily FRESCO
* 3 tabelle BQ (canon 31, libri 12, citazioni 30)
* allievi_pagamenti ok
* 3 pagine rassegna LIVE su neurolinguistic.com/referenze/rassegna/ (lastampa-2002, autostima-ipnosi-shock, donnad) con screenshot-verify OK
* transactions_multianno al 07/08
* job wayback_rassegna programmato +4h con retry
* ads_events (fogli VMK) FERMO 17/03 -> per attivita agenzia usare change_event API v23 appena riparata + confronto snapshot campagne/keywords giorno su giorno
* NGH/NFNLP/ministero-psicoterapeuti/sindacato-FR integrati in pagina+llms+canon
* monitor argo_ads con heal_cmd gia registrato in capoufficio
* GCS docs/referenze/ sincronizzato
* 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
* Sheet 1COwn3BXgkzFmKTujVimzCX_X5P_1Q1a_uL2CfEt27oM con 3 tab
* marcoparet.com e mesmerismus.info = siteUnverifiedUser
* canon 43 righe
* neurolinguistic.com/marcoparet.net/pnl-nlp.org ASSENTI (vivono sotto marcoparet@gmail.com)
* scoperta portfolio marchi (EMDR=EMF di Marco, TimeLine, Ipnorapport, visura 1996)
* 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)
* Ivinghoe registrata subordinata ad Anneville
* 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
* LIVE verificati con shot e vista: /referenze-marco-paret/ entity home con Australia+Pandiscia integrate
* stato in state/gsc_migrate_state.json, TG a ogni progresso e a completamento. Idempotente, riprova ai giri successivi
* /llms.txt con backup del precedente su GCS llms_backup_pre_referenze.txt
* 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
* /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
* PUT sites per aggiunta esplicita a GSC. SCOPERTA: informazionicorsi era GIA owner verificato di ~40 domini INET_DOMAIN storici (pnlcoaching, neuro-linguistic, nlp4all, franzbardon, carljung, milton-erickson etc) — per quelli lo storico GSC e gia disponibile. Token: token-any-informazionicorsi-gsc.json (root bucket
* ATTENZIONE callback salva come token-any-{account}.json non token-{account}.json)
* 25/08 11:25 marcoparet.net COMPLETATO via Serverplan hmarcopl@cms026 (docroot /home2/hmarcopl/public_html, credenziali ritrovate in chat 09/04): verificato https e www, aggiunto a GSC. CONSOLIDAMENTO GSC 11/11 COMPLETO su tutti e 5 i domini target
; Provato ed escluso :
; Provato ed escluso :
* form_db_all/leads_journey/yt analytics_daily hanno dato 500 su MAX(colonna): colonne da mappare con INFORMATION_SCHEMA, tabelle esistono
* stampa2=duplicato La Stampa
* GA4: nessun token analytics in GCS tokens/ -> token-analytics-marcoparet MORTO, serve ri-auth manuale Marco (unico punto che richiede lui)
* Eminen Stell non finanziata
* NON ricostruire ads_events da fogli VMK
* Marie Claire non trovata
* Ri-auth token-analytics-marcoparet: inutile, si usa informazionicorsi
* pirateria Scribd+forum RU segnalata
* DNS TXT GoDaddy: NS di tutti e 5 i domini NON GoDaddy (hostgator/fcomet/cmshigh)
* duplicati byte-identici nei TIF marchi
* marcoparet.net: se docroot non su gator4224 (probabile Serverplan cms026, username cPanel ignoto) restera SKIP -> servira username Serverplan o delega manuale
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare
* marcoparet.net: Serverplan, username cPanel ignoto -> unico rimasto sotto marcoparet@gmail
* llms sugli altri 4 domini non ancora
* fallback delega manuale o username da Marco
; Prossimo passo :
; Prossimo passo :
* FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY
* 1 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


=== compressore-contesto ===
=== cairn-archive ===
''Aggiornato 2026-08-25 09:34 UTC'' &mdash; dominio: VM / infrastruttura
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com


; Obiettivo : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV
; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Vincoli in vigore :
; Vincoli in vigore :
* zero dipendenze esterne
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* mai comprimere pipeline Biblioteca/citazioni
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* originale sempre recuperabile (CCR)
* planned != held
* mail solo redatte
; 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)
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* nota interna su AUD-001 col.N
* llms.txt e sitemap-static.xml aggiornati (11 url)
; Provato ed escluso :
; Provato ed escluso :
* headroom-ai upstream come dipendenza: su nostro JSON default dava +10% overhead
* archive.org/wayback/available da 429: usare la CDX API con retry
; 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
* salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine
* facsimili redatti delle 3 mail
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* valutare pagina EN/IT bilingue


=== pnl-nlp-download ===
== Sospesi ==
''Aggiornato 2026-08-22 14:04 UTC'' &mdash; dominio: Hosting / siti
=== hpr_pilota ===
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : pnl-nlp.org completo: struttura originale, gate email, archivio funzionante
; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; Vincoli in vigore :
; Vincoli in vigore :
* NON spostare il dominio
* read-only sul resto
* NON chiedere credenziali a Marco (R2: memoria+Log Gerarchico)
* budget run 15
* nlp4all.org resta su Google Sites
* giudizio col test delle 4 domande sul vault
* 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)
* script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh)
* docroot pnl-nlp.org = /home2/isicnv/public_html (unico dominio account, home /home2/isicnv)
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* SSH porta 2222 con password RIFIUTA (rc=5) -> si lavora via API cPanel che funziona
* 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
* 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 -
* il gateway aigw espone solo chat/completions, non /v1/messages
* DB isicnv_dn utente isicnv_g63 pass 2&ynT(cq7^zH
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata).
* CATALOGO REALE = 741 item (non 49), 416 con titolo in downloads_item_lang, contatori download storici presenti
; Provato ed escluso :
* 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
* nessuna integrazione nella pipeline pillar finche' il pilota non e' giudicato
* dn.zip 22MB estratto in /dn/_archivio (3963 file)
* Non aggirare il COST_GUARD senza ok di Marco (decisione di costo)
* indice ricorsivo di tutti i file scaricabili del sito in /dn/_indice.json (617 nomi)
; Prossimo passo :
* catalogo completo in /dn/_catalogo3.json e copia locale /home/claude/cat3.json
* 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
* 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
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key)
* su disco ci sono 148 file in /download e 187 in /corsi (Braid_Neurohypnology.pdf 13MB, Mind_Studio kit 15MB, brochure, Mesmerismus, Heilmagnetismus)
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2
* 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
* (d) a fine run ripristinare il guard togliendo i #
* 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)
=== pipeline_mancanti_censimento ===
* 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-13 21:01 UTC'' &mdash; dominio: pipeline
* 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 : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
''Aggiornato 2026-08-22 08:51 UTC'' &mdash; dominio: oracolo
; Vincoli in vigore :
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
; Fatto (con prova) :
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi contrario alla regola di Marco 'pipeline solo se necessarie' (14/09): non si creano pipeline per sistema/mercurio/resta/stato/modo
; Prossimo passo :
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* partire dal primo cluster
 
=== chat-s20260911-si1secondary-qqnl4c ===
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Reindicizzare la coda Biblioteca, ingerire il Traite dOr, riparare pipeline oracolo
; Obiettivo : Completare il deploy SI-1: riparare il crash gcloud (credenziali rotte), installare in cron la copia dell'orchestrator su secondary e produrre la consegna verificabile D1
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; 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 S20260911-si1secondary-qqnl4c 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
; Prossimo passo :
* 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
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* BUG /vm/task RISOLTO alla radice. La route statica invoca claude --dangerously-skip-permissions -p COMANDO
* gcloud auth list
* 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
* gcloud config list
* Reindex 1 completato in 20 minuti (job reindex_oracle DONE rc=0)
* 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP)
* 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
* alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema
* SCOPERTO limite ~100KB del body di /vm/exec-direct (default Express), fallimento muto con ok:false e stderr vuoto
* 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
* AUDIT RETRIEVAL vs checklist 7 tecniche stato dellarte: BM25 v3 OK con query expansion multilingue DeepSeek + boost wiki terms
* 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)
* dense e5 OK peso 1.6
* controllare log/ultima esecuzione dell'orchestrator
* fusione RRF k=60 OK
* 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'
* 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 :
* DOPO fine benchmark NotebookLM (non prima, per non contaminare): 1) agent_kimi passa diversifica=true di default 2) timing per stadio nella risposta server 3) valutare HyDE-storico per lessico arcaico


=== agritainment-sito ===
=== chat-s20260910-claudesi1ref-1kurya6 ===
''Aggiornato 2026-08-22 00:20 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-09-11 23:40 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti)
; 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.
; 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 S20260910-claudesi1ref-1kurya6 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 si-1-automiglioramento
* punti 5-6-7 events/meetings/webinar online e nel menu
* punto 8 i 6 video irlandesi corrispondono. Fatti anche: rimossa voce Project library dal menu, tolti bottoni agenda e certificato dal webinar, aggiunto bottone form feedback, aggiunta voce Self-assessment al menu, barra fissa prev/next sulle 37 pagine lezione, footer con numero progetto e disclaimer EACEA, Atlas 121 pratiche pubblicato
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube
* solo 6 video (i sei irlandesi del Modulo 1) hanno auto-captions. Il punto 3 richiede quindi 36 video x 5 lingue = 180 tracce, su 6 canali di partner diversi.
; Provato ed escluso :
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403)
; Prossimo passo :
; Prossimo passo :
* Consegnare ai partner la lista per canale delle tracce mancanti
* 1|Leggere e gestire il messaggio umano non letto: errore gcloud (AttributeError: 'Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl
* 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
=== harness-standard ===
* 3|Eseguire le verifiche pendenti precedenti|tail -30 /home/claudeuser/self_improvement/si1.cron.log
''Aggiornato 2026-08-17 15:01 UTC'' &mdash; dominio: architettura / knowledge base
* 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
 
=== chat-s20260911-clauderegist-sskkcz ===
''Aggiornato 2026-09-11 23:00 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Harness gerarchico e Marco fuori dal loop di esecuzione
; 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 :
* La gerarchia deve SOSTITUIRE substrati esistenti, mai affiancarsi: oggi ne esistono 7 paralleli
* gate=auto
* Ogni routing file ha 6 sezioni fisse: chi esegue / accessi / come si verifica / criterio di accettazione / fallimenti noti / strumenti ammessi
* non chiedere a Marco
* Nessuna credenziale nei routing file, solo puntatori
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* Analizzato export completo Claude di marcoparet@gmail.com: 614 conversazioni, 26.921 messaggi, 55,8M caratteri (file su VM /home/claudeuser/claude_export/analysis/)
* chat S20260911-clauderegist-sskkcz chiusa senza prova
* Misurato: attrito piatto sulla lunghezza della chat (14-18 per 100 msg in ogni fascia) = problema strutturale non di contesto
* contesto ricostruito da riprendi_chat
* Misurato: autocorrezioni Claude raddoppiano oltre 25-50k token di contesto (8,8 -> 17,2 per 100 msg) = context rot reale, ginocchio a 25-50k
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi zoom-registrazioni-daily-0911
* Misurato: 899 route nel bucket, 525 MAI citate in nessuna chat, ~25 reggono il sistema
; Prossimo passo :
* Misurato: 8 domini coprono il traffico (spedizioni 190 chat, VM 155, BQ 151, hosting 118, token 114, route 77, drive 76, wiki 59)
* 1|Riprendere il contesto completo della sessione|python3 /home/claudeuser/scripts/handoff.py --resume zoom-registrazioni-daily-0911
* Scritti HARNESS.md (1 pagina) e INFRA-VM.md (primo routing file compilato)
* 2|Verificare se i 2 job backfill avviati alle 18:35 sono terminati con successo|ps aux | grep -iE 'zoom|backfill'
* Creato handoff.py su VM + pagina wiki Cantieri aperti
* controllare log/output di zoom_recordings_daily.py e del cron installato
* 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
* 3|Diagnosticare il crash gcloud non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* INFRA-VM.md primo routing file compilato su 6 sezioni fisse
* gcloud components update
* handoff.py operativo su VM (GCS + wiki + memoria CC in una chiamata), testato write/resume/list
* ispezionare ~/.config/gcloud/application_default_credentials.json e ~/.config/gcloud/credentials.db
* Pagina wiki Cantieri aperti creata e verificata via getText.php
* 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
* 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)
* 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
* v7.1 APPESA sul canonico Drive 1Iyxrr5 (ok:true) — la v6.3 e superata
* verifica presenza di Lesson 8 su Google Drive
* BUG RISOLTO: browser_service.js su :8081 vuole POST con secret, il GET ?url= documentato per mesi era sbagliato: per questo la verifica headless falliva in silenzio. Creato scripts/shot.py, testato su wiki Cantieri aperti (149 KB, titolo corretto)
* 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
* Creato gs://isicnv-command-center-routes/TOKENS_STATUS.json = fonte
* 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|
 
=== chat-s20260907-esemplari-1p38o3i ===
''Aggiornato 2026-09-07 22:02 UTC'' &mdash; dominio: chat_riprese
 
; Obiettivo : Completare i deliverable mancanti D1-D3 della pipeline-pagina-0609 (pagina
; 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
* Lanciare wiki_proprieta.py --controlla su tutte le 286 website per contare le pagine promesse mancanti
* Misurare il risparmio reale su una settimana confrontando calls.jsonl prima e dopo
* Scansione Wordfence dal pannello
* Domani 08:15 rapporto registro processi


=== finanze-classificazione ===
=== benchmark-visibilita-ai ===
''Aggiornato 2026-08-11 15:08 UTC'' &mdash; dominio: contabilita / finance
''Aggiornato 2026-08-17 08:40 UTC'' &mdash; dominio: ai-search


; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte
; Obiettivo : Chat 'brand dr. Paret' CHIUSA (16/08 sera). Prossima chat: QUESTIONARI per nuove pagine (neurolinguistic + marcoparet.com)
; Vincoli in vigore :
* testo pubblico mai da Claude (watermark)
* citazioni solo con fonte completa e gate verbatim
* fonte sempre dichiarata in pagina
; Fatto (con prova) :
; Fatto (con prova) :
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte
* 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
* 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
* 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
* 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
* 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/
* 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
* 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)
* Stato attuale: DA_CLASSIFICARE 8.389 mov / 1.743.096 eur, DA_CHIARIRE 98 mov / 200.025 eur
* 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)
* ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe)
* estrazione casi 0 valide (gate severo, temi da raffinare: Pigeaire, Husson)
* controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction
* 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/
* 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
* 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
* 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
* 14/08 pomeriggio: (a) incipit magnetismo positivizzato (formula Marco, backup pre_incipit)
* INTEGRITA VERIFICATA: 14.492 righe prima e dopo, somma importi 4.351.207 identica
* (b) pagina INTERVISTA pubblicata post 11291 /blog/intervista-magnetismo-personale/ 15 Q&A parole Marco, link incrociati
* 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
* (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
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000
* 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)
* RESIDUO ora 4.907 mov / 938.723 eur (partenza 8.389 / 1.743.096)
* Q2 rimossa da 11285
* 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
* 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
* 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
* 3576: 94/82
* 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
* 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
* 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
* 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
* RIMEDIO: creato scripts/riapplica_regole.py, in cron alle 07:10 (dopo il sync). Ripopola controparte_nome e riapplica classification_rules
* 11274 en/pt/fr
* 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
* 11304 en/pt/fr
* RIPRISTINO ESEGUITO: da 8.389 a 4.646 movimenti, da 1.743.096 a 702.043 euro
* 11291 en/pt/fr
* 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
* 197 en/pt/fr
* la libreria restituisce num_dml_affected_rows
* 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!)
; Provato ed escluso :
* 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
* 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
* 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_*
* Fidarsi dei nomi di colonna italiani: il ledger usa date amount_src category description NON data importo categoria
* (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)
* Scrivere il marcatore nel campo note: e FLOAT64 non STRING, lUPDATE fallisce. Usare classifier_blob che e STRING
* (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)
* Riclassificare a mano controparte per controparte prima di aver popolato controparte_nome
* 15/08 sera: (a) regola v3 DUE domande retoriche (rule_1786806645966_yk8kmj + principio 19 v3)
* 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
* seconda domanda inserita su 11274(apertura) 11285 11304 11336 11348 11355 3576 1582+111sync (197 SKIP adiacenza corretta
* Il campo note e FLOAT64: usare classifier_blob per i marcatori
* 11285 positivizzata da Non-vi-e a Vi-e)
* Solo 12 notifiche Wise nel periodo contro 113 movimenti: la posta copre una minoranza dei casi
* (b) titoli corretti 'i suoi segreti svelati' su 6 pillar + anchor in 11 pagine
* 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
* (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
* Fidarsi di un ESITO FATTO senza ricontrollare il giorno dopo: era vero quando scritto e falso dodici ore dopo
* 15/08 sera: (a) BONIFICA cluster completata (negazioni via da 9 pagine, residue solo legittime)
* Stringhe SQL con apostrofo (Spese per l ufficio): usare ScalarQueryParameter
* (b) batch trad 29 job in corso
* (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)
* 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 :
* Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga
* 1) hub biblioteca-magnetica + 10 pagine-periodo
* 2) anima retroattiva cluster + coda entita' regia (schema+attribuzione ovunque, referenze solo ammiraglie)
* 3) pagine satellite domini tematici (franzantonmesmer, miltonerickson, hypnotisme, personalmagnetism)
* 4) marcoparet.com publishing path + serie M (M1/M2 GDoc in attesa risposte)
* 5) trascrizioni P9/P10 GDoc
* 6) misura lunedi'


=== referenze-canon ===
== Chiusi ==
''Aggiornato 2026-08-10 20:26 UTC'' &mdash; dominio: Referenze E-E-A-T
=== prova_parcheggio_gate ===
''Aggiornato 2026-09-16 21:46 UTC'' &mdash; dominio: -
 
; Obiettivo : prova del gate di chiusura
; Fatto (con prova) :
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
* wiki riallineata dopo analisi cantieri 16/09
 
=== prova-pipeline-v2-0914 ===
''Aggiornato 2026-09-14 13:02 UTC'' &mdash; dominio: -


; Obiettivo : VIA eseguito: pubblicazione dossier referenze
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
; Fatto (con prova) :
; Fatto (con prova) :
* 3 tabelle BQ (canon 31, libri 12, citazioni 30)
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* 3 pagine rassegna LIVE su neurolinguistic.com/referenze/rassegna/ (lastampa-2002, autostima-ipnosi-shock, donnad) con screenshot-verify OK
* strato 2-3 via prova_v2_run.py
* job wayback_rassegna programmato +4h con retry
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
* NGH/NFNLP/ministero-psicoterapeuti/sindacato-FR integrati in pagina+llms+canon
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): pagina di prova gia approvata e integrata nella fabbrica
* GCS docs/referenze/ sincronizzato
; Prossimo passo :
* Sheet 1COwn3BXgkzFmKTujVimzCX_X5P_1Q1a_uL2CfEt27oM con 3 tab
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* canon 43 righe
* 2) regole_deterministiche.py: M104.2 con controllo del modo verbale, H2Q solo sugli H2 veri
* scoperta portfolio marchi (EMDR=EMF di Marco, TimeLine, Ipnorapport, visura 1996)
* 3) fabbrica.py: prompt di stesura = Fasi 5-24 della v2, strati 2-3 a valle
* Ivinghoe registrata subordinata ad Anneville
* LIVE verificati con shot e vista: /referenze-marco-paret/ entity home con Australia+Pandiscia integrate
* /llms.txt con backup del precedente su GCS llms_backup_pre_referenze.txt
* /referenze/ con 4 PDF: apca, uibm-1999 redatto con CF e indirizzi coperti verifica visiva OK, oradea-2024 redatto 3 box, sinape-2025. Wayback in coda Hetzner +1h. Canon stati aggiornati a pubblicato
; Provato ed escluso :
* stampa2=duplicato La Stampa
* Eminen Stell non finanziata
* Marie Claire non trovata
* pirateria Scribd+forum RU segnalata
* duplicati byte-identici nei TIF marchi
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare
* llms sugli altri 4 domini non ancora
; Prossimo passo :
* 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 ===
=== bench-regole-0914 ===
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com
''Aggiornato 2026-09-14 05:15 UTC'' &mdash; dominio: -


; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore
; Vincoli in vigore :
; Vincoli in vigore :
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* 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
* planned != held
* 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)
* mail solo redatte
; Fatto (con prova) :
; Fatto (con prova) :
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* 14/09: script installato
* nota interna su AUD-001 col.N
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
* llms.txt e sitemap-static.xml aggiornati (11 url)
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
; Provato ed escluso :
* gate deterministico normalizzato sulla finale
* archive.org/wayback/available da 429: usare la CDX API con retry
* 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 :
* salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine
* 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
* facsimili redatti delle 3 mail
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* valutare pagina EN/IT bilingue


== Sospesi ==
=== r103_giudice_ko ===
=== hpr_pilota ===
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; 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.
; Vincoli in vigore :
* read-only sul resto
* budget run 15
* 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)
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato dal pilota-custode-flash (modelli nuovi via OpenRouter, approvato 16/09)
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* 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
* il gateway aigw espone solo chat/completions, non /v1/messages
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata).
; Provato ed escluso :
* nessuna integrazione nella pipeline pillar finche' il pilota non e' giudicato
* Non aggirare il COST_GUARD senza ok di Marco (decisione di costo)
; Prossimo passo :
; Prossimo passo :
* Dopo ok di Marco: (a) sospendere il cost guard: sudo sed -i '/ISICNV_COST_GUARD_BEGIN anthropic/,/ISICNV_COST_GUARD_END anthropic/s/^/#/' /etc/hosts
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key)
* print(r.modelli())
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2
* print(r.esamina('prova'))"
* (d) a fine run ripristinare il guard togliendo i #


== Chiusi ==
=== si1_proposer_target ===
=== si1_proposer_target ===
''Aggiornato 2026-09-11 22:31 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-11 22:31 UTC'' &mdash; dominio: infrastruttura
Riga 1 819: Riga 1 786:
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending


=== pnl3-reverse-nlp-wiki ===
=== prova_parcheggio_gate3 ===
''Aggiornato 2026-09-09 00:18 UTC'' &mdash; dominio: Wiki pubblica
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test


; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com
; Obiettivo : prova
; Vincoli in vigore :
* usare wiki_new.py (WIKI-1), non edit.php diretto
* PNL3 va aggiornata non ricreata (backup /home/claudeuser/pnl3_wiki/backup/PNL3_live_revid4642.wiki)
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
; Fatto (con prova) :
; Fatto (con prova) :
* pacchetto scaricato in /home/claudeuser/pnl3_wiki/pkg
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
 
=== prova_parcheggio_gate2 ===
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test
 
; 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
; Vincoli in vigore :
* usare wiki_new.py (WIKI-1), non edit.php diretto
* PNL3 va aggiornata non ricreata (backup /home/claudeuser/pnl3_wiki/backup/PNL3_live_revid4642.wiki)
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
; Fatto (con prova) :
* pacchetto scaricato in /home/claudeuser/pnl3_wiki/pkg
* solo PNL3 esisteva live, 38 nuove
* solo PNL3 esisteva live, 38 nuove
* catena piano pnl3-cluster (driver.py + qa.py) lanciata come job catena_pnl3-cluster alle 23:01 UTC, ritmo ~2.5 min/pagina (wiki_new.py fa ricerca similarita ogni volta)
* catena piano pnl3-cluster (driver.py + qa.py) lanciata come job catena_pnl3-cluster alle 23:01 UTC, ritmo ~2.5 min/pagina (wiki_new.py fa ricerca similarita ogni volta)
Riga 1 837: Riga 1 822:
; Prossimo passo :
; Prossimo passo :
* niente
* niente
=== pillar-next-queue-20260901 ===
''Aggiornato 2026-09-01 15:31 UTC'' &mdash; dominio: -
; Obiettivo : Prendere la prossima pagina pillar valida e libera e portarla a revisione noindex
; Fatto (con prova) :
* MRO v8.0, manuale pillar, Cantieri_aperti, bacheca, coda e REGOLE_VIVEZZA letti. R102+commessa attivi. Ricalco gia in cantiere. Nlp Meaning ha lock valido di altra chat dal 31/08 19:03 UTC, scadenza 01/09 19:03 UTC. STRATEGA canonico ha aggiunto site:www.neurolinguistic.com, scartato come query navigazionale. Nessun PID modificato.
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato da fabbrica_pagine.py in cron settimanale (lun 05:00 secondary), che fa esattamente questo
; Prossimo passo :
* Quando il lock pillar-nlp-meaning viene rilasciato/scade, prendere Nlp Meaning
* altrimenti usare solo STRATEGA/PAG-1 canonici per un candidato editoriale valido, poi grounding, expansion cache, gerarchia, PAG-2, gate e preview noindex.


=== microcredential-it-el-ro-online ===
=== microcredential-it-el-ro-online ===
Riga 1 853: Riga 1 849:
* pubblicati
* pubblicati
* verificato md5 con allegati Ester
* verificato md5 con allegati Ester
=== r103-riprendi-chat-esaminatore ===
''Aggiornato 2026-09-01 10:17 UTC'' &mdash; dominio: sovra
; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio
; Vincoli in vigore :
* gate=auto
; Fatto (con prova) :
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): assorbito in pilota-custode-flash
; Prossimo passo :
* 1|debug|curl aigw /v1/chat/completions con il prompt di riprendi_chat e stampare la risposta grezza (choices[0].message), controllare se il contenuto sta in reasoning_content o se aigw taglia per budget
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON
=== cc-backup-timeout ===
''Aggiornato 2026-09-01 07:19 UTC'' &mdash; dominio: infrastruttura
; Obiettivo : cc_backup_failed dal 27/08 su gs://isicnv-command-center-routes: il tar scade sui prefissi grandi. Trovare il prefisso che sfora e spezzare il backup per prefisso invece di un tar unico.
; Vincoli in vigore :
* niente cancellazioni su GCS
* il backup deve restare ripristinabile in un colpo solo
* misurare prima con gsutil du -s per prefisso
; Fatto (con prova) :
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): verificato 16/09: backup CC su gs://isicnv-cc-backup-secondary/daily/ presente 14, 15, 16 settembre (~39 MB)
; Prossimo passo :
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti


=== hermes-f3-matching ===
=== hermes-f3-matching ===