docs(bite): cerbero-bite ELIMINATO — cosa e' stato verificato prima di cancellare
Container, volume, immagine e cartella rimossi il 2026-07-30 (12 GB liberati). Book, pesi, cron, config INVARIATI: la raccolta era gia' passata al successore e la sovrapposizione fra le due ha coperto la consegna senza buchi. Le quattro verifiche, nessuna delle quali era 'il backup esiste': 1. Snapshot COMPLETO, non solo integro: SHA256 OK su entrambi i file, ma soprattutto conteggi confrontati tabella per tabella fra volume vivo e snapshot (1.232.212 / 17.406 / 59 / 0), identici anche ai parquet importati. Un hash prova che il file non e' corrotto, non che contenga tutto. 2. I 10,6 GB di backup interni al volume non contenevano dati unici. La domanda giusta non era la loro dimensione ma se bite potasse lo storico: tutti e tre i campioni controllati hanno la STESSA riga piu' vecchia (2026-05-01T20:53:49) e conteggi monotoni crescenti -> nessuna potatura, sottoinsiemi stretti. 3. Zero dipendenze a runtime: ne' cron, ne' systemd, ne' route traefik, ne' altri progetti. I riferimenti rimasti sono documentazione, che resta. 4. cerbero-mcp e' un progetto DIVERSO e serve a PythagorasGoal (Hyperliquid, percorso del conto). Progetto compose separato; la rete traefik condivisa e' external: nel compose di bite, quindi down -v non la tocca. Verificato dopo: Up 41 hours (healthy). Due servizi con lo stesso prefisso sono un incidente che aspetta. Il codice non e' stato perso: era su Gitea (Adriano/Cerbero-Bite) e l'unica modifica pendente e' stata committata la' come commit di dismissione. REGOLA: prima di cancellare una sorgente si verifica che la copia sia COMPLETA, non che esista. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1669,7 +1669,9 @@ df = load_data("BTC", "1h") # OK. load_data("SOL", ...) -> FileNotFoundError (
|
||||
Verificato direttamente su cerbero MCP. Diario `2026-06-20-cerbero-backfill-fix.md`.
|
||||
- **CATENA OPZIONI REALE — RACCOLTA PROPRIA dal 2026-07-30 (cerbero-bite ASSORBITO e dismesso).**
|
||||
`/opt/docker/cerbero-bite` (progetto separato) accumulava dal 2026-06-09 la catena Deribit
|
||||
**mainnet** BTC+ETH; **viene eliminato, e la raccolta è passata dentro PythagorasGoal**:
|
||||
**mainnet** BTC+ETH; **è stato ELIMINATO il 2026-07-30** (container, volume, immagine e cartella
|
||||
rimossi, 12 GB liberati; codice conservato su Gitea `Adriano/Cerbero-Bite`, ultimo commit di
|
||||
dismissione) **e la raccolta è passata dentro PythagorasGoal**:
|
||||
- **raccolta:** `scripts/live/collect_chain.py`, cron **`25 * * * *`** (`scripts/cron_chain.sh`) →
|
||||
`data/raw/cb_chain/YYYY-MM-DD.parquet`. Entrambe le ali, scadenze ≤95g, OI≥100, ~570 strumenti
|
||||
a giro, ~3 min. **Minuto :25 scelto, non arbitrario:** :00 era la raffica di bite, :07 è
|
||||
@@ -1713,6 +1715,14 @@ df = load_data("BTC", "1h") # OK. load_data("SOL", ...) -> FileNotFoundError (
|
||||
`venue_watch`/`edge_watch`/`monitor_health`/`fee_watch`), `dvol_history` (`fetch_dvol.py` ha
|
||||
storia **più lunga**: 2020+ contro 2026-05), `decisions`/`positions` (59 righe a capitale $52,
|
||||
0 posizioni). Test `tests/test_collect_chain.py` (11) + `tests/test_cb_chain_vrp.py` (13).
|
||||
⚠️ **Prima di cancellare la sorgente** (verifiche nel diario `2026-07-30-assorbimento-cerbero-bite.md`):
|
||||
snapshot **completo** e non solo integro (4 tabelle su 4 con conteggi identici al volume vivo e ai
|
||||
parquet); i 10,6 GB di backup interni **non** contenevano dati unici (stessa riga più vecchia in
|
||||
tutti gli snapshot + conteggi monotoni ⇒ nessuna potatura); zero dipendenze a runtime.
|
||||
⚠️ **`cerbero-mcp` è un progetto DIVERSO e serve a PythagorasGoal** (Hyperliquid, percorso del
|
||||
conto) — resta acceso; la rete `traefik` che condividevano è `external:` nel compose di bite,
|
||||
quindi `down -v` non la tocca. **REGOLA: prima di cancellare una sorgente si verifica che la copia
|
||||
sia COMPLETA, non che esista** — un hash prova che il file non è corrotto, non che contenga tutto.
|
||||
**Perché si MEMORIZZA invece di interrogarla:** una catena opzioni non è ricostruibile a
|
||||
posteriori — Deribit non serve book storici, un'ora non raccolta è persa per sempre, e non c'è un
|
||||
secondo venue da cui recuperarla.
|
||||
|
||||
@@ -75,11 +75,38 @@ cadono e perché). **REGOLA: `dropna` dopo un parsing è un rilevatore di difett
|
||||
pulizia — se toglie righe deve dirlo.** Un import silenzioso non è un import pulito, è un import
|
||||
che non sai se ha funzionato.
|
||||
|
||||
## Cosa resta da fare fuori dal repo
|
||||
## Eliminazione (stessa sera, 21:20 UTC)
|
||||
|
||||
Il container di bite è **ancora acceso** mentre scrivo: la sovrapposizione fra le due raccolte è
|
||||
voluta (nessun buco alla consegna). Quando verrà spento, l'unica cosa che si ferma è la raffica
|
||||
al minuto `:00`.
|
||||
Container rimossi, volume `cerbero-bite_bite-data` rimosso, immagine `cerbero-bite:dev` rimossa,
|
||||
`/opt/docker/cerbero-bite` cancellata. **12 GB liberati** (73G → 61G di disco usato).
|
||||
|
||||
Prima di cancellare, quattro verifiche — nessuna delle quali era "il backup esiste":
|
||||
|
||||
1. **Lo snapshot è *completo*, non solo integro.** SHA256 `OK` su entrambi i file, ma soprattutto
|
||||
conteggi confrontati tabella per tabella fra il volume vivo e lo snapshot: `option_chain_snapshots`
|
||||
1.232.212, `market_snapshots` 17.406, `decisions` 59, `positions` 0 — **4 su 4 identici**, e
|
||||
identici anche ai parquet importati. *Un hash prova che il file non è corrotto, non che contenga
|
||||
tutto.*
|
||||
2. **I 10,6 GB di backup interni al volume non contenevano dati unici.** 32 snapshot sqlite storici:
|
||||
la domanda giusta non era la loro dimensione ma *se bite potasse lo storico*. Tutti e tre i
|
||||
campioni controllati (09/06, 01/07, finale) hanno **la stessa riga più vecchia**
|
||||
(`2026-05-01T20:53:49.294928`) e conteggi monotoni crescenti (218.500 → 665.949 → 946.990 →
|
||||
1.232.212) → nessuna potatura, sottoinsiemi stretti del DB finale.
|
||||
3. **Nessuna dipendenza a runtime.** Né cron, né systemd, né route traefik, né altri progetti: i
|
||||
soli riferimenti rimasti sono documentazione (questo diario, CLAUDE.md, un commento in
|
||||
`backup.sh` e uno in `health-watch.py`) — cioè memoria storica, che è corretto lasciare.
|
||||
4. ⚠️ **`cerbero-mcp` è un progetto DIVERSO e serve a PythagorasGoal** (universo Hyperliquid, e il
|
||||
percorso del conto): progetto compose separato, e la rete `traefik` che condividono è dichiarata
|
||||
`external:` nel compose di bite → `down -v` non la tocca. Verificato dopo: `Up 41 hours
|
||||
(healthy)`. *Due servizi con lo stesso prefisso nel nome sono un incidente che aspetta.*
|
||||
|
||||
Il codice non è stato cancellato: era già su Gitea (`Adriano/Cerbero-Bite`), e l'unica modifica
|
||||
locale pendente — il ripiego del collector da `:00` a `:20`, superato dal successore — è stata
|
||||
committata e pushata come commit di dismissione. **Il dato era l'unica parte irreversibile.**
|
||||
|
||||
**REGOLA: prima di cancellare una sorgente si verifica che la copia sia completa, non che
|
||||
esista** — e "quanto è grande" non è la domanda da fare a un backup, "cosa contiene che l'originale
|
||||
non ha più" sì.
|
||||
|
||||
## File
|
||||
|
||||
|
||||
Reference in New Issue
Block a user