Cantieri aperti: differenze tra le versioni

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


== Cantieri attivi ==
== Cantieri attivi ==
=== bench-regole-0914 ===
=== geo-loop ===
''Aggiornato 2026-09-14 04:58 UTC'' — dominio: -
''Aggiornato 2026-09-14 23:23 UTC'' — dominio: marcoparet.com


; Obiettivo : Benchmark iterativo delle regole: ricreare le pagine di Per pagine dalla v1 con un insieme di regole del registro e misurare la distanza dalla finale corretta da Marco; iterare la configurazione finche il punteggio non sale piu
; Obiettivo : Loop di miglioramento visibilita AI (GEO) a CICLO DI 3 GIORNI (approvato da Marco 15/09): giorno 0 misura+diagnosi, giorno 1 azioni in bozza, giorno 3 ri-misura+confronto. Base: /opt/wikibox/misura_pillar.py e state/misura_*.json
; Vincoli in vigore :
; Vincoli in vigore :
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* Pubblicazioni solo Marco. Registrare sempre i domini citati. Estendere misura_pillar.py, non creare benchmark nuovi.
* stato in /home/claudeuser/pillars/benchmark_regole/ (dataset.json, risultati.jsonl, config_*.json, STATO.txt). Punteggio = 0.6 giudice sonnet (vs finale Marco) + 0.25 lessicale + 0.15 gate deterministico. Tetto spesa per run --budget_usd
* ottimizza oltre 2 USD richiede OK di Marco. Il registro ha 1176 regole (Marco ne cita 1700: verificare depositi non caricati). Solo coppie con note di Marco per default (--tutte per le altre)
; Fatto (con prova) :
; Fatto (con prova) :
* 14/09: script installato
* 15/09: letta serie 14/08-14/09. Bin1 (GPT/Gemini/Mistral puri) 0/24 costante. Bin2 Perplexity 14/40 brand, 23/40 rif, in salita. Reperibili su domande di definizione (11/12), assenti su domande di mercato (3/20). Buco: mesmerismus definizione 0/5 in tutte le lingue. Non misurati: ChatGPT Search, piano free.
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
* 15/09: serie 14/08-14/09 letta. Bin1 puri 0/24 costante
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
* Perplexity 14/40 brand 23/40 rif. Forti su definizione (11/12), assenti su mercato (3/20)
* gate deterministico normalizzato sulla finale
* buco mesmerismus/definizione 0/5. Non misurati ChatGPT Search e piano free.
* classifica per coppie selezionate
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/benchmark_regole.py stato --max_coppie 1
* 1) /opt/wikibox/geo_diagnosi.py deterministico: ultimo misura_*.json -> geo_gap_<data>.json + riga wiki Cantieri. 2) cron misura+diagnosi ogni 3 gg (0 7 */3 * *), file misura_<data>.json invariato. 3) geo_azioni.py -> bozze in fabbrica pillar, mai publish. 4) ChatGPT Search piano free in MODELLI_B2. 5) geo_confronto.py: azioni tenute/scartate su 2 misure consecutive (6 gg). Budget <2 USD per ciclo.
* cat /home/claudeuser/pillars/benchmark_regole/STATO.txt


=== audit_marcoparet_non_conformi ===
=== si-1-automiglioramento ===
''Aggiornato 2026-09-14 04:29 UTC'' &mdash; dominio: pillar
''Aggiornato 2026-09-14 23:19 UTC'' &mdash; dominio: VM / infrastruttura


; Obiettivo : portare a standard le pagine non conformi su marcoparet: [5998, 6747, 6815, 6818, 6751, 6895, 6828, 6886, 6918, 6934, 6938, 6950, 6966, 6925, 6968, 6983, 6989, 5101, 6999, 7018, 289, 153, 7051, 7052, 155, 7068, 7046, 7062, 7075, 7094, 7110, 7116, 7119, 7121, 7127, 7134, 7178, 7150, 7170, 7177, 4165, 4162, 4157, 4195, 4197, 4158, 4159, 4172, 4037, 3236, 4155, 4160, 4185, 4166, 4168, 4048, 4171, 4164, 4039, 3235, 4038, 3234, 4042, 3231, 4154, 3229, 3230, 3232, 3233, 4151, 4156, 3228, 4149, 4145, 3227, 4148, 4146, 4147, 4143, 4964]
; Obiettivo : Fatto quando: SI-1 adotta da solo miglioramenti verificati e si vede, nei numeri, che i fallimenti calano. Pipeline sulla VM: reviewer -> researcher -> proposer (inventario) -> tester (sandbox) -> promoter (snapshot+rollback) -> Reflect gate -> misura.
; Vincoli in vigore :
; Vincoli in vigore :
* mai riscrivere: arricchire
* read-only cc-rescue
* pubblicazione solo via pubblica_pillar.py --ok-marco
* auto_code_roots = self_improvement + hermes
; Prossimo passo :
* CODE_PATCH non automatico (approvazione di Marco)
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito marcoparet --correggi --pid 5998 6747 6815 6818 6751 6895 6828 6886 6918 6934 6938 6950 6966 6925 6968 6983 6989 5101 6999 7018 289 153 7051 7052 155 7068 7046 7062 7075 7094 7110 7116 7119 7121 7127 7134 7178 7150 7170 7177 4165 4162 4157 4195 4197 4158 4159 4172 4037 3236 4155 4160 4185 4166 4168 4048 4171 4164 4039 3235 4038 3234 4042 3231 4154 3229 3230 3232 3233 4151 4156 3228 4149 4145 3227 4148 4146 4147 4143 4964
* backup e marcatore EVOLUZIONE=SI-1 su ogni modifica
 
; Fatto (con prova) :
=== r103_giudice_ko ===
* 10/09 07:00 UTC: cron SI1_ORCHESTRATOR presente (27 */4, flock). Corse 00:27 e 04:27 morte per timeout bq CLI 120s (VM load 24, 23 bq in coda). Patch si_common.bq: client python google-cloud-bigquery + fallback CLI 300s x2 (test 3.7s vs timeout). pilot.py: guardia --help (prima --help lanciava un ciclo intero: bump config v3->v4 involontario ma idempotente). Job si1_ciclo_forzato_20260910 lanciato e passato oltre la raccolta casi. Safe Mode via HTTP: /safe/status ok, /safe/snapshot -> gs://isicnv-command-center-routes/safe_mode/snapshots/20260910T070934Z.tgz verificato
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
* 10/09 08:47 UTC: REFLECT installato (reflect.py + reflect_gate.py). Gate in coda a orchestrator.py (EVOLUZIONE=SI-1-REFLECT-GATE): rc!=0 impedisce la conclusione del ciclo. Prova: due run consecutivi stesso digest a75a1350e174 e stesso sha (stato IDENTICO), gate rc=0, log in logs/reflect.jsonl. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings, 0 blocker. Wiki ops SI-1_Reflect creata, Cantieri aperti aggiornato.
 
* 10/09: REFLECT v2 attivo. reflect.py scrive proposta + state/reflect_context.md + un learning per finding
; 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.
* proposer.py inietta il contesto (EVOLUZIONE=SI-1-REFLECT-CONTEXT, riga 15)
* reflect_gate.py verifica digest, sha documento e sha contesto ed e agganciato in coda a orchestrator.py riga 33 (dopo once()). Soglie in config.json chiave reflect (window 50, finding 3, blocker 5). PROVE: run x2 IDENTICO stesso digest a75a1350e174
* --window 40 da digest diverso 1d631c043cf8
* log spostato -> rc=2
* contesto alterato -> rc=2
* ripristinato -> rc=0. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings AVVISO (famiglia mcpchatgpt: many_events, long_interactive), 2 learning. Wiki ops SI-1_Reflect aggiornata.
* 10/09 10:30: diagnosi log (123 esiti, 84 sessioni fantasma, 95 senza causa, 24 proposte con 0 promosse) e quattro correttivi. reviewer.py: _cause_extra (EVOLUZIONE=SI-1-CAUSE-ENRICH) con cause da metriche e da testo eventi. proposer.py: vincolo target = percorso assoluto sotto self_improvement/ o hermes/. Nuovi pending_digest.py (digest + archiviazione oltre 7 giorni) e rotate_logs.py (sopra 1MB, tiene 5), lanciati a fine ciclo da orchestrator.py (EVOLUZIONE=SI-1-MANUTENZIONE) prima del gate e senza bloccarlo. PROVE: _cause_extra su 4 casi corretto
* digest 21 pendenti 0 archiviate
* rotate nessun file sopra soglia
* gate rc=0. Wiki: SI-1_Reflect + SI-1_Qualità_dei_dati_e_manutenzione.
* 11/09: security_gate.py (regole deterministiche + parere modello, fail closed, log logs/security.jsonl) e tester.py (sandbox /tmp/si1_test, replace/patch, py_compile, test_cmd allowlist) agganciati in promoter.process in questo ordine: sicurezza, tester, decisione con pending_reason, apply_file_change per PROMPT_TUNE/CODE_PATCH con snapshot+rollback. proposer vincolato a forma eseguibile (replace/patch/test_cmd). pending_digest mostra il motivo. PROVE: esperto su proposta reale = BASSO
* proposta costruita T0 score 99 che abbassa judge_min_score e allarga i tipi automatici = ALTO, PENDING_HUMAN security_hold, config intatta. Tester sulle 44 pendenti: bocciate per target fuori radice/inesistente/parametri descrittivi. Corse cron 20:27 e 08:27 con MANUTENZIONE e GATE_REFLECT PASSATO
* 00:27 e 04:27 cadute per timeout ledger, gia reso non bloccante (SI-1-LEDGER-NONBLOCCANTE). Wiki ops: SI-1_Tester_e_Gate_di_sicurezza.
* 11/09: tester.py installato e agganciato al promoter (EVOLUZIONE=SI-1-TESTER): test FAIL -> AUTO_REJECTED con motivo
* pending_reason esplicito
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* proposer vincolato a forma eseguibile (replace/patch/test_cmd). Prova sulle 47 pendenti: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta)
* negativo respinto
* test_cmd con operatori shell rifiutato. pending_digest invia Telegram alle 08:27 (SI-1-DIGEST-TELEGRAM). Keepalive cc-rescue-keepalive ogni 10 min su /health
* learning cc-rescue registrato. Wiki ops: SI-1_Tester.
* 11/09: tester.py agganciato al promoter (EVOLUZIONE=SI-1-TESTER): FAIL -> AUTO_REJECTED con motivo
* pending_reason esplicito
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* proposer vincolato a forma eseguibile. 47 pendenti provate: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta). Digest Telegram 08:27. Keepalive cc-rescue-keepalive. Wiki ops SI-1_Tester.
* 11/09 22:30: scoperto che dalle 07:47 del 10/09 il cron SI-1 girava su isicnv-secondary senza credenziali GCP (/home/claudeuser/.gcp vuoto): ogni corsa USCITA 1 su bq. Le due copie di self_improvement erano divergenti: allineati sul secondary tester.py, promoter.py, proposer.py, pending_digest.py, security_gate.py (backup in backups/). Cron riportato sulla VM con migra_cron.py --rollback 206 (VM riga 206 attiva, secondary 0). Lanciata corsa manuale di verifica con lo stesso flock.
* 14/09: prime 3 promozioni reali approvate da Marco (release 20260914T2252/2253/2253) su hermes/matching_engine.py e hermes/instructions.py, file compila e importa. Nuovo misura.py (SI-1-MISURA): confronta 72h prima/dopo ogni promozione su tasso di fallimento e passi medi, verdetto MIGLIORA/PEGGIORA/NEUTRA/DATI INSUFFICIENTI, output in state/effetto_promozioni.json|.md e logs/misura.jsonl, agganciato a fine ciclo. Riferimento di partenza: 0.802 di fallimento su 81 esiti, 1.46 passi medi. Ciclo fallito ora avvisa su Telegram con hostname (SI-1-CICLO-FALLITO) e notifier corretto per i messaggi senza proposte (SI-1-AVVISO-LIBERO). Wiki ops SI-1_Reflect aggiornata.
; Provato ed escluso :
* tool MCP safe_* non testabili da questa chat (connettore non caricato): la via HTTP con X-API-Key e equivalente e verificata
; Prossimo passo :
; Prossimo passo :
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* fra 72h: python3 /home/claudeuser/self_improvement/misura.py e leggere state/effetto_promozioni.md — i tre verdetti devono uscire da DATI INSUFFICIENTI
* print(r.modelli())
* se PEGGIORA, rollback dalla release corrispondente
* print(r.esamina('prova'))"
 
