mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-06-10 08:12:38 -06:00
Add archive-root lock preflight and --salvage-before-scrape to run-documents-scrape.sh so direct operator invocations match validation safety and KotOR catch-up workflow.
1.5 KiB
1.5 KiB
| title | type | status | date | origin |
|---|---|---|---|---|
| feat: Documents scrape lock gate and salvage-before | feat | active | 2026-06-04 | /lfg — validation/handoff expose salvage; direct run-documents-scrape.sh still lacks lock gate and --salvage-before-scrape |
feat: Documents scrape lock gate and salvage-before
Summary
Add scrape lock preflight and --salvage-before-scrape to run-documents-scrape.sh so direct document scrapes match operator-validation safety and KotOR catch-up workflow.
Problem Frame
Operators often invoke documents scrape directly:
./scripts/run-documents-scrape.sh --target KotOR_discord_msgs --channel 221726893064454144
This bypasses run-operator-validation.sh lock gate. Salvage-before requires two commands today.
Requirements
| ID | Requirement |
|---|---|
| R1 | run-documents-scrape.sh checks archive-root lock before salvage or Discord scrape |
| R2 | Lock gate skipped when DCE_SKIP_SCRAPE_LOCK=1 |
| R3 | --salvage-before-scrape runs salvage then preflight/scrape |
| R4 | --salvage-only, --salvage-before-scrape, and --dry-run are mutually exclusive |
| R5 | Smokes cover lock block and salvage-before; run-all-smokes.sh passes |
Implementation Units
U1. Documents scrape lock + salvage-before
Files: scripts/run-documents-scrape.sh
U2. Smoke coverage
Files: scripts/tests/documents-scrape-smoke.sh
Scope Boundaries
Deferred
- Operator checklist doc refresh
- Live KotOR catch-up on host