DiscordChatExporter/docs/plans/2026-06-04-049-feat-channel-passthrough-operator-wrappers-plan.md
Copilot d8742c5c7b feat(operator): pass --channel through documents and validation wrappers
Operators can narrow KotOR yes_general catch-up to a single channel ID
without re-scraping every guild channel. Adds dry-run and compose arg
capture smokes for the passthrough path.
2026-06-03 06:18:08 -05:00

1.7 KiB

title type status date origin
feat: Pass --channel through operator scrape wrappers feat complete 2026-06-04 /lfg — yes_general catch-up needs single-channel runs; host runner already supports --channel but documents/validation wrappers reject it

feat: Pass --channel through operator scrape wrappers

Problem

run-discord-scrape.sh and run-discord-scrape-host.sh accept repeatable --channel ID (requires exactly one --target), but run-documents-scrape.sh and run-operator-validation.sh die on unknown --channel. Operators re-running KotOR yes_general (221726893064454144) must scrape all guild channels instead of narrowing to one backlog channel.

Requirements

ID Requirement
R1 run-documents-scrape.sh accepts repeatable --channel ID and forwards to host preflight/scrape
R2 run-operator-validation.sh accepts repeatable --channel ID and forwards to documents scrape
R3 Usage text documents --channel requires exactly one --target (enforced downstream)
R4 Smoke asserts --channel is accepted (dry-run path) and forwarded (fake-docker arg capture)
R5 run-all-smokes.sh passes

Implementation

  • scripts/run-documents-scrape.sh — parse --channel, append to passthrough
  • scripts/run-operator-validation.sh — parse --channel, append to scrape_args / per-target args
  • scripts/tests/documents-scrape-smoke.sh — dry-run with --channel; optional arg-capture via fake host

Verification

./scripts/tests/documents-scrape-smoke.sh
DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh

Out of scope

  • Container memory limits for yes_general
  • Completing yes_general catch-up inside LFG
  • Changing core scrape channel validation logic