=== si1-fallback-pubblicazione ===
''Aggiornato 2026-09-14 22:56 UTC'' &mdash; dominio: pubblicazione / infrastruttura


=== audit_neurolinguistic_non_conformi ===
; Obiettivo : Fatto quando: una pubblicazione su HostGator che fallisce per blocco SSH prosegue da sola su un percorso alternativo, senza che Marco se ne accorga. Origine: proposta SI-1 [85] 'Add GitHub Actions fallback to task_ledger' (12/09), oggi solo descrittiva.
''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
* il target task_ledger e fuori da auto_code_roots: la modifica va scritta a mano o spostata dentro self_improvement/hermes
* pubblicazione solo via pubblica_pillar.py --ok-marco
* serve un PAT GitHub (segreto: chiederlo a Marco, non inventarlo)
; Fatto (con prova) :
* proposta generata e valutata 85 dal giudice
* ferma perche descrittiva e su target fuori perimetro
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito neurolinguistic --correggi --pid 197 4300 11818 11780 11804 479 776 3640 3639 3637 4293 4292 3633 3162 4289 4288 11505 4287 4286 3628 2 136 146 168 303 482 65 3627 531 535 609 621 644 682 696 872 927 1025 1089 1119
* 1) trovare nel codice di pubblicazione il punto dove il fallimento SSH HostGator diventa errore (grep -rn ssh /home/claudeuser/scripts/*publish* *hostgator*)
* 2) decidere dove sta il fallback
* 3) trasformare la proposta in un replace ancorato e passarla dal tester


=== pipeline_mancanti_censimento ===
=== si1-indicizzazione-gsc ===
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline
''Aggiornato 2026-09-14 22:56 UTC'' &mdash; dominio: SEO / monitoraggio


; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; Obiettivo : Fatto quando: lo stato di indicizzazione delle pagine pubblicate e visibile senza controlli manuali, e un calo viene segnalato da solo. Origine: proposta SI-1 [90] 'Integrate Google Search Console Indexing Status Monitoring' (12/09), il punteggio piu alto mai dato dal giudice.
; Vincoli in vigore :
; Vincoli in vigore :
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
* integra API esterna: credenziali GSC, quota, job nuovo
* non e un cambio da un rigo. Le pagine nuove partono comunque dai dati GSC reali (regola pillar)
; Fatto (con prova) :
* proposta generata e valutata 90
* ferma perche descrittiva e di tipo CODE_PATCH su target fuori perimetro
; Prossimo passo :
; Prossimo passo :
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* 1) verificare se esiste gia un accesso GSC funzionante sulla VM (grep -rn searchconsole /home/claudeuser/scripts | head)
* partire dal primo cluster
* 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


=== capoufficio_agente_risolve ===
=== prova-pipeline-v2-0914 ===
''Aggiornato 2026-09-12 14:10 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-14 13:02 UTC'' &mdash; dominio: -


; Obiettivo : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica
; 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
* 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk
* backup .prima_hostaware_11set)
* strato 2-3 via prova_v2_run.py
* registry: finance_cassa heal_timeout_s=660, marcoparet_autoheal host=secondary
* falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note
* /var/log/isicnv creato su media e secondary
; Prossimo passo :
* 9 monitor in RECOVERY
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta
* A) watch host-aware (check+heal via ssh su media/secondary). B) CAUSA DEI CANTIERI MAI LAVORATI: guardia.py e' migrata su media il 10/09 ma li' gsutil era anonimo (401) -> vedeva 0 handoff
* 2) regole_deterministiche.py: M104.2 con controllo del modo verbale, H2Q solo sugli H2 veri
* risolto con gcloud auth activate-service-account media-worker per claudeuser (ora vede i 465 handoff, watch_* compresi). C) Telegram differito: cantiere subito, avviso a Marco solo se lo stesso problema resiste avvisa_dopo_cicli (default 4 ~1h)
* 3) fabbrica.py: prompt di stesura = Fasi 5-24 della v2, strati 2-3 a valle
* recovery solo se avvisato. D) heal_auto: monitor fermo senza heal_cmd -> rilancio del suo cron sulla macchina giusta. Backup: capoufficio_watch.py.prima_hostaware_11set / .prima_differito_11set
 
* 11/09: la guardia su media girava come root senza credenziali e scriveva 0 handoff: cron spostato a claudeuser (backup /root/crontab.bak_guardia_11set), gate GATE_ARCHIVIO_VUOTO in guardia.py (zero letto = guasto, Telegram ogni 6h)
=== espressioni-pipeline ===
* scoperti due archivi (state/cantieri delle chat vs plans/handoff degli agenti): ponte_cantieri.py in cron ogni 30 min con gate-prima sul comando
''Aggiornato 2026-09-14 10:59 UTC'' &mdash; dominio: -
* commessa.py chiudi rifiuta gli handoff in prosa senza job (GATE_HANDOFF_PARCHEGGIO, off con touch /home/claudeuser/sessions/GATE_HANDOFF_OFF)
 
* primo giro guardia in corso su 465 cantieri
; 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>"
* 11/09: watch host-aware
 
* guardia su media con credenziali
=== audit_marcoparet_non_conformi ===
* Telegram differito (avvisa_dopo_cicli)
''Aggiornato 2026-09-14 05:30 UTC'' &mdash; dominio: pillar
* heal_auto. 12/09 notte: (a) heal a raffica fermato: heal_ogni_min default 120 (finance_daily_sync girava ogni 15 min su media e mandava 'step falliti paypal' a ogni giro)
* (b) log_clean su log mai scritto = OK (argo_watch.log e cassa_check.log non esistevano perche' /var/log/isicnv mancava fino al 11/09 13:37)
* (c) CAUSA della perdita credenziali su media: il cron marcopi fa 'gcloud config set account 424757051842-compute@...' e rende gsutil anonimo -> guardia cieca e PayPal token illeggibile
* blindato con ~/.boto (gs_service_key_file=media-worker.json) + pass_credentials_to_gsutil=false: gsutil funziona qualunque sia l'account attivo. Backup: capoufficio_watch.py.prima_throttle_12set
* 12/09 pom: (E) firma stabile dei problemi (numeri->#): prima i cicli si azzeravano a ogni giro e i monitor con heal non avvisavano mai. (F) terzo stato PERSISTENTE: dopo 2 avvisi singoli (avvisa_dopo_cicli, poi riavvisa_dopo_cicli=8) il monitor tace e finisce nel riepilogo giornaliero delle 07 UTC, un solo messaggio
* recovery e nuovi guasti restano immediati. Backup capoufficio_watch.py.prima_riepilogo_12set. (G) token GSC: gsc-admin e token-searchconsole revocati (guardiano_token.py li vede dal 11/09)
* creato scripts/gsc_token.py con ripiego su token-informazionicorsi-gsc + mappatura sc-domain->URL-prefix con piu dati
* gate_pagina_protetta e sat_gsc_sync adattati (bak_gsc_12set)
* sat_gsc_sync senza --replace
* righe polyvagal ripristinate da /tmp/gsc.jsonl del 11/09 (BQ gsc_queries: 9994 righe, 40 siti)
; Prossimo passo :
* (1) Marco deve rigenerare token-gsc-admin.json (account proprietario delle sc-domain marcoparet, neurolinguistic, polyvagal*): finche non lo fa i siti polyvagal restano fermi al 11/09. (2) verificare domani dopo le 07:10 UTC il riepilogo (monitors/watch_riepilogo_ultimo.txt) e che il primo alert reale porti avvisi=1 in watch_state.json. (3) restano i punti 1-4 del 12/09 notte


=== allievi_360_pipeline ===
; Obiettivo : portare a standard le pagine non conformi su marcoparet: [7177, 7170, 7150, 7178, 7134, 7127, 7121, 7119, 7116, 7110, 7094, 7075, 7062, 7046, 7068, 155, 7052, 7051, 153, 289, 7018, 6999, 5101, 6989, 6983, 6968, 6925, 6966, 6950, 6938, 6934, 6918, 6886, 6828, 6895, 6751, 6818, 6815, 6747, 5998]
''Aggiornato 2026-09-12 13:25 UTC'' &mdash; dominio: finanza
; Vincoli in vigore :
* mai riscrivere: arricchire
* pubblicazione solo via pubblica_pillar.py --ok-marco
; Prossimo passo :
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito marcoparet --correggi --pid 7177 7170 7150 7178 7134 7127 7121 7119 7116 7110 7094 7075 7062 7046 7068 155 7052 7051 153 289 7018 6999 5101 6989 6983 6968 6925 6966 6950 6938 6934 6918 6886 6828 6895 6751 6818 6815 6747 5998
 
=== bench-regole-0914 ===
''Aggiornato 2026-09-14 05:15 UTC'' &mdash; dominio: -


; Obiettivo : Tabella ALLIEVI canonica + riconciliazione totale (Marco 12/09). La ricerca allievi deve girare in background per ore
; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore
; Vincoli in vigore :
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato)
* stato in /home/claudeuser/pillars/benchmark_regole/ (dataset.json, risultati.jsonl, config_*.json, STATO.txt). Punteggio = 0.6 giudice sonnet (vs finale Marco) + 0.25 lessicale + 0.15 gate deterministico. Tetto spesa per run --budget_usd
* ottimizza oltre 2 USD richiede OK di Marco. Il registro ha 1176 regole (Marco ne cita 1700: verificare depositi non caricati). Solo coppie con note di Marco per default (--tutte per le altre)
; Fatto (con prova) :
; Fatto (con prova) :
* 12/09: (a) riconcilia_cassa.py a 4 strati + pagatori_alias (cron 07:35)
* 14/09: script installato
* (b) allievo_360.py: motore di ricerca deterministico su una persona o su un PLACEHOLDER (dal piano rate risale al pagatore: chi ha versato quelle cifre in quelle date, +checkin per costo, +contratti, +Salsina, +Gmail isicnv)
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato)
* fonti gia' in BigQuery: isicnv_contacts.zoom_participants, streak_boxes_daily, contatti_master (con note_crm), emails_master, staff_inbox_raw
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD)
* isicnv_finance.allievi_master (person_id, tot_versato, saldo), allievi_checkins, allievi_contratti, allievi_pagamenti, transactions_multianno, contabilita_salsina, anagrafica_unificata (29.125 righe). Job in corso: allievo360_ignoti_0912 (5 placeholder + DCS Grandi Eventi), report in /home/claudeuser/reports/allievo360/
* gate deterministico normalizzato sulla finale
* allievo_360.py operativo. IDENTIFICATI: placeholder 64B0DBC00A2A = MONICA CARBE immobilaffari@gmail.com
* classifica per coppie selezionate
* placeholder A87F93215573 = FRANCESCO MARCIELLO gurufranc@gmail.com (Wise MARCIELLO FRANCESCO PAOLO)
* 14/09: regole_deterministiche.py (21 elementi: correzioni a valle + controlli) integrato nel benchmark (det_dopo)
* D.C.S. GRANDI EVENTI = CLAUDIA PANI pani.claudia@gmail.com. Tutti e tre inseriti in pagatori_alias. REGOLA DI MARCO: marcoparet@gmail.com si interroga via MCP Gmail SOLO quando isicnv@gmail.com non ha dati. SCOPERTA: le notifiche Wise di incasso arrivano a informazionicorsi@gmail.com (terza casella, fonte di riconciliazione non ancora usata). CORREZIONE: ily1975@gmail.com e' Ilaria Polidori (IPCA), NON Cristiana Morroni: anagrafica_unificata ha rumore sui nomi da streak
* su Persuadere: base 69.8 -> migliore senza det 84.5 -> det+chirurgo 86.2
* allievo_360.py operativo
* Doc risultati+pagine: https://docs.google.com/document/d/1kIPZUElTp1wxwWp7gHdKBYStxQilguL28kyS5ULnDMo/edit
* identificati e messi in pagatori_alias: 64B0DBC00A2A=MONICA CARBE immobilaffari@gmail.com, A87F93215573=FRANCESCO MARCIELLO gurufranc@gmail.com, D.C.S. GRANDI EVENTI=CLAUDIA PANI pani.claudia@gmail.com. Regola: marcoparet@gmail.com via MCP Gmail solo se isicnv non ha dati. GRUPPI+SITI: creato gruppi_e_siti.py (job gruppi_siti_0912 in corso) che ricostruisce i gruppi Google dai messaggi isicnv verso *@googlegroups.com e legge i permessi dei 100+ Google Sites
; Prossimo passo :
* carica isicnv_finance.google_gruppi, google_gruppi_membri, google_sites_accessi. ACCERTATO: i permessi Drive dei Sites contengono SOLO staff (isicnv, marcoparet, informazionicorsi, isicnvstaff, sulzina02, venetomarketinglab, studiointramentis) - gli allievi NON compaiono li': l'accesso allievi passa dai gruppi (es. advanced-level-2019-2020@googlegroups.com, advanced-course@, cours-avanc@) usati per le convocazioni di lezione. Quindi il match corso<->allievo si fa gruppo<->nome del sito, non dai permessi
* 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
* GRUPPI: gruppi_membri_scrape.py legge i membri da groups.google.com col profilo admin julesdupotet (/home/claudeuser/.config/chrome-jules, copiato in chrome-jules-scrape a ogni giro
 
* Playwright NON ha il suo chromium, si usa executable_path=/usr/bin/google-chrome
=== r103_giudice_ko ===
* DISPLAY=:1 via VNC gia' attivo). Caricati in isicnv_finance.google_gruppi_membri_admin. WORKER: allievi_360_worker.py macina la worklist (1.844 persone da pagamenti+gruppi+Salsina+check-in, dal piu' recente indietro), un contatto alla volta, finestra 6h, stato in /home/claudeuser/monitors/allievi360_state.json, ripristinabile
''Aggiornato 2026-09-13 21:20 UTC'' &mdash; dominio: infrastruttura
* cron */20 con flock lo riprende se cade. Log /home/claudeuser/logs/allievi360.log
 
; 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 :
; Prossimo passo :
* (1) a scrape finito, incrociare google_gruppi_membri_admin con allievi_pagamenti: chi e' in un gruppo-corso senza pagamenti = moroso vero
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r
* chi paga e non e' in nessun gruppo = accesso mai dato
* print(r.modelli())
* (2) mappare gruppo->sito->corso usando i nomi (advanced-course/cours-avanc/advanced-level-2019-2020 = ADVANCED
* print(r.esamina('prova'))"
* mesmerismus-online + course-alicante/new-york/australia = MESMERISMUS
* formazione-online---master-ipnosi---italia = MASTER IT
* ultimate-path(+franais) = ULTIMATE)
* (3) FASE 2: da allievi_360 costruire la tabella allievi_master estesa
* (4) placeholder AC4B36231C82 a DeepSeek


=== riconciliazione_cassa ===
=== audit_neurolinguistic_non_conformi ===
''Aggiornato 2026-09-12 10:14 UTC'' &mdash; dominio: finanza
''Aggiornato 2026-09-13 21:07 UTC'' &mdash; dominio: pillar


; Obiettivo : Marco: ogni entrata deve avere la sua ragione; pipeline a 4 strati + entrate non attribuite
; 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]
; Fatto (con prova) :
; Vincoli in vigore :
* creato /home/claudeuser/scripts/riconcilia_cassa.py (4 strati: incasso diretto -> movimento bancario con ALIAS pagatore -> foglio contabilita Salsina -> Gmail isicnv con --gmail). Creata tabella isicnv_finance.pagatori_alias, primo alias D AMICO PATRIZIA = GIUSEPPE MORANA. Filtro anti-rumore su giroconti/payout/cashback. Cron 07:35 UTC, report in /home/claudeuser/reports/riconciliazione_AAAAMMGG.txt. Primo giro: 19 rate, 16 spiegate, 3 non pagate (tutte PLACEHOLDER), 11 entrate non attribuite
* mai riscrivere: arricchire
* riconcilia_cassa.py attivo (cron 07:35 UTC, report in /home/claudeuser/reports/). 12/09 verifica di Marco 'gli italiani regolari sono allievi': CONFERMATA. Aggiunto strato anagrafica_unificata: le entrate orfane sono divise in A) allievo censito senza piano rate e B) sconosciuto. Bug trovato: le query bq erano troncate a 3000 righe e l'anagrafica ne ha 29.125 -> ora 200.000 per quella query. Risultato: 9 entrate su 11 sono allievi noti (Marzocchi 668/mese, Grappi 713/mese, Morroni 212/mese, Rozza 300, Strohmaier 490), 2 sconosciute (Viramontes Molina 500, D.C.S. Grandi Eventi 300)
* pubblicazione solo via pubblica_pillar.py --ok-marco
; Prossimo passo :
; Prossimo passo :
* (1) creare il piano rate per Marzocchi Marzio (ghenshiro@gmail.com), Grappi Paola (paolagrappi.anemos121@gmail.com), Morroni Cristiana (ily1975@gmail.com): pagano ogni mese la stessa cifra ma non hanno piano ne' riga nel foglio Salsina
* python3 /home/claudeuser/scripts/audit_pubblicate.py --sito neurolinguistic --correggi --pid 197 4300 11818 11780 11804 479 776 3640 3639 3637 4293 4292 3633 3162 4289 4288 11505 4287 4286 3628 2 136 146 168 303 482 65 3627 531 535 609 621 644 682 696 872 927 1025 1089 1119
* (2) chiedere a Salsina chi sono GERARDO VIRAMONTES MOLINA (500 del 08/09) e D.C.S. GRANDI EVENTI (300 del 07/09)
* (3) ROZZA EROS in anagrafica ha l'email dell'agenzia VMK Lab (lead.clienti@vmklab.it): anagrafica da correggere
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome


