Commit di soli dati dalla produzione: le pagine le scrive cron_daily e la revisione cron_review, nessun cron le committa (commit a mano da sempre). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
10 KiB
Revisione settimanale — 2026-09-21
Scritta il 2026-09-21T06:15:02Z 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 — 9 numeri non presenti nel materiale: 2253, 3.83897, 4.55027, 5.8, 6333, 75.7075, 80.907, 871, 9915.
Sintesi
- URGENTE (credenziali, operatore). L'ombra di TradingBook gira ogni ora con la stessa chiave che manda gli ordini del libro. La garanzia che non invii è solo il codice (CLAUDE.md §1 OMBRA: «la chiave può fare trading»). La chiave di sola lettura può crearla solo l'operatore. Nel materiale non c'è traccia che esista, e la finestra d'ombra dura fino al 30/09.
- Il libro è sano sui numeri: 24/24 giri ogni giorno dal 14/09 al 20/09. Equity, trading cumulato e conteggio dei round-trip si riconciliano giorno su giorno, per sottrazione mia, senza scarti. I versati ($3.838,97) coincidono con
movimenti_dichiarati.jsonlpiù i $1.399,39 del 25/08. cc01_regime_watchè morto ogni notte dal 03/09 al 16/09 senza che nessuno lo vedesse (commita6a49d9).edge_watch,fee_watch,scale_watch,venue_watch,vrp_f_watchevenue_newsnon compaiono nella tabellamonitor_healthdel materiale. Due di loro reggono una decisione vincolante e il kill del libro.- Il gate STATARB si legge fra 6 giorni, domenica 27/09. Le soglie non sono scritte in §4 e la prossima revisione cade il 28/09, dopo la lettura.
- Da due pagine di giornale l'analista segnala due anomalie senza risposta: le Note dell'operatore sono vuote 7/7 e non c'è nessun commit dopo il 17/09.
Cosa non torna
| # | Cosa | Fonte | Tipo |
|---|---|---|---|
| 1 | Sorveglianti fuori da monitor_health. Il guasto di cc01 (from src.live.cli) parte il giorno dopo la riparazione del debito 16 del 02/09 (cli.valida in ogni script), e test_cli_flag.py non l'ha visto. La tabella monitor_health copre 10 voci, fra cui nessuno dei sorveglianti elencati nella Sintesi. Eppure §3 (fee) dice «fee_watch allerta da solo», e in §4 lo stato di edge_watch è del 27/07. |
commit a6a49d9, 31f5915; CLAUDE.md §5.16, §3, §4; tabella monitor_health |
Misurato: gli assenti dalla tabella. Dedotto: che possano essere morti allo stesso modo. |
| 2 | Round-trip maggiori dei fill. L'11/09 sono 13 su 8, il 15/09 sono 11 su 8. L'analista lo segnala due volte. Il 20/09 il rapporto si rovescia: 1 round-trip su 5 fill. Può essere l'abbinamento a lotti, ma nessuno l'ha verificato. | giornali 16/09, 17/09, 20/09 | Misurato il conteggio, non determinabile la causa. |
| 3 | Capitale sbagliato nelle istruzioni dell'analista. «La taglia di capitale scritta nelle istruzioni dell'analista non coincide con l'equity della pagina.» È un valore ridichiarato invece che derivato, cioè la forma di P1. | giornali 16/09 e 18/09; CLAUDE.md §6 P1 | Misurato dall'analista, non da me. |
| 4 | Il P&L di SKH01 non è attribuibile. Il 15/09 SKH01 va SHORT a 75.707,5 e BTC netto scende da $+689 a $+129, con realizzato −22,53. Il 18/09 SKH01 è flat, BTC chiude a $80.907,00 e il realizzato è solo −0,70. Col netting in software, l'uscita dello short è un riacquisto di long e il suo costo non appare in nessun «realizzato». SKH01 è «il meno affidabile dei cinque» (§2) e pesa 25%, ma dal giornale la sua resa live non si misura. | giornali 15-18/09; CLAUDE.md §1, §2 | Dedotto dal meccanismo di netting. |
| 5 | Giornali 17-20/09 non committati. Dopo 8007158 non c'è nessun commit. Le pagine 10-15/09 erano già entrate in blocco (e42ab53). docs/journal non è nell'elenco di backup di §7, e l'Analisi del modello non è ricostruibile (P11). |
git status; CLAUDE.md §7 | Misurato. |
| 6 | §2 invecchiato sul libro live. «Esposto 14 giorni su 64, max 0,52x» è scritto al giorno 64. Oggi il campione è di 89 giorni e il libro è a mercato in tutte le pagine lette. La riga TWR (+6,66%, +$13,82, lettura 10/09) sta oggi a +8,71% e +$99,15. Il 69% di questi $99,15 cade negli ultimi 7 giorni: è un evento, non un tasso, e non va promosso a «numero da citare». | CLAUDE.md §2; giornale 20/09 | Misurato. |
| 7 | Contraddizione interna a §1. Nella parentesi sull'autorità dei parametri si legge «tetto ALLERTA quota 50%», ma nello stesso paragrafo e in config quota_max_frac è 0,85 (M28). C'è anche una frase spezzata: «dopo un bonifico si **dal 10/09 lo fa…». |
CLAUDE.md §1; config usde |
Misurato. |
| 8 | Annuncio Deribit non letto. venue_news ha registrato il 16/09 «Deribit Launches Its Biggest-Ever Product Expansion» con match: []. Un'espansione di prodotto può toccare margini, strumenti o collaterale senza contenere le parole chiave. Il debito 8 (Rulebook non sorvegliato) resta aperto. |
venue_news.jsonl; CLAUDE.md §5.8 | Dedotto. |
| 9 | Revisioni saltate o dubbie. Quella del 14/09 è «NON eseguita, limite Fable», quella del 16/09 ha «esito sospetta». Il testo non è nel materiale, quindi non posso dire se i loro punti siano stati chiusi. | commit e42ab53 |
Non determinabile. |
Sul cuscino: la quota USDE è 0,6333 (usde_watch 20/09), sotto il bersaglio 0,64, e cuscino_watch risulta OK in monitor_health. Lo slack corrente non è determinabile, perché il registro di cuscino_watch non è nel materiale.
Cosa e' maturo da decidere
| Gate o scadenza | Data | Criterio scritto | Stato nel materiale |
|---|---|---|---|
| STATARB | 27/09 (fra 6 giorni) | «soglie 24/07 (non toccate) + diagnostica statica sempre-short» | Il monitor registra (OK). Lo Sharpe più recente che ho è −1,61 del 26/08. Le soglie numeriche non stanno in §4. Non anticipo il verdetto. Da decidere prima: chi lo legge domenica, e da quale documento prende le soglie. |
| Finestra OMBRA | 30/09 | Nessun criterio di esito scritto: §1 cita solo lo strumento di confronto. | Esito dei confronti non nel materiale. Senza un criterio dichiarato prima, il 30/09 si decide guardando l'esito, e §4 lo vieta per i gate. Decide l'operatore. |
| XSR01 · kill DVOLSPREAD | 23/10 · 24/10 | §4 | Cadono a 32 e 33 giorni, appena fuori dalla finestra dei 30. Entrambi i monitor sono OK. |
| USDE-01, PROP-01 | passati | — | Chiusi (§4). La frase «quota_da_decidere() lo chiede ogni giorno da lunedì» è superata dalla quota decisa il 10/09. |
vrp_f_watch |
— | criteri (a) e (b), §5.18 | pairs 30 (erano 28/40 il 09/09), esclude_zero true, ready false. Nessuna azione: la decisione §3 sul short-vol non è riaperta (IV-rank 0,03 e 0,13 contro 0,30, giornale 20/09). |
Le soglie di capitale ($15k GTAA01, $20k) non sono toccate: il watermark è $4.550,27.
Proposte (nessuna azione eseguita)
- Operatore: crei la chiave Deribit di sola lettura per l'ombra (§1) e dichiari entro il 30/09 il criterio con cui la finestra si chiude.
- Agente: verifichi che ogni script lanciato da
cron_dailye dagli altri cron termini davvero, non solo cc01. Valuti anche di portare sottomonitor_healthi sorveglianti che reggono una decisione (fee_watch,edge_watch,scale_watch), e di aggiornare in §4 lo stato diedge_watch. - Agente: riporti in §4 le soglie STATARB del 24/07, copiate verbatim dalla fonte e senza toccarle, prima del 27/09.
- Agente: apra una issue per ciascuno dei punti 2 e 3 della tabella «Cosa non torna»: l'abbinamento dei round-trip e il capitale nel prompt dell'analista, che andrebbe derivato.
- Attribuzione del P&L per sleeve (registro virtuale TP01/SKH01 accanto al netto). È strumentazione, non una strategia. Prima di proporla va verificato in
docs/memory/40-produzione-e-deploy.mdse è già stata valutata. - Operatore o agente: legga l'annuncio Deribit del 16/09, così da confermare che non tocchi i perp USDC, i margini X:SM o l'USDE.
- Agente: committi i giornali 17-20/09, chiarisca se il commit è automatico o no, e corregga §1 (50% contro 0,85, frase spezzata) e le due righe «live» di §2.
Cosa ho letto e cosa mi mancava
Letto: CLAUDE.md per intero, config/live.json, crontab, git log dal 07/09 e git status, tabella monitor_health, gli stati di scale_watch, vrp_f_watch, usde_watch, usde_convert, balance_watch, venue_news, movimenti_dichiarati e equity_seen, i giornali dal 14/09 al 20/09. Nessun diario della settimana era nel materiale.
Mi mancava:
- il testo delle revisioni del 09/09 e del 16/09, per seguire i punti ancora aperti;
- gli ultimi record di
cuscino_watch,edge_watch,fee_watchevenue_watch; - lo Sharpe corrente e il numero di barre dei quattro forward-monitor (STATARB soprattutto);
- le soglie STATARB del 24/07;
- l'output di
confronta_giornata.pydell'ombra; - il giornale dell'11/09, citato dall'analista;
- l'ora e il prezzo d'uscita dello short SKH01 del 15-18/09;
- l'n corrente di
usde_watch.rendimento(); - l'elenco degli script chiamati da
cron_daily, con il loro codice d'uscita.
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) | 87,916 | |
| config/live.json (unica autorita' dei guardrail live) | 8,439 | |
| crontab installata (crontab -l) | 1,860 | |
| git log dal 2026-09-07 + stato del working tree | 1,775 | |
| monitor_health (i forward-monitor stanno registrando?) | 717 | |
| stato scale_watch_state.json | 149 | |
| stato scale_history.jsonl (ultime 3) | 259 | |
| stato vrp_f_watch/state.json | 452 | |
| stato usde_watch.jsonl (ultime 3) | 1,399 | |
| stato usde_convert.jsonl (ultime 3) | 9,520 | |
| stato balance_watch.jsonl (ultime 2) | 583 | |
| stato venue_news.jsonl (ultime 5) | 1,571 | |
| stato movimenti_dichiarati.jsonl | 1,101 | |
| stato equity_seen.json (watermark) | 74 | |
| giornale 2026-09-14 | 3,736 | |
| giornale 2026-09-15 | 3,731 | |
| giornale 2026-09-16 | 3,809 | |
| giornale 2026-09-17 | 3,816 | |
| giornale 2026-09-18 | 4,055 | |
| giornale 2026-09-19 | 3,774 | |
| giornale 2026-09-20 | 3,767 |