Files
Encelado/Encelado/docs/STATE.md
T
Alby96andClaude Fable 5.1 aaec965241 5.0 Fase 3: kill-switch che chiude davvero e ripristino in cinque passi
Il kill-switch della 4.0.0 chiudeva gli slot, non le posizioni, e «riusciva»
con venti gambe ancora sul conto. Ora annulla gli ordini senza esito e ne
attende la risoluzione, chiude basket, gambe in attesa e orfane (le esterne
solo su richiesta o con risk.closeForeignOnKill), rilegge il conto finché le
posizioni del bot non sono sparite e, se qualcosa resta, dichiara
Halted-Residuo con l'elenco invece di «tutto chiuso». Il reset è una procedura
in cinque passi (stato, file STOP, motivazione, riconciliazione con
riscaldamento e picco, ripartenza con entrate bloccate) rifiutata finché il
conto non è piatto. INotifier per le notifiche della Fase 5. Test (v)-(x).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-23 11:08:47 +02:00

3.3 KiB

Stato del lavoro

Aggiornato: 2026-09-23 (sessione 5.0, Fasi 0-3 concluse).

Fase in corso

Piano 5.0, Fase 4 (docs/PIANO_5.0.md). Le Fasi 0-3 sono committate: post-mortem, registro degli ordini, stati PendingA/PendingB, classificazione e chiusura delle orfane, picco al netto dei movimenti di cassa, bonifica, limiti di margine, kill-switch con verifica di piattezza e reset in cinque passi. La «correttezza dell'esecuzione» richiesta dalla regola finale del piano è coperta: il Demo può ripartire per le 24 ore di verifica (contatore «orfane» a 0, orders.jsonl senza Unknown irrisolti, sizing_bound = margin sui primi ingressi), e la prova manuale del kill-switch con verifica di piattezza va fatta in quella sessione.

Fatto nell'ultima sessione (2026-09-23)

  • Fase 0: diagnosi verificata sul codice e sul conto demo via API (sola lettura): referenceID nullo sugli ordini v2 (ecco il 404), 21 gambe orfane del 16-21/9 chiuse a mano il 21/9, primi due ordini a 100 % del margine, poi ordini ridotti dal server a 2 000 USD di margine. Endpoint per orderId e cancellazione verificati (D-26, D-27). docs/PIANO_5.0.md, docs/POSTMORTEM_ordini_pendenti.md, docs/QUESTIONS.md D-26…D-37.
  • Fase 3: FlattenProcedure (annulla, chiudi, verifica), kill-switch che chiude basket + gambe in attesa + orfane (esterne opzionali) e dichiara Halted-Residuo quando il conto non è piatto, comando residuo, reset in cinque passi rifiutato con residui, INotifier; test (v)-(x); 204 verdi.
  • Fase 2: sezione risk, sizing = min(rischio, margine) con sizing_bound/marginUsd nel ledger, ricontrollo del disponibile prima della gamba B, esecuzione dei segnali per |z| con rilettura del conto, margin guard, backtest con gli stessi limiti; test (y), (z); 196 verdi.
  • Fase 1: OrderTracker + pending_orders.json + orders.jsonl; EtoroBroker.OpenAsync per orderId con riconoscimento dalla posizione; BasketExecutor con ResumeAfterAAsync/CompleteAfterBAsync/UnwindLegAsync; stati PendingA/PendingB persistiti; PositionClassifier e chiusura delle orfane; EquityTracker; contatori e P&L del conto nello snapshot e in dashboard; --bonifica; bandit senza applicazione automatica; BasketEngine in sei file parziali; ADR-0009; 18 test nuovi, 190 verdi.

Prossimi passi

  1. Fase 4 — recupero dopo inattività (§6): heartbeat, sezione recovery in strategy.json, procedura di recupero, lock di istanza, rapporto recupero_<run_id>.csv. Test (r).
  2. Fase 5 — Telegram (§7). Test (s)-(u).
  3. Dopo la risposta a D-28/D-29: Fasi 6-9 (Engine/Server, web UI M3, Docker, Unraid, skill, 5.0.0).
  4. Riaccendere il Demo per 24 ore di verifica (vedi sopra) e provare il kill-switch a mano con la verifica di piattezza.
  5. Rifare il backtest (backtest baskets) con i limiti di margine e aggiornare §3 di docs/STRATEGY.md.

Problemi aperti

  • Backtest negativo: la strategia non regge i costi (docs/STRATEGY.md).
  • Domande in attesa: D-28 (ritiro WPF), D-29 (registry), D-36 (ledger delle sessioni 16-21/9), D-37 (chiusura manuale del 21/9).
  • Il conto reale vale 224,90 USD: il Live non è praticabile.
  • Google News blocca le ricerche RSS; RBA 403 a intermittenza; Fed 404 a tratti.
  • PROMPT.md (la specifica 5.0) e Modifiche.txt sono nella radice del repository e non tracciati: decidere se spostarli in docs/.