=== chat-s20260911-si1secondary-qqnl4c ===
=== pipeline_mancanti_censimento ===
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-13 21:01 UTC'' &mdash; dominio: pipeline


; 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 : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* contesto ricostruito da riprendi_chat
; 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
* leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc
* gcloud auth list
* partire dal primo cluster
* 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 ===
=== capoufficio_agente_risolve ===
''Aggiornato 2026-09-11 23:40 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-12 14:10 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 : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* reversibile: backup .bak_* accanto a ogni file toccato
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260910-claudesi1ref-1kurya6 chiusa senza prova
* capoufficio_watch.py reso host-aware (check+heal via ssh su media/secondary dove i cron sono migrati il 10/09
* contesto ricostruito da riprendi_chat
* backup .prima_hostaware_11set)
; Prossimo passo :
* registry: finance_cassa heal_timeout_s=660, marcoparet_autoheal host=secondary
* 1|Leggere e gestire il messaggio umano non letto: errore gcloud (AttributeError: 'Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* /var/log/isicnv creato su media e secondary
* verificare/rigenerare le credenziali (gcloud auth login o activate-service-account) e riportare l'esito in chat
* 9 monitor in RECOVERY
* 2|Eseguire la verifica rimasta dal journal 10:32|grep -E "MANUTENZIONE|GATE_REFLECT" /home/claudeuser/self_improvement/si1.cron.log
* A) watch host-aware (check+heal via ssh su media/secondary). B) CAUSA DEI CANTIERI MAI LAVORATI: guardia.py e' migrata su media il 10/09 ma li' gsutil era anonimo (401) -> vedeva 0 handoff
* 3|Eseguire le verifiche pendenti precedenti|tail -30 /home/claudeuser/self_improvement/si1.cron.log
* risolto con gcloud auth activate-service-account media-worker per claudeuser (ora vede i 465 handoff, watch_* compresi). C) Telegram differito: cantiere subito, avviso a Marco solo se lo stesso problema resiste avvisa_dopo_cicli (default 4 ~1h)
* python3 /home/claudeuser/self_improvement/reflect_gate.py --auto
* recovery solo se avvisato. D) heal_auto: monitor fermo senza heal_cmd -> rilancio del suo cron sulla macchina giusta. Backup: capoufficio_watch.py.prima_hostaware_11set / .prima_differito_11set
* 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
* 11/09: la guardia su media girava come root senza credenziali e scriveva 0 handoff: cron spostato a claudeuser (backup /root/crontab.bak_guardia_11set), gate GATE_ARCHIVIO_VUOTO in guardia.py (zero letto = guasto, Telegram ogni 6h)
* registrare D1 nel journal
* scoperti due archivi (state/cantieri delle chat vs plans/handoff degli agenti): ponte_cantieri.py in cron ogni 30 min con gate-prima sul comando
* 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
* commessa.py chiudi rifiuta gli handoff in prosa senza job (GATE_HANDOFF_PARCHEGGIO, off con touch /home/claudeuser/sessions/GATE_HANDOFF_OFF)
* 6|SERVE MARCO: sbloccare il gate umano del cantiere ripresa_S20260910-claudesi1ref-1kurya6 (campanello: esame immediato) se la verifica automatica non basta a chiudere
* primo giro guardia in corso su 465 cantieri
 
* 11/09: watch host-aware
=== chat-s20260911-clauderegist-sskkcz ===
* guardia su media con credenziali
''Aggiornato 2026-09-11 23:00 UTC'' &mdash; dominio: chat_riprese
* Telegram differito (avvisa_dopo_cicli)
 
