DiscordChatExporter/docs/plans/2026-06-04-065-feat-oom-skip-summary-hints-plan.md
Copilot a827e6b9bc feat(scrape): label OOM skips and hint container memory
Classify aborted/OOM export skips as SKIPPED (OOM/aborted) in the run
summary with salvage/memory guidance; verify-operator-ready shows
configured DCE_CONTAINER_MEMORY.
2026-06-03 09:38:45 -05:00

50 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "feat: OOM skip labels and operator hints in scrape summary"
type: feat
status: complete
date: 2026-06-04
origin: /lfg — plan 063064 added DCE_CONTAINER_MEMORY docs; scrape summary still labels OOM skips as generic SKIPPED with no next-step hint
---
# feat: OOM skip labels and operator hints in scrape summary
## Summary
Distinguish OOM/aborted export skips in the scrape run summary and print a one-line operator hint when they occur. Show configured `DCE_CONTAINER_MEMORY` in `verify-operator-ready` output.
## Requirements
| ID | Requirement |
|----|-------------|
| R1 | `export_channel_incremental` classifies OOM/aborted skips (exit 134/137/139) |
| R2 | Run summary uses `SKIPPED_OOM` with distinct log line vs generic `SKIPPED` |
| R3 | When any `SKIPPED_OOM`, summary footer hints `DCE_CONTAINER_MEMORY` and `--salvage-before-scrape` |
| R4 | `verify-operator-ready.sh` prints non-zero `DCE_CONTAINER_MEMORY` from `scrape.env` |
| R5 | Smokes assert `SKIPPED_OOM` for abort fixture and memory line in verify output |
| R6 | `run-all-smokes.sh` → 21/21 |
## Implementation Units
### U1. OOM skip classification and summary hints
**Files:** `scripts/run-discord-scrape.sh`, `scripts/tests/run-discord-scrape-smoke.sh`
### U2. Verify-operator-ready memory line
**Files:** `scripts/verify-operator-ready.sh`, `scripts/tests/verify-operator-ready-smoke.sh`
## Verification
```bash
./scripts/tests/run-discord-scrape-smoke.sh
./scripts/tests/verify-operator-ready-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 config JSON