Cantieri aperti: differenze tra le versioni
| [versione verificata] | [versione verificata] |
handoff automatico |
handoff automatico |
||
| Riga 7: | Riga 7: | ||
== Cantieri attivi == | == Cantieri attivi == | ||
=== audit_marcoparet_non_conformi === | |||
''Aggiornato 2026-09-16 22:21 UTC'' — dominio: - | |||
; Obiettivo : portare a standard le pagine non conformi su marcoparet.com E neurolinguistic.com (fuso il 17/09 con audit_neurolinguistic_non_conformi: id 197, 4300, 11818, 11780, 11804 e seguenti) | |||
; Vincoli in vigore : | |||
* mai riscrivere: arricchire | |||
* pubblicazione solo via pubblica_pillar.py --ok-marco | |||
; Fatto (con prova) : | |||
* 17/09 fusione dei due audit in uno (analisi cantieri) | |||
=== censimento-biblioteca === | === censimento-biblioteca === | ||
''Aggiornato 2026-09-16 22:10 UTC'' — dominio: biblioteca | ''Aggiornato 2026-09-16 22:10 UTC'' — dominio: biblioteca | ||
| Riga 90: | Riga 100: | ||
* RESTA (Cloud Run sheets-connector, serve deploy con gate_deploy.sh): 1) /session/open deve scrivere in chat_sessions_log.dettaglio JSON {scopo, pipeline_ids, chat} e in una tabella isicnv_workflows.session_pipeline (session_id, ts, scopo, pipeline_id) -> da cui si vede quali processi usano quali pipeline. 2) MCP ChatGPT: session id per chat (nonce per conversazione), non per giorno. 3) gate.sh: passare --cantiere/scopo a tracce.py log. 4) heartbeat: cron ogni 30 min che marca INTERROTTA in chat_journal le sessioni ATTIVA senza comandi da >60 min, cosi' Telegram/agente le riprende con last_next_action. 5) fix session_id spazzatura nelle righe GATE. || RIPRESA: bq query "SELECT * FROM `leafy-responder-483419-a4.isicnv_workflows.v_sessioni_stato` WHERE stato='INTERROTTA' ORDER BY last_cmd DESC LIMIT 20" | * RESTA (Cloud Run sheets-connector, serve deploy con gate_deploy.sh): 1) /session/open deve scrivere in chat_sessions_log.dettaglio JSON {scopo, pipeline_ids, chat} e in una tabella isicnv_workflows.session_pipeline (session_id, ts, scopo, pipeline_id) -> da cui si vede quali processi usano quali pipeline. 2) MCP ChatGPT: session id per chat (nonce per conversazione), non per giorno. 3) gate.sh: passare --cantiere/scopo a tracce.py log. 4) heartbeat: cron ogni 30 min che marca INTERROTTA in chat_journal le sessioni ATTIVA senza comandi da >60 min, cosi' Telegram/agente le riprende con last_next_action. 5) fix session_id spazzatura nelle righe GATE. || RIPRESA: bq query "SELECT * FROM `leafy-responder-483419-a4.isicnv_workflows.v_sessioni_stato` WHERE stato='INTERROTTA' ORDER BY last_cmd DESC LIMIT 20" | ||
* poi grep -n "chat_journal\|START" /home/claudeuser/cc_src/*.js 2>/dev/null | head | * poi grep -n "chat_journal\|START" /home/claudeuser/cc_src/*.js 2>/dev/null | head | ||
=== geo-loop === | === geo-loop === | ||
| Riga 189: | Riga 189: | ||
* 2) se si, scrivere un job che legge lo stato di indicizzazione delle ultime pagine e lo scrive in BigQuery | * 2) se si, scrivere un job che legge lo stato di indicizzazione delle ultime pagine e lo scrive in BigQuery | ||
* 3) solo dopo, la segnalazione automatica | * 3) solo dopo, la segnalazione automatica | ||
=== capoufficio_agente_risolve === | === capoufficio_agente_risolve === | ||
| Riga 440: | Riga 425: | ||
* se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE | * se compaiono [AVANZA]/[MARCO] al posto di [?], --stato DONE | ||
=== database-esercizi === | |||
=== database-esercizi === | |||
''Aggiornato 2026-09-07 08:29 UTC'' — dominio: biblioteca | ''Aggiornato 2026-09-07 08:29 UTC'' — dominio: biblioteca | ||
| Riga 522: | Riga 485: | ||
* Note di Marco su: tocco 7119, passi 7094, fascinare 7075, non verbale 7062. Titoli con formula status->disciplina->beneficio (63.13). Frase-cardine vera del libro nella pagina kairos. M48 link su 7116. | * Note di Marco su: tocco 7119, passi 7094, fascinare 7075, non verbale 7062. Titoli con formula status->disciplina->beneficio (63.13). Frase-cardine vera del libro nella pagina kairos. M48 link su 7116. | ||
=== | === corso-analgesia === | ||
''Aggiornato 2026-09- | ''Aggiornato 2026-09-01 13:08 UTC'' — dominio: - | ||
; Obiettivo : | ; Obiettivo : Manuale Ipnoanalgesia con Login Google su neurolinguistic.com + corso da consegnare | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * Modello di consegna dei monografici = Google Site pubblico (sites.google.com/view/corso-ipnosi-per-dormire|peso|fumo). Nessun Google Site analgesia esiste. Il materiale analgesia della scuola sta nel sito riservato Advanced (sites.google.com/view/advanced-level-master-di-ii-li/analgesia/materiale e /registraz) leggibile solo con browser loggato: profilo /home/claudeuser/.config/chrome-jules risulta Signed out -> serve login di Marco via VNC (porta 6080). yt-dlp bloccato (bot check) su VM e Hetzner: trascrizioni via YouTube captions API con token-yt-<canale> (quota giornaliera, reset 09:00 Roma) e Groq Whisper per media Drive. | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Scripts in /home/claudeuser/scripts/analgesia_{common,inventory,sites,transcribe,synth}.py, stato in /home/claudeuser/analgesia/. Inventario: 655 video YouTube candidati (IT 111, EN 281, FR 62), 160 gia' con trascrizione, 157 media Drive | ||
* BQ isicnv_youtube.analgesia_inventory. Catena piano corso-analgesia (5 passi) lanciata con job corso-analgesia_run. | |||
* SVOLTA 31/08 sera: profilo Chrome jules su display :1 GIA loggato (Chrome vero via /home/claudeuser/launch_cdp.sh + CDP 127.0.0.1:9222). Sezione ANALGESIA sito Advanced letta: lezione Zoom 10.11.2025 = yt _8Vu4mrRNMg | |||
* lezione 04.04.2022 = yt lJ6838MgFLY | |||
* docx Esercizi 1g2OwxaRcZUENoHhQ2CsduolD83zE-pSd (8k char nel corpus) | |||
* slides IT HYPNOTIC ANALGESIA 1EFAuDnge6JHczdjNSFs7ucrEmratzYOuCIEwexzGkjg (esportate). Piano corso-analgesia sostituito dal runner corso-analgesia_run2 (tranche 50 min + sintesi | |||
* quota YouTube riprova ogni 30 min, reset 09:00). noVNC: http://34.22.207.95:6081/vnc.html, regola firewall allow-novnc-6081 DA RIMUOVERE a fine lavori | |||
* 01/09: SITO-MANUALE ONLINE https://www.neurolinguistic.com/riservato-analgesia-k7f3x2/ (index, principi, indurre, catalessi, esempi con 22 spezzoni fini + 4 video Starter, metodi=53 metodi dal doc di Marco). Generatore /home/claudeuser/scripts/analgesia_manuale.py (cache LLM manuale_cache.json), spezzoni fini analgesia_spezzoni.py find/extract fine, ciclo asincrono analgesia_ciclo.sh in cron ogni 4h (8 spezzoni nuovi + rigenera + pubblica via cPanel FastComet overwrite=1). Corpus: doc_53_metodi, doc_analgesia_magnetica (allegati Marco), esercizi, slides. Starter site pubblico: sites.google.com/view/itapiattaformastarter, pagina analgesia-ed-ipnosi-rapida = yt 8RpS00D-iLY ELwE399kgnc d6zGPTokP2I ixz5QtfnwOg (in inventario, trascrizione dopo reset quota 09:00). Sites scan completo: 366 siti, 40 con analgesia (sites_scan.json). | |||
* 01/09 09:50: versione professionale online (7 pagine incl. Riferimenti: Erickson, Hilgard, Esdaile, Braid, Rainville...), filtro anti-meta (pulisci()), Scuola non tradizione, Google Doc di revisione aggiornato ad ogni ciclo: manuale_doc.json | |||
* 01/09 13:40: LOGIN ISI-CNV operativo (test e2e ok): CC route GET /login?key&sito&ritorno -> Google (client web esistente, redirect /oauth/callback?key= registrato) -> ramo login: in oauth-callback-v2 (path /oauth/callback | |||
* NB oauth-callback.json e ombra) -> userinfo -> allow.json -> token HMAC (segreto login/secret.txt) -> sito Cloud Run (app Flask gate, cookie isicnv_sess 30gg, file da bucket GCS). Sito riservato: https://ipnoanalgesia-424757051842.europe-west1.run.app (accesso: qualsiasi account Google | |||
* admin isicnv/marcoparet/ily1975). Nuovi siti: scripts/nuovo_sito_login.sh <sito> [all|list] [emails] | |||
* accessi: scripts/accessi.sh. IAP abbandonato (serve console). Google non offre API per creare client OAuth: si riusa il client unico. | |||
* 01/09 15:10: login Google spostato su neurolinguistic.com (gate.php + .htaccess nella cartella riservato-analgesia-k7f3x2, segreto in /home/marcopar/.isicnv_login_secret via cPanel) | |||
* Cloud Run ipnoanalgesia e bucket cancellati (zero spazio/costi GCP). Test e2e OK. Per un nuovo sito su hosting PHP: copiare gate.php (cambiare SITO) + .htaccess (RewriteBase) + voce allow.json | |||
* per Cloud Run resta nuovo_sito_login.sh | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * Dominio dedicato se Marco lo vuole | ||
* restringere accessi con accessi.sh ipnoanalgesia mode list + add email | |||
=== | === mro-r103-r104 === | ||
''Aggiornato 2026-09- | ''Aggiornato 2026-09-01 11:18 UTC'' — dominio: mro | ||
; Obiettivo : | ; Obiettivo : Scrivere in-place nel Doc MRO canonico (1Iyxrr5-uTRtRY52QTab1eyLlmzz6Frbc9fJbQn4HTNs) le regole R103 (chiusura verificata: END senza prova = END_NONVERIFICATO, riprendi_chat.py cron rilancia) e R104 (deliverables dichiarati in apertura con commessa.py apri --deliverables, prove a chiudi --consegne, verifica-tutte ogni 20 min, riga DELIVERABLES accanto a END); poi cronaca su wiki ops MRO_Storia e grafo | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=auto | ||
* mai creare copie del MRO | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * codice installato e testato 01/09 | ||
; Prossimo passo : | ; 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 | |||
=== | === video-proxy-pipeline === | ||
''Aggiornato 2026- | ''Aggiornato 2026-08-28 22:52 UTC'' — dominio: video / infrastruttura | ||
; Obiettivo : | ; Obiettivo : Fase 1: proxy 1080p dei 40TB con audio+scene su cloud; Fase 2 editor web; Fase 3 conform 4K dagli originali; Fase 4 piattaforme; strato scene+significato; estrazione WeVideo | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * mai cancellare file utente | ||
* | * solo file propri con originale esistente | ||
* backup | * PC di Marco ultima risorsa per lo spazio | ||
* | * backup e cartelle personali esclusi ma catalogati | ||
* nessuna ri-trascrizione se esiste gia in archivio storico | |||
* deploy solo con assert anti-regressione superato | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Agente Windows autoaggiornante v2.9 (C:/isicnv, Python embeddable+ffmpeg, icona desktop+menu Start) su https://wiki.marcoparet.com/agent/agent.py : rileva dischi da solo, QSV full-GPU 1080p 2Mbps con fallback, anti doppia istanza (bug 47 righe/24 clip risolto), progresso live e stime, catasto dischi in BQ disk_inventory, upload WebDAV Yandex con backlog e retry (creds bootstrap k_9vq2m8xk4t.json, copia in gs tokens-yandex-webdav.json). Yandex verificato: 3TB totali, 1.81 usati, 1.20 liberi, cartella isicnv_proxy creata. Tabelle BQ: video_proxy_tracking con disk_serial, disk_label_map, trascrizioni_index 9860 righe, disk_inventory. Dashboard https://wiki.marcoparet.com/agent/status.html cron 10min con dedup. Dischi: Maxtor 2019-09 2020-03 (2943 video, label=nome canonico) e INTENSO in corso 15/08. Mirror ffmpeg su wiki per problema TLS del PC. | ||
* 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 : | ; Prossimo passo : | ||
* 1 | * 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) | ||
=== | === cruscotto-marketing-quotidiano === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-25 11:25 UTC'' — dominio: ads/analytics/report | ||
; Obiettivo : | ; Obiettivo : Cruscotto marketing + email semaforo + consolidamento Google sotto informazionicorsi | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * Deterministico, no LLM nel calcolo quotidiano | ||
* | * riusare esistente: ARGO L0-L15 (scripts/argo/), cruscotto.py 07:15, rendiconto.py, avvisa.py digest | ||
* fonti gia fresche: ads_intelligence.campaigns_daily (25/08), allievi_pagamenti, change_event API v23 (per attivita agenzia, meglio di ads_events fermo a 03/2026) | |||
* email via MAIL_ENGINE o Gmail API isicnv, NO liste | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Censimento fonti 25/08: campaigns_daily FRESCO | ||
* | * allievi_pagamenti ok | ||
* | * transactions_multianno al 07/08 | ||
* | * ads_events (fogli VMK) FERMO 17/03 -> per attivita agenzia usare change_event API v23 appena riparata + confronto snapshot campagne/keywords giorno su giorno | ||
* | * monitor argo_ads con heal_cmd gia registrato in capoufficio | ||
* AUDIT GOOGLE 25/08 con token-informazionicorsi: (A) GA4 GIA TUTTO ACCESSIBILE da informazionicorsi — 3 account, 18 properties incluse www.marcoparet.com (367013035), neurolinguistic.com (399463272), marcoparet.net, pnl-nlp.org: il token informazionicorsi ha gia scope analytics FUNZIONANTE, token-analytics-marcoparet morto NON serve piu, Fase 4 SBLOCCATA senza Marco. (B) Ads: gia sotto informazionicorsi (CID 2803415869). (C) GSC: buchi — informazionicorsi e siteOwner solo di lordofanneville.com | |||
* marcoparet.com e mesmerismus.info = siteUnverifiedUser | |||
* neurolinguistic.com/marcoparet.net/pnl-nlp.org ASSENTI (vivono sotto marcoparet@gmail.com) | |||
* 25/08 pom: deployato /home/claudeuser/scripts/gsc_migrate.py + cron GSC_MIGRATE ogni 15min. Meccanismo: attende token-informazionicorsi-gsc.json su GCS tokens/ (OAuth scope siteverification+webmasters, link inviato a Marco, route testata 302 OK) | |||
* all arrivo mappa docroot via cPanel DomainInfo/domains_data (gator4224 isicnv, gator4063 isicnv, fastcomet marcopar), carica file google-site-verification nel docroot e verifica ownership FILE per https:// e https://www di marcoparet.com, mesmerismus.info, pnl-nlp.org, neurolinguistic.com, marcoparet.net | |||
* stato in state/gsc_migrate_state.json, TG a ogni progresso e a completamento. Idempotente, riprova ai giri successivi | |||
* 25/08 11:00 GSC MIGRATE COMPLETATO: informazionicorsi ora siteOwner di 9 properties GSC (marcoparet.com +www, mesmerismus.info +www, pnl-nlp.org +www, neurolinguistic.com +www, sc-domain lordofanneville). Verifica FILE via cPanel andata 8/8 al primo colpo | |||
* PUT sites per aggiunta esplicita a GSC. SCOPERTA: informazionicorsi era GIA owner verificato di ~40 domini INET_DOMAIN storici (pnlcoaching, neuro-linguistic, nlp4all, franzbardon, carljung, milton-erickson etc) — per quelli lo storico GSC e gia disponibile. Token: token-any-informazionicorsi-gsc.json (root bucket | |||
* ATTENZIONE callback salva come token-any-{account}.json non token-{account}.json) | |||
* 25/08 11:25 marcoparet.net COMPLETATO via Serverplan hmarcopl@cms026 (docroot /home2/hmarcopl/public_html, credenziali ritrovate in chat 09/04): verificato https e www, aggiunto a GSC. CONSOLIDAMENTO GSC 11/11 COMPLETO su tutti e 5 i domini target | |||
; Provato ed escluso : | |||
* form_db_all/leads_journey/yt analytics_daily hanno dato 500 su MAX(colonna): colonne da mappare con INFORMATION_SCHEMA, tabelle esistono | |||
* GA4: nessun token analytics in GCS tokens/ -> token-analytics-marcoparet MORTO, serve ri-auth manuale Marco (unico punto che richiede lui) | |||
* NON ricostruire ads_events da fogli VMK | |||
* Ri-auth token-analytics-marcoparet: inutile, si usa informazionicorsi | |||
* DNS TXT GoDaddy: NS di tutti e 5 i domini NON GoDaddy (hostgator/fcomet/cmshigh) | |||
* marcoparet.net: se docroot non su gator4224 (probabile Serverplan cms026, username cPanel ignoto) restera SKIP -> servira username Serverplan o delega manuale | |||
* marcoparet.net: Serverplan, username cPanel ignoto -> unico rimasto sotto marcoparet@gmail | |||
* fallback delega manuale o username da Marco | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * FASE 1 cruscotto: colonne leads/YT via INFORMATION_SCHEMA, tabella marketing.cruscotto_daily con delta 30gg e YoY | ||
=== | === compressore-contesto === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-25 09:34 UTC'' — dominio: VM / infrastruttura | ||
; Obiettivo : | ; Obiettivo : Compressione contesto home-made (ispirata Headroom): solo cio che serve a ISI-CNV | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * zero dipendenze esterne | ||
* mai comprimere pipeline Biblioteca/citazioni | |||
* originale sempre recuperabile (CCR) | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Creato /home/claudeuser/scripts/compressore.py (comprimi_json TSV, comprimi_log con conservazione errori, deposita CCR su GCS ccr/). Benchmark: JSON sintetico -39.5%, BQ reale domains_audit -55.3%, log -85.2%. Integrato in sblocco.py riga 39 (backup .bak_20260825, sintassi OK) | ||
; Provato ed escluso : | |||
* headroom-ai upstream come dipendenza: su nostro JSON default dava +10% overhead | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * Allineamento prefissi per Concilio dei Lettori (testo condiviso prima, persona dopo, per cache DeepSeek) + valutare comprimi_json dentro route /bq/query come parametro opzionale compress=1 | ||
=== | === pnl-nlp-download === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-22 14:04 UTC'' — dominio: Hosting / siti | ||
; Obiettivo : | ; Obiettivo : pnl-nlp.org completo: struttura originale, gate email, archivio funzionante | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * NON spostare il dominio | ||
* | * NON chiedere credenziali a Marco (R2: memoria+Log Gerarchico) | ||
* nlp4all.org resta su Google Sites | |||
* collaudo finale Playwright R88: il browser deve ricevere davvero il file | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Credenziali gator4063 recuperate e salvate in memoria CC (kind=credential, token cPanel JJ7LP3RN6YLQGOHJ6EABS9HOAS32YTJM) | ||
* | * docroot pnl-nlp.org = /home2/isicnv/public_html (unico dominio account, home /home2/isicnv) | ||
* | * SSH porta 2222 con password RIFIUTA (rc=5) -> si lavora via API cPanel che funziona | ||
* | * dn/download.php letto: SELECT file FROM downloads_item WHERE id=N poi cerca /dn/downloads/<file> con fallback <id>.<ext>, se non trova mostra la pagina - Download temporaneamente non disponibile - | ||
* | * DB isicnv_dn utente isicnv_g63 pass 2&ynT(cq7^zH | ||
* | * CATALOGO REALE = 741 item (non 49), 416 con titolo in downloads_item_lang, contatori download storici presenti | ||
* | * la colonna file e vuota per quasi tutti: i percorsi veri stanno in file_external (366 item) come URL assoluti verso programmazioneneurolinguistica.com, pnl-nlp.org/download, pnl-nlp.org/corsi, neurolinguistic.com, fascinazione.com, club-positif.com | ||
* | * dn.zip 22MB estratto in /dn/_archivio (3963 file) | ||
* | * indice ricorsivo di tutti i file scaricabili del sito in /dn/_indice.json (617 nomi) | ||
* | * catalogo completo in /dn/_catalogo3.json e copia locale /home/claude/cat3.json | ||
* | * TOP download storici: Manuale Autoipnosi 10575, Small Post on Modeling Dilts-Grinder 9616, Tecniche Varie PNL e Ipnosi 9435, GUIDA FLASH ALL IPNOSI 7735, Autoipnosi Pratica 5530, Dinamiche di Relazione 4257, Tecniche Segrete 4063, movimenti oculari 3003, BROCHURE COMPLETA 2911, Ipnosi Clinica 2730, MESMERISMUS 2459 | ||
* | * su disco ci sono 148 file in /download e 187 in /corsi (Braid_Neurohypnology.pdf 13MB, Mind_Studio kit 15MB, brochure, Mesmerismus, Heilmagnetismus) | ||
* ESEGUITO E COLLAUDATO 22/08: sito rifatto responsive (index.html + dn/index.html, backup originale in index.pre-restyle.html), testo EN originale invariato, 536 documenti pubblicati con ricerca live per parola chiave, ordinati per popolarita storica | |||
* | * archivio ricostruito con 2 fonti: 39 file riparati (32 da file locali del sito + dn.zip estratto in /dn/_archivio con 3963 file, 7 scaricati da domini terzi trans4mind/columbia/queensu) depositati in /dn/downloads/<id>.<ext> cosi download.php funziona senza modifiche, piu 497 file reali gia sul server indicizzati da /dn/_indice.json | ||
* | * BUG CORRETTO: gli URL relativi in file_external perdevano lo slash (. invece di ./.ltrim) | ||
* COLLAUDO PLAYWRIGHT R88 SUPERATO: home 200, 536 card, viewport+meta description presenti, 0 immagini rotte, 0 richieste fallite, nessun overflow mobile, 9 link ai siti principali, e su 10 download testati 9 hanno consegnato un FILE VERO verificato per magic bytes (PDF/ZIP/DOC), tra cui Mesmerismus_Slides2012.pdf 34MB, PNL3 prima parte 1.4MB, brochure 51.zip 4MB | |||
* | * script temporanei _dumper*.php _fix.php _build.php neutralizzati (404) | ||
* screenshot https://marcoparet.com/preview-eval/PNL_desktop.jpg e PNL_mobile.jpg | |||
* | * GATE EMAIL STILE SCRIBD ATTIVO 22/08. Verifica massiva dei 536 link: 99 rotti esclusi. Catalogo pubblico /dn/_catalogo_pub.json con 429 documenti verificati per magic bytes, con slug leggibili. doc.php = scheda documento con anteprima sfumata (.preview.locked) + form email con consenso GDPR + predisposizione Google Sign-In (si attiva creando /home2/isicnv/public_html/dn/.google_client_id con il client id | ||
* se assente il bottone e nascosto). dl.php = serve il file SOLO a chi si e registrato (altrimenti 302 al gate) e logga ogni download. Tabella MySQL dn_leads in isicnv_dn: email, nome, fonte (form/google/download), doc, doc_titolo, lingua, consenso, ip, user_agent, referer, creato, sync_bq. Home rigenerata: i bottoni puntano a doc.php, nessun link diretto ai file. COLLAUDO R88 SUPERATO: dl.php senza cookie 302 al gate | |||
* POST form 302 con ok=1 e cookie dn_access 180gg | |||
* pagina sbloccata mostra il bottone | |||
* download reale 3.667.704 byte application/zip | |||
* dn_leads registra form + download con titolo documento. | |||
* COMPLETATO 22/08 (4 punti su 5 in autonomia). STRUTTURA ORIGINALE RIPRISTINATA: / = introduzione (nessun download, 0 card, CTA verso l area), /dn/ = area download con 429 documenti. ATTENZIONE: /dn/ serve index.php (ha precedenza su index.html) - dopo ogni rebuild copiare index.html su index.php | |||
* l app vecchia e salvata come /dn/index.legacy.php. ANTEPRIME: 140 thumbnail JPEG prima pagina + estratti testuali generati sulla VM con poppler (pdftotext/pdftoppm, assenti su gator4063) e caricati in /dn/thumbs via upload_files multipart | |||
* script /home/claudeuser/scripts/pnl_all.py thumbs. LEAD IN BIGQUERY: tabella isicnv_contacts.dn_leads_pnl, endpoint /dn/_export.php (chiave isicnv-dump-8f3a) legge i lead con sync_bq=0 e li marca via ack | |||
* CRON ATTIVO sulla VM ogni 6 ore (17 */6) pnl_all.py leads | |||
* 4 lead gia sincronizzati. PRIVACY POLICY: https://www.pnl-nlp.org/privacy.html (GDPR: titolare Universite Europeenne LLP OC348224, dati raccolti, base giuridica consenso art.6.1.a, conservazione 36 mesi, diritti, cookie tecnico dn_access 180gg) linkata dalla checkbox di consenso in doc.php. CONTENUTI RIGENERATI: 14 documenti creati dai titoli-keyword mancanti via AI Gateway (deepseek-chat) in /dn/generated/, lingua dedotta dal titolo (IT/FR/EN), 1100-1500 parole, aggiunti al catalogo | |||
* script /home/claudeuser/scripts/pnl_gen.py con LIM=N, la chiave AIGW e in /tmp/pillars/aigw_key.txt e va passata come Authorization Bearer + header X-Processo:1 (senza da 401). COLLAUDO: home 200 senza card, /dn/ 200 con 429 card e 140 anteprime, gate POST 302, download reale 3.667.704 byte firma PK, documento generato 200, thumbnail 200, BigQuery 4 lead. | |||
; Provato ed escluso : | ; Provato ed escluso : | ||
* | * NON usare i 25 PDF Wayback come fonte primaria: i file veri sono sul server | ||
* | * NON fidarsi di download.php 200 = successo (R88) | ||
* | * i primi 46 -recuperi- Wayback erano pagine HTML travestite: verificare sempre i magic bytes | ||
* | * catalogo DB 741 item e in gran parte residuo/spam: 370 senza alcun URL, molti url sono titoli o testo pubblicitario | ||
* | * NON ricostruire da Wayback quando i file sono sul server | ||
* Google Sign-In non attivabile in autonomia: serve autorizzare origine https://www.pnl-nlp.org in Google Cloud Console. pdftotext/pdftoppm NON presenti su gator4063: estratti e anteprime PDF vanno generati sulla VM e caricati. | |||
* Google Sign-In: il codice e completo in doc.php e si attiva da solo creando /home2/isicnv/public_html/dn/.google_client_id con dentro il client id. Richiede pero di autorizzare l origine https://www.pnl-nlp.org come JavaScript origin nel client OAuth in Google Cloud Console: NON esiste API pubblica per farlo, e l unico passaggio che richiede un click umano. | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * 1) rilanciare pnl_gen.py con LIM piu alto per gli altri titoli-keyword mancanti (ne restano ~300) 2) rilanciare pnl_all.py thumbs per i PDF oltre i primi 140 3) creare .google_client_id dopo l autorizzazione dell origine 4) applicare lo stesso schema (gate + catalogo + privacy) agli altri siti vecchi | ||
=== | === oracolo-reindex === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-22 08:51 UTC'' — dominio: oracolo | ||
; Obiettivo : | ; Obiettivo : Reindicizzare la coda Biblioteca, ingerire il Traite dOr, riparare pipeline oracolo | ||
; | ; Fatto (con prova) : | ||
* | * DIAGNOSI del fallimento del task programmato ChatGPT Archive Reindex: lerrore --dangerously-skip-permissions cannot be used with root/sudo NON e SSH ne Hetzner, e un messaggio della CLI Claude Code. Lo strumento Command Center VM passa da /vm/task che gira la stringa alla CLI claude come root, che rifiuta il flag ed esce. Stesso bug documentato il 07/08 | ||
* Flag deep_archive_new.flag fermo dal 19-21 luglio con 27 documenti mai reindicizzati | |||
* VM in fetch failed: recuperata con la sequenza documentata status/reset/90s | |||
* Reindex lanciato con job.py id reindex_oracle, flock su Hetzner | |||
* Traite dOr trascritto e INSERITO in biblioteca.corpus doc_id DEEP_4616b9112532634b71f1, 13.363 caratteri, lingua fr, tier extended, verificato con query BQ. Flag ora a 28 righe | |||
* | * BUG /vm/task RISOLTO alla radice. La route statica invoca claude --dangerously-skip-permissions -p COMANDO | ||
* la CLI rifiuta il flag da root. Installato wrapper /usr/local/bin/claude che riconosce quello schema ed esegue con bash, e stampa nel log cosa e successo e cosa usare per i job lunghi. CLI vera spostata in claude.real. VERIFICATO: task di prova ha creato davvero /tmp/fix_test.txt | |||
* | * Reindex 1 completato in 20 minuti (job reindex_oracle DONE rc=0) | ||
* | * SCOPERTA RACE CONDITION: il documento inserito DURANTE il reindex e stato svuotato dal flag senza essere indicizzato. Verificato con ricerca BM25 su Hetzner: Fresse-Louis non trovato. Ri-flaggato e rilanciato job reindex_traite | ||
* | * SCOPERTO limite ~100KB del body di /vm/exec-direct (default Express), fallimento muto con ok:false e stderr vuoto | ||
* AUDIT RETRIEVAL vs checklist 7 tecniche stato dellarte: BM25 v3 OK con query expansion multilingue DeepSeek + boost wiki terms | |||
* | * dense e5 OK peso 1.6 | ||
* fusione RRF k=60 OK | |||
* | * cross-encoder BGE-reranker-v2-m3 OK con retry adattivo se best<0.30 | ||
* diversificazione per famiglia presente nel server (parametro diversifica, bm25_http_server.py riga 193) ma agent_kimi NON la richiede: rischio top-k ridondante dalla stessa opera | |||
* | * nessuna strumentazione latenze per stadio | ||
* 22/08/2026 IMMAGINI RISOLTE: il canale giusto NON e' exec-direct ne' URL firmati, ma POST /gcs/public-upload dal container Claude. Collaudo: JPEG 2.127.271 byte in una chiamata, md5 identico dopo download pubblico. Vedi learning_1787387382962_bq9g7v | |||
* 22/08/2026 Route /gcs-upload-url RIMOSSA (backup in backups/routes/): richiedeva iam.serviceAccounts.signBlob che il SA Cloud Run non ha e la VM non puo' concedersi. Superata da /gcs/public-upload, che non firma nulla | |||
* | * 22/08/2026 Reindex portato da SETTIMANALE (lun 03:40) a GIORNALIERO 03:40 con flock: la coda restava ferma fino a 7 giorni. Prima esecuzione reale della catena cron collaudata oggi | ||
* | ; Provato ed escluso : | ||
* | * Trasferire le foto alla VM per OCR tesseract: /vm/exec-direct rifiuta payload sopra ~100KB e fallisce IN SILENZIO (ok:false, stderr vuoto). Falliti 3 tentativi: base64 intero, compresso, a blocchi. Strategia cambiata: trascrizione lato Claude e trasferimento del solo testo | ||
* | * Programmare il reindex via /vm/task: e la causa del guasto, va sostituito con job.py o cron | ||
* | * Route /gcs-upload-url per firmare URL di scrittura: creata ma il service account Cloud Run non ha iam.serviceAccounts.signBlob. Va rimossa o va concesso il permesso | ||
* Trasferire immagini via exec-direct: sopra 90KB fallisce muto. La via giusta per i libri e caricarli nella cartella Drive della Biblioteca e usare biblioteca/ingest.py, che gestisce gia scarico e coda OCR tesseract | |||
; Prossimo passo : | |||
* | * DOPO fine benchmark NotebookLM (non prima, per non contaminare): 1) agent_kimi passa diversifica=true di default 2) timing per stadio nella risposta server 3) valutare HyDE-storico per lessico arcaico | ||
* | === agritainment-sito === | ||
* | ''Aggiornato 2026-08-22 00:20 UTC'' — dominio: Hosting / siti | ||
* | ; Obiettivo : Sito greenagritainment.com conforme alle istruzioni Ester (mail 20-21/08, 8 punti) | ||
; Vincoli in vigore : | |||
* video su 6 canali YouTube di partner diversi | |||
* slide moduli 3 e 4 inesistenti in WP3 | |||
* | * traduzioni = obbligo di ciascun partner da formulario | ||
; Fatto (con prova) : | |||
* Verificati sul sito 22/08: punto 1 sei video per modulo OK su tutti e 6 (modulo 1 confermato, il primo audit dava falso negativo per le slash escapate in data-settings) | |||
* punto 2 le 5 pagine choose linkano tutti i 6 moduli | |||
* punto 4 materiali EN+lingua propria in ogni lingua (EN45 IT46 BG58 EL66 RO52) | |||
* punti 5-6-7 events/meetings/webinar online e nel menu | |||
* punto 8 i 6 video irlandesi corrispondono. Fatti anche: rimossa voce Project library dal menu, tolti bottoni agenda e certificato dal webinar, aggiunto bottone form feedback, aggiunta voce Self-assessment al menu, barra fissa prev/next sulle 37 pagine lezione, footer con numero progetto e disclaimer EACEA, Atlas 121 pratiche pubblicato | |||
* Audit sottotitoli 22/08 (job agrisubs, 36 video): ZERO tracce manuali caricate su YouTube | |||
* solo 6 video (i sei irlandesi del Modulo 1) hanno auto-captions. Il punto 3 richiede quindi 36 video x 5 lingue = 180 tracce, su 6 canali di partner diversi. | |||
; Provato ed escluso : | |||
* punto 3 sottotitoli in 5 lingue: NON fattibile dal sito, i video sono embed YouTube su 6 canali di partner diversi | |||
* il token BALKAN ACADEMY non ha lo scope youtube.force-ssl (captions 403) | |||
; Prossimo passo : | |||
* 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 | |||
=== migrazione-aigw === | |||
''Aggiornato 2026-08-13 16:56 UTC'' — dominio: infrastruttura AI / gateway | |||
; Obiettivo : Instradare ogni lavoro AI sul fornitore piu economico che lo sa fare, dal gateway | |||
; Fatto (con prova) : | |||
* VERIFICATO che il gateway aigw esiste ed e reale: systemd active su translator, /opt/aigw/aigw.py, calls.jsonl con 7 chiamate vere loggate fra cui oracolo-agent su glm-5.2 e client cc su deepseek-chat, con token in/out e costo | |||
* LANCIATO in asincrono il censimento che mancava: job censimento_aigw, scripts/censimento_aigw.py. Cerca su VM, translator e media quali script usano ancora sk-or-v1, api.deepseek.com, openrouter.ai, dashscope, moonshot direttamente invece del gateway. Sola lettura, nessuna modifica. Esito in gs state/migrazione_aigw.json | |||
* CHIUSO UN BUCO in chiusura.py: la regex dei rinvii copriva nella prossima sessione al singolare ma non nelle prossime sessioni al plurale, ne progressivamente, man mano, a tappe. Aggiunto anche il gruppo CODA: la coda della, li migro, restano da fare. Provato sul testo reale: ora pesca tutti e tre i punti piu la mancanza del contratto | |||
* COST GUARD OPENROUTER ANALIZZATO: scattato 13/08 alle 18:45. NON per spesa eccessiva. Spesa giornaliera 1.33 su tetto 3.00, accelerazione 0.01 USD ogni 5 min. Ha scattato la condizione rest < CREDIT_MIN: credito residuo 4.99 contro soglia 5.00 USD. VERDETTO: guard APPROPRIATO, sta segnalando credito quasi esaurito non spreco. Spesa settimanale 35.68 USD | |||
* Processi fermati dal guard: cita_service.py, svc oracle-agent, svc oracle-cita. Per riattivare: rm /opt/oracle/openrouter_guard.state | |||
* PREZZI VERIFICATI 13/08/2026: Grok 4.6 uscito il 12/08 a 2.00 in / 6.00 out, contesto 500K, cache a 0.50. Grok 4.3 a 1.25/2.50 con contesto 1M. Grok 4.1 Fast a 0.20/0.50 con contesto 2M, il piu economico dei frontier. Grok Build 0.1 per codice a 1.00/2.00. ATTENZIONE: ogni tariffa RADDOPPIA sopra i 200K token di prompt | |||
* OpenCode Zen: gateway curato senza ricarico, vende a costo e copre solo le commissioni di pagamento. Ricarica automatica di 20 USD sotto i 5. Alcuni modelli gratuiti a tempo (Grok Code Fast 1, DeepSeek V4 Flash). Endpoint compatibile OpenAI: opencode.ai/zen/v1 | |||
* LISTINO VIVO costruito: scripts/listino.py in cron alle 04:30. Legge i prezzi reali dal catalogo OpenRouter e sceglie, per ogni CLASSE DI LAVORO, il modello piu economico che soddisfa il requisito di contesto. Esito in gs state/listino_modelli.json | |||
* CLASSI E VINCITORI AL 13/08: volume qwen3-8b 0.12/0.46, giudizio deepseek-chat 0.26/1.03, lungo glm-5.2 0.49/1.54, profondo glm-5.2 0.49/1.54, codice deepseek-chat 0.26/1.03. Costo misto calcolato come 75 per cento input piu 25 per cento output, il profilo dei nostri lavori | |||
* SCOPERTO che il gateway aigw ha GIA un instradamento opencode (provider, opencode_models, oc_cost): era gia stato aggiunto | |||
* SCOPERTO che Grok 4.1 Fast a 0.20/0.50 NON e su OpenRouter, esiste solo sullAPI xAI diretta. Ma non serve: qwen3-8b costa meno | |||
* Su OpenRouter xAI offre: grok-4.6 e 4.5 a 2.00/6.00 ctx 500K, grok-4.3 e 4.20 a 1.25/2.50 ctx 1M e 2M, grok-build-0.1 a 1.00/2.00 | |||
* ATTENZIONE: le tariffe xAI RADDOPPIANO sopra i 200K token di prompt, e con contesti da 1-2M e facile inciamparci | |||
; Provato ed escluso : | ; Provato ed escluso : | ||
* | * Migrare gli script automaticamente senza prima censirli: circa 14 sul VM era una stima, non una lista. Il censimento produce la lista vera con quali girano da cron | ||
* | * Ruotare le chiavi provider prima che lultimo client sia migrato: spacca i non migrati | ||
* | * Alzare CREDIT_MIN o disattivare il guard per far ripartire i servizi: nasconderebbe il problema vero, che e il credito in esaurimento | ||
* Passare tutto a Grok 4.6 per riflesso: costa il doppio in uscita rispetto a Grok 4.3, ed e posizionato per codice e agenti non per uso generale | |||
* Passare a Grok 4.6 per riflesso: 2.00/6.00 contro 1.25/2.50 del 4.3, e il doppio in uscita per un modello posizionato su codice e agenti | |||
* Aprire una fatturazione xAI diretta per Grok 4.1 Fast: qwen3-8b su OpenRouter costa gia meno | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * Collegare gli alias di classe al gateway: gli script chiedono volume o giudizio invece del nome del modello, cosi cambiare fornitore e una riga nel listino e non 289 modifiche | ||
* Misurare il risparmio reale su una settimana confrontando calls.jsonl prima e dopo | |||
=== | === cairn-archive === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-10 15:58 UTC'' — dominio: Referenze E-E-A-T / neurolinguistic.com | ||
; Obiettivo : | ; Obiettivo : Sezione archivio storico CAIRN su neurolinguistic.com secondo il Doc AI Website Build Instructions + protocollo backward audit | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * ogni claim mappato a un Archive ID di CAIRN_archive e a una riga di CAIRN_backward_audit | ||
* niente riga di cautela su Art.30 in pagina (decisione Marco 10/08) | |||
* | * planned != held | ||
* | * mail solo redatte | ||
* | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * aggiunta riga CAIRN-2012-AVALON a CAIRN_archive | ||
* | * nota interna su AUD-001 col.N | ||
* | * llms.txt e sitemap-static.xml aggiornati (11 url) | ||
; Provato ed escluso : | ; Provato ed escluso : | ||
* | * archive.org/wayback/available da 429: usare la CDX API con retry | ||
; Prossimo passo : | ; Prossimo passo : | ||
* | * salvare capture fresche su Wayback (Save Page Now) delle 11 nuove pagine | ||
* | * facsimili redatti delle 3 mail | ||
* | * cercare flyer/foto per le mostre thangka a Nizza (oggi solo testimonianza orale) | ||
* valutare pagina EN/IT bilingue | |||
=== | == Sospesi == | ||
''Aggiornato 2026- | === hpr_pilota === | ||
''Aggiornato 2026-09-14 23:37 UTC'' — dominio: ricerca | |||
; Obiettivo : | ; Obiettivo : Pilota Hyperresearch su catalessi, per valutarlo come verifica-fonti nella catena pillar | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * read-only sul resto | ||
* budget run 15 | |||
* | * giudizio col test delle 4 domande sul vault | ||
* | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * script in /home/claudeuser/hyperresearch_pilot (hpr_install.sh, hpr_run.sh) | ||
* | * piano hpr_pilota (4 punti) lanciato come job hpr_pilota_run | ||
* | * Punto 1 FATTO: hyperresearch 0.11.1 + crawl4ai installati in /home/claudeuser/hyperresearch_pilot (.venv, config.toml, run init --budget 15). Punto 2 BLOCCATO: Claude Code sulla VM non e' autenticato (nessun .credentials.json, .anthropic-key vuoto dal 21/07) e api.anthropic.com e' bloccato da ISICNV_COST_GUARD in /etc/hosts | ||
* il gateway aigw espone solo chat/completions, non /v1/messages | |||
* translator 127.0.0.1:8100 non risponde. Chiave anthropic presente nell'indice credenziali GCS ma NON verificata (rete bloccata). | |||
* | |||
* | |||
; Provato ed escluso : | ; Provato ed escluso : | ||
* | * nessuna integrazione nella pipeline pillar finche' il pilota non e' giudicato | ||
* | * Non aggirare il COST_GUARD senza ok di Marco (decisione di costo) | ||
; Prossimo passo : | ; Prossimo passo : | ||
* | * Dopo ok di Marco: (a) sospendere il cost guard: sudo sed -i '/ISICNV_COST_GUARD_BEGIN anthropic/,/ISICNV_COST_GUARD_END anthropic/s/^/#/' /etc/hosts | ||
* (b) bash /home/claudeuser/hyperresearch_pilot/hpr_auth.sh (usa .anthropic-key) | |||
* (c) python3 /home/claudeuser/scripts/job.py --run 'python3 /home/claudeuser/scripts/piano.py --id hpr_pilota --esegui' --id hpr_pilota_run2 | |||
* (d) a fine run ripristinare il guard togliendo i # | |||
=== | === audit_neurolinguistic_non_conformi === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-13 21:07 UTC'' — dominio: pillar | ||
; Obiettivo : | ; Obiettivo : portare a standard le pagine non conformi su neurolinguistic: [197, 4300, 11818, 11780, 11804, 479, 776, 3640, 3639, 3637, 4293, 4292, 3633, 3162, 4289, 4288, 11505, 4287, 4286, 3628, 2, 136, 146, 168, 303, 482, 65, 3627, 531, 535, 609, 621, 644, 682, 696, 872, 927, 1025, 1089, 1119] | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * mai riscrivere: arricchire | ||
* | * pubblicazione solo via pubblica_pillar.py --ok-marco | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): audit_marcoparet_non_conformi, che da oggi copre entrambi i siti | ||
; Prossimo passo : | ; Prossimo passo : | ||
* | * python3 /home/claudeuser/scripts/audit_pubblicate.py --sito neurolinguistic --correggi --pid 197 4300 11818 11780 11804 479 776 3640 3639 3637 4293 4292 3633 3162 4289 4288 11505 4287 4286 3628 2 136 146 168 303 482 65 3627 531 535 609 621 644 682 696 872 927 1025 1089 1119 | ||
=== | === pipeline_mancanti_censimento === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-13 21:01 UTC'' — dominio: pipeline | ||
; Obiettivo : | ; Obiettivo : creare le pipeline mancanti piu richieste: sistema, mercurio, resta, stato, modo | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * ogni pipeline: script + riga registro (descrizione, trigger) + wiki ops + test | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi contrario alla regola di Marco 'pipeline solo se necessarie' (14/09): non si creano pipeline per sistema/mercurio/resta/stato/modo | ||
; Prossimo passo : | ; Prossimo passo : | ||
* | * leggere /home/claudeuser/pillars/censimento/censimento_20260913.json e il Doc | ||
* partire dal primo cluster | |||
=== | === chat-s20260911-si1secondary-qqnl4c === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-12 00:00 UTC'' — dominio: chat_riprese | ||
; Obiettivo : | ; Obiettivo : Completare il deploy SI-1: riparare il crash gcloud (credenziali rotte), installare in cron la copia dell'orchestrator su secondary e produrre la consegna verificabile D1 | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=auto | ||
* | * non chiedere a Marco | ||
* | * verifica prima di dichiarare fatto | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * chat S20260911-si1secondary-qqnl4c chiusa senza prova | ||
* | * contesto ricostruito da riprendi_chat | ||
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento | |||
; Prossimo passo : | |||
* 1|Diagnosticare il crash gcloud riportato nel messaggio umano non letto ('Credentials' object has no attribute 'private_key_id')|gcloud info --run-diagnostics | |||
* | * gcloud auth list | ||
* gcloud config list | |||
* | * 2|Ripristinare le credenziali gcloud (re-auth interattiva o service account)|SERVE MARCO: gcloud auth login (richiede browser/OTP) | ||
* | * alternativa non interattiva: gcloud auth activate-service-account --key-file=<chiave> se disponibile sul sistema | ||
* | * 3|Installare la copia dell'orchestrator SI-1 nel crontab di secondary, replicando la voce '27 */4' gia' attiva sulla VM|su secondary: crontab -e e aggiungere la riga '27 */4 <comando orchestrator SI-1>' identica a quella della VM | ||
* 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) : | ; Fatto (con prova) : | ||
* | * chat S20260910-claudesi1ref-1kurya6 chiusa senza prova | ||
* contesto ricostruito da riprendi_chat | |||
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi si-1-automiglioramento | |||
* | |||
* | |||
; Prossimo passo : | ; 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- | ''Aggiornato 2026-09-11 23:00 UTC'' — dominio: chat_riprese | ||
; Obiettivo : | ; Obiettivo : Completare e verificare la pipeline Zoom zoom_recordings_daily.py: chiudere i 2 job backfill in corso, assicurare che le 5 registrazioni recuperate (inclusa Lesson 8, presente solo su cloud Zoom) siano su Drive, definire il deliverable D1 mancante, e risolvere il crash gcloud segnalato nei messaggi umani non letti | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=auto | ||
* | * non chiedere a Marco | ||
* | * verifica prima di dichiarare fatto | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * chat S20260911-clauderegist-sskkcz chiusa senza prova | ||
* | * contesto ricostruito da riprendi_chat | ||
* | * 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi zoom-registrazioni-daily-0911 | ||
* | ; 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 | ||
* il | * 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| | |||
=== | === chat-s20260907-esemplari-1p38o3i === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-07 22:02 UTC'' — dominio: chat_riprese | ||
; Obiettivo : | ; Obiettivo : Completare i deliverable mancanti D1-D3 della pipeline-pagina-0609 (pagina how-to-develop-magnetic-presence, WP 7127): stadio PAG-2 di esemplari.py con ESEMPLARI.md per H2, CONFRONTO_2.md e CONFRONTO_3.md con metriche A/B, handoff aggiornato; poi superare l'esame della chat. | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=auto | ||
* | * non chiedere a Marco | ||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * chat S20260907-esemplari-1p38o3i chiusa senza prova | ||
* | * contesto ricostruito da riprendi_chat | ||
* 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi pipeline-pagina-0609 | |||
; Prossimo passo : | ; Prossimo passo : | ||
* 1) | * 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- | ''Aggiornato 2026-09-07 10:56 UTC'' — dominio: pipeline pagine | ||
; Obiettivo : | ; Obiettivo : PIPELINE 2 (pagina2.py): semplice, deterministica, con harness; stesura da Claude con HARNESS.md; controlli senza riscrittura; bozza + Doc a strati; note di Marco -> regole | ||
; Vincoli in vigore : | |||
* Comandi: pagina2.py dossier|scrivi|controlla|bozza|note2regole --slug S. Stato in pillars/p2/<slug>/. La stesura NON usa i modelli del gateway (kimi/glm/minimax: impronta AI, bande ignorate) ne pipeline_completa R120 (riscrive e peggiora). Stesura = Claude con HARNESS.md (in chat oggi | |||
* claude CLI sulla VM quando loggato: ora dice Not logged in). controlla = correzioni sicure (d epentetica ogni vocale, Fascinazione, id h2) + segnalazioni (frasi AI, negazioni, ci, link M48, note>=12, energia/polivagale/etica/YouTube/CTA/esercizio). bozza = UN solo ssh (M66) + Doc a strati. Semantico 8088/8089 spenti: il collage usa BM25 8085 con filtro autore Paret prima. | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * 06/09 00:35: pagina.py scritta e funzionante end-to-end | ||
* | * prima pagina 7083 who-is-the-father-of-modern-mesmerism pubblicata (collage 112 frasi da biblioteca + Training Manual di Marco, concorrenza, 260 regole p1), Doc IT 1lasNBE0vjN58nuqLEZJZcT2D0DHFmywjHnZAspFGVSI in Per pagine. Costo modelli misurato: 0.15 USD, 6 chiamate, 20 min. DIFETTO: kimi ignora la banda (7910 parole invece di 1500-1900) | ||
* la condensazione 7b scartata | |||
* | * R120 con potatore in corso (job pagina_fatherofmesmerism7) | ||
* | * 06/09: 7083 tolta (draft). 7094 what-are-mesmeric-passes-and-how-do-they-work: materiale dalla pipeline (128 frasi, concorrenza, struttura), stesura da Claude come editor, guardiano+forma_finale, pubblicata dopo lettura, Doc IT 1g5xjb44_xpAsBoDIFP8XITt4wmipRE-VsPFlWK4-iUI in Per pagine. Costo modelli pipeline: 0.19 USD | ||
* tempo macchina ~45 min | |||
* | * tempo chat ~35 chiamate | ||
* | * 07/09: pagina2.py installato | ||
* | * controlla testato sulla pagina persuasione (0 frasi AI, 0 ci, mappa ok, segnala link mancanti e note 11<12) | ||
* dossier testato su how-to-develop-magnetic-presence (esercizi reali di Alchimia Pratica trovati alla lettera, materiale Paret+biblioteca, concorrenza) | |||
* | * 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509 (pagina2.py esiste; la produzione passa dalla fabbrica) | ||
* | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * 1) Marco: claude login sulla VM (serve lui) per lo stadio scrivi automatico | ||
* finche' no, la stesura la fa Claude in chat dal HARNESS.md. 2) struttura via glm: verificare perche' e' caduta nel template (JSON). 3) Registrare PAG-4 nel registro pipeline. 4) Prima pagina completa con pipeline 2: magnetic presence (dossier pronto). | |||
=== | === chat-s20260904-claudegatepi-e9nzup === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-05 00:22 UTC'' — dominio: chat_riprese | ||
; Obiettivo : | ; Obiettivo : Completare e provare i deliverable D1-D4 di R148 (wiki_new.py operativo in /home/claudeuser/scripts, gate.sh che blocca edit.php diretto, registro pipeline WIKI-1 aggiornato, memoria CC + riga History wiki), rimasti senza prova alla chiusura END_NONVERIFICATO | ||
; Vincoli in vigore : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * chat S20260904-claudegatepi-e9nzup chiusa senza prova | ||
* | * contesto ricostruito da riprendi_chat | ||
* | * 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi mro-r103-r104 | ||
; 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) | ||
''Aggiornato 2026- | ; Vincoli in vigore : | ||
* Import via Gmail API messages.import con internalDateSource=dateHeader ed etichetta Archivio-2013, mai send. Formato mailbox da riconoscere (mbox/Maildir/eml/pst: per pst usare readpst). Originale su MEMO intoccabile | |||
; Fatto (con prova) : | |||
* Agent v9.4 zippera e caricherà mailbox+inventario su Storage Box isicnv_salvataggi/ al primo contatto del PC. Token OAuth isicnvstaff NON esiste: serve che Marco apra il link /oauth/start-any?account=isicnvstaff&service=gmail_full loggato come isicnvstaff@gmail.com | |||
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): idea del 03/09 senza strumento; si riapre a richiesta di Marco | |||
; Prossimo passo : | |||
* sftp -P 23 -i /home/claudeuser/.ssh/sb_agent_ed25519 u649132@u649132.your-storagebox.de <<< 'ls -l isicnv_salvataggi' && gsutil ls gs://isicnv-command-center-routes/tokens/ | grep -i staff | |||
=== chat-s20260903-claudemicroc-1j0h7kz === | |||
''Aggiornato 2026-09-03 09:01 UTC'' — dominio: chat_riprese | |||
; Obiettivo : | ; Obiettivo : Completare i deliverable mancanti D1-D4 dell'email a Ester (PDF RO ufficiale, PDF BG con indice corretto, PDF IT ed EL con indice tradotto online su R1, copie in uploads/deliverables e Drive aggiornato) e gestire le 20 richieste del gate | ||
; Vincoli in vigore : | |||
* gate=auto | |||
* non chiedere a Marco | |||
* verifica prima di dichiarare fatto | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * chat S20260903-claudemicroc-1j0h7kz chiusa senza prova | ||
* contesto ricostruito da riprendi_chat | |||
* | * 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi microcredential-passaggi-finali-ester-0109 | ||
* | ; 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 | |||
; Prossimo passo : | |||
* 1 | |||
* 2 | |||
* 3 | |||
* 4 | |||
* 5 | |||
=== | === chat-s20260901-claudeanalyt-1ambje5 === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-01 14:23 UTC'' — dominio: chat_riprese | ||
; Obiettivo : | ; Obiettivo : Completare l'analisi ANA-1: eseguire gli script di analisi visite, produrre i deliverable mancanti D1 (trend visite GA4/GSC per sito e pagine nuove), D2 (incrocio date dei 6 rifacimenti RAIDA/pillar con l'andamento visite) e D3 (giudizio sulla strategia con prove numeriche), e pubblicare il report finale. | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=auto | ||
* | * non chiedere a Marco | ||
* | * verifica prima di dichiarare fatto | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * chat S20260901-claudeanalyt-1ambje5 chiusa senza prova | ||
* | * contesto ricostruito da riprendi_chat | ||
* | * 2026-09-16 21:45 UTC parcheggiato (analisi cantieri 16/09, claude): assorbito in / vedi cruscotto-marketing-quotidiano | ||
; Prossimo passo : | ; 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 | |||
== | === ricalco-guida-2siti === | ||
''Aggiornato 2026-08-31 14:45 UTC'' — dominio: pagine pillar | |||
''Aggiornato 2026- | |||
; Obiettivo : | ; Obiettivo : Due bozze IT su ricalco e guida (nuova visione: si parte dalla relazione -> polivagale -> magnetismo): neurolinguistic.com/blog/ricalco-e-guida (PID 11780, noindex Yoast) e marcoparet.com ricalco-e-guida-pnl; fino a CONFORME+VISUAL_OK; Marco corregge, poi PAG-3 | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * restano bozze finche Marco non dice approvo | ||
* | * pagine esistenti si preservano e si arricchiscono in coda | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * 31/08: def in /home/claudeuser/pillars/def/def_p_ricalco_{neuro,mp}.txt (Doc 173yfdV6qScd5ICborcctsvFEDWVX-iiFgiBCc4ENbLU) | ||
* 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 | ||
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509 | |||
* | |||
* | |||
; Prossimo passo : | ; 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) | |||
=== | === paret-ai-pillar === | ||
''Aggiornato 2026- | ''Aggiornato 2026-08-27 12:01 UTC'' — dominio: hosting/siti + ai-search | ||
; Obiettivo : | ; Obiettivo : Costruire i pillar neurolinguistic.com per Ipnosi non verbale, Ipnosi con lo sguardo e Mesmerismus preservando SEO storico e preparando evidence graph | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* ogni | * MASTER v7.12 | ||
* testo pubblico mai da Claude: generazione via GLM e review | |||
* nessuna nuova pagina se esiste URL valido | |||
* snapshot/backup prima di ogni write | |||
* pubblicazione solo dopo gate previsto dal cantiere benchmark-visibilita-ai | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* 2026-09-16 21 | * Letto MASTER v7.12 e Piano Drive 14QM2efTg8YQwCp4LcF-gKfk5kMR1u0BzpX8IsbI8TFo. Ripreso cantiere benchmark-visibilita-ai. Audit live read-only: PID197 /ipnosi-non-verbale-tecnica-ed-esempi/ 200 self-canonical e storico dal 2013 | ||
* PID3576 /guardarmi-negli-occhi/ 200 self-canonical | |||
* PID1848 /il-potere-dellocchio/ 200 self-canonical | |||
* /mesmerismus/ 200 self-canonical ma contenuto molto sottile. Vecchio cluster attribuisce autorita 8218 a PID197, 5308 a PID3576, 3923 a PID1848. RAIDA e snapshot pre-build letti. | |||
* 27/08: canone+fonti raccolti nel registro bibliotecario (23 fatti STABILITI: brand da referenze_canon BQ, storici da Oracolo 8085 con ark Gallica). Verifica dei 4 pillar live: NESSUN drift storico reale, 2 falsi positivi bibliografici su 4 pagine. Registro+brief in gs://isicnv-command-center-routes/docs/bibliotecario/. NB: i pillar vivono sotto /blog/ (neurolinguistic.com/<slug>/ ora 404, WP installato in /blog/) | |||
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): pagine-seo-affiancate-0509 (le pagine le produce la fabbrica in cron) | |||
; Provato ed escluso : | |||
* Nessuna modifica live eseguita. Non riutilizzare alla cieca potenzia_pillar.py: contiene pipeline precedente e testo con claim senza fonte. | |||
* cancello di verifica su HTML renderizzato: rumore per costruzione, va sul corpo markdown | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * 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 === | ||
''Aggiornato 2026- | ''Aggiornato 2026-08-25 22:42 UTC'' — dominio: finance | ||
; Obiettivo : | ; Obiettivo : Modalita Contabilita: rispondere in automatico a Perche questa spesa | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * NON ripartire da zero: spec TESORIERE architecture_1783460671236_4nxv6j | ||
* | * riusare classification_rules (678 regole), controparti, pagamenti_ricorrenti_attesi, tesoriere_v2.py, argo_watch.py | ||
* | * MAI LLM sui numeri | ||
* coordinarsi col cantiere finanze-classificazione | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Riletto MRO v7.1 completo | ||
* | * recuperata spec TESORIERE 4 tier | ||
* 2026-09-16 21 | * censiti asset esistenti (tabelle isicnv_finance, tesoriere_daily/v2, cantiere finanze-classificazione) | ||
* best practices raccolte: tagging deterministico prima di tutto, alert+allocazione insieme, closed-loop spesa-lead-ricavo con identificatore comune | |||
* Tabelle BQ create e popolate: contratti_fornitori (3: accordo 2026 960/mese solo GAds, storico 2025 1532/mese, progetto Storie e stelle), fatture_fornitori (19 fatture VMK 2025-26 dal riepilogo 07/05), fornitori_pagamenti_dichiarati (22 pagamenti) | |||
* pagina wiki Contabilita creata e verificata HTTP 200 con template 5 blocchi + quadro VMK | |||
* SEGNALATO A MARCO: saldo residuo VMK 2415 EUR dichiarato al 07/05, sollecito 16/06 senza risposta | |||
* perche_spesa.py deployato (5 blocchi, alias VMK=Veneto Marketing Lab, cron 07:25 daily-ads con tg solo se anomalo) | |||
* sentinella DA_CLASSIFICARE cron 03:50 (baseline 10012) | |||
* riconciliazione VMK 21/22 | |||
* DISCREPANZA: lista VMK somma 25546 ma dichiarano 26546, saldo possibile 3415 non 2415, da chiarire con Marina | |||
* wiki Contabilita sez.8 aggiornata | |||
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): allievi_360_pipeline + riconciliazione_cassa (riconcilia_cassa.py in cron 07:35, allievi_360_worker ogni 20 min) | |||
; Provato ed escluso : | |||
* Progettare rami di spesa ex novo: esistono gia come classification_rules+controparti+tier | |||
* /memory/get non esiste, full text memoria via gsutil su GCS | |||
; Prossimo passo : | ; Prossimo passo : | ||
* 1 | * 1) chiarire con Marina la discrepanza 1000 EUR prima di saldare 2) estrarre importi PDF rate Storie e stelle (bloccato: allegati Gmail non accessibili via MCP, servono da mailbox ily1975 o marcoparet) 3) verificare domattina esecuzione cron perche_spesa e sentinella | ||
=== | === harness-standard === | ||
''Aggiornato 2026- | ''Aggiornato 2026-08-17 15:01 UTC'' — dominio: architettura / knowledge base | ||
; Obiettivo : | ; Obiettivo : Harness gerarchico e Marco fuori dal loop di esecuzione | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * La gerarchia deve SOSTITUIRE substrati esistenti, mai affiancarsi: oggi ne esistono 7 paralleli | ||
* | * Ogni routing file ha 6 sezioni fisse: chi esegue / accessi / come si verifica / criterio di accettazione / fallimenti noti / strumenti ammessi | ||
* | * Nessuna credenziale nei routing file, solo puntatori | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* Analizzato export completo Claude di marcoparet@gmail.com: 614 conversazioni, 26.921 messaggi, 55,8M caratteri (file su VM /home/claudeuser/claude_export/analysis/) | |||
* Misurato: attrito piatto sulla lunghezza della chat (14-18 per 100 msg in ogni fascia) = problema strutturale non di contesto | |||
* Misurato: autocorrezioni Claude raddoppiano oltre 25-50k token di contesto (8,8 -> 17,2 per 100 msg) = context rot reale, ginocchio a 25-50k | |||
* Misurato: 899 route nel bucket, 525 MAI citate in nessuna chat, ~25 reggono il sistema | |||
* Misurato: 8 domini coprono il traffico (spedizioni 190 chat, VM 155, BQ 151, hosting 118, token 114, route 77, drive 76, wiki 59) | |||
* Scritti HARNESS.md (1 pagina) e INFRA-VM.md (primo routing file compilato) | |||
* Creato handoff.py su VM + pagina wiki Cantieri aperti | |||
* MASTER READ ORDER v7.1 scritto: 1 pagina, 3 regole, tabella routing 8 domini, STEP cantieri, STEP handoff, STEP asincronia, Appendice A per modelli non-Claude | |||
* INFRA-VM.md primo routing file compilato su 6 sezioni fisse | |||
* handoff.py operativo su VM (GCS + wiki + memoria CC in una chiamata), testato write/resume/list | |||
* Pagina wiki Cantieri aperti creata e verificata via getText.php | |||
* MISURATO tassa di interruzione: 34,3 pc dei messaggi Claude chiede a Marco di decidere, 17,1 pc di eseguire a mano, sincrono/asincrono 4,2:1, turni di sola continuazione solo 2,7 pc (sintomo non causa) | |||
* v7.1 APPESA sul canonico Drive 1Iyxrr5 (ok:true) — la v6.3 e superata | |||
* BUG RISOLTO: browser_service.js su :8081 vuole POST con secret, il GET ?url= documentato per mesi era sbagliato: per | |||
; Provato ed escluso : | ; Provato ed escluso : | ||
* | * ipotesi PT-forte smentita dai dati | ||
* | ; Prossimo passo : | ||
* | * 1) hub biblioteca-magnetica + 10 pagine-periodo | ||
* | * 2) anima retroattiva cluster + coda entita' regia (schema+attribuzione ovunque, referenze solo ammiraglie) | ||
* 3) pagine satellite domini tematici (franzantonmesmer, miltonerickson, hypnotisme, personalmagnetism) | |||
* 4) marcoparet.com publishing path + serie M (M1/M2 GDoc in attesa risposte) | |||
* | * 5) trascrizioni P9/P10 GDoc | ||
* | * 6) misura lunedi' | ||
* | |||
=== lessico-canonico === | |||
* | ''Aggiornato 2026-08-13 19:49 UTC'' — dominio: knowledge | ||
* | |||
; Obiettivo : Lessico canonico condiviso (idea Canonical ID da SGF): tabella BQ unica termine-ID-resa per lingua per eliminare la deriva terminologica fra traduttore live, RAIDA, Oracolo e wiki | |||
* | ; Vincoli in vigore : | ||
* NULL dove la resa non e certa, mai fabbricare | |||
* integrazioni nelle pipeline solo dopo test (traduttore = sistema live seminari) e dopo benchmark NotebookLM per lOracolo | |||
* | ; Fatto (con prova) : | ||
* Creata isicnv_knowledge.lessico_canonico (15 colonne: id, lemma, categoria, invariante, resa it/fr/en/es/ru/pt, varianti_asr ARRAY, boost_asr, note, fonte) | |||
* seed 33 termini estratti dalle patch reali del traduttore (/opt/translator/patch_glossary.py, patch_alch.py, patch_alch2.py, patch_hard.py): 8 latini invarianti con storpiature ASR note (athanor: latano/atanor/latano..., solve et coagula: sollievo alla colonna...), 5 marchi (Arkeos con 2 varianti note su 293 file), 11 nomi propri con rese standard in 6 lingue, 8 termini tecnici, 1 locuzione | |||
* | * verificato con SELECT per categoria e spot-check | ||
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): idea ferma dal 13/08, nessun passo eseguibile; si riapre quando serve a un lavoro concreto | |||
; Prossimo passo : | |||
* 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 | |||
* | === finanze-classificazione === | ||
* | ''Aggiornato 2026-08-11 15:08 UTC'' — dominio: contabilita / finance | ||
* | |||
* | ; Obiettivo : Chiudere il buco DA_CLASSIFICARE e impedire che il lavoro venga azzerato ogni notte | ||
; Fatto (con prova) : | |||
* CREATO routing file FINANZE.md, su Drive id 176Tw19NgXPszcTEtPJEgbrjT00iD2a7i, verificato 4.696 byte | |||
* | * CENSITO cosa esiste gia in isicnv_finance: 105 tabelle e 19 viste, fra cui v_costi_per_categoria, v_spese_azienda, v_spese_aziendali_da_conto_personale, v_finance_quinquennale, v_riconciliazione_allievi | ||
* | * TROVATA la causa vera del blocco: classification_rules ha 678 regole agganciate al campo counterparty, ma controparte_nome e NULL su TUTTE le 8.389 righe DA_CLASSIFICARE. Le regole non possono agganciare nulla | ||
* | * MISURATO: derivando la controparte con TRIM(IF(direction=OUT, dst_name, src_name)) si classificano subito 3.413 movimenti pari a 666.086 euro, il 38 per cento, senza scrivere una regola nuova | ||
* Stato attuale: DA_CLASSIFICARE 8.389 mov / 1.743.096 eur, DA_CHIARIRE 98 mov / 200.025 eur | |||
* | * ESEGUITO. Backup transactions_multianno_bak_20260809 (14.492 righe) | ||
* | * controparte_nome popolato su tutte le 8.389 righe da src_name/dst_name secondo direction | ||
* | * Applicate le 678 regole di classification_rules: 3.413 movimenti classificati, DA_CLASSIFICARE sceso da 8.389 a 4.976 movimenti e da 1.743.096 a 1.077.010 euro. Marcati con classifier_blob auto:classification_rules:20260810 | ||
* | * Categorie assegnate: INCOME_CORSI 1.116 mov 472.134 eur, PERSONAL 431, BIZ_FOR_UNIVERSITE 197, PERSONAL_GENUINE 404, MARKETING 96, CASH 57, ANNA_FAMILY 76, REVIEW 353, TRASPORTI 166, STAFF 33, TRAVEL 40, TECH 353, LEGAL 12, INTERCOMPANY 13 | ||
* | * INTEGRITA VERIFICATA: 14.492 righe prima e dopo, somma importi 4.351.207 identica | ||
* REGOLE DI MARCO INSERITE in classification_rules e applicate: LIGHTNING SOURCE -> INCOME_LIBRI (royalties, e IN non OUT: sono ricavi non costi di stampa), Di Feo Gioacchino -> INCOME_CORSI VIP COURS, Alena Telezin -> INCOME_CORSI corso Svizzera, IPCA -> INTERCOMPANY collaborazione associazione italiana, To GBP e To EUR -> FX conversioni interne Wise | |||
* Assegnati: FX 50 mov 51.572 eur, INCOME_CORSI 7 mov 41.750, INCOME_LIBRI 3 mov 24.965, INTERCOMPANY 9 mov 20.000 | |||
* | * RESIDUO ora 4.907 mov / 938.723 eur (partenza 8.389 / 1.743.096) | ||
* | * INDAGINE sui 113 (da identificare): tutti IN su Universite apr-lug 2026, causali loan 15.050, vuota 8.374, Wages 7.094, bonus, rimborsi progetto, May Rent, fatture, Saldo corso Roma, quote iscrizione | ||
* Gmail isicnv interrogabile via token-any-isicnv: le notifiche Wise Denaro ricevuto da X contengono il nome mancante. Estratte 12 mail con nome (TODARO STEFANIA, MORRONI CRISTIANA, Giuseppe Giudice, BERTON LINE SRL, Daniele Pacioni, D ALONZO ELISA, PRIVITERA ANTONINO, DONATI NAZZARENO...) in /home/claudeuser/wise_mail_match.json | |||
* | * FALSO SUCCESSO SCOPERTO: tutto il lavoro di classificazione del 10 agosto (3.413 movimenti miei piu circa 1.700 di unaltra chat) era stato AZZERATO. DA_CLASSIFICARE era tornato a 8.389 mov / 1.743.096 euro, il numero esatto di partenza, mentre i marcatori in classifier_blob restavano a dire che il lavoro era stato fatto | ||
* CAUSA TROVATA: finance_daily_sync.py alle 06:45 ha un passo chiamato classificazione che riscrive la colonna category da zero e riporta a DA_CLASSIFICARE tutto cio che le sue regole interne non riconoscono. Confermato da INFORMATION_SCHEMA.JOBS_BY_USER: catena di UPDATE alle 06:49-06:51 su category e perimetro, e ultima modifica tabella alle 06:50:29 | |||
* | * RIMEDIO: creato scripts/riapplica_regole.py, in cron alle 07:10 (dopo il sync). Ripopola controparte_nome e riapplica classification_rules | ||
* BUG TROVATO NEL RIMEDIO: dopo le 6 regole aggiunte ieri alcune controparti erano doppie e BigQuery rifiutava con UPDATE must match at most one source row. Aggiunta deduplica con ROW_NUMBER sulla piu recente | |||
* RIPRISTINO ESEGUITO: da 8.389 a 4.646 movimenti, da 1.743.096 a 702.043 euro | |||
* USATA la libreria google.cloud.bigquery al posto della CLI bq: la CLI perdeva le regex nei livelli di escaping e l UPDATE tornava False senza errore visibile | |||
* la libreria restituisce num_dml_affected_rows | |||
* 2026-09-16 22:21 UTC parcheggiato, assorbito in (analisi cantieri, claude): allievi_360_pipeline (gli strumenti esistono: classifica_*.py, controllo_contabile_completo in cron su media; il buco DA_CLASSIFICARE si segue li') | |||
* | ; Provato ed escluso : | ||
* Riclassificare a mano controparte per controparte come proponeva laltra chat: e lavoro gia fatto, 678 regole esistono. Il problema non erano le regole ma il campo vuoto | |||
* | * Fidarsi dei nomi di colonna italiani: il ledger usa date amount_src category description NON data importo categoria | ||
* | * Scrivere il marcatore nel campo note: e FLOAT64 non STRING, lUPDATE fallisce. Usare classifier_blob che e STRING | ||
* Riclassificare a mano controparte per controparte prima di aver popolato controparte_nome | |||
* | * Recuperare i nomi dai dati grezzi: recent_2026_raw ha sender valorizzato solo su 19 righe su 334 nel periodo, merchant zero. Il nome NON e nei grezzi | ||
* | * Il campo note e FLOAT64: usare classifier_blob per i marcatori | ||
* | * Solo 12 notifiche Wise nel periodo contro 113 movimenti: la posta copre una minoranza dei casi | ||
* Modificare la logica interna del passo classificazione del sync: rischioso e non necessario. Meglio un passo additivo dopo, che riapplica la fonte di verita classification_rules | |||
* | * Fidarsi di un ESITO FATTO senza ricontrollare il giorno dopo: era vero quando scritto e falso dodici ore dopo | ||
* | * Stringhe SQL con apostrofo (Spese per l ufficio): usare ScalarQueryParameter | ||
* | ; Prossimo passo : | ||
* | * Aggiungere alla sentinella notturna il controllo che DA_CLASSIFICARE non risalga | ||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
; Prossimo passo : | |||
* | |||
=== | == Chiusi == | ||
''Aggiornato 2026- | === prova_parcheggio_gate === | ||
''Aggiornato 2026-09-16 21:46 UTC'' — dominio: - | |||
; Obiettivo : | ; Obiettivo : prova del gate di chiusura | ||
; | ; Fatto (con prova) : | ||
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova | |||
* wiki riallineata dopo analisi cantieri 16/09 | |||
=== prova-pipeline-v2-0914 === | |||
''Aggiornato 2026-09-14 13:02 UTC'' — dominio: - | |||
; Obiettivo : Pagina di prova con Pipeline v2 (ipnosi non verbale) approvata da Marco e integrata nella fabbrica | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * 14/09: Doc in Per pagine https://docs.google.com/document/d/1BRZuJtqX_5Ov-HqjlK2MCylL2wqjRrj7PATS9lNExSA/edit?usp=drivesdk | ||
* | * strato 2-3 via prova_v2_run.py | ||
* | * falsi positivi M104.2 (chi guarda / ricorda spesso) e H2Q che conta H1+indice+FAQ+note | ||
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): pagina di prova gia approvata e integrata nella fabbrica | |||
* | ; Prossimo passo : | ||
* 1) correzioni di Marco sul Doc -> benchmark_regole.py valuta | |||
* 2) regole_deterministiche.py: M104.2 con controllo del modo verbale, H2Q solo sugli H2 veri | |||
* 3) fabbrica.py: prompt di stesura = Fasi 5-24 della v2, strati 2-3 a valle | |||
* | |||
=== espressioni-pipeline === | |||
''Aggiornato 2026-09-14 10:59 UTC'' — dominio: - | |||
; Obiettivo : Pipeline iterativa DB espressioni per tema (sguardo, estasi, magnetismo, influence, toucher, volonte, clairvoyance): motore scripts/espressioni_extract.py + espressioni_export_sheet.py + coda espressioni_pipeline.py; temi in scripts/espressioni_temi.json; stato in espressioni_db/<tema>/pipeline.json e registro.json; job espressioni-coda-1_run in corso; estasi-db_run in corso (estasi_db/). Per un tema nuovo: aggiungere voce al json e lanciare job.py --run "python3 /home/claudeuser/scripts/espressioni_pipeline.py --coda <slug>" | |||
; Fatto (con prova) : | |||
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): guscio vuoto (0 fatto, 0 passi): la pipeline esiste gia' (espressioni_pipeline.py, espressioni_temi.json, espressioni_extract.py) | |||
* | === bench-regole-0914 === | ||
* | ''Aggiornato 2026-09-14 05:15 UTC'' — dominio: - | ||
; Obiettivo : Benchmark iterativo delle regole vs finali di Marco; trovare la configurazione migliore | |||
; Vincoli in vigore : | |||
* Script /home/claudeuser/scripts/benchmark_regole.py (dataset|valuta|ottimizza|stato) | |||
* stato in /home/claudeuser/pillars/benchmark_regole/ (dataset.json, risultati.jsonl, config_*.json, STATO.txt). Punteggio = 0.6 giudice sonnet (vs finale Marco) + 0.25 lessicale + 0.15 gate deterministico. Tetto spesa per run --budget_usd | |||
* ottimizza oltre 2 USD richiede OK di Marco. Il registro ha 1176 regole (Marco ne cita 1700: verificare depositi non caricati). Solo coppie con note di Marco per default (--tutte per le altre) | |||
; Fatto (con prova) : | |||
* ( | * 14/09: script installato | ||
* catena piano bench-regole-0914 lanciata (dataset -> valuta base tetto 2 USD -> stato) | |||
* 14/09: Marco: una pagina sola per restare nel budget -> job bench_regole_ottimizza_1pag (persuadere naturalmente, 12 giri, tetto 1.8 USD) | |||
* gate deterministico normalizzato sulla finale | |||
* classifica per coppie selezionate | |||
* 14/09: regole_deterministiche.py (21 elementi: correzioni a valle + controlli) integrato nel benchmark (det_dopo) | |||
* | * su Persuadere: base 69.8 -> migliore senza det 84.5 -> det+chirurgo 86.2 | ||
* Doc risultati+pagine: https://docs.google.com/document/d/1kIPZUElTp1wxwWp7gHdKBYStxQilguL28kyS5ULnDMo/edit | |||
* | * 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): benchmark eseguito 14/09 (86.2 su 1 coppia); il seguito e' fabbrica-ingresso-config-vincente | ||
* | |||
* | |||
* | |||
* | |||
* | |||
* 2026-09-16 21:45 UTC | |||
; | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * con budget di Marco: job.py --run "python3 /home/claudeuser/scripts/benchmark_regole.py ottimizza --giri 8 --budget_usd 6" --id bench_regole_ottimizza_4pag (4 coppie con note) poi benchmark_regole.py report | ||
=== r103_giudice_ko === | |||
''Aggiornato 2026-09-13 21:20 UTC'' — dominio: infrastruttura | |||
; Obiettivo : R103 riprendi_chat - giudice dalla VM: KO glm-5.2: HTTP Error 401: Unauthorized | da media: KO glm-5.2: HTTP Error 401: Unauthorized. Il giudice non risponde da nessuna macchina: e' l'AIGW o la chiave. Cantiere r103_giudice_ko. | |||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): | * 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): superato dal pilota-custode-flash (modelli nuovi via OpenRouter, approvato 16/09) | ||
* | ; Prossimo passo : | ||
* cd /home/claudeuser/sovra && python3 -c "import riprendi_chat as r | |||
* print(r.modelli()) | |||
* print(r.esamina('prova'))" | |||
=== | === si1_proposer_target === | ||
''Aggiornato 2026-09- | ''Aggiornato 2026-09-11 22:31 UTC'' — dominio: infrastruttura | ||
; Obiettivo : | ; Obiettivo : SI-1: il proposer deve vedere il file target prima di scrivere replace/patch | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * 12/09: _ancora_al_target in proposer.py (EVOLUZIONE=SI-1-TARGET-CONTEXT): rilegge il file vero, chiede solo replace con find verbatim, 2 tentativi su 2 modelli, pending_reason con i tentativi se fallisce | ||
* 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 : | ; Prossimo passo : | ||
* | * osservare la corsa delle 16:27 UTC: python3 /home/claudeuser/self_improvement/pending_digest.py deve mostrare proposte ANCORATE e non solo pending | ||
=== | === prova_parcheggio_gate3 === | ||
''Aggiornato 2026-09- | ''Aggiornato 2026-09-11 13:59 UTC'' — dominio: test | ||
; Obiettivo : | ; Obiettivo : prova | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): cantiere di prova | |||
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * python3 /home/claudeuser/scripts/handoff.py --list | ||
=== | === prova_parcheggio_gate2 === | ||
''Aggiornato 2026-09-11 13:57 UTC'' — dominio: test | |||
''Aggiornato 2026-09-11 13: | |||
; Obiettivo : prova | ; Obiettivo : prova | ||
| Riga 1 809: | Riga 1 689: | ||
* python3 /home/claudeuser/scripts/handoff.py --list | * python3 /home/claudeuser/scripts/handoff.py --list | ||
=== pnl3-reverse-nlp-wiki === | |||
''Aggiornato 2026-09-09 00:18 UTC'' — dominio: Wiki pubblica | |||
=== 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 | ; Obiettivo : Pubblicare le 39 pagine del cluster PNL3/Reverse NLP su wiki.marcoparet.com | ||
| Riga 1 836: | Riga 1 707: | ||
; Prossimo passo : | ; Prossimo passo : | ||
* niente | * niente | ||
=== spedizione-2791-fasce-sentinella === | |||
''Aggiornato 2026-09-03 09:42 UTC'' — dominio: email | |||
; Obiettivo : Consegnare i 25063 rimanenti della campagna 2791 (riapertura_scuola_set2026) a fasce orarie e sorvegliare i blocchi | |||
; Vincoli in vigore : | |||
* Non toccare status campagna a mano: lo governa fasce_2791.py. Un solo invio per persona garantito da Mailwizz sulla stessa campagna. | |||
; Fatto (con prova) : | |||
* Controllore fasce_2791.py attivo (cron */5): fasce Rome 12-14/18-20/21-22:30, quota=pending/fasce rimaste, pausa automatica fuori fascia e a quota. Sentinella sentinella_blocchi.py (cron orario min 7): EMAIL a isicnv+marcoparet 'SONO FERMO'+ragione se consegne ferme in fascia attiva, cron mancante, mysql giu' o WeVideo PAUSA_AUTH | |||
* test email verificato in inbox (msg 1a066a5346134f12). Stato al deploy: 14082/39145 consegnate. | |||
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto (strumenti fasce_2791.py, fasce_sentinella.py, gate_fasce.py esistono) | |||
; Prossimo passo : | |||
* tail -20 /home/claudeuser/logs/fasce_2791.log && cat /home/claudeuser/fasce_2791_state.json | |||
=== pillar-next-queue-20260901 === | === pillar-next-queue-20260901 === | ||
| Riga 1 864: | Riga 1 748: | ||
* verificato md5 con allegati Ester | * verificato md5 con allegati Ester | ||
=== | === microcredential-passaggi-finali-ester-0109 === | ||
''Aggiornato 2026-09-01 | ''Aggiornato 2026-09-01 13:13 UTC'' — dominio: agritainment | ||
; Obiettivo : | ; Obiettivo : Mail Ester 01/09 Passaggi finali progetto (Gmail 1a05cc46495b99ba): RO ufficiale al posto del nostro, BG con indice riformattato, indice IT/EL tradotto; tutto online su greenagritainment.com R1 post 1175 | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* gate=auto | * gate=auto | ||
; Fatto (con prova) : | * nessuna domanda a Marco | ||
* | * backup prima di sostituire | ||
* 2026-09-16 21 | * verifica live prima di dichiarare fatto | ||
; Fatto (con prova) : | |||
* IT/EL/RO nostri gia online (01/09 mattina) | |||
* allegati Ester scaricati in tmp/mc/ester_0109 | |||
* DOCX sorgenti in tmp/mc e tmp/mc/out | |||
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto | |||
; Prossimo passo : | ; Prossimo passo : | ||
* 1| | * 1|RO ufficiale|backup di uploads/2025/09/Agritainment_Micro-Credential-Model_RO.pdf e uploads/deliverables/ (stesso nome) su greenagritainment.com (cPanel bsgvwjte, docroot /home1/bsgvwjte/greenagritainment.com/, uploader PHP cc-up-tmp51 se ancora presente, altrimenti ricrearlo), poi sostituire con /home/claudeuser/tmp/mc/ester_0109/Agritainment_Micro-Credential_Model_RO.pdf (file ufficiale del partner rumeno, mail Ester 01/09 id 1a05cc46495b99ba) | ||
* 2| | * 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 | ''Aggiornato 2026-09-01 13:13 UTC'' — dominio: crm | ||
; Obiettivo : | ; Obiettivo : Posta isicnv 14gg: risposte a persone (serve Marco/Ilaria, mai automatiche) | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=umano: risposte a terzi a nome di Marco | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * elenco in sovra/posta_isicnv_20260901.txt | ||
* 2026-09-16 21 | * 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto | ||
; Prossimo passo : | ; Prossimo passo : | ||
* | * 1|Stefania stefiffi@gmail.com|27/08 ha inviato modulistica, documento identita e bonifico e chiede conferma di ricezione (Gmail 1a043ef86214f558) | ||
* 2|Lucia Lovito|27/08 conferma presenza Roma 22-26 novembre (1a042f830372d96c): registrare in Streak/CRM | |||
* 3|Alejandro Banda ES|28/08 chiede certificacion mesmerismo y fascinacion (1a0495cbddd32504): lead ES per Salsina | |||
* 4|Ordine 2456 fallito|27/08 Ipnoanalgesia 79 EUR (1a042262c93b78e7), riuscito 2455 Nunziana Dibenedetto: verificare se 2456 e la stessa persona e se serve recupero | |||
=== | === r103-riprendi-chat-esaminatore === | ||
''Aggiornato 2026- | ''Aggiornato 2026-09-01 10:17 UTC'' — dominio: sovra | ||
; Obiettivo : | ; Obiettivo : riprendi_chat.py: esaminatore aigw risponde vuoto/non JSON con tutti i modelli; far funzionare esame e rilancio | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * gate=auto | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * R103 installato: cron */20 riprendi_chat.py, wrapper chiusura.py, END non verificato, filtro chat_controller | ||
* 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): assorbito in pilota-custode-flash | |||
; Prossimo passo : | |||
* | * 1|debug|curl aigw /v1/chat/completions con il prompt di riprendi_chat e stampare la risposta grezza (choices[0].message), controllare se il contenuto sta in reasoning_content o se aigw taglia per budget | ||
* 2|fix|adattare esamina() e rilanciare su S20260901-claudemicroc-1hkcl41 in --dry-run finche non produce JSON | |||
* | === cc-backup-timeout === | ||
''Aggiornato 2026-09-01 07:19 UTC'' — dominio: infrastruttura | |||
* | |||
; Obiettivo : cc_backup_failed dal 27/08 su gs://isicnv-command-center-routes: il tar scade sui prefissi grandi. Trovare il prefisso che sfora e spezzare il backup per prefisso invece di un tar unico. | |||
; Vincoli in vigore : | |||
* niente cancellazioni su GCS | |||
* il backup deve restare ripristinabile in un colpo solo | |||
* | * misurare prima con gsutil du -s per prefisso | ||
* | ; Fatto (con prova) : | ||
* memoria CC portata a 2Gi e autocura_cc.py in cron: gli OOM non sono piu la causa degli alert | |||
* | * 2026-09-16 21:45 UTC chiuso (analisi cantieri 16/09, claude): verificato 16/09: backup CC su gs://isicnv-cc-backup-secondary/daily/ presente 14, 15, 16 settembre (~39 MB) | ||
; Prossimo passo : | |||
* | * gsutil du -s gs://isicnv-command-center-routes/* per trovare il prefisso pesante, poi riscrivere lo script di backup a lotti | ||
; | === ordine-2455-ipnoanalgesia === | ||
* | ''Aggiornato 2026-08-31 14:20 UTC'' — dominio: marcoparet.net WooCommerce | ||
* | ; Obiettivo : Consegnare a Nunziana Dibenedetto (ritadb7920@gmail.com, ordine #2455, 79 EUR Stripe py_3U8xmiBJplFqfgbM1yIQ2r5z pagato 27/08 09:31) l'accesso al Corso di Ipnoanalgesia (prodotto 2332) e rendere automatica la consegna dei corsi monografici | ||
; Vincoli in vigore : | |||
* Email al cliente = azione esterna a nome di Marco: solo dopo che Marco indica il contenuto del corso. Endpoint ops: POST https://marcoparet.net/wp-json/isicnv/v1/ops header x-isicnv-key ops-8f3a2d19c7e44b6b9a1d5e7f0c2b3a41, azioni: ping|sql(SELECT)|order|resend_email|send_course_link|set_purchase_note|set_status|test_mail|option. File: mu-plugins/isicnv-ops.php via cPanel Serverplan Fileman (hmarcopl, cms026.cmshigh.com:2083). | |||
; Fatto (con prova) : | |||
* Diagnosi completa: pagamento reale e unico (2456 = tentativo fallito 5 min dopo, nessun doppio addebito). Prodotto 2332 non virtuale, senza download, senza purchase note, nessuna pagina/sottodominio/video collegato: la consegna era manuale via notifica a ily1975/isicnv e non e' avvenuta. Cliente ha scritto 3 volte (27/08 form Contatti, 28/08 form marcoparet.com, 31/08 form prodotto) senza risposta. Anche ordine 2426 (Nardoni, 11/05, stesso corso) e' fermo in processing e l'email isicnv del 11/05 10:35 e' vuota (solo firma). Deploy isicnv-ops.php v1.1 con hook woocommerce_payment_complete: se tutti i prodotti hanno purchase note -> ordine Completato + email con il link. wp_mail testato e verificato su Gmail isicnv (msg 1a058304ffa6be2e). | |||
* | * 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): Marco 17/09: fatto | ||
* | |||
* | |||
; Prossimo passo : | ; 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- | ''Aggiornato 2026-08-29 17:24 UTC'' — dominio: hosting/pillar | ||
; Obiettivo : | ; Obiettivo : Pipeline pillar con gate visivo browser reale prima della consegna | ||
; Vincoli in vigore : | ; 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) : | ; Fatto (con prova) : | ||
* | * Analisi 28/8: diff versioneA_6747 vs live. Persi: sezioni 'Cosa aspettarsi da una seduta', 'Le due forme del magnetismo', 'Il rapporto con la medicina' (con Ambito di pratica/Cosa non puo fare), hook apertura, ~7 citazioni dirette Paret (incl. Di Pisa). Salvati in /home/claudeuser/pillars/scorpori_crisi_mesmerica_6751.md | ||
* 28/8 sera: reintegro live su 6751 (hook, seduta, ambito/limiti, 3 citazioni Paret, ciclo in lista) verificato con curl, guardiano 232 grassetti 1/12.9, rilettore 0 rilievi. Pagina nuova 6818 le-due-forme-del-magnetismo PUBBLICATA con link incrociati. Sistema autonomo in scripts/: pill_lib.py, inventario_protetti.py, diff_perdita.py, potatura_sicura.py, architetto.py (con regola tema-cuore e snapshot), fabbrica_pagine.py + coda_temi.txt + cron lun 05:00 UTC (solo BOZZE). Test reale architetto: ha scorporato ciclo-delle-tre-crisi (bozza 6820), sezione ripristinata perche' tema-cuore, regola aggiunta. | |||
* | * 28/8 notte: DEFINITIVA su marcoparet.com/crisi-mesmerica/ (2965 parole, 221 strong bilanciati, rilettore 0 rilievi): fusi i filoni delle due chat dopo collisione, riapplicate regole di stile della chat brand perse, corretti 3 strong orfani, Arkeos ridotto a richiamo, FAQ asciugata, keyword a 8. Snapshot DEFINITIVA+inventario salvati. interchat.py operativo (memoria+wiki Bacheca_interchat+file): 2 messaggi inviati a chat brand | ||
* nota anche sul Google Doc strategia. Fabbrica: bozza EN mesmerism-training pid 6828 (draft, 0 rilievi) MA prodotta con memoria in 503 quindi senza materiale radicato | |||
* | * fabbrica patchata (retry x3 + marcatura senza-materiale) | ||
* 28/8 22:3x: Note finali riscritte (frasi duplicate, quarta ripetizione tre rami, rimando a articolo wiki inesistente sostituito con link reale stati-ipnosi-non-verbale). 2847 parole, strong 223/223, dedup 0 su 191 frasi. Nuovo controllo dedup_frasi.py agganciato alla fabbrica. Avvisata chat brand via interchat. | |||
* | * 28/8 23:0x: controllo_coda.py (lettura dal basso: dedup+link+AI) creato e agganciato alla fabbrica, su idea di Marco | ||
* ha gia' corretto la coda del crisi-mesmerica. Bozza 6828 mesmerism-training riscritta a mano con dati GSC (cluster ~350 impressioni), quote EN verificate, dedup 0, title SEO: resta DRAFT. Nota infra: CC connector degradato (503 su payload lunghi: workaround chunk idempotenti via exec-direct) | |||
* hostgator ssh throttling temporaneo (risolto con loop retry su VM). | |||
' | * 29/8: manuale operativo su wiki (Sistema_pagine_pillar) leggibile da qualsiasi modello via HTTP | ||
* prompt di continuazione consegnato a Marco e salvato nel Project | |||
* puntatore in memoria CC | |||
* avviso in bacheca a tutte le chat. | |||
* | * 29/8 pom: bridge MCP diagnosticato (era GIA' stateless: il blocco era il client ChatGPT che in chat normale invoca solo search/fetch). Bridge portato a v3.1 via /self-update (hot, backup su GCS): aggiunti tool search e fetch formato ChatGPT, con timeout interni (memoria degradata non blocca piu' la risposta). Testato: tools/list ok, search restituisce il manuale, fetch legge la bacheca. La chat coordinatrice ChatGPT ora legge il sistema dal connettore anche col browser rotto | ||
* | * per l'esecuzione le serve la modalita' sviluppatore ChatGPT, e le e' stato inviato in bacheca il protocollo completo sessione/commessa/journal/handoff (richiesta di Marco). Manuale aggiornato. | ||
* | * 29/8 pom (2): bridge v3.2 con auto-sessione (se session manca, il bridge la apre da solo): rimosso il bootstrap circolare segnalato dalla chat ChatGPT: cc_vm_exec via MCP senza session TESTATO ok sulla VM. Backup v3.1 su GCS. Manuale aggiornato, protocollo e sblocco comunicati in bacheca. | ||
* 29/8 sera: SECONDO MOTORE. stratega.py (cron dom 05:30 UTC): opportunita' da GSC, proposte in coda, questionari grounding su Drive (creati: pnl-ricalco e catalessi). bq_sink_cruscotto.py (cron 07:35 UTC): cruscotto -> BigQuery pillar_intelligence.metrics_giornaliere, 38 righe caricate al primo giro, registro auto-esteso, alert in bacheca. arricchitore.py in catena fabbrica: pagella video/immagini/JSON-LD/liste + --schema per Article/FAQPage. Pagelle attuali: 6751 e 6828 senza video/immagini/schema. pill_lib.wp con retry. NOTA: ssh hostgator in ban temporaneo (connection refused): WP in pausa. | |||
* | * ChatGPT coordinatore operativo completo. Draft 6828 mesmerism-training grounded con Q1 definitivo | ||
* resta draft | |||
* 0 duplicati | |||
* grassetti EN tarati a circa 1 ogni 12.7 parole senza alterare testo visibile | |||
* controllo coda finale completato con soli rilievi GEO/FAQ non bloccanti. Patch fail-safe pill_lib e guardiano: nessun update se upload non verificato. | |||
* PROVA BRIDGE: da questa chat ChatGPT, cc_vm_exec chiamato senza sessione esplicita ha eseguito sulla VM e restituito stdout AUTOSESSIONE_CHATGPT_OK con rc 0 | |||
* il gate ha poi assegnato la sessione S20260829-mcpchatgpt-1ul2nt6, usata per commessa e journal. PROVA PILLAR: draft 6828 mesmerism-training grounded con Q1 definitivo, resta draft, 0 duplicati, grassetti EN tarati circa 1 ogni 12.7 parole senza alterare testo visibile | |||
* controllo coda completato. Patch fail-safe pill_lib e guardiano impedisce update se upload non verificato. | |||
* 29/08: aggiunto controllo_visivo_pillar.py come ultimo gate della fabbrica | |||
* Playwright desktop+mobile sul contenuto WordPress finale | |||
* per post pubblicati verifica anche permalink reale | |||
* pid 6828 testo VISUAL_OK, vecchio URL preview bocciato 404 come atteso. | |||
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): il gate visivo esiste: controllo_visivo_pillar.py; il ciclo pillar vive nella fabbrica | |||
; Provato ed escluso : | ; Provato ed escluso : | ||
* | * potatura ulteriore automatica: toglie sostanza | ||
* scorporo del ciclo delle tre crisi dalla pagina madre | |||
* pubblicazione automatica dalla fabbrica | |||
* pubblicazione automatica | |||
* edit paralleli sullo stesso pid | |||
; Prossimo passo : | ; Prossimo passo : | ||
* | * Marco controlla il testo 6828 | ||
* prima di qualunque futura pubblicazione rilanciare tutti i gate incluso Playwright sul permalink reale. | |||
=== | === hermes-f3-matching === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-27 12:00 UTC'' — dominio: hermes | ||
; Obiettivo : | ; Obiettivo : F3 matching engine friction x articoli -> proposte nel daily | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * aigw con fallback qwen | ||
* | * load job non streaming | ||
* | * idempotente per giorno | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * matching_engine.py deployato e collaudato (3 proposte in hermes_proposals 26/08) | ||
* | * 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 * * * | ||
; Provato ed escluso : | * 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 : | ; 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-22 | ''Aggiornato 2026-08-26 22:34 UTC'' — dominio: pillar/wiki | ||
; Obiettivo : | ; Obiettivo : Bibliotecario a fiducia scalare per drift cifre nei pillar 10 lingue (arXiv 2608.12984) | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * deterministico, zero modelli | ||
* | * generazione e bonifica restano passi separati | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * bibliotecario.py installato in scripts/ e collaudato su VM (bozza errata=4 problemi, FR intercetta onze, corretta pulita) | ||
* 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 : | ; Provato ed escluso : | ||
* | * archi non persistiti nel grafo.json: il bonus va calcolato nel folding, non nel briefing | ||
; Prossimo passo : | ; Prossimo passo : | ||
* | * usare il bibliotecario sul primo pillar reale: raccogliere asserzioni da Oracolo 8085+Gallica+Doc canonici e agganciare --verifica come cancello pre-pubblicazione | ||
=== | === bridge-exec-isolamento === | ||
''Aggiornato 2026-08- | ''Aggiornato 2026-08-25 10:36 UTC'' — dominio: VM / infrastruttura | ||
; Obiettivo : | ; Obiettivo : Isolare stdout per invocazione nel bridge claude-agent (leak output tra sessioni) | ||
; Vincoli in vigore : | ; Vincoli in vigore : | ||
* | * backup service prima di toccarlo | ||
* | * testare con due sessioni parallele | ||
* | * MAI deployare senza canale di ripristino alternativo | ||
; Fatto (con prova) : | ; Fatto (con prova) : | ||
* | * Diagnosi completa 25/08: leak verificato tra sessione claudeanalis e headroomeval alle 09:23. Bridge = claude-agent.service, node pid 862 porta 8081. Escluse cause: sitecustomize (apport standard), usercustomize (llm_meter legittimo), agri_watch (linkwatch legittimo). Learning learning_1787653936523_1qid6h | ||
* | * FIX APPLICATO 25/08: agent.py v1.2-isolated deployato. Output per-invocazione su file temporanei unici + start_new_session, mai pipe condivise. Backup agent.py.bak_20260825, watchdog root /etc/cron.d/agent-watchdog (auto-rollback se 8080 muore), deploy via systemd-run in cgroup separato. Collaudo: background writer di cmd1 NON contamina cmd2, e i comandi con figli in background non bloccano piu exec-direct | ||
; Provato ed escluso : | ; Provato ed escluso : | ||
* TabICL in produzione (22s/849 righe su CPU, OOM con default su 3.9GB) | * patch immediato del bridge: rischio auto-lobotomia, serve canale ripristino pronto | ||
* /vm/task (runner CLI non autenticata) | ; Prossimo passo : | ||
* niente | |||
=== tesine-archivio === | |||
''Aggiornato 2026-08-24 00:13 UTC'' — dominio: fascicolo allievo | |||
; Obiettivo : Archiviare tesine/elaborati finali da Gmail isicnv e censire gli allievi storici | |||
; Vincoli in vigore : | |||
* dedupe su nomi normalizzati | |||
* nomi file: Titolo - Nome Cognome.ext | |||
* no UPDATE BQ uno-a-uno (timeout) | |||
; Fatto (con prova) : | |||
* 68 tesine nuove scaricate da 692 email esaminate | |||
* archivio GCS da 30 a 118 file | |||
* documenti BQ 32->120 righe | |||
* 56 allievi storici inseriti nel registry (91->147) | |||
* aggancio via UPDATE JOIN con tabella stage doc_map_stage | |||
* fascicolo_sync eseguito: 76 allievi completati con tesi | |||
; Provato ed escluso : | |||
* loop di UPDATE BQ uno per documento: timeout a 120s per query, inutilizzabile su 88 righe - sostituito da load stage + singolo UPDATE JOIN | |||
; Prossimo passo : | |||
* Rivedere 13 tesine orfane residue (nomi non estraibili dal filename) e 38 allegati ambigui in logs/tesine_harvest_result.json campo review | |||
* ripulire 3-4 file etichettati Marco Paret staff che sono conferme di discussione, non tesi | |||
=== marcoparet-lingua-video === | |||
''Aggiornato 2026-08-22 08:06 UTC'' — dominio: hosting-siti | |||
; Obiettivo : Recent Posts stessa lingua + audit traduzioni + sistema video YouTube 30% copertura | |||
; Vincoli in vigore : | |||
* mu-plugin trp-claude.php: leggere tutto prima di modificare | |||
* backup .bak.recentposts_fix esiste | |||
* HostGator php via SSH con SHORTINIT richiede wpdb diretto non update_post_meta | |||
; Fatto (con prova) : | |||
* 1) FIX RECENT POSTS VERIFICATO: patch pre_get_posts in trp-claude.php filtra query secondarie (Elementor Posts) per lingua pagina corrente | |||
* backfill _pll_lang su 98 post da suffisso slug + language detection titolo (script /tmp/backfill_v3.php su HostGator) | |||
* EN context ora OR(en,NOT EXISTS) | |||
* safety-net save_post auto-set da suffisso. Sidebar fascinazione-istantanea-sguardo ora mostra solo articoli IT. 2) AUDIT PLAYWRIGHT COMPLETATO: /home/claudeuser/scripts/mp_translation_audit.py, report /tmp/mp_translation_audit.json, 31/35 OK | |||
* FAIL reali solo photo-gallery e certified-practitioners quasi vuote | |||
* /zh/ falso positivo (sito usa /zh-tw/ che funziona) | |||
* -en falsi positivi (markers EN mancanti nello script). 3) VIDEO MATCHER deployato /home/claudeuser/scripts/video_matcher.py, --plan in esecuzione: matching argomento (BQ catalogo_arricchito tema/argomenti/sintesi) x qualita (rutube_migration_queue eng_score/views), max 2 usi per video, caption check YouTube API, output BQ marketing.video_article_assignments | |||
* BATCH VIDEO COMPLETATO 22/08: 250 articoli iniettati (top score), 0 errori. Copertura 303/900=34%. Spot check live OK. Cleanup: 2 duplicati veri in trash (ja-draft-2/-4) | |||
* i -2 sono traduzioni di articoli diversi (slug troncati dal publishing). Cache purgata. Scripts permanenti in /home/claudeuser/scripts/: video_matcher.py, inject_from_plan.py, mp_translation_audit.py | |||
; Provato ed escluso : | |||
* update_post_meta con SHORTINIT crasha silenziosamente (funzione non caricata) - usare wpdb->insert | |||
* nohup php su HostGator viene killato dopo ~40 righe - girare sincrono con timeout 50 | |||
* /memory/search da 503, usare /memory2/search | |||
* /bq/query vuole campo sql non query | |||
; Prossimo passo : | |||
* Opzionale piu' copertura: inject_from_plan.py 100 --min-score 0.03 (320 assegnazioni residue). Fix publishing flow (slug troncati + _pll_lang). Contenuti photo-gallery/certified-practitioners. | |||
=== propensity-scoring-allievi === | |||
''Aggiornato 2026-08-12 10:54 UTC'' — dominio: BigQuery / dati | |||
; Obiettivo : Lead scoring predittivo: colonna propensity_allievo in contatti_master, job notturno | |||
; Vincoli in vigore : | |||
* MERGE tocca solo colonne propensity | |||
* MERGE a lotti annuali (limite 4000 partizioni) | |||
* score relativo non calibrato | |||
; Fatto (con prova) : | |||
* Benchmark TabICL 0.9727 vs XGBoost 0.9623 | |||
* script propensity_allievo.py | |||
* primo run 251550 righe in 229s | |||
* cron 05:15 | |||
* wiki + learnings + memoria | |||
; Provato ed escluso : | |||
* TabICL in produzione (22s/849 righe su CPU, OOM con default su 3.9GB) | |||
* /vm/task (runner CLI non autenticata) | |||
; Prossimo passo : | ; Prossimo passo : | ||
* niente - chiuso. Opzionali: fix /vm/task, calibrazione score, sheet settimanale Ilaria | * niente - chiuso. Opzionali: fix /vm/task, calibrazione score, sheet settimanale Ilaria | ||
=== referenze-canon === | |||
''Aggiornato 2026-08-10 20:26 UTC'' — dominio: Referenze E-E-A-T | |||
; Obiettivo : VIA eseguito: pubblicazione dossier referenze | |||
; Fatto (con prova) : | |||
* 3 tabelle BQ (canon 31, libri 12, citazioni 30) | |||
* 3 pagine rassegna LIVE su neurolinguistic.com/referenze/rassegna/ (lastampa-2002, autostima-ipnosi-shock, donnad) con screenshot-verify OK | |||
* job wayback_rassegna programmato +4h con retry | |||
* NGH/NFNLP/ministero-psicoterapeuti/sindacato-FR integrati in pagina+llms+canon | |||
* GCS docs/referenze/ sincronizzato | |||
* Sheet 1COwn3BXgkzFmKTujVimzCX_X5P_1Q1a_uL2CfEt27oM con 3 tab | |||
* canon 43 righe | |||
* scoperta portfolio marchi (EMDR=EMF di Marco, TimeLine, Ipnorapport, visura 1996) | |||
* Ivinghoe registrata subordinata ad Anneville | |||
* LIVE verificati con shot e vista: /referenze-marco-paret/ entity home con Australia+Pandiscia integrate | |||
* /llms.txt con backup del precedente su GCS llms_backup_pre_referenze.txt | |||
* /referenze/ con 4 PDF: apca, uibm-1999 redatto con CF e indirizzi coperti verifica visiva OK, oradea-2024 redatto 3 box, sinape-2025. Wayback in coda Hetzner +1h. Canon stati aggiornati a pubblicato | |||
* 2026-09-16 22:21 UTC chiuso (analisi cantieri, claude): obiettivo dichiarato 'VIA eseguito: pubblicazione dossier referenze' | |||
; Provato ed escluso : | |||
* stampa2=duplicato La Stampa | |||
* Eminen Stell non finanziata | |||
* Marie Claire non trovata | |||
* pirateria Scribd+forum RU segnalata | |||
* duplicati byte-identici nei TIF marchi | |||
* deed Ivinghoe NON trovato in Drive ne foglio, stato da_documentare | |||
* llms sugli altri 4 domini non ancora | |||
; Prossimo passo : | |||
* 1 llms.txt su marcoparet.com .net mesmerismus mesmerismonline da access_howto | |||
* 2 blocco head 244 pagine RAIDA | |||
* 3 leggere log Hetzner wb_retry e gb | |||
* 4 TIF marchi estrazione | |||
* 5 rigenerare Sheet dal canon | |||
[[Categoria:Domini operativi]] | [[Categoria:Domini operativi]] | ||