* heal_auto. 12/09 notte: (a) heal a raffica fermato: heal_ogni_min default 120 (finance_daily_sync girava ogni 15 min su media e mandava 'step falliti paypal' a ogni giro)
; 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
* (b) log_clean su log mai scritto = OK (argo_watch.log e cassa_check.log non esistevano perche' /var/log/isicnv mancava fino al 11/09 13:37)
; Vincoli in vigore :
* (c) CAUSA della perdita credenziali su media: il cron marcopi fa 'gcloud config set account 424757051842-compute@...' e rende gsutil anonimo -> guardia cieca e PayPal token illeggibile
* gate=auto
* blindato con ~/.boto (gs_service_key_file=media-worker.json) + pass_credentials_to_gsutil=false: gsutil funziona qualunque sia l'account attivo. Backup: capoufficio_watch.py.prima_throttle_12set
* non chiedere a Marco
* 12/09 pom: (E) firma stabile dei problemi (numeri->#): prima i cicli si azzeravano a ogni giro e i monitor con heal non avvisavano mai. (F) terzo stato PERSISTENTE: dopo 2 avvisi singoli (avvisa_dopo_cicli, poi riavvisa_dopo_cicli=8) il monitor tace e finisce nel riepilogo giornaliero delle 07 UTC, un solo messaggio
* verifica prima di dichiarare fatto
* recovery e nuovi guasti restano immediati. Backup capoufficio_watch.py.prima_riepilogo_12set. (G) token GSC: gsc-admin e token-searchconsole revocati (guardiano_token.py li vede dal 11/09)
; Fatto (con prova) :
* creato scripts/gsc_token.py con ripiego su token-informazionicorsi-gsc + mappatura sc-domain->URL-prefix con piu dati
* chat S20260911-clauderegist-sskkcz chiusa senza prova
* gate_pagina_protetta e sat_gsc_sync adattati (bak_gsc_12set)
* contesto ricostruito da riprendi_chat
* sat_gsc_sync senza --replace
* righe polyvagal ripristinate da /tmp/gsc.jsonl del 11/09 (BQ gsc_queries: 9994 righe, 40 siti)
; Prossimo passo :
; Prossimo passo :
* 1|Riprendere il contesto completo della sessione|python3 /home/claudeuser/scripts/handoff.py --resume zoom-registrazioni-daily-0911
* (1) Marco deve rigenerare token-gsc-admin.json (account proprietario delle sc-domain marcoparet, neurolinguistic, polyvagal*): finche non lo fa i siti polyvagal restano fermi al 11/09. (2) verificare domani dopo le 07:10 UTC il riepilogo (monitors/watch_riepilogo_ultimo.txt) e che il primo alert reale porti avvisi=1 in watch_state.json. (3) restano i punti 1-4 del 12/09 notte
* 2|Verificare se i 2 job backfill avviati alle 18:35 sono terminati con successo|ps aux | grep -iE 'zoom|backfill'
* controllare log/output di zoom_recordings_daily.py e del cron installato
* 3|Diagnosticare il crash gcloud non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* gcloud components update
* ispezionare ~/.config/gcloud/application_default_credentials.json e ~/.config/gcloud/credentials.db
* 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
* 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|


=== si-1-automiglioramento ===
=== allievi_360_pipeline ===
''Aggiornato 2026-09-11 22:28 UTC'' &mdash; dominio: VM / infrastruttura
''Aggiornato 2026-09-12 13:25 UTC'' &mdash; dominio: finanza


; Obiettivo : SI-1 (/home/claudeuser/self_improvement): cron orchestrator ogni 4h SULLA VM (riportato indietro l 11/09 22:30 UTC: il secondary non ha credenziali GCP e il ciclo falliva a ogni corsa su reviewer.collect/bq). Pipeline reviewer -> researcher -> proposer -> TESTER -> promoter -> Reflect gate.
; Obiettivo : Tabella ALLIEVI canonica + riconciliazione totale (Marco 12/09). La ricerca allievi deve girare in background per ore
; Vincoli in vigore :
* read-only su cc-rescue e recovery_agent.py
* auto_code_roots restano self_improvement e hermes
* CODE_PATCH fuori dall automatico
* ogni modifica con backup e marcatore EVOLUZIONE=SI-1
* se si rimigra su secondary servono le credenziali GCP (decisione di sicurezza di Marco)
; Fatto (con prova) :
; Fatto (con prova) :
* 10/09 07:00 UTC: cron SI1_ORCHESTRATOR presente (27 */4, flock). Corse 00:27 e 04:27 morte per timeout bq CLI 120s (VM load 24, 23 bq in coda). Patch si_common.bq: client python google-cloud-bigquery + fallback CLI 300s x2 (test 3.7s vs timeout). pilot.py: guardia --help (prima --help lanciava un ciclo intero: bump config v3->v4 involontario ma idempotente). Job si1_ciclo_forzato_20260910 lanciato e passato oltre la raccolta casi. Safe Mode via HTTP: /safe/status ok, /safe/snapshot -> gs://isicnv-command-center-routes/safe_mode/snapshots/20260910T070934Z.tgz verificato
* 12/09: (a) riconcilia_cassa.py a 4 strati + pagatori_alias (cron 07:35)
* 10/09 08:47 UTC: REFLECT installato (reflect.py + reflect_gate.py). Gate in coda a orchestrator.py (EVOLUZIONE=SI-1-REFLECT-GATE): rc!=0 impedisce la conclusione del ciclo. Prova: due run consecutivi stesso digest a75a1350e174 e stesso sha (stato IDENTICO), gate rc=0, log in logs/reflect.jsonl. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings, 0 blocker. Wiki ops SI-1_Reflect creata, Cantieri aperti aggiornato.
* (b) allievo_360.py: motore di ricerca deterministico su una persona o su un PLACEHOLDER (dal piano rate risale al pagatore: chi ha versato quelle cifre in quelle date, +checkin per costo, +contratti, +Salsina, +Gmail isicnv)
* 10/09: REFLECT v2 attivo. reflect.py scrive proposta + state/reflect_context.md + un learning per finding
* fonti gia' in BigQuery: isicnv_contacts.zoom_participants, streak_boxes_daily, contatti_master (con note_crm), emails_master, staff_inbox_raw
* proposer.py inietta il contesto (EVOLUZIONE=SI-1-REFLECT-CONTEXT, riga 15)
* isicnv_finance.allievi_master (person_id, tot_versato, saldo), allievi_checkins, allievi_contratti, allievi_pagamenti, transactions_multianno, contabilita_salsina, anagrafica_unificata (29.125 righe). Job in corso: allievo360_ignoti_0912 (5 placeholder + DCS Grandi Eventi), report in /home/claudeuser/reports/allievo360/
* reflect_gate.py verifica digest, sha documento e sha contesto ed e agganciato in coda a orchestrator.py riga 33 (dopo once()). Soglie in config.json chiave reflect (window 50, finding 3, blocker 5). PROVE: run x2 IDENTICO stesso digest a75a1350e174
* allievo_360.py operativo. IDENTIFICATI: placeholder 64B0DBC00A2A = MONICA CARBE immobilaffari@gmail.com
* --window 40 da digest diverso 1d631c043cf8
* placeholder A87F93215573 = FRANCESCO MARCIELLO gurufranc@gmail.com (Wise MARCIELLO FRANCESCO PAOLO)
* log spostato -> rc=2
* D.C.S. GRANDI EVENTI = CLAUDIA PANI pani.claudia@gmail.com. Tutti e tre inseriti in pagatori_alias. REGOLA DI MARCO: marcoparet@gmail.com si interroga via MCP Gmail SOLO quando isicnv@gmail.com non ha dati. SCOPERTA: le notifiche Wise di incasso arrivano a informazionicorsi@gmail.com (terza casella, fonte di riconciliazione non ancora usata). CORREZIONE: ily1975@gmail.com e' Ilaria Polidori (IPCA), NON Cristiana Morroni: anagrafica_unificata ha rumore sui nomi da streak
* contesto alterato -> rc=2
* allievo_360.py operativo
* ripristinato -> rc=0. Prima passata: 50 esiti, 20 PARZIALE, 30 IGNOTO, 2 findings AVVISO (famiglia mcpchatgpt: many_events, long_interactive), 2 learning. Wiki ops SI-1_Reflect aggiornata.
* identificati e messi in pagatori_alias: 64B0DBC00A2A=MONICA CARBE immobilaffari@gmail.com, A87F93215573=FRANCESCO MARCIELLO gurufranc@gmail.com, D.C.S. GRANDI EVENTI=CLAUDIA PANI pani.claudia@gmail.com. Regola: marcoparet@gmail.com via MCP Gmail solo se isicnv non ha dati. GRUPPI+SITI: creato gruppi_e_siti.py (job gruppi_siti_0912 in corso) che ricostruisce i gruppi Google dai messaggi isicnv verso *@googlegroups.com e legge i permessi dei 100+ Google Sites
* 10/09 10:30: diagnosi log (123 esiti, 84 sessioni fantasma, 95 senza causa, 24 proposte con 0 promosse) e quattro correttivi. reviewer.py: _cause_extra (EVOLUZIONE=SI-1-CAUSE-ENRICH) con cause da metriche e da testo eventi. proposer.py: vincolo target = percorso assoluto sotto self_improvement/ o hermes/. Nuovi pending_digest.py (digest + archiviazione oltre 7 giorni) e rotate_logs.py (sopra 1MB, tiene 5), lanciati a fine ciclo da orchestrator.py (EVOLUZIONE=SI-1-MANUTENZIONE) prima del gate e senza bloccarlo. PROVE: _cause_extra su 4 casi corretto
* carica isicnv_finance.google_gruppi, google_gruppi_membri, google_sites_accessi. ACCERTATO: i permessi Drive dei Sites contengono SOLO staff (isicnv, marcoparet, informazionicorsi, isicnvstaff, sulzina02, venetomarketinglab, studiointramentis) - gli allievi NON compaiono li': l'accesso allievi passa dai gruppi (es. advanced-level-2019-2020@googlegroups.com, advanced-course@, cours-avanc@) usati per le convocazioni di lezione. Quindi il match corso<->allievo si fa gruppo<->nome del sito, non dai permessi
* digest 21 pendenti 0 archiviate
* GRUPPI: gruppi_membri_scrape.py legge i membri da groups.google.com col profilo admin julesdupotet (/home/claudeuser/.config/chrome-jules, copiato in chrome-jules-scrape a ogni giro
* rotate nessun file sopra soglia
* Playwright NON ha il suo chromium, si usa executable_path=/usr/bin/google-chrome
* gate rc=0. Wiki: SI-1_Reflect + SI-1_Qualità_dei_dati_e_manutenzione.
* DISPLAY=:1 via VNC gia' attivo). Caricati in isicnv_finance.google_gruppi_membri_admin. WORKER: allievi_360_worker.py macina la worklist (1.844 persone da pagamenti+gruppi+Salsina+check-in, dal piu' recente indietro), un contatto alla volta, finestra 6h, stato in /home/claudeuser/monitors/allievi360_state.json, ripristinabile
* 11/09: security_gate.py (regole deterministiche + parere modello, fail closed, log logs/security.jsonl) e tester.py (sandbox /tmp/si1_test, replace/patch, py_compile, test_cmd allowlist) agganciati in promoter.process in questo ordine: sicurezza, tester, decisione con pending_reason, apply_file_change per PROMPT_TUNE/CODE_PATCH con snapshot+rollback. proposer vincolato a forma eseguibile (replace/patch/test_cmd). pending_digest mostra il motivo. PROVE: esperto su proposta reale = BASSO
* cron */20 con flock lo riprende se cade. Log /home/claudeuser/logs/allievi360.log
* proposta costruita T0 score 99 che abbassa judge_min_score e allarga i tipi automatici = ALTO, PENDING_HUMAN security_hold, config intatta. Tester sulle 44 pendenti: bocciate per target fuori radice/inesistente/parametri descrittivi. Corse cron 20:27 e 08:27 con MANUTENZIONE e GATE_REFLECT PASSATO
* 00:27 e 04:27 cadute per timeout ledger, gia reso non bloccante (SI-1-LEDGER-NONBLOCCANTE). Wiki ops: SI-1_Tester_e_Gate_di_sicurezza.
* 11/09: tester.py installato e agganciato al promoter (EVOLUZIONE=SI-1-TESTER): test FAIL -> AUTO_REJECTED con motivo
* pending_reason esplicito
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* proposer vincolato a forma eseguibile (replace/patch/test_cmd). Prova sulle 47 pendenti: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta)
* negativo respinto
* test_cmd con operatori shell rifiutato. pending_digest invia Telegram alle 08:27 (SI-1-DIGEST-TELEGRAM). Keepalive cc-rescue-keepalive ogni 10 min su /health
* learning cc-rescue registrato. Wiki ops: SI-1_Tester.
* 11/09: tester.py agganciato al promoter (EVOLUZIONE=SI-1-TESTER): FAIL -> AUTO_REJECTED con motivo
* pending_reason esplicito
* apply_file_change promuove PROMPT_TUNE/CODE_PATCH con snapshot+sha+rollback
* proposer vincolato a forma eseguibile. 47 pendenti provate: 47 FAIL non applicabili. E2E: proposta sintetica promossa, snapshot 20260911T141342Z_e2e_tester_prova (prima promozione mai avvenuta). Digest Telegram 08:27. Keepalive cc-rescue-keepalive. Wiki ops SI-1_Tester.
* 11/09 22:30: scoperto che dalle 07:47 del 10/09 il cron SI-1 girava su isicnv-secondary senza credenziali GCP (/home/claudeuser/.gcp vuoto): ogni corsa USCITA 1 su bq. Le due copie di self_improvement erano divergenti: allineati sul secondary tester.py, promoter.py, proposer.py, pending_digest.py, security_gate.py (backup in backups/). Cron riportato sulla VM con migra_cron.py --rollback 206 (VM riga 206 attiva, secondary 0). Lanciata corsa manuale di verifica con lo stesso flock.
; Provato ed escluso :
* tool MCP safe_* non testabili da questa chat (connettore non caricato): la via HTTP con X-API-Key e equivalente e verificata
; Prossimo passo :
; Prossimo passo :
* grep -nE "test:|AUTO_PROMOTED|pending_reason|Traceback|GATE_REFLECT" /home/claudeuser/self_improvement/si1.cron.log | tail -15 : verificare la corsa manuale e la 00:27
* (1) a scrape finito, incrociare google_gruppi_membri_admin con allievi_pagamenti: chi e' in un gruppo-corso senza pagamenti = moroso vero
* poi cantiere proposer-con-contenuto-del-target
* chi paga e non e' in nessun gruppo = accesso mai dato
* (2) mappare gruppo->sito->corso usando i nomi (advanced-course/cours-avanc/advanced-level-2019-2020 = ADVANCED
* mesmerismus-online + course-alicante/new-york/australia = MESMERISMUS
* formazione-online---master-ipnosi---italia = MASTER IT
* ultimate-path(+franais) = ULTIMATE)
* (3) FASE 2: da allievi_360 costruire la tabella allievi_master estesa
* (4) placeholder AC4B36231C82 a DeepSeek


=== zoom-registrazioni-daily-0911 ===
=== riconciliazione_cassa ===
''Aggiornato 2026-09-11 20:16 UTC'' &mdash; dominio: trascrizioni
''Aggiornato 2026-09-12 10:14 UTC'' &mdash; dominio: finanza


; Obiettivo : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.*
; Obiettivo : Marco: ogni entrata deve avere la sua ragione; pipeline a 4 strati + entrate non attribuite
; Vincoli in vigore :
* Scope report aggiunti da Marco 11/09 (report:read:user:admin ecc.). LIMITE ZOOM: il report copre SOLO gli ultimi 6 mesi (code 300): lo storico prima di marzo 2026 non e' recuperabile dall'API
* il cron 06:45 fa scorrere la finestra ogni giorno cosi' da qui in avanti nulla si perde. Cancellazione automatica da Zoom dopo archiviazione NON attiva (serve OK Marco).
; Fatto (con prova) :
; Fatto (con prova) :
* Script /home/claudeuser/scripts/zoom_recordings_daily.py (compila, dry-run ok, esce rc=3 senza credenziali). Cron 06:15 ogni giorno --days 3, log /home/claudeuser/zoom_rec/daily.log, stato /home/claudeuser/zoom_rec/state.json. Scarica MP4 (speaker view) + M4A + VTT transcript Zoom + chat, upload resumable su Drive, poi job.py trascrivi_ids.py --lang auto sull'M4A con Doc nella cartella Drive. Su Drive oggi esiste solo ULTIMATE PATH LESSON 1.mp4 (1RzftibHpVT4g9EZOLt8SvjkafbyiVFwp).
* creato /home/claudeuser/scripts/riconcilia_cassa.py (4 strati: incasso diretto -> movimento bancario con ALIAS pagatore -> foglio contabilita Salsina -> Gmail isicnv con --gmail). Creata tabella isicnv_finance.pagatori_alias, primo alias D AMICO PATRIZIA = GIUSEPPE MORANA. Filtro anti-rumore su giroconti/payout/cashback. Cron 07:35 UTC, report in /home/claudeuser/reports/riconciliazione_AAAAMMGG.txt. Primo giro: 19 rate, 16 spiegate, 3 non pagate (tutte PLACEHOLDER), 11 entrate non attribuite
* 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
* riconcilia_cassa.py attivo (cron 07:35 UTC, report in /home/claudeuser/reports/). 12/09 verifica di Marco 'gli italiani regolari sono allievi': CONFERMATA. Aggiunto strato anagrafica_unificata: le entrate orfane sono divise in A) allievo censito senza piano rate e B) sconosciuto. Bug trovato: le query bq erano troncate a 3000 righe e l'anagrafica ne ha 29.125 -> ora 200.000 per quella query. Risultato: 9 entrate su 11 sono allievi noti (Marzocchi 668/mese, Grappi 713/mese, Morroni 212/mese, Rozza 300, Strohmaier 490), 2 sconosciute (Viramontes Molina 500, D.C.S. Grandi Eventi 300)
* 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 :
* job.py --status zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni)
* (1) creare il piano rate per Marzocchi Marzio (ghenshiro@gmail.com), Grappi Paola (paolagrappi.anemos121@gmail.com), Morroni Cristiana (ily1975@gmail.com): pagano ogni mese la stessa cifra ma non hanno piano ne' riga nel foglio Salsina
* query: SELECT * FROM zoom.v_lezioni ORDER BY start_time DESC (client bigquery sulla VM, dataset in EU). Se Marco autorizza: --free-space in zoom_recordings_daily.py per cancellare da Zoom dopo verifica Drive+trascrizione.
* (2) chiedere a Salsina chi sono GERARDO VIRAMONTES MOLINA (500 del 08/09) e D.C.S. GRANDI EVENTI (300 del 07/09)
* (3) ROZZA EROS in anagrafica ha l'email dell'agenzia VMK Lab (lead.clienti@vmklab.it): anagrafica da correggere
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome


