From 88267c835c0c25f826b18948aab3ec2c6173e406 Mon Sep 17 00:00:00 2001 From: Copilot Date: Wed, 3 Jun 2026 09:14:04 -0500 Subject: [PATCH] docs(scrape): complete offline smoke inventory in setup guide Align Recurring-Scrape-Setup smoke table with all 21 offline scripts and note plan 061 shared scrape-lock library in merge-readiness. --- .docs/Recurring-Scrape-Setup.md | 32 +++++++----- ...-062-docs-complete-smoke-inventory-plan.md | 51 +++++++++++++++++++ docs/recurring-scrape-merge-readiness.md | 2 + 3 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 docs/plans/2026-06-04-062-docs-complete-smoke-inventory-plan.md diff --git a/.docs/Recurring-Scrape-Setup.md b/.docs/Recurring-Scrape-Setup.md index d1016197..798f4057 100644 --- a/.docs/Recurring-Scrape-Setup.md +++ b/.docs/Recurring-Scrape-Setup.md @@ -325,7 +325,7 @@ Space requirements: ## Smoke test validation -Run the full offline suite from the repo root (requires `jq`): +Run the full offline suite from the repo root (requires `jq`). **21 offline smokes** run by default; add `--include-container` for a 22nd local-only check: ```bash ./scripts/run-all-smokes.sh @@ -347,21 +347,27 @@ With Docker/Podman, include the container smoke: | Script | CI (`recurring-scrape-smoke`) | Notes | |--------|-------------------------------|-------| -| `run-discord-scrape-smoke.sh` | yes | Append-only merge coverage | -| `error-path-smoke.sh` | yes | Failure paths | -| `cron-idempotency-smoke.sh` | yes | Cron installer idempotency | -| `end-to-end-preflight-smoke.sh` | yes | Preflight wiring | -| `setup-cron-smoke.sh` | yes | Cron setup dry-run | -| `run-discord-scrape-host-smoke.sh` | yes | Host wrapper | -| `gh-approve-pr-runs-smoke.sh` | yes | Fork PR workflow helper | -| `documents-scrape-smoke.sh` | yes | Unified Documents workflow | -| `verify-documents-auth-smoke.sh` | yes | Archive verify + auth bootstrap | -| `scrape-here-smoke.sh` | yes | Workspace bridge launcher | -| `bootstrap-recurring-scrape-smoke.sh` | yes | Bootstrap dry-run | +| `archive-disk-space-smoke.sh` | yes | Disk preflight / `DCE_MIN_FREE_MB` | | `audit-archive-json-smoke.sh` | yes | Invalid JSON detection | +| `bootstrap-recurring-scrape-smoke.sh` | yes | Bootstrap dry-run | +| `cron-idempotency-smoke.sh` | yes | Cron installer idempotency | +| `documents-scrape-smoke.sh` | yes | Unified Documents workflow + lock gate | +| `end-to-end-preflight-smoke.sh` | yes | Preflight wiring | +| `error-path-smoke.sh` | yes | Failure paths | +| `gh-approve-pr-runs-smoke.sh` | yes | Fork PR workflow helper | +| `operator-handoff-smoke.sh` | yes | Operator handoff dry-run | | `prove-incremental-append-smoke.sh` | yes | Offline prove snapshot/compare | -| `verify-operator-ready-smoke.sh` | yes | Host prerequisite checks | +| `run-discord-scrape-host-lock-smoke.sh` | yes | Archive-root scrape lock | +| `run-discord-scrape-host-smoke.sh` | yes | Host wrapper | +| `run-discord-scrape-smoke.sh` | yes | Append-only merge coverage | +| `run-operator-proof-smoke.sh` | yes | Scrape + prove dry-run | | `run-operator-validation-smoke.sh` | yes | Validation runner dry-run | +| `scrape-here-smoke.sh` | yes | Workspace bridge launcher | +| `scrape-lock-status-smoke.sh` | yes | Lock status + stale reclaim | +| `setup-cron-smoke.sh` | yes | Cron setup dry-run | +| `sync-gui-bridge-doc-smoke.sh` | yes | GUI bridge doc sync | +| `verify-documents-auth-smoke.sh` | yes | Archive verify + auth bootstrap | +| `verify-operator-ready-smoke.sh` | yes | Host prerequisite checks | | `container-smoke.sh` | no (local) | Docker build + `help` / `list-targets`; use `--include-container` | GitHub Actions runs `./scripts/run-all-smokes.sh` via `.github/workflows/main.yml` job `recurring-scrape-smoke`. diff --git a/docs/plans/2026-06-04-062-docs-complete-smoke-inventory-plan.md b/docs/plans/2026-06-04-062-docs-complete-smoke-inventory-plan.md new file mode 100644 index 00000000..fe5215e6 --- /dev/null +++ b/docs/plans/2026-06-04-062-docs-complete-smoke-inventory-plan.md @@ -0,0 +1,51 @@ +--- +title: "docs: Complete smoke test inventory" +type: docs +status: complete +date: 2026-06-04 +origin: /lfg — plan 060 deferred `.docs/Recurring-Scrape-Setup.md` smoke table; 6 smokes missing after plans 054–061 +--- + +# docs: Complete smoke test inventory + +## Summary + +Bring `.docs/Recurring-Scrape-Setup.md` smoke table in line with `scripts/run-all-smokes.sh` (21 offline scripts). Record plan 061 in merge-readiness. + +## Requirements + +| ID | Requirement | +|----|-------------| +| R1 | Smoke table lists all 21 offline `scripts/tests/*.sh` except skipped `container-smoke.sh` | +| R2 | Table documents `container-smoke.sh` as local-only via `--include-container` | +| R3 | Section prose states 21 offline smokes match CI job `recurring-scrape-smoke` | +| R4 | `docs/recurring-scrape-merge-readiness.md` notes plan 061 (shared scrape-lock lib) | +| R5 | `DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh` passes (21/21) | + +## Implementation Units + +### U1. Setup doc smoke table + +**Files:** `.docs/Recurring-Scrape-Setup.md` + +Add missing rows: + +- `archive-disk-space-smoke.sh` +- `run-discord-scrape-host-lock-smoke.sh` +- `operator-handoff-smoke.sh` +- `run-operator-proof-smoke.sh` +- `scrape-lock-status-smoke.sh` +- `sync-gui-bridge-doc-smoke.sh` + +### U2. Merge-readiness stamp + +**Files:** `docs/recurring-scrape-merge-readiness.md` + +Add plan 061 bullet under branch status / latest section. + +## Scope Boundaries + +### Deferred + +- Live KotOR catch-up on host +- Container memory tuning for large channels diff --git a/docs/recurring-scrape-merge-readiness.md b/docs/recurring-scrape-merge-readiness.md index 12019cbf..5b6e77a2 100644 --- a/docs/recurring-scrape-merge-readiness.md +++ b/docs/recurring-scrape-merge-readiness.md @@ -133,6 +133,8 @@ DCE_MIN_FREE_MB=0 ./scripts/run-operator-validation.sh --sync-gui --per-target - **Plan 044 (2026-06-04):** Offline smoke asserts partial temp preserved on OOM skip (channel 134). Host wrapper prefers `DISCORD_TOKEN_FILE` over inherited shell tokens. +**Plan 061 (2026-06-04):** Shared `scripts/lib/scrape-lock.sh` — lock path, held check, holder formatting, and reclaim helpers sourced by host runner, lock status, and operator wrappers. `run-all-smokes.sh` → 21/21 pass. + **Plans 054–059 (2026-06-04):** Salvage-only subcommand; archive-root lock with meta sidecar; operator validation/proof/handoff salvage flags; `scrape-lock-status.sh` + `--reclaim-stale`; documents scrape lock gate + `--salvage-before-scrape`. `run-all-smokes.sh` → 21/21 pass. **KotOR / yes_general (plan 040–043):** Incremental `--after` works for all channels; most return `UNCHANGED` in seconds. `yes_general` archive last message was **2021-01-17** — the first catch-up legitimately fetches years of history. Prior bug: OOM skip **deleted** partial temp exports, causing re-download loops. Plan 043 preserves partial temps and salvages on next run.