diff --git a/.docs/Recurring-Scrape-Setup.md b/.docs/Recurring-Scrape-Setup.md index 35646c66..d1016197 100644 --- a/.docs/Recurring-Scrape-Setup.md +++ b/.docs/Recurring-Scrape-Setup.md @@ -13,6 +13,8 @@ This guide walks you through setting up automated recurring Discord exports usin **Fastest path:** `./scripts/operator-handoff.sh` (disk + verify + archive dry-run), then `./scripts/bootstrap-recurring-scrape.sh` without `--dry-run` when ready (see [operator checklist](../docs/recurring-scrape-operator-checklist.md)). +**One-target live proof:** `./scripts/run-operator-proof.sh --sync-gui --target eod_discord` (handoff → scrape → grow-only check; use `--dry-run` for handoff only). + **Disk space:** `verify-operator-ready` and scrape entrypoints fail below 1 GiB free by default (`DCE_MIN_FREE_MB`, default 1024). Large channel JSON merges need extra headroom. **Append-only contract (read first)** diff --git a/docs/gui-zip-recurring-scrape-bridge.md b/docs/gui-zip-recurring-scrape-bridge.md index 55c3159d..b8f9cd03 100644 --- a/docs/gui-zip-recurring-scrape-bridge.md +++ b/docs/gui-zip-recurring-scrape-bridge.md @@ -18,6 +18,7 @@ cd ../DiscordChatExporter # or your clone path # or: cp scrape.env.example scrape.env and set DISCORD_TOKEN (never commit) ./scripts/bootstrap-recurring-scrape.sh # verify, build image, preflight ./scripts/run-documents-scrape.sh # incremental append-only scrape +./scripts/run-operator-proof.sh --sync-gui --target eod_discord # one-target handoff + scrape + grow-only proof ./scripts/setup-cron.sh --dry-run # preview monthly job (default 1st @ 04:00) ./scripts/setup-cron.sh # install cron after handoff passes ``` @@ -33,7 +34,9 @@ Archives: `config/scrape-targets.json` (typically `~/Documents/*` per target `ou **Disk:** Free several GiB on `/home` and archive roots before large scrapes (`DCE_MIN_FREE_MB`, default 1024). -**Validate scripts:** `./scripts/run-all-smokes.sh` +**Validate scripts:** `DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh` (19 offline smokes) + +**Podman (Fedora):** install `podman-compose` when `docker compose` cannot reach the socket; scripts auto-prefer it. ## Wrappers in the GUI zip folder diff --git a/docs/plans/2026-05-29-033-docs-lfg-operator-proof-closure-plan.md b/docs/plans/2026-05-29-033-docs-lfg-operator-proof-closure-plan.md new file mode 100644 index 00000000..79c62a5a --- /dev/null +++ b/docs/plans/2026-05-29-033-docs-lfg-operator-proof-closure-plan.md @@ -0,0 +1,29 @@ +--- +title: docs: LFG closure after operator proof (plan 032) +type: docs +status: complete +date: 2026-05-29 +origin: /lfg — verify 19 smokes, sync GUI bridge with run-operator-proof, refresh PR +--- + +# docs: LFG closure after operator proof (plan 032) + +## Summary + +Plan 032 landed `run-operator-proof.sh` and the Podman smoke fix. This slice aligns operator/GUI docs with the new proof path, re-syncs the linux-x64 bridge, and re-runs the offline smoke gate before PR refresh. + +## Requirements + +| ID | Requirement | +|----|-------------| +| R1 | `docs/gui-zip-recurring-scrape-bridge.md` documents `run-operator-proof.sh` | +| R2 | `scripts/sync-gui-bridge-doc.sh` copies updated bridge to `../DiscordChatExporter.linux-x64/RECURRING-SCRAPE.md` | +| R3 | `.docs/Recurring-Scrape-Setup.md` mentions operator proof in quick path | +| R4 | `DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh` passes (19 scripts) | +| R5 | PR #1538 body notes plan 033 / smoke count | + +## Verification + +- `DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh` +- `./scripts/sync-gui-bridge-doc.sh` +- `./scripts/run-operator-proof.sh --dry-run` (host, when config present)