mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-06-10 00:02:37 -06:00
Pretty-print version-1 scrape summary files with totals table, --oom-only filter, and stdin support for operator validation/proof outputs.
1.9 KiB
1.9 KiB
| title | type | status | date | origin |
|---|---|---|---|---|
| feat: print-scrape-summary CLI for JSON run artifacts | feat | complete | 2026-06-04 | /lfg — plan 073 deferred print-scrape-summary.sh to pretty-print machine-readable scrape totals |
feat: print-scrape-summary CLI for JSON run artifacts
Summary
Add scripts/print-scrape-summary.sh to render human-readable scrape totals from *.summary.json files produced by validation, proof, and host runs.
Problem Frame
Plans 069–073 emit JSON summaries beside operator logs. Operators still need jq one-liners to inspect OOM skips, per-channel deltas, and appended message counts. A small read-only CLI closes the loop without opening raw JSON.
Requirements
| ID | Requirement |
|---|---|
| R1 | Accept summary file path argument; read stdin when path is - |
| R2 | Validate version == 1 and required totals fields with jq |
| R3 | Default output: finished_at, totals line, and per-channel table (ACTION, CHANNEL, LABEL, DELTA, FILE) |
| R4 | --json prints raw file unchanged |
| R5 | --oom-only lists only channels whose action is SKIPPED_OOM |
| R6 | Exit non-zero on missing/invalid file |
| R7 | Offline smoke with fixture JSON; run-all-smokes.sh → 23/23 |
Implementation Units
U1. print-scrape-summary.sh
Files: scripts/print-scrape-summary.sh, scripts/tests/print-scrape-summary-smoke.sh
Approach: jq for parsing/formatting; match action labels from run-discord-scrape.sh summary text where practical.
U2. Docs
Files: docs/recurring-scrape-merge-readiness.md, docs/recurring-scrape-operator-checklist.md
Approach: Plan 074 stamp; one-line usage beside summary.json examples.
Verification
DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh
Scope Boundaries
Deferred
- Live KotOR catch-up on host
- Per-target separate summary files in multi-target proof loops
- Auto-enable JSON summary on bare
host.sh scrapewithout env vars