=== prova_parcheggio_gate3 ===
=== chat-s20260911-si1secondary-qqnl4c ===
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-12 00:00 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : prova
; Obiettivo : Completare il deploy SI-1: riparare il crash gcloud (credenziali rotte), installare in cron la copia dell'orchestrator su secondary e produrre la consegna verificabile D1
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
* chat S20260911-si1secondary-qqnl4c chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* gcloud auth list
* gcloud config list
* 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP)
* alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema
* 3|Installare la copia dell'orchestrator SI-1 nel crontab di secondary, replicando la voce '27 */4' gia' attiva sulla VM|su secondary: crontab -e e aggiungere la riga '27 */4 <comando orchestrator SI-1>' identica a quella della VM
* 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'


=== prova_parcheggio_gate2 ===
=== chat-s20260910-claudesi1ref-1kurya6 ===
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-11 23:40 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : prova
; 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 :
* gate=auto
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
* chat S20260910-claudesi1ref-1kurya6 chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list
* 1|Leggere e gestire il messaggio umano non letto: errore gcloud (AttributeError: 'Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* verificare/rigenerare le credenziali (gcloud auth login o activate-service-account) e riportare l'esito in chat
* 2|Eseguire la verifica rimasta dal journal 10:32|grep -E "MANUTENZIONE|GATE_REFLECT" /home/claudeuser/self_improvement/si1.cron.log
* 3|Eseguire le verifiche pendenti precedenti|tail -30 /home/claudeuser/self_improvement/si1.cron.log
* python3 /home/claudeuser/self_improvement/reflect_gate.py --auto
* 4|Definire e verificare il deliverable D1 'consegna verificabile' (es. digest gate rc=0 + righe GATE_REFLECT nel log) e documentarlo|confrontare digest a75a1350e174 e rc del gate
* registrare D1 nel journal
* 5|Aggiornare wiki SI-1_Reflect e Cantieri aperti con l'esito verificato e chiudere il cantiere ripresa_S20260910-claudesi1ref-1kurya6|modifica wiki + entry GIORNALE END verificato
* 6|SERVE MARCO: sbloccare il gate umano del cantiere ripresa_S20260910-claudesi1ref-1kurya6 (campanello: esame immediato) se la verifica automatica non basta a chiudere


=== prova_parcheggio_gate ===
=== chat-s20260911-clauderegist-sskkcz ===
''Aggiornato 2026-09-11 13:54 UTC'' &mdash; dominio: test
''Aggiornato 2026-09-11 23:00 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : prova del gate di chiusura
; 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
; Prossimo passo :
; Vincoli in vigore :
* python3 /home/claudeuser/scripts/handoff.py --list
* gate=auto
 
* non chiedere a Marco
=== sito-ipnomentalismo ===
* verifica prima di dichiarare fatto
''Aggiornato 2026-09-11 09:34 UTC'' &mdash; dominio: -
 
; Obiettivo : Sito-manuale riservato Ipnomentalismo / Ipnosi sottile, modello Ipnoanalgesia
; 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.
* chat S20260911-clauderegist-sskkcz chiusa senza prova
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py)
* 1|Riprendere il contesto completo della sessione|python3 /home/claudeuser/scripts/handoff.py --resume zoom-registrazioni-daily-0911
* cron 4h come analgesia_ciclo.sh
* 2|Verificare se i 2 job backfill avviati alle 18:35 sono terminati con successo|ps aux | grep -iE 'zoom|backfill'
* cancellare cartella vecchia
* controllare log/output di zoom_recordings_daily.py e del cron installato
* 3|Diagnosticare il crash gcloud non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics
* gcloud components update
* ispezionare ~/.config/gcloud/application_default_credentials.json e ~/.config/gcloud/credentials.db
* 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
* 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|


