Problem
The dead-letter queue is fully implemented — --retry-failed on index (sentrysearch/cli.py:390-391), a sentrysearch dlq subcommand group, and runtime messages like `Failed after N attempt(s), recorded to DLQ` (sentrysearch/cli.py:164) — but the README never mentions any of it. A user who sees "recorded to DLQ" in their indexing output has no documented next step.
Suggested fix
Add a "Failed chunks" subsection to the README (probably under "Managing the index") explaining:
- What the DLQ is and when chunks land in it (transient API failures vs. permanent — see
_is_permanent_failure at cli.py:114)
- How to inspect it:
sentrysearch dlq list (and any other dlq subcommands)
- How to retry:
sentrysearch index <dir> --retry-failed
- Where it's stored:
~/.sentrysearch/dlq.json
Acceptance
Someone who sees "recorded to DLQ" in their indexing output can find the recovery flow in the README.
Scope
Pure docs — only README.md changes. Verify the dlq subcommand list against sentrysearch dlq --help before writing.
Problem
The dead-letter queue is fully implemented —
--retry-failedonindex(sentrysearch/cli.py:390-391), asentrysearch dlqsubcommand group, and runtime messages like `Failed after N attempt(s), recorded to DLQ` (sentrysearch/cli.py:164) — but the README never mentions any of it. A user who sees "recorded to DLQ" in their indexing output has no documented next step.Suggested fix
Add a "Failed chunks" subsection to the README (probably under "Managing the index") explaining:
_is_permanent_failureatcli.py:114)sentrysearch dlq list(and any otherdlqsubcommands)sentrysearch index <dir> --retry-failed~/.sentrysearch/dlq.jsonAcceptance
Someone who sees "recorded to DLQ" in their indexing output can find the recovery flow in the README.
Scope
Pure docs — only
README.mdchanges. Verify thedlqsubcommand list againstsentrysearch dlq --helpbefore writing.