docs(spec): rename CLI subcommand audit → audit data
Riflette la struttura effettiva del CLI: il group 'audit' contiene già 'verify' per la hash chain; il data-quality audit è entrato come sibling 'data'. Documentata la deviazione in linea. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,7 @@ design) e copertura ETH già implicita in `market_snapshots`.
|
|||||||
per colonna numerica, parità ETH/BTC.
|
per colonna numerica, parità ETH/BTC.
|
||||||
- `option_chain_snapshots`: snapshot mancanti, distribuzione quote per
|
- `option_chain_snapshots`: snapshot mancanti, distribuzione quote per
|
||||||
snap, bid/ask sanity, IV null rate, book depth.
|
snap, bid/ask sanity, IV null rate, book depth.
|
||||||
- CLI subcommand `cerbero-bite audit`, output stdout + opzionale `--json`.
|
- CLI subcommand `cerbero-bite audit data`, output stdout + opzionale `--json`.
|
||||||
|
|
||||||
**Out of scope:**
|
**Out of scope:**
|
||||||
- `dvol_history`, `decisions`, `positions`, `instructions`,
|
- `dvol_history`, `decisions`, `positions`, `instructions`,
|
||||||
@@ -42,7 +42,7 @@ src/cerbero_bite/analysis/
|
|||||||
__init__.py
|
__init__.py
|
||||||
data_audit.py # logica pura, no I/O lato MCP
|
data_audit.py # logica pura, no I/O lato MCP
|
||||||
|
|
||||||
src/cerbero_bite/cli.py # nuovo subcommand `audit`
|
src/cerbero_bite/cli.py # nuovo subcommand `audit data`
|
||||||
|
|
||||||
tests/unit/
|
tests/unit/
|
||||||
test_data_audit.py # DB temporaneo + seed deterministico
|
test_data_audit.py # DB temporaneo + seed deterministico
|
||||||
@@ -104,16 +104,22 @@ non condividono parametri operativi.
|
|||||||
## CLI
|
## CLI
|
||||||
|
|
||||||
```
|
```
|
||||||
cerbero-bite audit [--since DAYS] [--json] [--asset ETH|BTC]
|
cerbero-bite audit data [--db PATH] [--since DAYS] [--json] [--asset ETH|BTC]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> **Deviazione dal design originale**: il group `audit` era già usato per
|
||||||
|
> `audit verify` (hash chain dell'audit log). Il data-quality audit è
|
||||||
|
> stato inserito come sibling `audit data` per evitare collisione di
|
||||||
|
> namespace, anziché come comando top-level `cerbero-bite audit`.
|
||||||
|
|
||||||
|
- `--db PATH` (default `data/state.sqlite`): path al DB SQLite.
|
||||||
- `--since DAYS` (default `7`): finestra di analisi, retro dal `now()` corrente.
|
- `--since DAYS` (default `7`): finestra di analisi, retro dal `now()` corrente.
|
||||||
- `--json` (default off): stampa solo dump JSON serializzabile, niente tabelle umane.
|
- `--json` (default off): stampa solo dump JSON serializzabile, niente tabelle umane.
|
||||||
- `--asset` (default `tutti`): filtra ad un singolo asset.
|
- `--asset` (default `tutti`): filtra ad un singolo asset.
|
||||||
|
|
||||||
Exit code:
|
Exit code:
|
||||||
- `0`: audit completato (a prescindere dai problemi trovati).
|
- `0`: audit completato (a prescindere dai problemi trovati).
|
||||||
- `2`: errori di connessione/DB (separare da problemi nei dati).
|
- `2`: errori di connessione/DB (DB inesistente, schema mancante).
|
||||||
|
|
||||||
Niente exit code per "found issues": l'audit è informativo, decide
|
Niente exit code per "found issues": l'audit è informativo, decide
|
||||||
l'umano. Far diventare l'audit un gate CI è out of scope.
|
l'umano. Far diventare l'audit un gate CI è out of scope.
|
||||||
|
|||||||
Reference in New Issue
Block a user