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:
Adriano Dal Pastro
2026-07-30 21:24:39 +00:00
parent e9a4538054
commit 933ccff057
2 changed files with 42 additions and 5 deletions
+11 -1
View File
@@ -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`. 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).** - **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 `/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`) → - **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 `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 è 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 `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, 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). 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 **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 posteriori — Deribit non serve book storici, un'ora non raccolta è persa per sempre, e non c'è un
secondo venue da cui recuperarla. 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 pulizia — se toglie righe deve dirlo.** Un import silenzioso non è un import pulito, è un import
che non sai se ha funzionato. 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 è Container rimossi, volume `cerbero-bite_bite-data` rimosso, immagine `cerbero-bite:dev` rimossa,
voluta (nessun buco alla consegna). Quando verrà spento, l'unica cosa che si ferma è la raffica `/opt/docker/cerbero-bite` cancellata. **12 GB liberati** (73G → 61G di disco usato).
al minuto `:00`.
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 ## File