- src/live/revisione.py: materiale (CLAUDE.md, config, crontab, git, monitor_health, stati dei sorveglianti, 7 g di giornale e diari, ~195k caratteri), prompt con dieci regole (sola lettura, fonte per ogni segnalazione, solo numeri del materiale, §3 non si ripropone, idee nuove solo citando la memoria, gate con data e criterio), guardia sui numeri, rapporto firmato (P13), Telegram = Sintesi con taglio dichiarato; modello muto o risposta senza titoli -> rapporto «NON eseguita» + 🚨 (P5). - scripts/live/revisione.py (guardia cli.valida, --secco/--no-telegram/--quiet/--giorno/--modello), scripts/cron_review.sh, crontab `15 6 * * 1`. - primo giro reale: il prompt su argv moriva con `Argument list too long` senza rapporto ne' allerta -> prompt su stdin, ogni eccezione diventa errore dichiarato; `analista.pulisci` toglieva i titoli. Secondo giro: docs/revisioni/2026-09-09.md, stato sospetta (cifre in formato italiano), nessun URGENTE. - scartati con la memoria: autoregolazione dei parametri, generazione automatica di strategie, macro da internet (diario 2026-09-09c, memoria 40). - test: tests/test_revisione.py (18) + 2 in test_cli_flag; suite 1031/1031. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjj5vPEBoAJrB23P6RjKzs
9.1 KiB
Revisione settimanale — 2026-09-09
Scritta il 2026-09-09T21:59:07Z dal modello claude-fable-5-1, revisore diverso dall'autore del codice, in SOLA LETTURA: nessun file del repo, nessuna config, nessun ordine e' stato toccato. E' l'opinione di un lettore fallibile (P13): ogni numero e ogni proposta vanno verificati alla fonte prima di agire. Guardia sui numeri: sospetta — 11 numeri non presenti nel materiale: 1.011, 1.341, 1.38279, 1.40085, 2.034, 2.43408, 4.47099, 4.47746, 400, 40008, 6879.
Sintesi
Revisione del 2026-09-09 21:59Z (primo giro, manuale: il cron e' del lunedi'). Nessun URGENTE. Nella settimana 02-08/09 il libro ha fatto 24/24 giri ogni giorno con feed SKH a 0 min, leva lorda 0,26x, equity $4.477,46 e TWR +7,41% (giornale 08/09). Tre cose da verificare, in ordine:
usde_watchdel 07/09 ha stimato un reward di 400,08 USDE, dove i giorni normali (08-09/09) danno 0,38. E' la differenza fra i 2.434,08 USDE entrati e i 2.034,0 contati come trade, conn_tradesfermo a 50. Il registrousde_convert.jsonlmostra 8 + 30 + 16 = 54 ordini: ne mancano 4 da 100 = 400. Un lettore che vede al massimo 50 trade attribuisce al reward cio' che era un acquisto (D2, P2). Serendimento()usa quella finestra, il tasso chequota_da_decidere()stampa ogni giorno e' inquinato.- Il cuscino USDC (debito §5.17) resta senza sorvegliante, e la sua misura non e' definita: a
balance_watch21:42Z l'USDC ha balance 1.400,85 ma equity 1.382,79; con l'equity totale 4.470,99 (watermark) il cuscino al 30% vale ~$1.341, quindi lo slack e' +$59 sul balance o +$41 sull'equity USDC. Quale dei due conta va deciso prima di scrivere il sorvegliante. - Operatore: il versamento di $2.410,14 del 04/09 e' solo rilevato (salto 13:47→14:47);
movimenti_dichiarati.jsonlcontiene il solo €25 del 25/08 e la Nota di giornale e' vuota 7/7 giorni. CLAUDE.md §2 chiede la dichiarazione il giorno stesso, e §1 («soldi fermi») dice ancora «in attesa di importo e data» per il piano €5.000: non si capisce se il 04/09 ne e' il primo pezzo.
Cosa non torna
- «2.434 USDE in 39 ordini» (diario
2026-09-06-usde-quota-topup§3, CLAUDE.md §1) non si riproduce dal registro: 8 ordini nel primo record, 30 eventi nella prima sonda, 16 nella seconda. Il totale USDE torna, il conteggio no (N11). - Haircut, due affermazioni opposte in CLAUDE.md §1 (M28): una dice che il 5% e' confermato dal passaggio a X:SM (
available_funds$2.011,09 contro $2.010,90 attesi con haircut 5%); poche righe sotto «oggi comunque non si applica», frase del mattino del 31/08 sotto S:SM.config/live.json_nota_usdedice ancora «il modello ATTIVO e' Segregated» e giustificadepeg_crit 0.95come «meta' del buffer di haircut (10%)»: col 5% il criterio dichiarato (P6) non descrive piu' la soglia, e la nota e' una diagnosi cablata (P4). - GATE SCALA-01: data e condizione A2 non concordano (CLAUDE.md §4). «Non prima del 2026-10-01» sono 30 giorni dal 01/09; A2 chiede k0 «≥180 g col criterio passato ogni giorno», e il criterio lo misura solo
scale_watch, attivo dal 01/09 (scale_history.jsonl). 180 giorni dal 01/09 cadono nel 2027; dal 20/06 a fine 2026. Da quando si conta va chiarito prima del 01/10, non quel giorno. - Sorveglianti di cui il materiale non prova il funzionamento (P5):
venue_news.jsonlha 5 voci tutteseed: trueviste il 2026-08-31T07:40Z e nulla dopo;scale_watch_state.jsonnon ha timestamp (streak 0 puo' essere «non ho girato»);edge_watche' citato a «stato 27/07» (CLAUDE.md §4);fee_watchnon compare.monitor_healthcopre 8 monitor, nessuno di questi quattro. - Data di arming: CLAUDE.md §0 «LIVE dal 2026-06-20»,
config/live.json«ARMATO 2026-06-23», primo segmento TWR dal 2026-06-23 (diario2026-09-02-debito-14). Una delle tre non e' la stessa data. - Richieste dell'analista senza risposta: i 4 fill del 03/09 («dovrebbero essere ri-taglie»), la conferma del versamento 04/09, il SELL $−7 del 06/09, il round-trip a $+0,00 con fee 0,0055 del 08/09. Nessuna Nota. Non e' un guasto: e' un canale che non chiude (N9).
- CLAUDE.md §13 dice 1.011 test; il diario
2026-09-09cne aggiunge 16 (test_revisione.py). Escripts/cron_review.sh,scripts/live/revisione.py,src/live/revisione.pysono??ingit statusmentre la crontab li chiama lunedi' 06:15 (P16 li fa girare, P11 non li salva).
Cosa e' maturo da decidere
| gate | data | criterio scritto | stato nel materiale |
|---|---|---|---|
| STATARB | 2026-09-27 (fra 18 g) | soglie 24/07 + diagnostica sempre-short | monitor OK; Sharpe −1,61 al 26/08, nessuna lettura piu' recente. Si legge il 27/09 |
| SCALA-01 | non prima del 2026-10-01 (22 g) | 9 condizioni tutte necessarie | A8/A9 fatti; A2 non maturo e ambiguo (sopra); A3, A6, A7 non risultano fatti |
| USDE-01 | chiuso 28/08 | — | quota 68,79% (09/09) sotto quota_max_frac 0,85: dentro la decisione dell'operatore del 30/08 e 06/09 |
| PREVDAY-01 | senza data | 10 condizioni, 8/10 | N10: un gate senza data non si chiude |
XSR01 (23/10) e DVOLSPREAD (24/10) cadono oltre 30 giorni. edge_watch e' continuo ma l'ultimo stato e' del 27/07: non determinabile se sia ancora 8/8.
Decisioni dell'operatore, oggi: (a) dichiarare il 04/09; (b) dire se il piano €5.000 e' iniziato; (c) definire il cuscino (balance o equity USDC). Nessuna decisione di §3 ha la colonna «cosa la riapre» soddisfatta: weights_tilt_null fallisce ancora (26/07, in-sample); il crollo catturato e' a vol bassa, sotto il gate e inverse (diario 09/09 §2).
Proposte (nessuna azione eseguita)
- Agente: verificare in
usde_watchil limite di lettura dei trade e comerendimento()tratta la finestra del 07/09; rigenerare la stima con i 54 ordini (P2). - Agente: riallineare
_nota_usde(modello attivo X:SM, criterio didepeg_crital 5%,venue_cap_fracnull) e sciogliere la contraddizione di §1 datando le due frasi (M28). - Agente + operatore: il sorvegliante del cuscino e' gia' descritto in §5.17 (
USDC − cuscino_richiestoderivato da config, P1); manca solo la scelta balance/equity. - Agente: uno stato senza timestamp non distingue «zero» da «non ho girato» (P5):
scale_watch_state.jsonevenue_newsmeritano l'ora dell'ultimo giro, e i quattro sorveglianti fuori damonitor_healthuna riga li'. - Agente: committare i file della revisione, aggiornare il conteggio test.
- Operatore: dare una data a PREVDAY-01 o chiuderlo (N10).
- Nessuna idea di strategia: la settimana ha gia' misurato crolli, opzioni e XRP contro
20-ondate(diario 09/09 §0) e non ho nulla che batta i motivi elencati li'.
Cosa ho letto e cosa mi mancava
Letto: CLAUDE.md intero; config/live.json; crontab; git log dal 26/08 e status; monitor_health; stati di scale_watch, scale_history, vrp_f_watch, usde_watch, usde_convert, balance_watch, venue_news, movimenti_dichiarati, watermark; giornali 02-08/09; diari 02/09 (tre), 06/09, 09/09 (tre).
Mancava: (1) stato con timestamp di edge_watch, fee_watch, venue_watch, scale_watch; (2) l'output di usde_watch.rendimento() e quota_da_decidere(); (3) la lettura corrente di paper_statarb (Sharpe a oggi, non al 26/08), dvolspread, xsr; (4) il contenuto di cron_daily.sh, cioe' quali sorveglianti chiama; (5) venue_news dopo il 31/08; (6) il diff di CLAUDE.md e memoria 40 non committati; (7) il registro fill della settimana (per i 4 fill del 03/09 e il +0,00 del 08/09); (8) un registro depositi del gateway, che «non espone get_deposits».
Firma e materiale
- revisore:
claude-fable-5-1· cadenza settimanale · giornale 7 g · diari 7 g · commit 14 g - scritto da
scripts/live/revisione.py(cronscripts/cron_review.sh); l'unico file scritto e' questo
| voce | caratteri | troncata |
|---|---|---|
| CLAUDE.md (stato, book, numeri, decisioni vincolanti, gate, debiti, regole) | 80,310 | |
| config/live.json (unica autorita' dei guardrail live) | 7,184 | |
| crontab installata (crontab -l) | 1,312 | |
| git log dal 2026-08-26 + stato del working tree | 4,543 | |
| monitor_health (i forward-monitor stanno registrando?) | 522 | |
| stato scale_watch_state.json | 149 | |
| stato scale_history.jsonl (ultime 3) | 259 | |
| stato vrp_f_watch/state.json | 453 | |
| stato usde_watch.jsonl (ultime 3) | 1,339 | |
| stato usde_convert.jsonl (ultime 3) | 9,979 | |
| stato balance_watch.jsonl (ultime 2) | 578 | |
| stato venue_news.jsonl (ultime 5) | 1,564 | |
| stato movimenti_dichiarati.jsonl | 405 | |
| stato equity_seen.json (watermark) | 73 | |
| giornale 2026-09-02 | 3,824 | |
| giornale 2026-09-03 | 3,745 | |
| giornale 2026-09-04 | 3,999 | |
| giornale 2026-09-05 | 3,645 | |
| giornale 2026-09-06 | 3,630 | |
| giornale 2026-09-07 | 3,846 | |
| giornale 2026-09-08 | 3,765 | |
| diario 2026-09-02-debito-14-report-twr.md | 6,952 | |
| diario 2026-09-02b-debito-7-cadenza-docstring.md | 6,061 | |
| diario 2026-09-02c-flag-e-pulizia.md | 5,874 | |
| diario 2026-09-06-usde-quota-topup.md | 6,571 | |
| diario 2026-09-09-crolli-opzioni-monete.md | 17,894 | |
| diario 2026-09-09b-debito-18-cblib-causale.md | 14,150 | |
| diario 2026-09-09c-revisione-settimanale.md | 5,514 |