=== migrazione-carichi-media ===
=== zoom-registrazioni-daily-0911 ===
''Aggiornato 2026-09-10 07:42 UTC'' &mdash; dominio: infrastruttura
''Aggiornato 2026-09-11 20:16 UTC'' &mdash; dominio: trascrizioni


; 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 : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.*
; 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.
* Scope report aggiunti da Marco 11/09 (report:read:user:admin ecc.). LIMITE ZOOM: il report copre SOLO gli ultimi 6 mesi (code 300): lo storico prima di marzo 2026 non e' recuperabile dall'API
* il cron 06:45 fa scorrere la finestra ogni giorno cosi' da qui in avanti nulla si perde. Cancellazione automatica da Zoom dopo archiviazione NON attiva (serve OK Marco).
; Fatto (con prova) :
; Fatto (con prova) :
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta)
* 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).
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4
* 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
* earlyoom + swappiness 10 sulla VM
* su Drive c'era solo LESSON 1.
* wrapper /usr/local/bin/bq con nice 15 + timeout 300 (22 script cron usano bq CLI)
* 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
* vm-heartbeat.sh riscritto solo-curl (da 60s+ a 1.5s, backup .bak_bq_20260909)
* su Drive c'era solo LESSON 1.
* uccisi gsutil/bq orfani da 30 min.
* 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.
* 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.
* 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.
; Provato ed escluso :
* 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
* Upgrade e2-medium: NO (deciso). Billing export BQ e budget alert: il SA della VM non ha permessi billing, deve farlo Marco in console.
* vista zoom.v_lezioni. Job zoom_bq_storico_6m_0911 completato.
* 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 zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni)
* python3 /home/claudeuser/scripts/migra_cron.py --stato
* 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.
* 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
=== prova_parcheggio_gate3 ===
''Aggiornato 2026-09-11 13:59 UTC'' &mdash; dominio: test
 
; Obiettivo : prova
; Prossimo passo :
* python3 /home/claudeuser/scripts/handoff.py --list


=== reverse-nlp-legacy-html ===
=== prova_parcheggio_gate2 ===
''Aggiornato 2026-09-09 00:43 UTC'' &mdash; dominio: Hosting / siti
''Aggiornato 2026-09-11 13:57 UTC'' &mdash; dominio: test


; Obiettivo : neurolinguistic.com: conversione additiva pagina-per-pagina a PNL3/Reverse NLP dalle HTML legacy meno visitate (job_reverse_nlp_legacy_html_20260909)
; Obiettivo : prova
; Vincoli in vigore :
; Prossimo passo :
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* python3 /home/claudeuser/scripts/handoff.py --list
* nessuna cancellazione testo storico, URL/title/H1 invariati
 
* ordine per traffico reale GA4 (analytics_isicnv.ga4_pages_daily, property 533218658+399463272)
=== prova_parcheggio_gate ===
* backup prima di ogni modifica
''Aggiornato 2026-09-11 13:54 UTC'' &mdash; dominio: test
* QA HTML/mobile/HTTP per pagina
 
* pubblicazione = azione irreversibile: primo lotto proposto a Marco prima del deploy
; Obiettivo : prova del gate di chiusura
; Fatto (con prova) :
* traffico HTML 2025-08..2026-08 esportato in /home/claudeuser/reverse_nlp_legacy/traffico_html_2025-08_2026-08.csv (348 URL, 932 views)
* lotto 1 scelto = 10 URL a 1 view chiaramente PNL (batch1.txt)
* originali scaricati via ssh FastComet in orig/ e backup in backup/
* LOTTO 1 ONLINE 09/09 00:40 UTC: 10 pagine (batch1.txt) con lead RF + sezione Dalla PNL alla PNL3
* blocchi in blocchi.json, apply.py idempotente (marker rnl-additivo-2026-09), qa_html.py PASS 10/10, mobile ok
* backup server ~/rnl_backup_20260909 e VM backup/
* log Drive
* LOTTO 2 ONLINE 09/09 00:40 UTC: italy-20,24,25,23,06,26,05,02,10 + magnetismo/rapport-magnetico (blocchi2.json)
* QA estesa PASS (canonical, noindex, img, keyword, testo 100%)
* inventario 7418 htm con GA4+GSC in inventario_legacy_html.csv (Drive 1bhHc1KDlKXuCMiNPdmBg90bKTC9D6m8-)
* registro_operativo.csv (Drive 16ar1_8T4QoJ3UZQpkuoSy1grvnLnG8Rg)
* Doc Legacy HTML Audit aggiornato con lotti 1-2 e lotto 3 proposto
* Marco (prompt 09/09): NON chiedere approvazione per pagina, continuare a lotti
; Provato ed escluso :
* dataset site_analytics_2026: non esiste, i dati sono in analytics_isicnv
; Prossimo passo :
; Prossimo passo :
* LOTTO 3: cd /home/claudeuser/reverse_nlp_legacy && cat > batch3.txt (URL dal Doc Audit sez. LOTTO 3 proposto
* python3 /home/claudeuser/scripts/handoff.py --list
* verificare prima formato di nlp/rapport.htm e nlp/erickson.htm) && scaricare orig via sshpass ssh marcopar@itpro1.fcomet.com tar -T batch3.txt, leggere testi, scrivere blocchi3.json, python3 apply.py blocchi3.json, backup+deploy, job.py --run "python3 qa_html.py batch3.txt", python3 registro.py


=== chat-s20260908-dipisafermo-1ol47hs ===
=== sito-ipnomentalismo ===
''Aggiornato 2026-09-08 23:22 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-11 09:34 UTC'' &mdash; dominio: -
 
 
; 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 : 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 S20260908-dipisafermo-1ol47hs 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
* 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
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py)
* 2|Riprendere la chat S20260908-dipisafermo-1ol47hs nel cantiere di ripresa|handoff.py --resume dipisa-pagina-en
* cron 4h come analgesia_ciclo.sh
* 3|D1: produrre la diagnosi mancante|redigere la diagnosi R90-bis nel cantiere ripresa_S20260908-dipisafermo-1ol47hs
* cancellare cartella vecchia
* 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 ===
=== migrazione-carichi-media ===
''Aggiornato 2026-09-08 22:46 UTC'' &mdash; dominio: trascrizioni
''Aggiornato 2026-09-10 07:42 UTC'' &mdash; dominio: infrastruttura


; Obiettivo : Trascrizione 2 video mail 'registrazione Master e Tanya'
; 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 :
* 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).
* Il SA della VM non puo assegnare ruoli IAM (manca setIamPolicy): il SA media-worker@leafy-responder-483419-a4 esiste, chiave gia su media in /home/claudeuser/.gcp/media-worker.json, ma SENZA ruoli finche Marco non li da in console (bigquery.jobUser, bigquery.dataEditor, storage.objectUser). Il driver aspetta da solo quel momento. Backup crontab VM: backups/crontab_vm_prima_migrazione_20260910.txt. Wrapper bq = semaforo 2 slot.
; Fatto (con prova) :
; Fatto (con prova) :
* 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
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta)
* 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
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4
* ricodata con --lang auto nel piano trascr_tanya_en (job trascr_tanya_en_run) che parte alla fine del Master.
* 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 :
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709
* tail -40 /home/claudeuser/logs/migrazione_driver.log
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run
* python3 /home/claudeuser/scripts/migra_cron.py --stato
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907'
* cat /home/claudeuser/logs/migrazione_cron_state.json | python3 -c "import json,sys
* poi rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* [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


=== dipisa-pagina-en ===
=== reverse-nlp-legacy-html ===
''Aggiornato 2026-09-08 19:22 UTC'' &mdash; dominio: pagine
''Aggiornato 2026-09-09 00:43 UTC'' &mdash; dominio: Hosting / siti


; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto)
; Obiettivo : neurolinguistic.com: conversione additiva pagina-per-pagina a PNL3/Reverse NLP dalle HTML legacy meno visitate (job_reverse_nlp_legacy_html_20260909)
; Vincoli in vigore :
; Vincoli in vigore :
* nessuna data di nascita/morte di Di Pisa: la wiki non le da
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE
* niente promesse terapeutiche
* nessuna cancellazione testo storico, URL/title/H1 invariati
* solo bozza, pubblica Marco
* 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) :
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento
* traffico HTML 2025-08..2026-08 esportato in /home/claudeuser/reverse_nlp_legacy/traffico_html_2025-08_2026-08.csv (348 URL, 932 views)
* regola wiki-prima in memoria rule_1788895263452_p8oahr
* lotto 1 scelto = 10 URL a 1 view chiaramente PNL (batch1.txt)
; Prossimo passo :
* originali scaricati via ssh FastComet in orig/ e backup in backup/
* 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
* LOTTO 1 ONLINE 09/09 00:40 UTC: 10 pagine (batch1.txt) con lead RF + sezione Dalla PNL alla PNL3
 
* blocchi in blocchi.json, apply.py idempotente (marker rnl-additivo-2026-09), qa_html.py PASS 10/10, mobile ok
=== rete-sicurezza-orfani ===
* backup server ~/rnl_backup_20260909 e VM backup/
''Aggiornato 2026-09-08 07:30 UTC'' &mdash; dominio: infrastruttura
* log Drive
* LOTTO 2 ONLINE 09/09 00:40 UTC: italy-20,24,25,23,06,26,05,02,10 + magnetismo/rapport-magnetico (blocchi2.json)
* QA estesa PASS (canonical, noindex, img, keyword, testo 100%)
* inventario 7418 htm con GA4+GSC in inventario_legacy_html.csv (Drive 1bhHc1KDlKXuCMiNPdmBg90bKTC9D6m8-)
* registro_operativo.csv (Drive 16ar1_8T4QoJ3UZQpkuoSy1grvnLnG8Rg)
* Doc Legacy HTML Audit aggiornato con lotti 1-2 e lotto 3 proposto
* Marco (prompt 09/09): NON chiedere approvazione per pagina, continuare a lotti
; Provato ed escluso :
* dataset site_analytics_2026: non esiste, i dati sono in analytics_isicnv
; Prossimo passo :
* LOTTO 3: cd /home/claudeuser/reverse_nlp_legacy && cat > batch3.txt (URL dal Doc Audit sez. LOTTO 3 proposto
* verificare prima formato di nlp/rapport.htm e nlp/erickson.htm) && scaricare orig via sshpass ssh marcopar@itpro1.fcomet.com tar -T batch3.txt, leggere testi, scrivere blocchi3.json, python3 apply.py blocchi3.json, backup+deploy, job.py --run "python3 qa_html.py batch3.txt", python3 registro.py
 
=== chat-s20260908-dipisafermo-1ol47hs ===
''Aggiornato 2026-09-08 23:22 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco
; Obiettivo : Completare R90-bis per la chat S20260908-dipisafermo-1ol47hs (dipisa-pagina-en): commessa automatica al primo comando, filtro assenso e pagina 7150 corretta, producendo i deliverable D1-D4 tutti mancanti (diagnosi, pagina IT corretta, regola wiki-prima, filtro)
; Vincoli in vigore :
; Vincoli in vigore :
* non toccare i cantieri con costi/invii/cancellazioni
* gate=auto
* nessuna cancellazione su GCS
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* gate_pipeline.py: una pipeline risponde sempre al proprio nome
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* trigger PAG-2 ampliato
* contesto ricostruito da riprendi_chat
* sovra/ripresa_commessa.py ricostruisce il comando dalla commessa via registro
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova
* handoff.py --list mostra PRONTO
* contesto ricostruito da riprendi_chat
* 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
* 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
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE
* 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


