Cantieri aperti: differenze tra le versioni
| [versione verificata] | [versione verificata] |
handoff automatico |
handoff automatico |
||
| (103 versioni intermedie di uno stesso utente non sono mostrate) | |||
| Riga 7: | Riga 7: | ||
== Cantieri attivi == | == Cantieri attivi == | ||
=== audit_marcoparet_non_conformi === | |||
''Aggiornato 2026-09-13 20:38 UTC'' — dominio: pillar | |||
; Obiettivo : portare a standard le pagine non conformi su marcoparet: [7178] | |||
; 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 7178 | |||
=== capoufficio_agente_risolve === | |||
''Aggiornato 2026-09-12 14:10 UTC'' — dominio: - | |||
; Obiettivo : Marco 11/09: il 90% degli avvisi CAPOUFFICIO deve essere risolto da un agente, non finire in chat | |||
; Vincoli in vigore : | |||
* reversibile: backup .bak_* accanto a ogni file toccato | |||
; Fatto (con prova) : | |||
* capoufficio_watch.py reso host-aware (check+heal via ssh su media/secondary dove i cron sono migrati il 10/09 | |||
* backup .prima_hostaware_11set) | |||
* registry: finance_cassa heal_timeout_s=660, marcoparet_autoheal host=secondary | |||
* /var/log/isicnv creato su media e secondary | |||
* 9 monitor in RECOVERY | |||
* A) watch host-aware (check+heal via ssh su media/secondary). B) CAUSA DEI CANTIERI MAI LAVORATI: guardia.py e' migrata su media il 10/09 ma li' gsutil era anonimo (401) -> vedeva 0 handoff | |||
* risolto con gcloud auth activate-service-account media-worker per claudeuser (ora vede i 465 handoff, watch_* compresi). C) Telegram differito: cantiere subito, avviso a Marco solo se lo stesso problema resiste avvisa_dopo_cicli (default 4 ~1h) | |||
* recovery solo se avvisato. D) heal_auto: monitor fermo senza heal_cmd -> rilancio del suo cron sulla macchina giusta. Backup: capoufficio_watch.py.prima_hostaware_11set / .prima_differito_11set | |||
* 11/09: la guardia su media girava come root senza credenziali e scriveva 0 handoff: cron spostato a claudeuser (backup /root/crontab.bak_guardia_11set), gate GATE_ARCHIVIO_VUOTO in guardia.py (zero letto = guasto, Telegram ogni 6h) | |||
* scoperti due archivi (state/cantieri delle chat vs plans/handoff degli agenti): ponte_cantieri.py in cron ogni 30 min con gate-prima sul comando | |||
* commessa.py chiudi rifiuta gli handoff in prosa senza job (GATE_HANDOFF_PARCHEGGIO, off con touch /home/claudeuser/sessions/GATE_HANDOFF_OFF) | |||
* primo giro guardia in corso su 465 cantieri | |||
* 11/09: watch host-aware | |||
* guardia su media con credenziali | |||
* Telegram differito (avvisa_dopo_cicli) | |||
* heal_auto. 12/09 notte: (a) heal a raffica fermato: heal_ogni_min default 120 (finance_daily_sync girava ogni 15 min su media e mandava 'step falliti paypal' a ogni giro) | |||
* (b) log_clean su log mai scritto = OK (argo_watch.log e cassa_check.log non esistevano perche' /var/log/isicnv mancava fino al 11/09 13:37) | |||
* (c) CAUSA della perdita credenziali su media: il cron marcopi fa 'gcloud config set account 424757051842-compute@...' e rende gsutil anonimo -> guardia cieca e PayPal token illeggibile | |||
* blindato con ~/.boto (gs_service_key_file=media-worker.json) + pass_credentials_to_gsutil=false: gsutil funziona qualunque sia l'account attivo. Backup: capoufficio_watch.py.prima_throttle_12set | |||
* 12/09 pom: (E) firma stabile dei problemi (numeri->#): prima i cicli si azzeravano a ogni giro e i monitor con heal non avvisavano mai. (F) terzo stato PERSISTENTE: dopo 2 avvisi singoli (avvisa_dopo_cicli, poi riavvisa_dopo_cicli=8) il monitor tace e finisce nel riepilogo giornaliero delle 07 UTC, un solo messaggio | |||
* recovery e nuovi guasti restano immediati. Backup capoufficio_watch.py.prima_riepilogo_12set. (G) token GSC: gsc-admin e token-searchconsole revocati (guardiano_token.py li vede dal 11/09) | |||
* creato scripts/gsc_token.py con ripiego su token-informazionicorsi-gsc + mappatura sc-domain->URL-prefix con piu dati | |||
* gate_pagina_protetta e sat_gsc_sync adattati (bak_gsc_12set) | |||
* sat_gsc_sync senza --replace | |||
* righe polyvagal ripristinate da /tmp/gsc.jsonl del 11/09 (BQ gsc_queries: 9994 righe, 40 siti) | |||
; Prossimo passo : | |||
* (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 === | |||
''Aggiornato 2026-09-12 13:25 UTC'' — dominio: finanza | |||
; Obiettivo : Tabella ALLIEVI canonica + riconciliazione totale (Marco 12/09). La ricerca allievi deve girare in background per ore | |||
; Fatto (con prova) : | |||
* 12/09: (a) riconcilia_cassa.py a 4 strati + pagatori_alias (cron 07:35) | |||
* (b) allievo_360.py: motore di ricerca deterministico su una persona o su un PLACEHOLDER (dal piano rate risale al pagatore: chi ha versato quelle cifre in quelle date, +checkin per costo, +contratti, +Salsina, +Gmail isicnv) | |||
* fonti gia' in BigQuery: isicnv_contacts.zoom_participants, streak_boxes_daily, contatti_master (con note_crm), emails_master, staff_inbox_raw | |||
* isicnv_finance.allievi_master (person_id, tot_versato, saldo), allievi_checkins, allievi_contratti, allievi_pagamenti, transactions_multianno, contabilita_salsina, anagrafica_unificata (29.125 righe). Job in corso: allievo360_ignoti_0912 (5 placeholder + DCS Grandi Eventi), report in /home/claudeuser/reports/allievo360/ | |||
* allievo_360.py operativo. IDENTIFICATI: placeholder 64B0DBC00A2A = MONICA CARBE immobilaffari@gmail.com | |||
* placeholder A87F93215573 = FRANCESCO MARCIELLO gurufranc@gmail.com (Wise MARCIELLO FRANCESCO PAOLO) | |||
* D.C.S. GRANDI EVENTI = CLAUDIA PANI pani.claudia@gmail.com. Tutti e tre inseriti in pagatori_alias. REGOLA DI MARCO: marcoparet@gmail.com si interroga via MCP Gmail SOLO quando isicnv@gmail.com non ha dati. SCOPERTA: le notifiche Wise di incasso arrivano a informazionicorsi@gmail.com (terza casella, fonte di riconciliazione non ancora usata). CORREZIONE: ily1975@gmail.com e' Ilaria Polidori (IPCA), NON Cristiana Morroni: anagrafica_unificata ha rumore sui nomi da streak | |||
* allievo_360.py operativo | |||
* identificati e messi in pagatori_alias: 64B0DBC00A2A=MONICA CARBE immobilaffari@gmail.com, A87F93215573=FRANCESCO MARCIELLO gurufranc@gmail.com, D.C.S. GRANDI EVENTI=CLAUDIA PANI pani.claudia@gmail.com. Regola: marcoparet@gmail.com via MCP Gmail solo se isicnv non ha dati. GRUPPI+SITI: creato gruppi_e_siti.py (job gruppi_siti_0912 in corso) che ricostruisce i gruppi Google dai messaggi isicnv verso *@googlegroups.com e legge i permessi dei 100+ Google Sites | |||
* carica isicnv_finance.google_gruppi, google_gruppi_membri, google_sites_accessi. ACCERTATO: i permessi Drive dei Sites contengono SOLO staff (isicnv, marcoparet, informazionicorsi, isicnvstaff, sulzina02, venetomarketinglab, studiointramentis) - gli allievi NON compaiono li': l'accesso allievi passa dai gruppi (es. advanced-level-2019-2020@googlegroups.com, advanced-course@, cours-avanc@) usati per le convocazioni di lezione. Quindi il match corso<->allievo si fa gruppo<->nome del sito, non dai permessi | |||
* GRUPPI: gruppi_membri_scrape.py legge i membri da groups.google.com col profilo admin julesdupotet (/home/claudeuser/.config/chrome-jules, copiato in chrome-jules-scrape a ogni giro | |||
* Playwright NON ha il suo chromium, si usa executable_path=/usr/bin/google-chrome | |||
* DISPLAY=:1 via VNC gia' attivo). Caricati in isicnv_finance.google_gruppi_membri_admin. WORKER: allievi_360_worker.py macina la worklist (1.844 persone da pagamenti+gruppi+Salsina+check-in, dal piu' recente indietro), un contatto alla volta, finestra 6h, stato in /home/claudeuser/monitors/allievi360_state.json, ripristinabile | |||
* cron */20 con flock lo riprende se cade. Log /home/claudeuser/logs/allievi360.log | |||
; Prossimo passo : | |||
* (1) a scrape finito, incrociare google_gruppi_membri_admin con allievi_pagamenti: chi e' in un gruppo-corso senza pagamenti = moroso vero | |||
* chi paga e non e' in nessun gruppo = accesso mai dato | |||
* (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 | |||
=== riconciliazione_cassa === | |||
''Aggiornato 2026-09-12 10:14 UTC'' — dominio: finanza | |||
; Obiettivo : Marco: ogni entrata deve avere la sua ragione; pipeline a 4 strati + entrate non attribuite | |||
; Fatto (con prova) : | |||
* creato /home/claudeuser/scripts/riconcilia_cassa.py (4 strati: incasso diretto -> movimento bancario con ALIAS pagatore -> foglio contabilita Salsina -> Gmail isicnv con --gmail). Creata tabella isicnv_finance.pagatori_alias, primo alias D AMICO PATRIZIA = GIUSEPPE MORANA. Filtro anti-rumore su giroconti/payout/cashback. Cron 07:35 UTC, report in /home/claudeuser/reports/riconciliazione_AAAAMMGG.txt. Primo giro: 19 rate, 16 spiegate, 3 non pagate (tutte PLACEHOLDER), 11 entrate non attribuite | |||
* riconcilia_cassa.py attivo (cron 07:35 UTC, report in /home/claudeuser/reports/). 12/09 verifica di Marco 'gli italiani regolari sono allievi': CONFERMATA. Aggiunto strato anagrafica_unificata: le entrate orfane sono divise in A) allievo censito senza piano rate e B) sconosciuto. Bug trovato: le query bq erano troncate a 3000 righe e l'anagrafica ne ha 29.125 -> ora 200.000 per quella query. Risultato: 9 entrate su 11 sono allievi noti (Marzocchi 668/mese, Grappi 713/mese, Morroni 212/mese, Rozza 300, Strohmaier 490), 2 sconosciute (Viramontes Molina 500, D.C.S. Grandi Eventi 300) | |||
; Prossimo passo : | |||
* (1) creare il piano rate per Marzocchi Marzio (ghenshiro@gmail.com), Grappi Paola (paolagrappi.anemos121@gmail.com), Morroni Cristiana (ily1975@gmail.com): pagano ogni mese la stessa cifra ma non hanno piano ne' riga nel foglio Salsina | |||
* (2) chiedere a Salsina chi sono GERARDO VIRAMONTES MOLINA (500 del 08/09) e D.C.S. GRANDI EVENTI (300 del 07/09) | |||
* (3) ROZZA EROS in anagrafica ha l'email dell'agenzia VMK Lab (lead.clienti@vmklab.it): anagrafica da correggere | |||
* (4) i 5 PLACEHOLDER (21 righe, 5.258 EUR) restano senza nome | |||
=== chat-s20260911-si1secondary-qqnl4c === | |||
''Aggiornato 2026-09-12 00:00 UTC'' — dominio: chat_riprese | |||
; Obiettivo : Completare il deploy SI-1: riparare il crash gcloud (credenziali rotte), installare in cron la copia dell'orchestrator su secondary e produrre la consegna verificabile D1 | |||
; Vincoli in vigore : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260911-si1secondary-qqnl4c chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; Prossimo passo : | |||
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics | |||
* gcloud auth list | |||
* gcloud config list | |||
* 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP) | |||
* alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema | |||
* 3|Installare la copia dell'orchestrator SI-1 nel crontab di secondary, replicando la voce '27 */4' gia' attiva sulla VM|su secondary: crontab -e e aggiungere la riga '27 */4 <comando orchestrator SI-1>' identica a quella della VM | |||
* 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 === | |||
''Aggiornato 2026-09-11 23:40 UTC'' — dominio: chat_riprese | |||
; 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 : | |||
* 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 | |||
=== chat-s20260911-clauderegist-sskkcz === | |||
''Aggiornato 2026-09-11 23:00 UTC'' — dominio: chat_riprese | |||
; Obiettivo : Completare e verificare la pipeline Zoom zoom_recordings_daily.py: chiudere i 2 job backfill in corso, assicurare che le 5 registrazioni recuperate (inclusa Lesson 8, presente solo su cloud Zoom) siano su Drive, definire il deliverable D1 mancante, e risolvere il crash gcloud segnalato nei messaggi umani non letti | |||
; Vincoli in vigore : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260911-clauderegist-sskkcz chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; Prossimo passo : | |||
* 1|Riprendere il contesto completo della sessione|python3 /home/claudeuser/scripts/handoff.py --resume zoom-registrazioni-daily-0911 | |||
* 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 === | |||
''Aggiornato 2026-09-11 22:28 UTC'' — dominio: VM / infrastruttura | |||
; 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. | |||
; 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) : | |||
* 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 | |||
* 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 | |||
* 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. | |||
; 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 : | |||
* 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 | |||
* poi cantiere proposer-con-contenuto-del-target | |||
=== zoom-registrazioni-daily-0911 === | |||
''Aggiornato 2026-09-11 20:16 UTC'' — dominio: trascrizioni | |||
; Obiettivo : Pipeline ZOOM-1: registrazioni cloud Zoom -> Drive -> trascrizione -> Telegram; storico lezioni/partecipanti/iscritti/registrazioni in BigQuery zoom.* | |||
; 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) : | |||
* 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). | |||
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione | |||
* su Drive c'era solo LESSON 1. | |||
* SBLOCCATO 11/09: API funziona. Prima corsa --days 10: 11 file su Drive, cartella Registrazioni Zoom 1TZ-GAzZHuTlcEvvzOlEE1qBRLBTTxrn1 / 2026-09 1OmzKz9VSrpgANI9RJlnmB8e2ZabQdPuA. ULTIMATE PATH LESSON 8 (10/09, mp4 215 MB + m4a 46 MB + chat) e Australian Academy 07/09 (mp4 210 MB, m4a, VTT closed caption, chat) caricati. Job trascrizione lanciati: zoomtr_ultimatepathlesson8_2026-09- e zoomtr_marcoparet_australia_2026-09- (Doc TRASCRIZIONE nella cartella 2026-09). Cron 06:15 --days 3 attivo. Nota: Salsina non ha mandato la registrazione | |||
* su Drive c'era solo LESSON 1. | |||
* v2 script: --from (backfill a finestre 30 gg), --inline-transcribe (sequenziale), avviso Telegram a fine corsa (bot ISI-CNV Worker). Prima corsa: Lesson 8 + Australian 07/09 su Drive, trascrizioni job zoomtr_*. Job backfill zoom_backfill_0911 (--from 2024-01-01 inline) e zoom_backfill_cestino_0911 (parte dopo, riprende i 5 recuperati dal cestino). Cron 06:15 --days 3 attivo. | |||
* zoom_bq_sync.py (cron 06:45): tabelle zoom.riunioni_passate (7), partecipanti (327), riunioni_programmate (11), iscritti (91), registrazioni (43, con cestino), vista v_lezioni. zoom_recover_trash.py salvato. ZOOM-1 registrata (sovrapposizione segnalata: INF-1). Backfill zoom_backfill_0911 in corso (trascrizione inline), poi zoom_backfill_cestino_0911. | |||
* zoom_bq_sync.py v2 (default --from oggi-180gg, salta le finestre oltre i 6 mesi): 43 riunioni passate da marzo 2026, 3.313 righe partecipanti (cache in zoom_rec/participants/), 11 programmate, 93 iscritti, 43 file registrazione | |||
* vista zoom.v_lezioni. Job zoom_bq_storico_6m_0911 completato. | |||
; Prossimo passo : | |||
* job.py --status zoom_backfill_0911 e zoom_backfill_cestino_0911 (trascrizioni) | |||
* 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. | |||
=== prova_parcheggio_gate3 === | |||
''Aggiornato 2026-09-11 13:59 UTC'' — dominio: test | |||
; Obiettivo : prova | |||
; Prossimo passo : | |||
* python3 /home/claudeuser/scripts/handoff.py --list | |||
=== prova_parcheggio_gate2 === | |||
''Aggiornato 2026-09-11 13:57 UTC'' — dominio: test | |||
; Obiettivo : prova | |||
; Prossimo passo : | |||
* python3 /home/claudeuser/scripts/handoff.py --list | |||
=== prova_parcheggio_gate === | |||
''Aggiornato 2026-09-11 13:54 UTC'' — dominio: test | |||
; Obiettivo : prova del gate di chiusura | |||
; Prossimo passo : | |||
* python3 /home/claudeuser/scripts/handoff.py --list | |||
=== sito-ipnomentalismo === | |||
''Aggiornato 2026-09-11 09:34 UTC'' — dominio: - | |||
; Obiettivo : Sito-manuale riservato Ipnomentalismo / Ipnosi sottile, modello Ipnoanalgesia | |||
; 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. | |||
; Prossimo passo : | |||
* Spezzoni fini dai 69 file (clonare analgesia_spezzoni.py) | |||
* cron 4h come analgesia_ciclo.sh | |||
* cancellare cartella vecchia | |||
=== migrazione-carichi-media === | |||
''Aggiornato 2026-09-10 07:42 UTC'' — dominio: infrastruttura | |||
; Obiettivo : Spostare i 197 cron della VM (729 esecuzioni/ora su 2 vCPU) dove e opportuno: 67 restano (monitor locali, ssh), 85 su media (BigQuery/Drive/video), 45 su secondary (solo API CC e Telegram). Via libera di Marco 10/09: fino al risultato finale. | |||
; 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. | |||
; Fatto (con prova) : | |||
* FATTO 09/09: agent.py in systemd su translator/media/secondary (porta 8080 aperta) | |||
* route CC POST /vm/exec-on {host: vm|translator|media|secondary, cmd, timeout} testata su tutte e 4 | |||
* earlyoom + swappiness 10 sulla VM | |||
* wrapper /usr/local/bin/bq con nice 15 + timeout 300 (22 script cron usano bq CLI) | |||
* vm-heartbeat.sh riscritto solo-curl (da 60s+ a 1.5s, backup .bak_bq_20260909) | |||
* uccisi gsutil/bq orfani da 30 min. | |||
* censimento_cron.py -> logs/censimento_cron.json (197 righe classificate). migra_cron.py: --lotto/--verifica/--rollback/--stato, promuove dopo il primo log pulito, ripristina su Traceback/credenziali/file mancanti. migrazione_driver.sh in cron */30: rsync idempotente, pip, verifica, un lotto per giro (secondary_1 45 cron, media_1 15 senza Google, poi lotti media_bq da 15 quando la SA risponde), si ritira da solo a fine lavoro. | |||
; Provato ed escluso : | |||
* Upgrade e2-medium: NO (deciso). Billing export BQ e budget alert: il SA della VM non ha permessi billing, deve farlo Marco in console. | |||
* Cadenze dei cron NON toccate (es. campaigns_monitor ogni minuto): solo spostamenti. Nessuna chiave del SA compute (editor) fuori da GCP. | |||
; Prossimo passo : | |||
* tail -40 /home/claudeuser/logs/migrazione_driver.log | |||
* python3 /home/claudeuser/scripts/migra_cron.py --stato | |||
* cat /home/claudeuser/logs/migrazione_cron_state.json | python3 -c "import json,sys | |||
* [print(k,v[\"dest\"],v[\"stato\"],v.get(\"motivo\",\"\")) for k,v in json.load(sys.stdin).items() if v[\"stato\"]==\"ripristinato\"]" # i ripristinati vanno letti uno a uno: dipendenze locali non rilevabili dal log | |||
=== reverse-nlp-legacy-html === | |||
''Aggiornato 2026-09-09 00:43 UTC'' — dominio: Hosting / siti | |||
; 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 : | |||
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE | |||
* nessuna cancellazione testo storico, URL/title/H1 invariati | |||
* ordine per traffico reale GA4 (analytics_isicnv.ga4_pages_daily, property 533218658+399463272) | |||
* backup prima di ogni modifica | |||
* QA HTML/mobile/HTTP per pagina | |||
* pubblicazione = azione irreversibile: primo lotto proposto a Marco prima del deploy | |||
; Fatto (con prova) : | |||
* 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 : | |||
* 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'' — dominio: chat_riprese | |||
; 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 : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
* chat S20260908-dipisafermo-1ol47hs chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; 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 | |||
* 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 | |||
=== trascrizione-master-tanya-0709 === | |||
''Aggiornato 2026-09-08 22:46 UTC'' — dominio: trascrizioni | |||
; Obiettivo : Trascrizione 2 video mail 'registrazione Master e Tanya' | |||
; Vincoli in vigore : | |||
* I file sono condivisi SOLO con marcoparet@gmail.com: token isicnv -> 404, accesso anonimo -> login. Nessun token Drive marcoparet su VM/GCS. Serve che Marco condivida i 2 file con isicnv@gmail.com (o Salsina). | |||
; Fatto (con prova) : | |||
* Script pronto: /home/claudeuser/scripts/trascrivi_ids.py (download per ID, audio 16k, pezzi 20 min, Groq whisper-large-v3, txt+json+timestamp, Doc in cartella). Cartella output Drive: 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC | |||
* Accesso dato da Marco. Job trascr_master_tanya_0709 in corso (Master CNV 07/09, 175 min, italiano). Tanya (60 min) e' in INGLESE: prima passata con language=it era una traduzione -> cancellata | |||
* ricodata con --lang auto nel piano trascr_tanya_en (job trascr_tanya_en_run) che parte alla fine del Master. | |||
; Prossimo passo : | |||
* python3 /home/claudeuser/scripts/job.py --status trascr_master_tanya_0709 | |||
* python3 /home/claudeuser/scripts/job.py --status trascr_tanya_en_run | |||
* ls /home/claudeuser/trascrizioni_isicnv/DRIVE/ | grep -E 'CNV per il|GMT20260907' | |||
* poi rileggere i Doc nella cartella Drive 1kyhy6ydhyCWNN0jNFeFkrrsUjhZTOtmC | |||
=== dipisa-pagina-en === | |||
''Aggiornato 2026-09-08 19:22 UTC'' — dominio: pagine | |||
; Obiettivo : Pagina inglese su Erminio Di Pisa con PAG-2, fatti SOLO dalla wiki: https://wiki.marcoparet.com/wiki/Prof._Erminio_Di_Pisa_%E2%80%94_Ipnosi_con_lo_Sguardo (Caravelli Milano 1973, morte 29/6/1977; triade Webb-Ceccarelli-Di Pisa; sguardo alla radice del naso; induzione TV; radio terapeutica; Regio di Parma 1978; Paret allievo diretto) | |||
; Vincoli in vigore : | |||
* nessuna data di nascita/morte di Di Pisa: la wiki non le da | |||
* niente promesse terapeutiche | |||
* solo bozza, pubblica Marco | |||
; Fatto (con prova) : | |||
* Pagina IT 7150 corretta e verificata live: tolte le date false 1892-1958 e la frase prima meta del Novecento | |||
* regola wiki-prima in memoria rule_1788895263452_p8oahr | |||
; Prossimo passo : | |||
* 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 | |||
=== rete-sicurezza-orfani === | |||
''Aggiornato 2026-09-08 07:30 UTC'' — dominio: infrastruttura | |||
; Obiettivo : Rete di sicurezza R94: le chat interrotte devono essere riprese dai cron senza Marco | |||
; Vincoli in vigore : | |||
* non toccare i cantieri con costi/invii/cancellazioni | |||
* nessuna cancellazione su GCS | |||
; Fatto (con prova) : | |||
* gate_pipeline.py: una pipeline risponde sempre al proprio nome | |||
* 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 : | |||
* job.py --status rete_orfani_patch_20260908 | |||
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE | |||
=== chat-s20260907-esemplari-1p38o3i === | |||
''Aggiornato 2026-09-07 22:02 UTC'' — dominio: chat_riprese | |||
; 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 : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260907-esemplari-1p38o3i chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; 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 | |||
* 2|Leggere il CONFRONTO_2.md eventualmente prodotto dal job|cat /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md | |||
* 3|Eseguire lo stadio PAG-2 di esemplari.py per generare ESEMPLARI.md per H2 (deliverable D1)|python3 /home/claudeuser/scripts/esemplari.py --slug how-to-develop-magnetic-presence --lang en --confronta 2 | |||
* 4|Completare CONFRONTO_2.md e CONFRONTO_3.md con le metriche A vs B (deliverable D2)|python3 /home/claudeuser/scripts/esemplari.py --slug how-to-develop-magnetic-presence --lang en --confronta 3 | |||
* poi verificare/editare /home/claudeuser/pillars/p2/how-to-develop-magnetic-presence/CONFRONTO_2.md e CONFRONTO_3.md | |||
* 5|Aggiornare l'handoff della pipeline (deliverable D3)|python3 /home/claudeuser/scripts/handoff.py --resume pipeline-pagina-0609 | |||
* 6|Rieseguire l'esame della chat (fallito per HTTP 429 di glm-5.2, resta in coda)|riprendi_chat dopo aver atteso il reset del rate-limit glm-5.2 | |||
=== pipeline-pagina-0609 === | |||
''Aggiornato 2026-09-07 10:56 UTC'' — dominio: pipeline pagine | |||
; Obiettivo : PIPELINE 2 (pagina2.py): semplice, deterministica, con harness; stesura da Claude con HARNESS.md; controlli senza riscrittura; bozza + Doc a strati; note di Marco -> regole | |||
; Vincoli in vigore : | |||
* Comandi: pagina2.py dossier|scrivi|controlla|bozza|note2regole --slug S. Stato in pillars/p2/<slug>/. La stesura NON usa i modelli del gateway (kimi/glm/minimax: impronta AI, bande ignorate) ne pipeline_completa R120 (riscrive e peggiora). Stesura = Claude con HARNESS.md (in chat oggi | |||
* claude CLI sulla VM quando loggato: ora dice Not logged in). controlla = correzioni sicure (d epentetica ogni vocale, Fascinazione, id h2) + segnalazioni (frasi AI, negazioni, ci, link M48, note>=12, energia/polivagale/etica/YouTube/CTA/esercizio). bozza = UN solo ssh (M66) + Doc a strati. Semantico 8088/8089 spenti: il collage usa BM25 8085 con filtro autore Paret prima. | |||
; Fatto (con prova) : | |||
* 06/09 00:35: pagina.py scritta e funzionante end-to-end | |||
* prima pagina 7083 who-is-the-father-of-modern-mesmerism pubblicata (collage 112 frasi da biblioteca + Training Manual di Marco, concorrenza, 260 regole p1), Doc IT 1lasNBE0vjN58nuqLEZJZcT2D0DHFmywjHnZAspFGVSI in Per pagine. Costo modelli misurato: 0.15 USD, 6 chiamate, 20 min. DIFETTO: kimi ignora la banda (7910 parole invece di 1500-1900) | |||
* la condensazione 7b scartata | |||
* R120 con potatore in corso (job pagina_fatherofmesmerism7) | |||
* 06/09: 7083 tolta (draft). 7094 what-are-mesmeric-passes-and-how-do-they-work: materiale dalla pipeline (128 frasi, concorrenza, struttura), stesura da Claude come editor, guardiano+forma_finale, pubblicata dopo lettura, Doc IT 1g5xjb44_xpAsBoDIFP8XITt4wmipRE-VsPFlWK4-iUI in Per pagine. Costo modelli pipeline: 0.19 USD | |||
* tempo macchina ~45 min | |||
* tempo chat ~35 chiamate | |||
* 07/09: pagina2.py installato | |||
* controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12) | |||
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza) | |||
; Prossimo passo : | |||
* 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico | |||
* finche' no, la stesura la fa Claude in chat dal HARNESS.md. 2) struttura via glm: verificare perche' e' caduta nel template (JSON). 3) Registrare PAG-4 nel registro pipeline. 4) Prima pagina completa con pipeline 2: magnetic presence (dossier pronto). | |||
=== database-esercizi === | |||
''Aggiornato 2026-09-07 08:29 UTC'' — dominio: biblioteca | |||
; 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 : | |||
* 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 | |||
* pagina_stampata dal testo. Costo stimato ~30 USD totali, tetto aigw giornaliero 8 USD -> il job pausa 60 min e riprende. | |||
; Fatto (con prova) : | |||
* Coda 295 doc costruita e deduplicata | |||
* job esercizi_run lanciato 07/09 08:26 UTC | |||
; Prossimo passo : | |||
* python3 /home/claudeuser/scripts/esercizi_extract.py --stats && python3 /home/claudeuser/scripts/job.py --status esercizi_run | |||
* se fermo: python3 /home/claudeuser/scripts/job.py --run "ESERCIZI_WORKERS=6 python3 /home/claudeuser/scripts/esercizi_extract.py --run" --id esercizi_run | |||
* per ampliare il corpus: aggiungere autori in FASI e rilanciare --build-queue | |||
=== pagine-seo-affiancate-0509 === | |||
''Aggiornato 2026-09-06 21:58 UTC'' — dominio: pagine SEO marcoparet.com e neurolinguistic.com | |||
; Obiettivo : Ciclo pagine nuove + Doc IT a strati + regole dalle note | |||
; 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 | |||
* 64.4 rapport nasce dalla relazione | |||
* 64.6 vendita: occhi e stretta di mano, non passi/tocco. Doc a strati sempre. | |||
; Fatto (con prova) : | |||
* 05/09: onde-cerebrali IT 7018 pubblicata | |||
* 153 e 155 ripristinate alle versioni originali | |||
* 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 | |||
* 155 corretta con le regole e ampliata con Paracelso, van Helmont, tocco prossimale, medicina cinese, Hahnemann Organon 288-289, note 1-13 | |||
* 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 | |||
* censite 78 pagine protette | |||
* 05/09: onde-cerebrali IT 7018 pubblicata | |||
* 153/155/289 ripristinate e protette | |||
* pagine affiancate 7046, 7051, 7052 | |||
* 155 ampliata | |||
* regole M34-M45 (466 voci) | |||
* creati forma_finale, scopo_pagina, concorrenza, metafore, agente_logico, gate_pagina_protetta | |||
* 78 pagine protette | |||
* note Doc onde cerebrali 1IF5_ gia in M34 | |||
* 05/09 sera: M46 (25 regole) estratte dal Doc sguardo 13tz6GqK3TSft5yvnWrO5A6WdwHLO5FTW3PzmRSvuLE8 e riportate su 7046 (14 sostituzioni, titolo Powerful, verificato live). Pagina NUOVA 7062 what-is-non-verbal-hypnosis-how-it-works pubblicata (affiancata al post what-non-verbal-hypnosis-and-why-it-effective), catena metafore/agente_logico/guardiano/dedup/scopo/forma_finale/gate PASS. Doc IT in Per pagine: 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo | |||
* 05/09 notte: M47 estratte dal Doc 1R0I0SRbpZ8yfGQFNJzcyp1HAlgeO1njZYS3tWjGoWlo e applicate alla 7062 (riscrittura integrale, titolo con Touch and Presence, note da 7 a 20 tutte verificate una per una via web, agente_logico 6/6, guardiano OK, forma_finale OK, gate PASS, verificato live). Prima: M46 su 7046. Backup 7062_backup_prima_M47.html | |||
* 05/09 notte: pagina NUOVA 7075 come-fascinare-con-lo-sguardo (IT) pubblicata, affiancata a fascinazione-ipnotica 6999 (105 impr 0 click, intatta). Titolo-domanda dalle query reali. 15 note verificate, agente_logico 2/2, guardiano OK, dedup OK, scopo SCOPO_OK, forma_finale OK, gate PASS, verificata live. Doc IT 1h2glSPY_WlmNPcNsfya3PrYYEDk-cQ_plelHTd9BAwk in Per pagine | |||
* 06/09 notte: 7116 centratura (v3 EN fatta dall altra chat, regole M58 gia estratte da lei) PUBBLICATA da me dopo lettura e verifica link: https://marcoparet.com/self-hypnosis-centering-to-feel-and-find-your-own-centre/ | |||
* 7119 magnetic-touch-how-to-induce-trance-with-the-hand PUBBLICATA (terzo strumento dopo sguardo 7046 e passi 7094), Doc IT 1JbfWkH70s1-_AnBwjsGPkT7xroiK1x-WcyJDTNGrQhw | |||
* 7094 passi pubblicata con Doc 1g5xjb44 | |||
* 06/09: M59 (32 voci) registrate con esito per regola | |||
* testi dei due libri in pillars/confronto_*.txt e stats in confronto_stats.json | |||
* pagina 7121 kairos-and-chronos-how-to-step-out-of-linear-time pubblicata dopo lettura (formula 59.31, metronomo dal libro, 12 note reali), Doc IT 10KVjfoNUlVEWTQ0SD31Nda52N2eG7t_T6K1yICp-aA8 | |||
* confronto in Doc 1my01fS9Ze6cmqUxFUD2mjKVHstCN3tyoROfdF0CrWcc | |||
* 06/09 notte: kairos 7121 v2 (bambino, nell istante, due maniere, note approfondite) + Doc a strati | |||
* M62 | |||
* pagina 7125 how-to-persuade-without-pressure (grammatica fusa 61.44, dai due libri verificati nel corpus, Deutsch&Gerard raccontato, modellamento->rispecchiamento) pubblicata dopo lettura, Doc IT creato | |||
* 06/09 notte: 7125 marcoparet -> bozza | |||
* pagina persuasione v2 pubblicata su neurolinguistic.com/blog PID 11804 con tutte le note di Marco | |||
* Doc a strati 1i-CtKlHG92 (v2, note, v1) | |||
* M63 (13) e M64 (9) | |||
; Prossimo passo : | |||
* 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'' — dominio: chat_riprese | |||
; Obiettivo : Completare e provare i deliverable D1-D4 di R148 (wiki_new.py operativo in /home/claudeuser/scripts, gate.sh che blocca edit.php diretto, registro pipeline WIKI-1 aggiornato, memoria CC + riga History wiki), rimasti senza prova alla chiusura END_NONVERIFICATO | |||
; Vincoli in vigore : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260904-claudegatepi-e9nzup chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; 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 | |||
* 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 | |||
* controllare nei log le 69 richieste dal gate del 2026-09-05 00:17 | |||
* 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 === | |||
''Aggiornato 2026-09-03 13:03 UTC'' — dominio: email | |||
; 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) : | |||
* 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 : | |||
* 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 | |||
=== spedizione-2791-fasce-sentinella === | |||
''Aggiornato 2026-09-03 09:42 UTC'' — dominio: email | |||
; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi | |||
; Vincoli in vigore : | |||
* Non toccare status campagna a mano: lo governa fasce_2791.py. Un solo invio per persona garantito da Mailwizz sulla stessa campagna. | |||
; Fatto (con prova) : | |||
* Controllore fasce_2791.py attivo (cron */5): fasce Rome 12-14/18-20/21-22:30, quota=pending/fasce rimaste, pausa automatica fuori fascia e a quota. Sentinella sentinella_blocchi.py (cron orario min 7): EMAIL a isicnv+marcoparet 'SONO FERMO'+ragione se consegne ferme in fascia attiva, cron mancante, mysql giu' o WeVideo PAUSA_AUTH | |||
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate. | |||
; 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'' — 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 | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260903-claudemicroc-1j0h7kz chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; Prossimo passo : | |||
* 1|Pubblicare il PDF RO ufficiale online su R1 (D1, segnato MANCA)|pubblicazione su R1 del PDF della RO ufficiale | |||
* 2|Pubblicare il PDF BG con indice corretto online (D2, segnato MANCA)|pubblicazione su R1 del PDF BG con indice corretto | |||
* 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|Copiare i PDF in uploads/deliverables e aggiornare Drive (D4, segnato MANCA)|cp dei PDF in uploads/deliverables/ e sincronizzazione della cartella Drive | |||
* 5|Esaminare le 20 richieste segnalate dal gate (GIORNALE 2026-09-03 08:47)|rilettura del gate e processamento/accodamento delle 20 richieste | |||
=== pillar-next-queue-20260901 === | |||
''Aggiornato 2026-09-01 15:31 UTC'' — dominio: - | |||
; Obiettivo : Prendere la prossima pagina pillar valida e libera e portarla a revisione noindex | |||
; Fatto (con prova) : | |||
* MRO v8.0, manuale pillar, Cantieri_aperti, bacheca, coda e REGOLE_VIVEZZA letti. R102+commessa attivi. Ricalco gia in cantiere. Nlp Meaning ha lock valido di altra chat dal 31/08 19:03 UTC, scadenza 01/09 19:03 UTC. STRATEGA canonico ha aggiunto site:www.neurolinguistic.com, scartato come query navigazionale. Nessun PID modificato. | |||
; 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'' — 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 : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | |||
* chat S20260901-claudeanalyt-1ambje5 chiusa senza prova | |||
* contesto ricostruito da riprendi_chat | |||
; Prossimo passo : | |||
* 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'' — 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 | |||
* 2|BG formattazione|partire da /home/claudeuser/tmp/mc/BULGARIA__Micro - credentials model translated BG__Agritainment_Micro-Credential Model.BG.docx: nell indice i numeri di pagina vanno a capo (impostare tab destro dell indice al margine, ridurre corpo/indent delle voci) e pag.3 inizia troppo in basso (rimuovere paragrafi vuoti/interruzioni prima del titolo) | |||
* convertire in PDF con soffice, controllo visivo pdftoppm pagine 1-3, sostituire online ..._BG.pdf con backup e MD5 | |||
* 3|IT e EL indice|nei DOCX /home/claudeuser/tmp/mc/out/Agritainment_Micro-Credential-Model_IT.docx e _EL.docx l indice a pag.2 e rimasto in inglese (testo cache del campo TOC): tradurre le voci del TOC (w:sdt TOC / w:hyperlink) con lo stesso glossario usato per il corpo (aigw), rigenerare PDF, controllo visivo pag.2, sostituire online _IT.pdf e _EL.pdf (uploads/2025/09 e deliverables) con backup e MD5 | |||
* verificare i 4 link live con curl -I | |||
* 4|Drive e chiusura|caricare i PDF/DOCX definitivi RO/BG/IT/EL sulla cartella Drive del progetto Green Agritainment | |||
* chiudere commessa con consegne = 4 URL live | |||
* NON scrivere a Ester (lo fa Marco) | |||
=== posta-isicnv-followup-0109 === | |||
''Aggiornato 2026-09-01 13:13 UTC'' — dominio: crm | |||
; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche) | |||
; Vincoli in vigore : | |||
* gate=umano: risposte a terzi a nome di Marco | |||
; Fatto (con prova) : | |||
* elenco in sovra/posta_isicnv_20260901.txt | |||
; Prossimo passo : | |||
* 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558) | |||
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM | |||
* 3|Alejandro Banda ES|28/08 chiede certificacion mesmerismo y fascinacion (1a0495cbddd32504): lead ES per Salsina | |||
* 4|Ordine 2456 fallito|27/08 Ipnoanalgesia 79 EUR (1a042262c93b78e7), riuscito 2455 Nunziana Dibenedetto: verificare se 2456 e la stessa persona e se serve recupero | |||
=== corso-analgesia === | |||
''Aggiornato 2026-09-01 13:08 UTC'' — dominio: - | |||
; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare | |||
; Vincoli in vigore : | |||
* Modello di consegna dei monografici = Google Site pubblico (sites.google.com/view/corso-ipnosi-per-dormire|peso|fumo). Nessun Google Site analgesia esiste. Il materiale analgesia della scuola sta nel sito riservato Advanced (sites.google.com/view/advanced-level-master-di-ii-li/analgesia/materiale e /registraz) leggibile solo con browser loggato: profilo /home/claudeuser/.config/chrome-jules risulta Signed out -> serve login di Marco via VNC (porta 6080). yt-dlp bloccato (bot check) su VM e Hetzner: trascrizioni via YouTube captions API con token-yt-<canale> (quota giornaliera, reset 09:00 Roma) e Groq Whisper per media Drive. | |||
; Fatto (con prova) : | |||
* Scripts in /home/claudeuser/scripts/analgesia_{common,inventory,sites,transcribe,synth}.py, stato in /home/claudeuser/analgesia/. Inventario: 655 video YouTube candidati (IT 111, EN 281, FR 62), 160 gia' con trascrizione, 157 media Drive | |||
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run. | |||
* SVOLTA 31/08 sera: profilo Chrome jules su display :1 GIA loggato (Chrome vero via /home/claudeuser/launch_cdp.sh + CDP 127.0.0.1:9222). Sezione ANALGESIA sito Advanced letta: lezione Zoom 10.11.2025 = yt _8Vu4mrRNMg | |||
* lezione 04.04.2022 = yt lJ6838MgFLY | |||
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus) | |||
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi | |||
* quota YouTube riprova ogni 30 min, reset 09:00). noVNC: http://34.22.207.95:6081/vnc.html, regola firewall allow-novnc-6081 DA RIMUOVERE a fine lavori | |||
* 01/09: SITO-MANUALE ONLINE https://www.neurolinguistic.com/riservato-analgesia-k7f3x2/ (index, principi, indurre, catalessi, esempi con 22 spezzoni fini + 4 video Starter, metodi=53 metodi dal doc di Marco). Generatore /home/claudeuser/scripts/analgesia_manuale.py (cache LLM manuale_cache.json), spezzoni fini analgesia_spezzoni.py find/extract fine, ciclo asincrono analgesia_ciclo.sh in cron ogni 4h (8 spezzoni nuovi + rigenera + pubblica via cPanel FastComet overwrite=1). Corpus: doc_53_metodi, doc_analgesia_magnetica (allegati Marco), esercizi, slides. Starter site pubblico: sites.google.com/view/itapiattaformastarter, pagina analgesia-ed-ipnosi-rapida = yt 8RpS00D-iLY ELwE399kgnc d6zGPTokP2I ixz5QtfnwOg (in inventario, trascrizione dopo reset quota 09:00). Sites scan completo: 366 siti, 40 con analgesia (sites_scan.json). | |||
* 01/09 09:50: versione professionale online (7 pagine incl. Riferimenti: Erickson, Hilgard, Esdaile, Braid, Rainville...), filtro anti-meta (pulisci()), Scuola non tradizione, Google Doc di revisione aggiornato ad ogni ciclo: manuale_doc.json | |||
* 01/09 13:40: LOGIN ISI-CNV operativo (test e2e ok): CC route GET /login?key&sito&ritorno -> Google (client web esistente, redirect /oauth/callback?key= registrato) -> ramo login: in oauth-callback-v2 (path /oauth/callback | |||
* NB oauth-callback.json e ombra) -> userinfo -> allow.json -> token HMAC (segreto login/secret.txt) -> sito Cloud Run (app Flask gate, cookie isicnv_sess 30gg, file da bucket GCS). Sito riservato: https://ipnoanalgesia-424757051842.europe-west1.run.app (accesso: qualsiasi account Google | |||
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails] | |||
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico. | |||
* 01/09 15:10: login Google spostato su neurolinguistic.com (gate.php + .htaccess nella cartella riservato-analgesia-k7f3x2, segreto in /home/marcopar/.isicnv_login_secret via cPanel) | |||
* Cloud Run ipnoanalgesia e bucket cancellati (zero spazio/costi GCP). Test e2e OK. Per un nuovo sito su hosting PHP: copiare gate.php (cambiare SITO) + .htaccess (RewriteBase) + voce allow.json | |||
* per Cloud Run resta nuovo_sito_login.sh | |||
; Prossimo passo : | |||
* Dominio dedicato se Marco lo vuole | |||
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email | |||
=== mro-r103-r104 === | |||
''Aggiornato 2026-09-01 11:18 UTC'' — dominio: mro | |||
; Obiettivo : Scrivere in-place nel Doc MRO canonico (1Iyxrr5-uTRtRY52QTab1eyLlmzz6Frbc9fJbQn4HTNs) le regole R103 (chiusura verificata: END senza prova = END_NONVERIFICATO, riprendi_chat.py cron rilancia) e R104 (deliverables dichiarati in apertura con commessa.py apri --deliverables, prove a chiudi --consegne, verifica-tutte ogni 20 min, riga DELIVERABLES accanto a END); poi cronaca su wiki ops MRO_Storia e grafo | |||
; Vincoli in vigore : | |||
* gate=auto | |||
* mai creare copie del MRO | |||
; Fatto (con prova) : | |||
* codice installato e testato 01/09 | |||
; Prossimo passo : | |||
* 1|Doc|inserire R103 e R104 dopo R102 nella sezione regole, in-place (leggere il doc, trovare R102, inserire) | |||
* 2|wiki|MRO_Storia riga 01/09 | |||
* 3|LEGGIMI|sezione 5 COME SI CHIUDE: aggiungere riga DELIVERABLES e nota R104 | |||
=== r103-riprendi-chat-esaminatore === | |||
''Aggiornato 2026-09-01 10:17 UTC'' — dominio: sovra | |||
; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio | |||
; Vincoli in vigore : | |||
* gate=auto | |||
; Fatto (con prova) : | |||
* R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller | |||
; Prossimo passo : | |||
* 1|debug|curl aigw /v1/chat/completions con il prompt di riprendi_chat e stampare la risposta grezza (choices[0].message), controllare se il contenuto sta in reasoning_content o se aigw taglia per budget | |||
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON | |||
=== cc-backup-timeout === | |||
''Aggiornato 2026-09-01 07:19 UTC'' — dominio: infrastruttura | |||
; Obiettivo : cc_backup_failed dal 27/08 su gs://isicnv-command-center-routes: il tar scade sui prefissi grandi. Trovare il prefisso che sfora e spezzare il backup per prefisso invece di un tar unico. | |||
; Vincoli in vigore : | |||
* niente cancellazioni su GCS | |||
* il backup deve restare ripristinabile in un colpo solo | |||
* misurare prima con gsutil du -s per prefisso | |||
; Fatto (con prova) : | |||
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert | |||
; Prossimo passo : | |||
* gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti | |||
=== ricalco-guida-2siti === | |||
''Aggiornato 2026-08-31 14:45 UTC'' — dominio: pagine pillar | |||
; Obiettivo : Due bozze IT su ricalco e guida (nuova visione: si parte dalla relazione -> polivagale -> magnetismo): neurolinguistic.com/blog/ricalco-e-guida (PID 11780, noindex Yoast) e marcoparet.com ricalco-e-guida-pnl; fino a CONFORME+VISUAL_OK; Marco corregge, poi PAG-3 | |||
; Vincoli in vigore : | |||
* restano bozze finche Marco non dice approvo | |||
* pagine esistenti si preservano e si arricchiscono in coda | |||
; Fatto (con prova) : | |||
* 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU) | |||
* EVOLUZIONE PAG-2/3 PILLAR_SITO=neurolinguistic + fabbrica --forza-nuova e id al secondo | |||
* piano ricalco_guida_2siti_v2 in esecuzione (job ricalco_guida_2siti_v2_run) | |||
* fabbrica job 0831143638 (neuro) stesura fatta PID 11780 live con noindex, anelli in corso | |||
* passo 3 marcoparet parte dopo 20 min | |||
; Prossimo passo : | |||
* cd /home/claudeuser/scripts && python3 fabbrica.py stato 0831143638 | |||
* python3 job.py --status ricalco_guida_2siti_v2_run | |||
* poi controllo_visivo screenshot e consegna link | |||
* anelli neuro dedicati (agente_anima.py, agente_stupore.py, due_motori.py PID 11780) se la catena non li copre | |||
* link da art-40.htm e da 11304 rapport-magnetico verso la nuova (preservando il testo) | |||
=== ordine-2455-ipnoanalgesia === | |||
''Aggiornato 2026-08-31 14:20 UTC'' — dominio: marcoparet.net WooCommerce | |||
; Obiettivo : Consegnare a Nunziana Dibenedetto (ritadb7920@gmail.com, ordine #2455, 79 EUR Stripe py_3U8xmiBJplFqfgbM1yIQ2r5z pagato 27/08 09:31) l'accesso al Corso di Ipnoanalgesia (prodotto 2332) e rendere automatica la consegna dei corsi monografici | |||
; Vincoli in vigore : | |||
* Email al cliente = azione esterna a nome di Marco: solo dopo che Marco indica il contenuto del corso. Endpoint ops: POST https://marcoparet.net/wp-json/isicnv/v1/ops header x-isicnv-key ops-8f3a2d19c7e44b6b9a1d5e7f0c2b3a41, azioni: ping|sql(SELECT)|order|resend_email|send_course_link|set_purchase_note|set_status|test_mail|option. File: mu-plugins/isicnv-ops.php via cPanel Serverplan Fileman (hmarcopl, cms026.cmshigh.com:2083). | |||
; Fatto (con prova) : | |||
* Diagnosi completa: pagamento reale e unico (2456 = tentativo fallito 5 min dopo, nessun doppio addebito). Prodotto 2332 non virtuale, senza download, senza purchase note, nessuna pagina/sottodominio/video collegato: la consegna era manuale via notifica a ily1975/isicnv e non e' avvenuta. Cliente ha scritto 3 volte (27/08 form Contatti, 28/08 form marcoparet.com, 31/08 form prodotto) senza risposta. Anche ordine 2426 (Nardoni, 11/05, stesso corso) e' fermo in processing e l'email isicnv del 11/05 10:35 e' vuota (solo firma). Deploy isicnv-ops.php v1.1 con hook woocommerce_payment_complete: se tutti i prodotti hanno purchase note -> ordine Completato + email con il link. wp_mail testato e verificato su Gmail isicnv (msg 1a058304ffa6be2e). | |||
; Prossimo passo : | |||
* 1) Marco indica il contenuto del corso (candidati YouTube unlisted canale IT: JqwJ1JSajQ0 'adv ita analgesia', _8Vu4mrRNMg 'ANALGESIA ADVANCED LESSON', wU2uR9ukVR4 'ADVANCED LEVEL - ANALGESIA'). 2) curl ops set_purchase_note {product_id:2332, note:'<testo con link>'}. 3) curl ops send_course_link {id:2455, subject, html, complete:true} e verifica su Gmail. 4) Stesso per ordine 2426 (manuelanardoni3@gmail.com). 5) Compilare purchase note anche per 1264,1258,1283,2012 se venduti online. | |||
=== crisi-mesmerica-potatura === | |||
''Aggiornato 2026-08-29 17:24 UTC'' — dominio: hosting/pillar | |||
; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna | |||
; Vincoli in vigore : | |||
* prima di editare un pid: leggere bacheca interchat e annunciare | |||
* mai token lettera-R-piu-numero nei comandi MCP (rompe il proxy) | |||
; Fatto (con prova) : | |||
* Analisi 28/8: diff versioneA_6747 vs live. Persi: sezioni 'Cosa aspettarsi da una seduta', 'Le due forme del magnetismo', 'Il rapporto con la medicina' (con Ambito di pratica/Cosa non puo fare), hook apertura, ~7 citazioni dirette Paret (incl. Di Pisa). Salvati in /home/claudeuser/pillars/scorpori_crisi_mesmerica_6751.md | |||
* 28/8 sera: reintegro live su 6751 (hook, seduta, ambito/limiti, 3 citazioni Paret, ciclo in lista) verificato con curl, guardiano 232 grassetti 1/12.9, rilettore 0 rilievi. Pagina nuova 6818 le-due-forme-del-magnetismo PUBBLICATA con link incrociati. Sistema autonomo in scripts/: pill_lib.py, inventario_protetti.py, diff_perdita.py, potatura_sicura.py, architetto.py (con regola tema-cuore e snapshot), fabbrica_pagine.py + coda_temi.txt + cron lun 05:00 UTC (solo BOZZE). Test reale architetto: ha scorporato ciclo-delle-tre-crisi (bozza 6820), sezione ripristinata perche' tema-cuore, regola aggiunta. | |||
* 28/8 notte: DEFINITIVA su marcoparet.com/crisi-mesmerica/ (2965 parole, 221 strong bilanciati, rilettore 0 rilievi): fusi i filoni delle due chat dopo collisione, riapplicate regole di stile della chat brand perse, corretti 3 strong orfani, Arkeos ridotto a richiamo, FAQ asciugata, keyword a 8. Snapshot DEFINITIVA+inventario salvati. interchat.py operativo (memoria+wiki Bacheca_interchat+file): 2 messaggi inviati a chat brand | |||
* nota anche sul Google Doc strategia. Fabbrica: bozza EN mesmerism-training pid 6828 (draft, 0 rilievi) MA prodotta con memoria in 503 quindi senza materiale radicato | |||
* fabbrica patchata (retry x3 + marcatura senza-materiale) | |||
* 28/8 22:3x: Note finali riscritte (frasi duplicate, quarta ripetizione tre rami, rimando a articolo wiki inesistente sostituito con link reale stati-ipnosi-non-verbale). 2847 parole, strong 223/223, dedup 0 su 191 frasi. Nuovo controllo dedup_frasi.py agganciato alla fabbrica. Avvisata chat brand via interchat. | |||
* 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco | |||
* ha gia' corretto la coda del crisi-mesmerica. Bozza 6828 mesmerism-training riscritta a mano con dati GSC (cluster ~350 impressioni), quote EN verificate, dedup 0, title SEO: resta DRAFT. Nota infra: CC connector degradato (503 su payload lunghi: workaround chunk idempotenti via exec-direct) | |||
* hostgator ssh throttling temporaneo (risolto con loop retry su VM). | |||
* 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP | |||
* prompt di continuazione consegnato a Marco e salvato nel Project | |||
* puntatore in memoria CC | |||
* avviso in bacheca a tutte le chat. | |||
* 29/8 pom: bridge MCP diagnosticato (era GIA' stateless: il blocco era il client ChatGPT che in chat normale invoca solo search/fetch). Bridge portato a v3.1 via /self-update (hot, backup su GCS): aggiunti tool search e fetch formato ChatGPT, con timeout interni (memoria degradata non blocca piu' la risposta). Testato: tools/list ok, search restituisce il manuale, fetch legge la bacheca. La chat coordinatrice ChatGPT ora legge il sistema dal connettore anche col browser rotto | |||
* per l'esecuzione le serve la modalita' sviluppatore ChatGPT, e le e' stato inviato in bacheca il protocollo completo sessione/commessa/journal/handoff (richiesta di Marco). Manuale aggiornato. | |||
* 29/8 pom (2): bridge v3.2 con auto-sessione (se session manca, il bridge la apre da solo): rimosso il bootstrap circolare segnalato dalla chat ChatGPT: cc_vm_exec via MCP senza session TESTATO ok sulla VM. Backup v3.1 su GCS. Manuale aggiornato, protocollo e sblocco comunicati in bacheca. | |||
* 29/8 sera: SECONDO MOTORE. stratega.py (cron dom 05:30 UTC): opportunita' da GSC, proposte in coda, questionari grounding su Drive (creati: pnl-ricalco e catalessi). bq_sink_cruscotto.py (cron 07:35 UTC): cruscotto -> BigQuery pillar_intelligence.metrics_giornaliere, 38 righe caricate al primo giro, registro auto-esteso, alert in bacheca. arricchitore.py in catena fabbrica: pagella video/immagini/JSON-LD/liste + --schema per Article/FAQPage. Pagelle attuali: 6751 e 6828 senza video/immagini/schema. pill_lib.wp con retry. NOTA: ssh hostgator in ban temporaneo (connection refused): WP in pausa. | |||
* ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo | |||
* resta draft | |||
* 0 duplicati | |||
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile | |||
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato. | |||
* PROVA BRIDGE: da questa chat ChatGPT, cc_vm_exec chiamato senza sessione esplicita ha eseguito sulla VM e restituito stdout AUTOSESSIONE_CHATGPT_OK con rc 0 | |||
* il gate ha poi assegnato la sessione S20260829-mcpchatgpt-1ul2nt6, usata per commessa e journal. PROVA PILLAR: draft 6828 mesmerism-training grounded con Q1 definitivo, resta draft, 0 duplicati, grassetti EN tarati circa 1 ogni 12.7 parole senza alterare testo visibile | |||
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato. | |||
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica | |||
* Playwright desktop+mobile sul contenuto WordPress finale | |||
* per post pubblicati verifica anche permalink reale | |||
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso. | |||
; Provato ed escluso : | |||
* potatura ulteriore automatica: toglie sostanza | |||
* scorporo del ciclo delle tre crisi dalla pagina madre | |||
* pubblicazione automatica dalla fabbrica | |||
* pubblicazione automatica | |||
* edit paralleli sullo stesso pid | |||
; Prossimo passo : | |||
* Marco controlla il testo 6828 | |||
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale. | |||
=== video-proxy-pipeline === | |||
''Aggiornato 2026-08-28 22:52 UTC'' — dominio: video / infrastruttura | |||
; Obiettivo : Fase 1: proxy 1080p dei 40TB con audio+scene su cloud; Fase 2 editor web; Fase 3 conform 4K dagli originali; Fase 4 piattaforme; strato scene+significato; estrazione WeVideo | |||
; Vincoli in vigore : | |||
* mai cancellare file utente | |||
* solo file propri con originale esistente | |||
* PC di Marco ultima risorsa per lo spazio | |||
* backup e cartelle personali esclusi ma catalogati | |||
* nessuna ri-trascrizione se esiste gia in archivio storico | |||
* deploy solo con assert anti-regressione superato | |||
; Fatto (con prova) : | |||
* Agente Windows autoaggiornante v2.9 (C:/isicnv, Python embeddable+ffmpeg, icona desktop+menu Start) su https://wiki.marcoparet.com/agent/agent.py : rileva dischi da solo, QSV full-GPU 1080p 2Mbps con fallback, anti doppia istanza (bug 47 righe/24 clip risolto), progresso live e stime, catasto dischi in BQ disk_inventory, upload WebDAV Yandex con backlog e retry (creds bootstrap k_9vq2m8xk4t.json, copia in gs tokens-yandex-webdav.json). Yandex verificato: 3TB totali, 1.81 usati, 1.20 liberi, cartella isicnv_proxy creata. Tabelle BQ: video_proxy_tracking con disk_serial, disk_label_map, trascrizioni_index 9860 righe, disk_inventory. Dashboard https://wiki.marcoparet.com/agent/status.html cron 10min con dedup. Dischi: Maxtor 2019-09 2020-03 (2943 video, label=nome canonico) e INTENSO in corso 15/08. Mirror ffmpeg su wiki per problema TLS del PC. | |||
* v2.10 online: fix sdur (assert obbligatori sulle patch) + estensioni .mod/.tod/.3gp/.webm/.flv (431 MOD su INTENSO trovati dal catasto). Catasto INTENSO 54419 file validato. TROVATA pipeline trascrizione VIVA: /home/claudeuser/trascrivi_run.py (fonte rclone gdrive:Audio da Corsi dal vivo per nome disco, Groq whisper-large-v3, chiavi in isicnv/keys/groq_keys.json, resume automatico, flock). Intenso ha solo 164 trascrizioni perche i suoi mp3 (_AUDIO_ESTRATTI, 1501 file 11.6GB) non sono mai saliti tutti su Drive. Export chat Claude 853MB in Drive folder 1TpajgASPSO non serve piu. | |||
* Agente v3.0 PUBBLICATO su https://wiki.marcoparet.com/agent/agent.py (sha256 1ddb5c7d..., backup v2.10 in agent_v2.10_backup.py): per ogni proxy estrae audio mp3 16kHz mono 48k (fallback aac m4a) + miniature cambi scena (soglia 0.35, 360p, max 200, timestamp nel filename sNNNNN_tSEC.jpg + scenes.json | |||
* video statici 1 copertina a meta durata) | |||
* upload Yandex isicnv_audio/<label>/<rel>.mp3 e isicnv_scenes/<label>/<relbase>/ | |||
* backlog automatico su clip done senza media via media.csv | |||
* BQ status audio/scenes/audio_up/scene_up. Testato con 3 livelli assert. ATTIVA al prossimo riavvio agente. INTENSO verificato in lavorazione v2.10 (3 done ts 09:05 UTC 15/08) | |||
* trascrivi_yandex.py DEPLOYATO su VM (/home/claudeuser/trascrivi_yandex.py): fonte yandex:isicnv_audio (mp3+m4a), stesso albero output trascrizioni_isicnv/<label>/, meta con disk_label e yandex_path, flock dedicato, rotazione 13 chiavi Groq, ricompressione >24MB. Smoke test ok (0 audio: v3 non ancora riavviata). Cron 15 */6 * * * con log logs/trascrivi_yandex.log. Remote rclone yandex webdav configurato su VM | |||
* creds copiate in gs://isicnv-command-center-routes/tokens/tokens-yandex-webdav.json. Tabella BQ isicnv_workflows.video_scenes CREATA (clip_id, scene_n, t_sec, thumb_yandex_path, vision_labels, vision_desc, is_demo, vision_model). Mirror wiki cantiere di nuovo funzionante (saveRevision risolto) | |||
* v3.1 PUBBLICATA (sha 5bf72d28...): miniature ora estratte dall'ORIGINALE sul disco collegato a 720p (fallback proxy se assente), encoder BQ dichiara la fonte (scene0.35-orig/proxy). Testato: scena a t=3.0 dall'originale mentre il proxy era statico | |||
* fallback verificato. trascrivi_yandex v2: salva SEGMENTI TEMPORIZZATI whisper (start/end/testo) nel .json meta - base per allineamento scena-parlato e 'momento reazione' - e inserisce in BQ trascrizioni_index (batch 25, flush finale). Smoke test ok. | |||
* v3.1 VERIFICATA IN PRODUZIONE post-riavvio Marco: BQ mostra 2 audio (a16k-mono) + 2 scenes (scene0.35-orig, dagli ORIGINALI) + 5 done alle 09:31-09:42 UTC | |||
* upload media in coda dietro i proxy (fisiologico). v3.2 PUBBLICATA (sha 31165499...): SISTEMA PUSH - da idle a code vuote, ogni 10 min l'agente controlla wiki: versione nuova -> scarica, compile-check (se rotta resta sulla vecchia), sostituisce e si riavvia da solo con os.execv | |||
* inoltre legge control.json (force_restart_ts) per riavvio remoto senza cambio versione. Testato con 5 assert (update, no-op, protezione codice rotto, throttle, restart remoto). Da v3.2 in poi NESSUN riavvio manuale servira' piu': pubblicare = deployare. Riavvio remoto: scrivere force_restart_ts=epoch futuro in /var/www/wiki/agent/control.json su Hetzner | |||
* v3.3 PUBBLICATA (sha d434a9f7): HEARTBEAT ogni 5 min in BQ agent_heartbeat (versione, disco, clip corrente, attivita, code, uptime) + AUTOSTART con Windows (shortcut in shell:startup, si crea da solo al primo avvio). Dashboard status.html AGGIORNATA (backup gen_video_status_backup.py): banner vivo in cima con semaforo ATTIVO<=12min/SILENZIOSO<=40/SPENTO?, versione, clip in corso, code, contatori audio/scene estratti e caricati | |||
* fix VEXT con .mod/.tod/.3gp/.webm/.flv nel catasto. Verificata pubblica. MODELLO OPERATIVO COMPLETO: PC acceso col disco + tutto guidabile da remoto (push deploy, riavvio via control.json) + monitoraggio mobile su https://wiki.marcoparet.com/agent/status.html | |||
* v3.4 PUBBLICATA (sha 70b15e2a): FIX heartbeat (backslash Windows rompevano la SQL: solo 1 battito in 7h - ora sanificati e INSERT provato reale su BQ), FIX timeout upload Yandex (era 300s fisso -> 0 proxy INTENSO caricati per read timeout su file grandi | |||
* ora dinamico 600-3600s in base alla size), errori upload VISIBILI (contatore+ultimo errore nel heartbeat con colonne up_err/last_err via ALTER, riga upload_err in tracking alla prima occorrenza per clip), check aggiornamenti anche AL CONFINE TRA CLIP (senno mai idle su dischi da 450h e il push non scattava mai), GUARDIA disco staccato (stop pulito, clip error ritentate al ricollegamento - verificato: pending esclude solo status done). Dashboard aggiornata con riga rossa errori upload. NOTA: v3.3 in esecuzione si aggiorna solo da idle: lo swap dischi di Marco (chiudi-riapri contestuale) carica v3.4. | |||
* v3.4 CONFERMATA VIVA post-swap (battiti regolari con clip corrente, fix heartbeat funziona). v3.5 PUBBLICATA (sha f4da4f50) - PLUG-AND-PLAY COMPLETO: (1) set ENQ anti-duplicati sulle code (le ri-scansioni ogni 30s duplicavano gli item non ancora caricati), (2) rilascio chiave su file mancante cosi al ricollegamento il backlog riaccoda, (3) skipped &= drives: un disco che dava errore veniva ignorato per sempre fino al riavvio, ora l'estrazione cancella l'errore e il reinserimento riparte pulito. 4 assert passati. E' il PRIMO deploy push reale: v3.4 la carichera al confine della prossima clip. | |||
* v3.6 PUBBLICATA (sha 1aad55e7, supera v3.5 mai installata - l'agente v3.4 in esecuzione su Maxtor salta direttamente a v3.6 al confine clip): (1) LOG REMOTO: ogni riga log() bufferizzata e spedita a BQ isicnv_workflows.agent_log col battito ogni 5 min (sanificata, testata con INSERT reale), visibile a Claude via BQ e sulla dashboard (sezione 'Ultime righe di log') | |||
* (2) FILTRO FILE FANTASMA: scan_videos salta ._* (AppleDouble macOS, causavano ERRORE transcodifica su Maxtor) e file <64KB. Include tutte le migliorie v3.5 (dedup ENQ, rilascio chiavi, skipped auto-dimenticato = plug-and-play). Dashboard rigenerata OK 101. | |||
* PUSH VERIFICATO FUNZIONANTE: agente auto-aggiornato v3.4->v3.6 nella notte senza mani. Avanzamento 16/08: INTENSO 72/1526 (4.7%), Maxtor 119/2944 (4%), ~50 clip/notte. PROBLEMA APERTO: upload Yandex ancora in read-timeout anche con timeout 3600s (289 in coda, solo 4 proxy passati) - non e' questione di timeout ma di banda/WebDAV. v3.7 PUBBLICATA (sha in wiki): coda upload a PRIORITA by-size (audio e thumb passano davanti ai proxy -> trascrizioni e strato semantico fluiscono anche se i proxy arrancano) + METRICHE velocita (MB/s e durata su ogni successo/fallimento nel log remoto, e nell'ultimo errore heartbeat). Assert passati (priorita, dedup, rilascio). | |||
* STORAGE BOX ESISTENTE TROVATA (Marco aveva ragione): u649132.your-storagebox.de, BX11 1TB usata 7GB (backup CC/BQ, cron storagebox_backup.py). NIENTE UPGRADE ORA: 1TB copre mesi (proxy totali stimati 1.6TB a fine 40TB) | |||
* upgrade BX21 con un click quando serve. Setup: chiave dedicata sb_agent_ed25519 generata su VM e autorizzata sulla box (separata dalla chiave backup), cartella isicnv_proxy creata, test scp reale 30MB in 2s (15MB/s). Creds agente su https://wiki.marcoparet.com/agent/k_sb_7hq4x9m2vt.json + GCS tokens/tokens-storagebox-agent.json. v3.8 PUBBLICATA: PROXY -> Storage Box via scp Windows OpenSSH (mkdir -p remoto con cache, quoting spazi testato sui path RUSSIA TORINO, ACL icacls sulla chiave, timeout by-size, fallback Yandex se scp assente), audio+thumb restano su Yandex (trascrittore gia' li'). encoder BQ scp-sb vs webdav. | |||
* Chiarito tema snapshot/backup-del-backup: snapshot Hetzner sono copy-on-write - i proxy write-once costano ~0 byte negli snapshot | |||
* costo solo su modifiche/cancellazioni future | |||
* i proxy sono comunque rigenerabili dagli originali (dati derivati, non preziosi) | |||
* lo script VM spinge backup VERSO la box, non fa immagini della box. Dashboard: aggiunta riga 'Storage Box (proxy + backup): usati X su 1TB' con allarme rosso a 78% e nota upgrade BX21 (fix parsing df: shell ristretta box a volte ignora il pipe tail, ora si parsa l'ultima riga non-header). Verificata pubblica: 7.1G/1TB (1%). Agente ancora v3.7 su clip lunga: v3.8 attesa al prossimo confine clip. | |||
* MILESTONE: PRIME TRASCRIZIONI AUTOMATICHE end-to-end. 10 audio su Yandex (priorita v3.7 funziona), trascrivi_yandex manuale: ok=5 skip=5 err=0, lingue auto (IT/EN), 267 e 364 segmenti temporizzati, BQ trascrizioni_index +5. Il ciclo disco->proxy->audio->Yandex->Groq->testo+tempi->BQ e' VIVO. 24 miniature su Yandex. v3.8 in attesa del confine clip (clip 12/1437 gigante in corso, v3.7 batte regolare). Calcolo fattibilita consegnato: proxy 0.9GB/h video, scenari 1.7-4.5TB per 40TB, 3.5-10 mesi su 1 PC, box 1TB regge ~2 mesi poi BX21 | |||
* Marco valuta secondo PC. | |||
* v3.8 ATTIVA (terzo push riuscito, proxy->StorageBox da ora). v3.9 PUBBLICATA (sha 26e7b459): ANTI-STANDBY Windows via SetThreadExecutionState - il PC non va a riposo finche' l'agente e' aperto (schermo puo' spegnersi), elimina il rischio principale del PC-sempre-acceso. Strategia Marco confermata: priorita' INTENSO (~10TB recenti). Stima INTENSO: ~460h video 4K -> proxy ~410GB (sta nel 1TB attuale senza upgrade), audio ~10GB, ~27 giorni di lavoro a ritmo attuale. | |||
* CENSIMENTO DRIVEUPLOADER COMPLETATO (richiesta Marco): 45 cartelle radice, 190 cartelle totali, 2668 video = 3.19TB su Drive isicnv, con md5 e path, in BQ isicnv_workflows.drive_video_census (script VM census_driveuploader.py, token root bucket NON tokens/). Incrocio col catasto: solo 39 match sui 2 dischi finora catastati (Maxtor) -> il grosso dei video Drive viene da dischi non ancora analizzati, come previsto da Marco. Vista permanente v_drive_vs_dischi: ogni NUOVO disco catastato si confronta da solo (match nome+size, md5 disponibile per verifiche forti). USO: prima di caricare/processare un disco si vede subito cosa esiste gia in cloud | |||
* i 3.19TB su Drive sono anche processabili DALLA VM senza disco fisico (opzione futura per proxy/trascrizioni di materiale non piu su disco). | |||
* CENSIMENTO ESTESO (richieste Marco): (1) match RENAME-TOLERANT operativo: vista v_cloud_vs_dischi_bysize incrocia cloud e dischi per SOLA dimensione esatta -> gia trovati 12 file rinominati-ma-identici + 57 stesso nome, con appena 2 dischi catastati | |||
* md5 disponibile lato Drive per conferme forti. (2) Census esteso a WeVideo_Export (i media in arrivo da WeVideo avranno md5 gratis da Drive) e messo a CRON settimanale lun 05:30 -> i nuovi arrivi si censiscono da soli. (3) ATTENZIONE COORDINAMENTO: tabella drive_video_census riscritta da altro processo (probabile sessione Cowork WeVideo, schema path/top_folder/ext) -> il mio census con md5 spostato su drive_uploader_census (namespace separato, viste aggiornate). (4) Census Yandex IN CORSO (listing WebDAV lento, tabella placeholder pronta, si carica da solo al termine, log yandex_census.log). Quadro Marco: ~6-7TB gia in cloud (Drive 3.19TB + Yandex in conteggio + WeVideo in arrivo) -> materiale per primi test Fase 2 quasi pronto. | |||
* DIAGNOSI DEFINITIVA UPLOAD: linea casa Marco ~0.1MB/s effettivi (prova: 30MB totali su box in ore, audio 61MB in timeout a 605s, upload 94min morto in EOF). Marco aveva ragione: il collo E' l'upload - ma della linea, non del provider. PIVOT v4.0 PUBBLICATA (sha c7c2da5c): SIGNIFICATO SEPARATO DAI PIXEL - upload proxy DIFFERITO (config proxy_upload:false, riattivabile via config push), i proxy restano al sicuro in _proxy sui dischi (rigenerabili+spedibili in blocco quando la linea si risolve) | |||
* audio+miniature (briciole) continuano a fluire -> trascrizioni e strato semantico NON si fermano. CENSUS YANDEX COMPLETO: 1858 video = 1.88TB (24 stesso nome + 11 rinominati vs dischi). TOTALE CLOUD CONFERMATO: Drive 3.19TB + Yandex 1.88TB = 5.07TB + WeVideo in arrivo = i 6-7TB stimati da Marco. Da chiedere a Marco: PC in Wi-Fi o cavo? (fix banale possibile) | |||
* alternative: sessione-fibra periodica coi dischi, o secondo PC presso connessione veloce. | |||
* AVANZAMENTO FORTE: INTENSO 212/1526 (13.9%, raddoppiato - ora su file OSMO piccoli), Maxtor 119/2944, 102 audio + 141 thumb su Yandex, coda collassata a 23 (pivot v4.0 efficace). v4.1 PUBBLICATA (sha ad5740d5): SPEED-TEST AUTOMATICO ogni 2h (8MB reali verso la box) con AUTO-DECISIONE: >=0.35MB/s -> upload proxy si ATTIVA da solo (log 'LINEA SUFFICIENTE') | |||
* sotto soglia resta differito. Marco provera' il CAVO ethernet: nessun riavvio necessario, il test se ne accorge da solo entro 2h max (o al primo test post-push). Se anche col cavo <0.35: la linea e' il limite fisico -> piano sessione-fibra o secondo PC. | |||
* VPN esclusa da Marco (nessuna sul PC | |||
* sul telefono si - screenshot con VPN attiva, upload speedtest mai completato, download 75.47 vicino al PC = aria wifi buona). Sospettato principale: SCHEDA WI-FI DEL PC (radio vecchia/2.4GHz/driver). v4.2 PUBBLICATA (sha 002ab005, salta 4.0->4.2): DIAGNOSI WI-FI REMOTA - all'avvio del thread velocita l'agente logga 'netsh wlan show interfaces' (SSID, banda, segnale, velocita di aggancio, canale) + tachimetro 8MB ogni 2h con auto-attivazione proxy >=0.35MB/s. Le due misure insieme daranno il verdetto: aggancio radio basso = colpa scheda PC (fix: adattatore USB wifi/ethernet 10-15 euro o trasloco PC vicino al router) | |||
* aggancio alto ma upload basso = linea/contratto. | |||
* PRIMO RIAVVIO REMOTO RIUSCITO via control.json (agente rinato 15:27 post cambio-rete di Marco: da SFR_A570_EXT a rete principale). BUG SCOPERTO dal riavvio: sb_key resa sola-lettura da icacls al primo avvio -> ai riavvii open('w') = PermissionError -> sb_setup falliva -> Storage Box E TACHIMETRO spenti (per questo nessun Test velocita finora!). v4.3 PUBBLICATA (sha 4694a2e2): riusa la chiave esistente su PermissionError. Al prossimo confine clip: push v4.3 -> boot -> diagnosi Wi-Fi (verificare SSID senza _EXT) + tachimetro finalmente operativo + eventuale auto-attivazione proxy. Upload pre-cambio: 0.02MB/s (baseline peggiorata, ma misure a cavallo dello switch). | |||
* SVOLTA RETE: screenshot Marco 19/08 00:03 conferma Wi-Fi ora SFR_A570 5GHz 802.11ac, TX 780Mbps RX 585 (era _EXT 2.4GHz) - il ripetitore era il problema di rete, NordVPN rimossa, Windows riavviato. Tachimetro falliva per BUG MIO: il warning ssh 'Permanently added to known hosts' (primo collegamento) trattato come errore. v4.4 PUBBLICATA (sha f3d292d5): (1) FIX ssh/scp LogLevel=ERROR + errori valutati SOLO su returncode | |||
* (2) IDEA MARCO IMPLEMENTATA: esclusione cartelle palesemente estranee dopo la mappatura - EXCLUDE_PAT (film/serie/musica/call recorder/downloads/appdata/windows/temp Pc/backup pc/whatsapp/telegram/screenshot/pictures/onedrive), con riepilogo a log 'Saltati N video estranei (X GB)' | |||
* testata su casi reali (Il padrino ESCLUSO, PARET.MTS TENUTO). PRIVACY: stop upload registrazioni consulti privati di Ilaria. Riavvio remoto ordinato per applicare subito. | |||
* BUG PUSH TROVATO E CORRETTO (Marco chiedeva 'non puoi fare riavvio push?'): il riavvio da control.json veniva eseguito PRIMA del controllo versione -> l'agente si rilanciava sempre sulla STESSA versione (bloccato a v4.3 mentre la wiki serviva 4.4/4.5/4.6) | |||
* inoltre ogni errore di aggiornamento era ingoiato da un except silenzioso. v4.7 PUBBLICATA (sha in wiki): ordine invertito (PRIMA aggiorna, POI eventuale riavvio) + ogni fallimento di aggiornamento ora e' loggato con tipo eccezione | |||
* control.json azzerato. 2 assert (priorita aggiornamento su riavvio, errore visibile su PermissionError). NOTA: il .bat di avvio scarica sempre l'ultima versione -> un chiudi/riapri manuale porta comunque all'ultima. ERRORI TRANSCODIFICA MASSIVI su Maxtor (MTS e anche MP4 di altre cartelle, quindi NON e' il formato): sospetto forte DISCO PIENO | |||
* la v4.6/4.7 mostra il motivo ffmpeg reale e dirotta i proxy su C: sotto i 25GB liberi. | |||
* CAUSA ERRORI TRANSCODIFICA TROVATA (grazie a v4.7 in produzione + screenshot Marco): MAXTOR PIENO 0.0GB. Causa di design MIA: i proxy si scrivono in _proxy SULLO STESSO disco letto e non venivano mai cancellati (dovevano sparire dopo l'upload, ma gli upload erano fermi). Nessun dato di Marco toccato. Anche C: ha solo 23GB. Inoltre v4.7 ha mostrato il vero motivo del tachimetro fallito: la shell della Storage Box non digerisce le virgolette (scp: dest open: No such file or directory). v4.9 PUBBLICATA (sha b21b1525): (1) upload proxy via SFTP BATCH in una sola sessione - crea tutti i livelli con -mkdir (errori ignorati) e fa put, gestisce spazi nei path | |||
* PROVATO REALMENTE sulla box (cartella 'TEST SPAZI' creata + 8MB caricati) | |||
* (2) CLEANUP: proxy locale cancellato subito dopo upload riuscito -> il disco si libera da solo | |||
* (3) fallback proxy su C: gia con 15GB liberi. FUNZIONANTI in v4.7: esclusioni (891 video estranei saltati, 8.2GB), cartelle_dubbie (72 da confermare: videos/congres pavlina/ULTIMO GIORNO/OTHER 39, testimonial 8, recastly 5...), guardia spazio, allerte v4.8. Wi-Fi ora 866Mbps. | |||
* CAUSA ERRORI TRANSCODIFICA CONFERMATA dal log v4.7: 'spazio quasi esaurito (0.0GB sul disco)' - i proxy venivano scritti in _proxy SULLO STESSO disco letto e mai cancellati (dovevano esserlo dopo l'upload, ma gli upload erano fermi) -> Maxtor saturato. Nessun file di Marco toccato. Trovato anche il perche' upload/speedtest fallivano: la shell della Storage Box non digerisce mkdir con virgolette su path con spazi. v4.9+v5.0 PUBBLICATE (sha b21b1525 -> nuova): (1) upload via SFTP BATCH (una connessione: -mkdir per livello + put, spazi gestiti) - PROVATO SUL CAMPO dalla VM: cartella 'TEST SPAZI' creata e 8MB caricati | |||
* (2) PULIZIA proxy locale dopo upload riuscito (cleanup_after_upload) -> il disco si libera da solo | |||
* (3) REGOLA MARCO: in emergenza spazio la scala e' disco origine -> ALTRO DISCO ESTERNO collegato (>50GB, es. INTENSO) -> PC di Marco SOLO se tutti pieni, con allerta email | |||
* (4) sistema ALLERTE v4.8: agent_alerts BQ + email isicnv@gmail.com + flush log immediato su primo errore, 3/10/30 errori consecutivi, spazio esaurito, aggiornamento fallito, 5/25/100 upload falliti (anti-ripetizione 2h). Assert passati su tutto. Wi-Fi ora 866Mbps (5GHz). Saltati 891 video estranei (8.2GB) su Maxtor + 72 clip in 8 cartelle dubbie registrate. | |||
* INCIDENTE E RIPARAZIONE: mia sostituzione di codice in v4.9 aveva cancellato net_diag e speed_loop -> agente CRASH all'avvio (NameError, fermo ~40 min). v5.1 ripristino + ASSERT ANTI-REGRESSIONE ora in pipeline di deploy (AST: nessuna chiamata a funzione inesistente, blocca la pubblicazione). DECISIONI MARCO 19/08: (1) cartelle dubbie CONFERMATE TUTTE (72 su Maxtor: videos/congres pavlina, testimonial, recastly, ANEB/DORA, enneagramma PNL3, GOOGLE DRIVE, fotosequenze HANA) - si lavorano tutte, restano solo tracciate in BQ cartelle_dubbie | |||
* (2) REGOLA DI CANCELLAZIONE codificata: l'agente puo' rimuovere SOLO file creati da se' (proxy/audio/thumb) e SOLO se l'originale sul disco esiste ancora (sono rigenerabili=temporanei) | |||
* mai file utente, mai i registri manifest/uploaded/media.csv | |||
* (3) PRIORITA SPAZIO: disco origine -> altro disco esterno (INTENSO) -> PC di Marco solo ULTIMA RISORSA con email. v5.2 PUBBLICATA (sha 1a579beb) con libera_spazio() che pulisce Maxtor automaticamente sotto i 25GB liberi (target 45GB), assert stringenti superati (file con originale mancante NON toccato, registri intatti). | |||
* SESSIONE 28/08 - agente video da v3.9 a v5.9 (23 versioni pubblicate, tutte via push). RETE RISOLTA: da 0.1 MB/s (ripetitore SFR_A570_EXT 2.4GHz + NordVPN residua) a 5-6 MB/s su rete principale, poi trasferimento in via dell'Umanesimo (fibra Wind, WINDTRE-C003E8 5GHz 802.11ax 574Mbps, upload linea 168 Mbps): v5.5 con 4 UPLOAD PARALLELI + cifrario aes128-gcm -> ~15-20 MB/s aggregati. Riferimento VM->Box 21.6 MB/s. UPLOAD: passaggio da WebDAV Yandex (PUT lunghi che cadevano) a SFTP BATCH su Storage Box u649132 (crea i livelli con spazi in una sessione). Box: 325GB di proxy, 1TB totale, monitor su dashboard con soglia 78%. BUG STORICI CORRETTI: (1) push che riavviava senza aggiornare (ordine invertito in v4.7) | |||
* (2) v4.9 aveva cancellato net_diag/speed_loop -> crash: ora ASSERT ANTI-REGRESSIONE AST in pipeline di deploy (nessuna chiamata a funzione inesistente, blocca la pubblicazione) | |||
* (3) sb_key resa sola-lettura bloccava i riavvii | |||
* (4) percorsi >260 caratteri Windows -> prefisso \\?\\ (wp()) | |||
* (5) stderr ffmpeg buttato via -> ora il motivo reale e' nel log. REGOLE DI MARCO CODIFICATE: (a) cancellazione: solo file creati dall'agente e solo se l'originale esiste (libera_spazio, target 45GB, mai registri ne' file utente) | |||
* (b) priorita spazio: disco origine -> altro disco esterno -> PC solo ULTIMA RISORSA con email | |||
* (c) cartelle dubbie: si fanno TUTTE, restano tracciate | |||
* (d) backup/personali esclusi ma CATALOGATI (cartelle_escluse: disco, n file, GB, tipi). ALLERTE IMMEDIATE (v4.8): agent_alerts + email al primo errore, anti-ripetizione 2h. SCANSIONE OTTIMIZZATA (v5.8): scandir con stat gratuito + batch BQ 1500 -> 30.000 eml in 0.18s, catasto 40.000 file in 0.4s. Verificato su disco reale EXTERNAL_USB24: 1.590.200 file catalogati, backup esclusi (BackupPC-MAGGIO-2025: 1.305.148 file, 348GB, 370.997 .eml). SCOPERTA (intuizione Marco): ARCHIVIO STORICO 14.172 trascrizioni su 15 dischi in /home/claudeuser/trascrizioni_isicnv, molti MAI passati dal sistema (Elements2021 3465, Seagate Expansion Drive 2269, Seagate 2023 1269, Horota2024 992, TOSHIBA EXT2018 910) -> niente ri-trascrizione. v5.9: indice https://wiki.marcoparet.com/agent/trascritti.json (8373 nomi, esclusi <7 char per omonimie), l'agente salta l'audio se gia trascritto (status audio_skip) | |||
* sul disco attuale 398/2007 clip gia coperte. CENSIMENTI CLOUD: Drive driveuploader 2668 video/3.19TB (con md5) in drive_uploader_census | |||
* Yandex 1858/1.88TB in yandex_video_census | |||
* viste v_drive_vs_dischi, v_cloud_vs_dischi_bysize (match rename-tolerant per dimensione), v_cerca_file (ricerca su tutti i dischi). Solo-cloud: 6692 video = 5.2TB. Cron census settimanale lun 05:30 (include WeVideo_Export). STATO: INTENSO e Maxtor COMPLETATI (2600 e 1857 proxy, 18 danneggiati totali su ~4500 = 0.4%), EXTERNAL_USB24 in corso, 13.735 trascrizioni indicizzate in BQ, coda upload a zero. | |||
; Provato ed escluso : | |||
* Storage Box Hetzner rimandato: nessun token API esiste e Marco preferisce Yandex gia pagato | |||
* GCS e volumi cloud bocciati per costo | |||
* la lentezza 1.1x della v2.4 era DOPPIA ISTANZA, non hardware | |||
; Prossimo passo : | |||
* 1) monitorare EXTERNAL_USB24 (2007 video, 401 in lavorazione) e righe 'audio saltato' 2) dischi storici gia trascritti (Elements2021, Seagate 2023, Horota2024, TOSHIBA EXT2018): serve SOLO il proxy -> molto piu veloci 3) rigenerare indice trascritti dopo nuove trascrizioni: python3 /home/claudeuser/gen_indice_trascritti.py + scp su wiki 4) valutare proxy leggeri dei 6692 video solo-cloud direttamente da VM (Marco: si, senza ri-trascrivere) 5) CANTIERE SUCCESSIVO: vision su miniature -> video_scenes (demo detection, due demo per video, momento-reazione via segmenti whisper) 6) upgrade box a BX21 solo quando la dashboard segna rosso (78% di 1TB) | |||
=== paret-ai-pillar === | |||
''Aggiornato 2026-08-27 12:01 UTC'' — dominio: hosting/siti + ai-search | |||
; Obiettivo : Costruire i pillar neurolinguistic.com per Ipnosi non verbale, Ipnosi con lo sguardo e Mesmerismus preservando SEO storico e preparando evidence graph | |||
; Vincoli in vigore : | |||
* MASTER v7.12 | |||
* testo pubblico mai da Claude: generazione via GLM e review | |||
* nessuna nuova pagina se esiste URL valido | |||
* snapshot/backup prima di ogni write | |||
* pubblicazione solo dopo gate previsto dal cantiere benchmark-visibilita-ai | |||
; Fatto (con prova) : | |||
* Letto MASTER v7.12 e Piano Drive 14QM2efTg8YQwCp4LcF-gKfk5kMR1u0BzpX8IsbI8TFo. Ripreso cantiere benchmark-visibilita-ai. Audit live read-only: PID197 /ipnosi-non-verbale-tecnica-ed-esempi/ 200 self-canonical e storico dal 2013 | |||
* PID3576 /guardarmi-negli-occhi/ 200 self-canonical | |||
* PID1848 /il-potere-dellocchio/ 200 self-canonical | |||
* /mesmerismus/ 200 self-canonical ma contenuto molto sottile. Vecchio cluster attribuisce autorita 8218 a PID197, 5308 a PID3576, 3923 a PID1848. RAIDA e snapshot pre-build letti. | |||
* 27/08: canone+fonti raccolti nel registro bibliotecario (23 fatti STABILITI: brand da referenze_canon BQ, storici da Oracolo 8085 con ark Gallica). Verifica dei 4 pillar live: NESSUN drift storico reale, 2 falsi positivi bibliografici su 4 pagine. Registro+brief in gs://isicnv-command-center-routes/docs/bibliotecario/. NB: i pillar vivono sotto /blog/ (neurolinguistic.com/<slug>/ ora 404, WP installato in /blog/) | |||
; Provato ed escluso : | |||
* Nessuna modifica live eseguita. Non riutilizzare alla cieca potenzia_pillar.py: contiene pipeline precedente e testo con claim senza fonte. | |||
* cancello di verifica su HTML renderizzato: rumore per costruzione, va sul corpo markdown | |||
; Prossimo passo : | |||
* generare bozze GLM incollando brief_pillar.txt nel prompt | |||
* bibliotecario --verifica come cancello dopo bonifica e su ogni traduzione | |||
* agganciare ark Gallica del Rapport 1784 per chiudere il fatto commissari | |||
=== modalita-contabilita === | === modalita-contabilita === | ||
''Aggiornato 2026-08-25 22:42 UTC'' — dominio: finance | ''Aggiornato 2026-08-25 22:42 UTC'' — dominio: finance | ||
| Riga 192: | Riga 1 060: | ||
* Consegnare ai partner la lista per canale delle tracce mancanti | * Consegnare ai partner la lista per canale delle tracce mancanti | ||
* per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl | * per BALKAN ACADEMY (Modulo 5 + webinar) basta un consenso OAuth di Marco con balcanicacademy@gmail.com per sbloccare youtube.force-ssl | ||
=== harness-standard === | === harness-standard === | ||
| Riga 690: | Riga 1 477: | ||
; Prossimo passo : | ; Prossimo passo : | ||
* 1) mining fonetico varianti Arkeos e altri marchi dai 9860 file trascrizione per completare varianti_asr 2) agent_gstt.py legge glossario+boost da export del lessico invece che hardcoded, con test feed_test.py prima del deploy 3) post-benchmark: query expansion Oracolo usa varianti_asr 4) giudice RAIDA verifica coerenza col lessico | * 1) mining fonetico varianti Arkeos e altri marchi dai 9860 file trascrizione per completare varianti_asr 2) agent_gstt.py legge glossario+boost da export del lessico invece che hardcoded, con test feed_test.py prima del deploy 3) post-benchmark: query expansion Oracolo usa varianti_asr 4) giudice RAIDA verifica coerenza col lessico | ||
=== migrazione-aigw === | === migrazione-aigw === | ||
| Riga 836: | Riga 1 602: | ||
== Chiusi == | == Chiusi == | ||
=== si1_proposer_target === | |||
''Aggiornato 2026-09-11 22:31 UTC'' — dominio: infrastruttura | |||
; Obiettivo : SI-1: il proposer deve vedere il file target prima di scrivere replace/patch | |||
; Fatto (con prova) : | |||
* 12/09: _ancora_al_target in proposer.py (EVOLUZIONE=SI-1-TARGET-CONTEXT): rilegge il file vero, chiede solo replace con find verbatim, 2 tentativi su 2 modelli, pending_reason con i tentativi se fallisce | |||
* prova sintetica 2/2 ANCORATA | |||
* memory_add risponde 200 (titoli con due punti e testi da 6000 char): il 400 di ieri non e riproducibile | |||
* scrittura wiki handoff: rc=0 | |||
; Prossimo passo : | |||
* osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending | |||
=== pnl3-reverse-nlp-wiki === | |||
''Aggiornato 2026-09-09 00:18 UTC'' — dominio: Wiki pubblica | |||
; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com | |||
; Vincoli in vigore : | |||
* usare wiki_new.py (WIKI-1), non edit.php diretto | |||
* PNL3 va aggiornata non ricreata (backup /home/claudeuser/pnl3_wiki/backup/PNL3_live_revid4642.wiki) | |||
* MANTENERE-ANTEPORRE-COLLEGARE-PRECISARE | |||
; Fatto (con prova) : | |||
* pacchetto scaricato in /home/claudeuser/pnl3_wiki/pkg | |||
* solo PNL3 esisteva live, 38 nuove | |||
* catena piano pnl3-cluster (driver.py + qa.py) lanciata come job catena_pnl3-cluster alle 23:01 UTC, ritmo ~2.5 min/pagina (wiki_new.py fa ricerca similarita ogni volta) | |||
* Template e Categoria gia online | |||
* CHIUSO 09/09: 39/39 online, QA PASS, storia PNL3 preservata, log Drive 1M6ciq4qflYPC9JerIU3kYitCnb4K4GJD | |||
; Provato ed escluso : | |||
* publish_pnl3_cluster.sh del pacchetto (edit.php locale: la wiki sta su Hetzner 91.99.116.65, si passa da wiki_new.py) | |||
; Prossimo passo : | |||
* niente | |||
=== microcredential-it-el-ro-online === | |||
''Aggiornato 2026-09-01 13:14 UTC'' — dominio: - | |||
; Obiettivo : SUPERATO: IT/EL/RO pubblicati 01/09 mattina; RO ufficiale e correzioni in microcredential-passaggi-finali-ester-0109 | |||
; Vincoli in vigore : | |||
* gate=auto | |||
* nessuna domanda a Marco | |||
* verifica live prima di dichiarare fatto | |||
* backup dei vecchi file | |||
; Fatto (con prova) : | |||
* BG online 31/08 | |||
* IT EL RO tradotti e convertiti in PDF (tmp/mc/out, 01/09 09:35) | |||
* IT verificato visivamente | |||
* pubblicati | |||
* verificato md5 con allegati Ester | |||
=== hermes-f3-matching === | |||
''Aggiornato 2026-08-27 12:00 UTC'' — dominio: hermes | |||
; Obiettivo : F3 matching engine friction x articoli -> proposte nel daily | |||
; Vincoli in vigore : | |||
* aigw con fallback qwen | |||
* load job non streaming | |||
* idempotente per giorno | |||
; Fatto (con prova) : | |||
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08) | |||
* cron 50 18 * * * | |||
* hermes_daily.py patchato con sezione Proposte (bak_props_*) | |||
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API | |||
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08) | |||
* cron 50 18 * * * | |||
* hermes_daily.py patchato con sezione Proposte (bak_props_*) | |||
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API | |||
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08) | |||
* cron 50 18 * * * | |||
* hermes_daily.py patchato con sezione Proposte (bak_props_*) | |||
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API | |||
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08) | |||
* cron 50 18 * * * | |||
* hermes_daily.py patchato con sezione Proposte (bak_props_*) | |||
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API | |||
* matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08) | |||
* cron 50 18 quotidiano | |||
* hermes_daily.py patchato con sezione Proposte (bak_props_*) | |||
* collaudo: mail 27/08 arrivata in inbox con 3 proposte, verificata via Gmail API | |||
; Provato ed escluso : | |||
* kimi-k3 aigw in 429 persistente | |||
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py) | |||
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk) | |||
* kimi-k3 aigw in 429 persistente | |||
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py) | |||
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk) | |||
* kimi-k3 aigw in 429 persistente | |||
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py) | |||
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk) | |||
* kimi-k3 aigw in 429 persistente | |||
* deepseek-v4-flash-free 400 bad request (nome modello da verificare in aigw.py) | |||
* exec-direct output troncato a ~4KB (usare dd+base64 a chunk) | |||
* kimi-k3 aigw 429 persistente | |||
* deepseek-v4-flash-free 400 (nome modello da verificare) | |||
* exec-direct tronca output a 4KB (dd+base64 a chunk) | |||
* CC 503 a ondate 26-27/08 | |||
; Prossimo passo : | |||
* fix scorer postcondition 76/100 (proposta T1 in hermes_proposals) | |||
* indagare 429/400 aigw | |||
* decisioni Marco su proposte via digest | |||
=== bibliotecario-fiducia === | |||
''Aggiornato 2026-08-26 22:34 UTC'' — dominio: pillar/wiki | |||
; Obiettivo : Bibliotecario a fiducia scalare per drift cifre nei pillar 10 lingue (arXiv 2608.12984) | |||
; Vincoli in vigore : | |||
* deterministico, zero modelli | |||
* generazione e bonifica restano passi separati | |||
; Fatto (con prova) : | |||
* bibliotecario.py installato in scripts/ e collaudato su VM (bozza errata=4 problemi, FR intercetta onze, corretta pulita) | |||
* ippocampo.py patch prerequisiti collaudata (255/3179 voci col bonus, grafo.json aggiornato) | |||
* riparatore.py log durata/esito attivo in logs/riparatore_esiti.jsonl | |||
; Provato ed escluso : | |||
* archi non persistiti nel grafo.json: il bonus va calcolato nel folding, non nel briefing | |||
; Prossimo passo : | |||
* usare il bibliotecario sul primo pillar reale: raccogliere asserzioni da Oracolo 8085+Gallica+Doc canonici e agganciare --verifica come cancello pre-pubblicazione | |||
=== bridge-exec-isolamento === | === bridge-exec-isolamento === | ||
''Aggiornato 2026-08-25 10:36 UTC'' — dominio: VM / infrastruttura | ''Aggiornato 2026-08-25 10:36 UTC'' — dominio: VM / infrastruttura | ||