README con gli screenshot e l'avvio rapido Docker; CLAUDE.md, architettura, runbook, problemi noti, glossario, fonti dei dati e apprendimento riscritti per il container e l'interfaccia web; il post-mortem spiega gli accrediti del demo (uno per ordine ridotto, dal ledger ricevuto); le skill seguono la catena nuova. Lo stato dice che il piano 5.0 è completo e che il rilascio 5.0.0 resta una decisione dell'utente. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
5.0 KiB
5.0 KiB
Stato del lavoro
Aggiornato: 2026-09-23 (sessione 5.0, Fasi 6-9 concluse: il piano 5.0 è completo).
Fase in corso
Piano 5.0 concluso (docs/PIANO_5.0.md): tutte le fasi 0-9 sono fatte. Il bot è Encelado.Server (Kestrel + motore + interfaccia web incorporata) e gira nel container (ADR-0007, ADR-0008); la finestra WPF non esiste più (D-28). Versione di sviluppo 5.0.0 in Directory.Build.props; il rilascio 5.0.0 non è ancora stato fatto (tag, immagine sul registro di Gitea, release): lo decide l'utente con dotnet msbuild build/Release.proj -t:Rilascia -p:Versione=5.0.0 dopo il push del ramo.
Fatto nell'ultima sessione (2026-09-23, Fasi 6-9)
- Fase 6 — Engine + Server:
src/Encelado.Bot→src/Encelado.Engine(libreria, senza UI);src/Encelado.Server(Sdk.Web, nessun NuGet) conWebHost(token in cookie HttpOnly o Bearer, senza token solo localhost), API JSON scritta a mano, SSE/api/streama uno snapshot al secondo,LogBuffer,HistoryService; chiavi da variabili o file cifratoetoro.keys.enc(AES-256-GCM,ENCELADO_KEY_PASSPHRASE) al posto di DPAPI;AppPathscon/confige/data;HeadlessRunnerridotto a console (stato, comandi, bonifica);--sample,--health,--no-autostart,ENCELADO_AUTOSTART,ENCELADO_CONFIRM_LIVE. - Fase 7 — interfaccia web Material 3 (
Web/wwwroot, vanilla): navigation rail 80/256 px (drawer sotto 600 px), barra con orologi UTC e fuso, selettore della valuta (USD, EUR, GBP, CHF, JPY, AUD, CAD, NZD con tasso dalle quotazioni e tooltip in USD), AVVIA/FERMA, KILL-SWITCH con «chiudi anche le esterne»; dashboard con sei KPI (incluso il margine), tabella dei basket (cards da telefono), card evento/eToro/Telegram, attività, banner; Storico ordini (ordini, posizioni classificate, profitti per periodo con curva SVG, CSV); Log con filtri; Impostazioni con configurazione validata, chiavi eToro, ripristino in cinque passi, Ricerca, Diagnostica (con bonifica), Informazioni (versione, build, commit daAssemblyMetadata); temi scuro/chiaro.HistoryBuildernel Core;SnapshotJson,SampleSnapshot,SettingsServicenell'Engine; comandolearnnello strumento (Learn.cs);ui.displayCurrency/theme/navExpandede coppie di conversione nel polling. - Fase 8 — Docker e Unraid:
Dockerfilemulti-stage (build, test, publish, runtimeaspnet:10.0+ gosu + tzdata),deploy/docker/entrypoint.sh(TZ, PUID/PGID),docker-compose.yml,.dockerignore,HEALTHCHECK --health;deploy/unraid/encelado.xml(Container v2, iconaassets/encelado.pngraw da Gitea, D-29) e README;build/Release.projsenza Inno Setup:Pubblicaframework-dependent,Docker,Pacchetto(zip + template + tag),Rilascia(push dell'immagine sul registro di Gitea + release); VS Code con F5 sul server (Encelado (server),Encelado (campione), backtest) e attività Docker. Immagineencelado:devcostruita in locale con i test verdi nello stadio Linux. - Fase 9 — documenti e pulizia: ADR-0007, ADR-0008,
docs/DOCKER.md,docs/UI_GUIDELINES.md,README.mdcon gli screenshot (docs/img/),CLAUDE.md, ARCHITECTURE, RUNBOOK, KNOWN_ISSUES, GLOSSARY, DATA_SOURCES, ML_AND_LEARNING, QUESTIONS (D-28, D-29, D-36, D-37 risposte), POSTMORTEM (gli «accrediti» erano crediti demo per ogni ordine ridotto), skill aggiornate,build/README.md. Codice morto rimosso: progetto WPF, DPAPI, test WPF,UiRenderTests, ~45 membri mai usati (statistiche di ricerca,Psi,EmptyContextProvider,EnvironmentKeyStore, display helper dello snapshot,INotifyPropertyChangedinSettingField, …). Test nuovi:EmbeddedUiTests,WebHostTests,HistoryBuilderTests,KeyStoreTests; suite a 210 verdi.
Prossimi passi
- Rilascio 5.0.0 (utente): push del ramo,
-t:Rilascia -p:Versione=5.0.0(richiede Docker acceso,build/gitea.jsoncon permessopackage, registro192.168.30.23:3000dichiaratoinsecure-registry), poi installazione su Unraid dal template. - Riaccendere il Demo nel container per 24 ore di verifica: contatore «orfane» a 0,
orders.jsonlsenzaUnknownirrisolti,sizing_bound = marginsui primi ingressi; kill-switch a mano con verifica di piattezza; fermare il container un'ora con un basket aperto per vedere il recupero; messaggi Telegram reali. - Revisione visiva dell'interfaccia con l'utente (gli screenshot sono dal campione
--sample); eventuali ritocchi ai testi e ai tooltip. - Avviso Telegram sui feed fermi da più di un'ora (resta in KNOWN_ISSUES).
- Rifare il backtest (
backtest baskets) con i limiti di margine e aggiornare §3 didocs/STRATEGY.md.
Problemi aperti
- Backtest negativo: la strategia non regge i costi (
docs/STRATEGY.md). - 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.
- Il server non ha TLS e il registro di Gitea è in HTTP (rete locale).
Modifiche.txtnella radice è un appunto dell'utente, modificato e non committato: decidere se tenerlo nel repository.