=== chat-s20260907-esemplari-1p38o3i ===
=== trascrizione-master-tanya-0709 ===
''Aggiornato 2026-09-07 22:02 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-08 22:46 UTC'' &mdash; dominio: trascrizioni


; 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 : Trascrizione 2 video mail 'registrazione Master e Tanya'
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* I file sono condivisi SOLO con marcoparet@gmail.com: token isicnv -> 404, accesso anonimo -> login. Nessun token Drive marcoparet su VM/GCS. Serve che Marco condivida i 2 file con isicnv@gmail.com (o Salsina).
* non chiedere a Marco
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260907-esemplari-1p38o3i chiusa senza 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
* contesto ricostruito da riprendi_chat
* 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 :
* 1|Verificare lo stato del job esemplari-magnetic2_run (build+confronto A/B)|python3 /home/claudeuser/scripts/job.py --status esemplari-magnetic2_run
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709
* 2|Leggere il CONFRONTO_2.md eventualmente prodotto dal job|cat /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run
* 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
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907'
* 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 rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC
* 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 ===
=== dipisa-pagina-en ===
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine
''Aggiornato 2026-09-08 19:22 UTC'' &mdash; dominio: pagine


; Obiettivo : PIPELINE 2 (pagina2.py): semplice, deterministica, con harness; stesura da Claude con HARNESS.md; controlli senza riscrittura; bozza + Doc a strati; note di Marco -> regole
; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto)
; Vincoli in vigore :
; Vincoli in vigore :
* 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 data di nascita/morte di Di Pisa: la wiki non le da
* 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.
* niente promesse terapeutiche
* solo bozza, pubblica Marco
; Fatto (con prova) :
; Fatto (con prova) :
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento
* 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)
* regola wiki-prima in memoria rule_1788895263452_p8oahr
* la condensazione 7b scartata
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* 06/09: 7083 tolta (draft). 7094 what-are-mesmeric-passes-and-how-do-they-work: materiale dalla pipeline (128 frasi, concorrenza, struttura), stesura da Claude come editor, guardiano+forma_finale, pubblicata dopo lettura, Doc IT 1g5xjb44_xpAsBoDIFP8XITt4wmipRE-VsPFlWK4-iUI in Per pagine. Costo modelli pipeline: 0.19 USD
* tempo macchina ~45 min
* tempo chat ~35 chiamate
* 07/09: pagina2.py installato
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
; Prossimo passo :
; Prossimo passo :
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* 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
* finche' no, la stesura la fa Claude in chat dal HARNESS.md. 2) struttura via glm: verificare perche' e' caduta nel template (JSON). 3) Registrare PAG-4 nel registro pipeline. 4) Prima pagina completa con pipeline 2: magnetic presence (dossier pronto).


=== database-esercizi ===
=== rete-sicurezza-orfani ===
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca
''Aggiornato 2026-09-08 07:30 UTC'' &mdash; dominio: infrastruttura


; 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 : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco
; 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
* non toccare i cantieri con costi/invii/cancellazioni
* pagina_stampata dal testo. Costo stimato ~30 USD totali, tetto aigw giornaliero 8 USD -> il job pausa 60 min e riprende.
* nessuna cancellazione su GCS
; Fatto (con prova) :
; Fatto (con prova) :
* Coda 295 doc costruita e deduplicata
* gate_pipeline.py: una pipeline risponde sempre al proprio nome
* job esercizi_run lanciato 07/09 08:26 UTC
* 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 :
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run
* job.py --status rete_orfani_patch_20260908
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue


=== pagine-seo-affiancate-0509 ===
=== chat-s20260907-esemplari-1p38o3i ===
''Aggiornato 2026-09-06 21:58 UTC'' &mdash; dominio: pagine SEO marcoparet.com e neurolinguistic.com
''Aggiornato 2026-09-07 22:02 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Ciclo pagine nuove + Doc IT a strati + regole dalle note
; Obiettivo : Completare i deliverable mancanti D1-D3 della pipeline-pagina-0609 (pagina how-to-develop-magnetic-presence, WP 7127): stadio PAG-2 di esemplari.py con ESEMPLARI.md per H2, CONFRONTO_2.md e CONFRONTO_3.md con metriche A/B, handoff aggiornato; poi superare l'esame della chat.
; Vincoli in vigore :
; Vincoli in vigore :
* 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
* gate=auto
* 64.4 rapport nasce dalla relazione
* non chiedere a Marco
* 64.6 vendita: occhi e stretta di mano, non passi/tocco. Doc a strati sempre.
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* 05/09: onde-cerebrali IT 7018 pubblicata
* chat S20260907-esemplari-1p38o3i chiusa senza prova
* 153 e 155 ripristinate alle versioni originali
* contesto ricostruito da riprendi_chat
* 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
* 1|Verificare lo stato del job esemplari-magnetic2_run (build+confronto A/B)|python3 /home/claudeuser/scripts/job.py --status esemplari-magnetic2_run
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13
* 2|Leggere il CONFRONTO_2.md eventualmente prodotto dal job|cat /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md
* regole M34-M44 estratte (da 358 a 464)
* 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
* creati forma_finale.py, scopo_pagina.py, concorrenza.py, metafore.py, agente_logico.py, gate_pagina_protetta.py
* 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
* censite 78 pagine protette
* poi verificare/editare /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md e CONFRONTO_3.md
* 05/09: onde-cerebrali IT 7018 pubblicata
* 5|Aggiornare l'handoff della pipeline (deliverable D3)|python3 /home/claudeuser/scripts/handoff.py --resume pipeline-pagina-0609
* 153/155/289 ripristinate e protette
* 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
* pagine affiancate 7046, 7051, 7052
 
* 155 ampliata
=== pipeline-pagina-0609 ===
* regole M34-M45 (466 voci)
''Aggiornato 2026-09-07 10:56 UTC'' &mdash; dominio: pipeline pagine
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta
 
* 78 pagine protette
; 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
* note Doc onde cerebrali 1IF5_ gia in M34
; Vincoli in vigore :
* 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
* 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
* 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
* 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.
* 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
; Fatto (con prova) :
* 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/
* 06/09 00:35: pagina.py scritta e funzionante end-to-end
* 7119 magnetic-touch-how-to-induce-trance-with-the-hand PUBBLICATA (terzo strumento dopo sguardo 7046 e passi 7094), Doc IT 1JbfWkH70s1-_AnBwjsGPkT7xroiK1x-WcyJDTNGrQhw
* 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)
* 7094 passi pubblicata con Doc 1g5xjb44
* la condensazione 7b scartata
* 06/09: M59 (32 voci) registrate con esito per regola
* R120 con potatore in corso (job pagina_fatherofmesmerism7)
* testi dei due libri in pillars/confronto_*.txt e stats in confronto_stats.json
* 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
* 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
* tempo macchina ~45 min
* confronto in Doc 1my01fS9Ze6cmqUxFUD2mjKVHstCN3tyoROfdF0CrWcc
* tempo chat ~35 chiamate
* 06/09 notte: kairos 7121 v2 (bambino, nell istante, due maniere, note approfondite) + Doc a strati
* 07/09: pagina2.py installato
* M62
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12)
* 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
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza)
* 06/09 notte: 7125 marcoparet -> bozza
; Prossimo passo :
* pagina persuasione v2 pubblicata su neurolinguistic.com/blog PID 11804 con tutte le note di Marco
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico
* Doc a strati 1i-CtKlHG92 (v2, note, v1)
* 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).
* M63 (13) e M64 (9)
; 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.


=== chat-s20260904-claudegatepi-e9nzup ===
=== database-esercizi ===
''Aggiornato 2026-09-05 00:22 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-07 08:29 UTC'' &mdash; dominio: biblioteca


; 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 : 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 S20260904-claudegatepi-e9nzup chiusa senza prova
* Coda 295 doc costruita e deduplicata
* contesto ricostruito da riprendi_chat
* job esercizi_run lanciato 07/09 08:26 UTC
; 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
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run
* 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
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run
* controllare nei log le 69 richieste dal gate del 2026-09-05 00:17
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue
* 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 ===
=== pagine-seo-affiancate-0509 ===
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email
''Aggiornato 2026-09-06 21:58 UTC'' &mdash; dominio: pagine SEO marcoparet.com e neurolinguistic.com


; 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 : Ciclo pagine nuove + Doc IT a strati + regole dalle note
; 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
* 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) :
* 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
* 05/09: onde-cerebrali IT 7018 pubblicata
; Prossimo passo :
* 153 e 155 ripristinate alle versioni originali
* 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
* pagine nuove affiancate 7051 how-to-shift-your-brainwave-states, 7052 animal-magnetism-full-history-mesmerism, 7046 how-to-develop-hypnotic-gaze
 
* 289 ripristinata e protetta
=== spedizione-2791-fasce-sentinella ===
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email
* regole M34-M44 estratte (da 358 a 464)
 
* creati forma_finale.py, scopo_pagina.py, concorrenza.py, metafore.py, agente_logico.py, gate_pagina_protetta.py
; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi
* censite 78 pagine protette
; Vincoli in vigore :
* 05/09: onde-cerebrali IT 7018 pubblicata
* Non toccare status campagna a mano: lo governa fasce_2791.py. Un solo invio per persona garantito da Mailwizz sulla stessa campagna.
* 153/155/289 ripristinate e protette
; Fatto (con prova) :
* pagine affiancate 7046, 7051, 7052
* 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
* 155 ampliata
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
* regole M34-M45 (466 voci)
; Prossimo passo :
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json
* 78 pagine protette
 
* note Doc onde cerebrali 1IF5_ gia in M34
=== chat-s20260903-claudemicroc-1j0h7kz ===
* 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
''Aggiornato 2026-09-03 09:01 UTC'' &mdash; dominio: chat_riprese
* 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 :
* 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.
 
=== chat-s20260904-claudegatepi-e9nzup ===
''Aggiornato 2026-09-05 00:22 UTC'' &mdash; dominio: chat_riprese


; Obiettivo : Completare i deliverable mancanti D1-D4 dell'email a Ester (PDF RO ufficiale, PDF BG con indice corretto, PDF IT ed EL con indice tradotto online su R1, copie in uploads/deliverables e Drive aggiornato) e gestire le 20 richieste del gate
; Obiettivo : Completare e provare i deliverable D1-D4 di R148 (wiki_new.py operativo in /home/claudeuser/scripts, gate.sh che blocca edit.php diretto, registro pipeline WIKI-1 aggiornato, memoria CC + riga History wiki), rimasti senza prova alla chiusura END_NONVERIFICATO
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* gate=auto
Riga 585: Riga 608:
* verifica prima di dichiarare fatto
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260903-claudemicroc-1j0h7kz chiusa senza prova
* chat S20260904-claudegatepi-e9nzup chiusa senza prova
* contesto ricostruito da riprendi_chat
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 1|Pubblicare il PDF RO ufficiale online su R1 (D1, segnato MANCA)|pubblicazione su R1 del PDF della RO ufficiale
* 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
* 2|Pubblicare il PDF BG con indice corretto online (D2, segnato MANCA)|pubblicazione su R1 del PDF BG con indice corretto
* 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
* 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
* controllare nei log le 69 richieste dal gate del 2026-09-05 00:17
* 4|Copiare i PDF in uploads/deliverables e aggiornare Drive (D4, segnato MANCA)|cp dei PDF in uploads/deliverables/ e sincronizzazione della cartella Drive
* 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)
* 5|Esaminare le 20 richieste segnalate dal gate (GIORNALE 2026-09-03 08:47)|rilettura del gate e processamento/accodamento delle 20 richieste
* 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


