DiscordChatExporter/docs/plans/2026-06-04-064-docs-oom-lock-troubleshooting-plan.md
Copilot e9a3fea9d1 docs(scrape): add OOM, lock, and salvage troubleshooting
Document container OOM skips, scrape-lock contention, partial temp
salvage, and DCE_CONTAINER_MEMORY in the troubleshooting guide and
GUI bridge quick-start.
2026-06-03 09:32:31 -05:00

57 lines
1.9 KiB
Markdown

---
title: "docs: OOM, scrape lock, and salvage troubleshooting"
type: docs
status: complete
date: 2026-06-04
origin: /lfg — plan 063 added DCE_CONTAINER_MEMORY; operator checklist and GUI bridge cover salvage/lock but Recurring-Scrape-Troubleshooting.md still lacks these runbook sections
---
# docs: OOM, scrape lock, and salvage troubleshooting
## Summary
Extend operator-facing docs so OOM skips, scrape-lock contention, partial `.dce-temp` salvage, and `DCE_CONTAINER_MEMORY` are documented in the troubleshooting guide and GUI bridge quick-start.
## Requirements
| ID | Requirement |
|----|-------------|
| R1 | `.docs/Recurring-Scrape-Troubleshooting.md` documents OOM/skipped channels and `DCE_CONTAINER_MEMORY` |
| R2 | Same file documents scrape lock held, twin runs, and `--reclaim-stale` |
| R3 | Same file documents partial `.dce-temp`, `--salvage-only`, and `--salvage-before-scrape` |
| R4 | `docs/gui-zip-recurring-scrape-bridge.md` mentions `DCE_CONTAINER_MEMORY=8g` for yes_general catch-up |
| R5 | `.docs/Recurring-Scrape-Setup.md` links or notes container memory for large channels |
| R6 | `sync-gui-bridge-doc-smoke.sh` still passes; `run-all-smokes.sh` → 21/21 |
## Implementation Units
### U1. Troubleshooting runbook sections
**Files:** `.docs/Recurring-Scrape-Troubleshooting.md`
Add under Export Issues (or new Runtime section):
- Channel SKIPPED / OOM / Aborted
- Scrape lock already held
- Stale partial exports under `.dce-temp`
### U2. Setup and GUI bridge cross-links
**Files:** `.docs/Recurring-Scrape-Setup.md`, `docs/gui-zip-recurring-scrape-bridge.md`
- Setup: disk/memory note + pointer to troubleshooting
- GUI bridge: `DCE_CONTAINER_MEMORY` in yes_general salvage block
## Verification
```bash
./scripts/tests/sync-gui-bridge-doc-smoke.sh
DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh
```
## Scope Boundaries
### Deferred
- Live KotOR catch-up on host
- Per-target memory in `scrape-targets.json`