json output + stable exit codes (M2M / LLM contract)
- -json on info, list, show, cert (+ -chain): emit structured JSON ready for jq / agent consumption - exit codes are now stable + documented: 0/1/2/3/4/5/130 with distinct meanings for network vs integrity vs signature failures - help text enumerates the contract - readme: machine-usage section explains both MCP stdio server (for Claude Code / Cursor etc.) planned, not wired yet
This commit is contained in:
parent
0777e3add4
commit
c81f36a5aa
3 changed files with 120 additions and 15 deletions
30
README.md
30
README.md
|
|
@ -92,6 +92,36 @@ STM (Stake-based Threshold Multi-signature) aggregate proof over BLS12-381.
|
|||
downloaded — 16836 entries for preprod as of epoch 284).
|
||||
- Full immutables loop for the `download -immutables` path.
|
||||
|
||||
## Machine / LLM usage
|
||||
|
||||
Every query command accepts `-json` for structured output:
|
||||
|
||||
```
|
||||
mithril-go list -network mainnet -json # snapshot array
|
||||
mithril-go show -network mainnet latest -json
|
||||
mithril-go cert -network mainnet head -json
|
||||
mithril-go cert -network mainnet head -chain -json
|
||||
mithril-go info -network mainnet -json
|
||||
```
|
||||
|
||||
Exit codes are stable:
|
||||
|
||||
| Code | Meaning |
|
||||
|---|---|
|
||||
| 0 | success |
|
||||
| 1 | generic error |
|
||||
| 2 | usage error |
|
||||
| 3 | network / aggregator error |
|
||||
| 4 | integrity failure (SHA, tar-slip, truncated archive) |
|
||||
| 5 | signature verification failure (genesis or STM) |
|
||||
| 130 | canceled (SIGINT) |
|
||||
|
||||
These are the contract — existing codes won't renumber.
|
||||
|
||||
Planned: `mithril-go mcp` stdio server (Model Context Protocol) so MCP-native
|
||||
agents (Claude Code, Cursor, etc.) can discover + call commands without
|
||||
shelling out. Not yet implemented.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `github.com/klauspost/compress/zstd` — pure Go zstd decoder
|
||||
|
|
|
|||
Reference in a new issue