=== pillar-next-queue-20260901 ===
=== memo-mailbox-import-isicnvstaff ===
''Aggiornato 2026-09-01 15:31 UTC'' &mdash; dominio: -
''Aggiornato 2026-09-03 13:03 UTC'' &mdash; dominio: email


; Obiettivo : Prendere la prossima pagina pillar valida e libera e portarla a revisione noindex
; 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 :
* Import via Gmail API messages.import con internalDateSource=dateHeader ed etichetta Archivio-2013, mai send. Formato mailbox da riconoscere (mbox/Maildir/eml/pst: per pst usare readpst). Originale su MEMO intoccabile
; Fatto (con prova) :
; Fatto (con prova) :
* 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.
* 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
; Prossimo passo :
; Prossimo passo :
* Quando il lock pillar-nlp-meaning viene rilasciato/scade, prendere Nlp Meaning
* 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
* altrimenti usare solo STRATEGA/PAG-1 canonici per un candidato editoriale valido, poi grounding, expansion cache, gerarchia, PAG-2, gate e preview noindex.


=== chat-s20260901-claudeanalyt-1ambje5 ===
=== spedizione-2791-fasce-sentinella ===
''Aggiornato 2026-09-01 14:23 UTC'' &mdash; dominio: chat_riprese
''Aggiornato 2026-09-03 09:42 UTC'' &mdash; dominio: email


; 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 : 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.
; Fatto (con prova) :
* Controllore fasce_2791.py attivo (cron */5): fasce Rome 12-14/18-20/21-22:30, quota=pending/fasce rimaste, pausa automatica fuori fascia e a quota. Sentinella sentinella_blocchi.py (cron orario min 7): EMAIL a isicnv+marcoparet 'SONO FERMO'+ragione se consegne ferme in fascia attiva, cron mancante, mysql giu' o WeVideo PAUSA_AUTH
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate.
; Prossimo passo :
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json
 
=== chat-s20260903-claudemicroc-1j0h7kz ===
''Aggiornato 2026-09-03 09:01 UTC'' &mdash; dominio: chat_riprese
 
; Obiettivo : Completare i deliverable mancanti D1-D4 dell'email a Ester (PDF RO ufficiale, PDF BG con indice corretto, PDF IT ed EL con indice tradotto online su R1, copie in uploads/deliverables e Drive aggiornato) e gestire le 20 richieste del gate
; Vincoli in vigore :
* gate=auto
* non chiedere a Marco
* non chiedere a Marco
* verifica prima di dichiarare fatto
* verifica prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* chat S20260901-claudeanalyt-1ambje5 chiusa senza prova
* chat S20260903-claudemicroc-1j0h7kz chiusa senza prova
* contesto ricostruito da riprendi_chat
* contesto ricostruito da riprendi_chat
; Prossimo passo :
; Prossimo passo :
* 1|Eseguire lo script di analisi visite indicato come next alla chiusura|python3 /home/claudeuser/scripts/analisi_visite.py
* 1|Pubblicare il PDF RO ufficiale online su R1 (D1, segnato MANCA)|pubblicazione su R1 del PDF della RO ufficiale
* 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
* 2|Pubblicare il PDF BG con indice corretto online (D2, segnato MANCA)|pubblicazione su R1 del PDF BG con indice corretto
* 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
* 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
* 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
* 4|Copiare i PDF in uploads/deliverables e aggiornare Drive (D4, segnato MANCA)|cp dei PDF in uploads/deliverables/ e sincronizzazione della cartella Drive
* 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
* 5|Esaminare le 20 richieste segnalate dal gate (GIORNALE 2026-09-03 08:47)|rilettura del gate e processamento/accodamento delle 20 richieste
* 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


=== microcredential-passaggi-finali-ester-0109 ===
=== pillar-next-queue-20260901 ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment
''Aggiornato 2026-09-01 15:31 UTC'' &mdash; dominio: -
 
 
; Obiettivo : Mail Ester 01/09 Passaggi finali progetto (Gmail 1a05cc46495b99ba): RO ufficiale al posto del nostro, BG con indice riformattato, indice IT/EL tradotto; tutto online su greenagritainment.com R1 post 1175
; Obiettivo : 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.
; 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.
 
=== chat-s20260901-claudeanalyt-1ambje5 ===
''Aggiornato 2026-09-01 14:23 UTC'' &mdash; dominio: chat_riprese
 
; Obiettivo : Completare l'analisi ANA-1: eseguire gli script di analisi visite, produrre i deliverable mancanti D1 (trend visite GA4/GSC per sito e pagine nuove), D2 (incrocio date dei 6 rifacimenti RAIDA/pillar con l'andamento visite) e D3 (giudizio sulla strategia con prove numeriche), e pubblicare il report finale.
; Vincoli in vigore :
; Vincoli in vigore :
* gate=auto
* gate=auto
* nessuna domanda a Marco
* non chiedere a Marco
* backup prima di sostituire
* verifica prima di dichiarare fatto
* verifica live prima di dichiarare fatto
; Fatto (con prova) :
; Fatto (con prova) :
* IT/EL/RO nostri gia online (01/09 mattina)
* chat S20260901-claudeanalyt-1ambje5 chiusa senza prova
* allegati Ester scaricati in tmp/mc/ester_0109
* contesto ricostruito da riprendi_chat
* DOCX sorgenti in tmp/mc e tmp/mc/out
; Prossimo passo :
; Prossimo passo :
* 1|RO ufficiale|backup di uploads/2025/09/Agritainment_Micro-Credential-Model_RO.pdf e uploads/deliverables/ (stesso nome) su greenagritainment.com (cPanel bsgvwjte, docroot /home1/bsgvwjte/greenagritainment.com/, uploader PHP cc-up-tmp51 se ancora presente, altrimenti ricrearlo), poi sostituire con /home/claudeuser/tmp/mc/ester_0109/Agritainment_Micro-Credential_Model_RO.pdf (file ufficiale del partner rumeno, mail Ester 01/09 id 1a05cc46495b99ba)
* 1|Eseguire lo script di analisi visite indicato come next alla chiusura|python3 /home/claudeuser/scripts/analisi_visite.py
* 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
* 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
* 4|D2: incrociare le date dei 6 rifacimenti registrati (RAIDA, pillar) con l'andamento visite|usare registro.json (registro pipeline, copia anche su GCS) e output di analisi_visite.py
* 5|D3: redigere il giudizio sulla strategia con prove numeriche|aggiungere sezione conclusiva al report gs://isicnv-command-center-routes/docs/analisi_visite_20260901.md
* 6|Registrare il completamento di ANA-1 e pubblicare il report finale|aggiornare registro.json e caricare la versione definitiva su gs://isicnv-command-center-routes/docs/analisi_visite_20260901.md
 
=== microcredential-passaggi-finali-ester-0109 ===
''Aggiornato 2026-09-01 13:13 UTC'' &mdash; dominio: agritainment
 
; Obiettivo : Mail Ester 01/09 Passaggi finali progetto (Gmail 1a05cc46495b99ba): RO ufficiale al posto del nostro, BG con indice riformattato, indice IT/EL tradotto; tutto online su greenagritainment.com R1 post 1175
; Vincoli in vigore :
* gate=auto
* nessuna domanda a Marco
* backup prima di sostituire
* verifica live prima di dichiarare fatto
; Fatto (con prova) :
* IT/EL/RO nostri gia online (01/09 mattina)
* allegati Ester scaricati in tmp/mc/ester_0109
* DOCX sorgenti in tmp/mc e tmp/mc/out
; Prossimo passo :
* 1|RO ufficiale|backup di uploads/2025/09/Agritainment_Micro-Credential-Model_RO.pdf e uploads/deliverables/ (stesso nome) su greenagritainment.com (cPanel bsgvwjte, docroot /home1/bsgvwjte/greenagritainment.com/, uploader PHP cc-up-tmp51 se ancora presente, altrimenti ricrearlo), poi sostituire con /home/claudeuser/tmp/mc/ester_0109/Agritainment_Micro-Credential_Model_RO.pdf (file ufficiale del partner rumeno, mail Ester 01/09 id 1a05cc46495b99ba)
* MD5 live = MD5 locale
* 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)
* 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)
Riga 1 614: Riga 1 678:
; Provato ed escluso :
; Provato ed escluso :
* stampa2=duplicato La Stampa
* stampa2=duplicato La Stampa
* Eminen Stell non finanziata
* Eminen Stell non finanziata
* Marie Claire non trovata
* Marie Claire non trovata
* pirateria Scribd+forum RU segnalata
* pirateria Scribd+forum RU segnalata
* duplicati byte-identici nei TIF marchi
* duplicati byte-identici nei TIF marchi
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare
* llms sugli altri 4 domini non ancora
* llms sugli altri 4 domini non ancora
; Prossimo passo :
; Prossimo passo :
* 1 llms.txt su marcoparet.com .net mesmerismus mesmerismonline da access_howto
* 1 llms.txt su marcoparet.com .net mesmerismus mesmerismonline da access_howto
* 2 blocco head 244 pagine RAIDA
* 2 blocco head 244 pagine RAIDA
* 3 leggere log Hetzner wb_retry e gb
* 3 leggere log Hetzner wb_retry e gb
* 4 TIF marchi estrazione
* 4 TIF marchi estrazione
* 5 rigenerare Sheet dal canon
* 5 rigenerare Sheet dal canon
 
=== cairn-archive ===
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com
 
; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Vincoli in vigore :
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* planned != held
* mail solo redatte
; Fatto (con prova) :
* 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 :
* archive.org/wayback/available da 429: usare la CDX API con retry
; Prossimo passo :
* 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


=== cairn-archive ===
== Sospesi ==
''Aggiornato 2026-08-10 15:58 UTC'' &mdash; dominio: Referenze E-E-A-T / neurolinguistic.com
=== hpr_pilota ===
''Aggiornato 2026-09-14 23:37 UTC'' &mdash; dominio: ricerca


; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit
; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar
; Vincoli in vigore :
; Vincoli in vigore :
* ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit
* read-only sul resto
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08)
* budget run 15
* planned != held
* giudizio col test delle 4 domande sul vault
* mail solo redatte
; Fatto (con prova) :
; Fatto (con prova) :
* aggiunta riga CAIRN-2012-AVALON a CAIRN_archive
* script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh)
* nota interna su AUD-001 col.N
* piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run
* llms.txt e sitemap-static.xml aggiornati (11 url)
* 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 :
; Provato ed escluso :
* archive.org/wayback/available da 429: usare la CDX API con retry
* 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 :
* salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine
* 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
* facsimili redatti delle 3 mail
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key)
* cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale)
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2
* valutare pagina EN/IT bilingue
* (d) a fine run ripristinare il guard togliendo i #


== Chiusi ==
== Chiusi ==