H5 Queue self-healing
- Area
- H — Ecosystem glue
- Audience
- operator
- Kind
- feature
- Status
- accepted
- Maturity
- planned
- Labels
- queue, verification, wiring
- Relates to
- C7
The feature in the specification · Read at
Requirements
The tool MUST classify each queued download as stalled, slow, failed, stuck-on-metadata, orphaned, or healthy, and MUST leave healthy items untouched.
- locked by
- 0.21.0 open
An item MUST be flagged for the same reason on N consecutive checks before any removal, and a single healthy check MUST reset its strike count.
- locked by
- 0.21.0 open
Newly-added downloads MUST be exempt from removal for a configurable grace window.
- locked by
- 0.21.0 open
The healing action MUST remove the wedged download, blocklist that specific release, and trigger a fresh search for the wanted item.
- locked by
- 0.21.0 open
The tool MUST offer a dry-run that lists every item it would remove and the reason for each, without modifying the queue.
- locked by
- 0.21.0 open
The tool MUST authenticate to every managed \arr queue endpoint and to the download client, and MUST report any it cannot reach rather than acting on an assumed connection.
- locked by
- 0.21.0 open
The tool MUST NOT remove from, or blocklist against, a service whose credential it could not verify.
- locked by
- 0.21.0 open
Where the download client cannot share the \arr volume mount layout, the tool MUST refuse to act and report the mismatch rather than target the wrong path.
- locked by
- 0.21.0 open
Where the download client lacks remove-or-blocklist support, the tool MUST fall back to the strongest supported action and MUST NOT claim an action the client cannot perform.
- locked by
- 0.21.0 open
Orphan detection MUST require the full strike count before removal, so a transient queue-record gap does not delete an active transfer.
- locked by
- 0.21.0 open
When the download client is unreachable, the tool MUST NOT remove items, even where the \arr queue is readable.
- locked by
- 0.21.0 open
Every healing run, dry-run or not, MUST record which items it removed and why, so the action is auditable (G4).
- locked by
- 0.21.0 open
Because removal is followed by a blocklist and re-search, the remedy for a wrongly-removed item MUST be a fresh search that can re-acquire it — no wanted content is abandoned by a removal.
- locked by
- 0.21.0 open
Classification, dry-run, and healing MUST each be reachable non-interactively.
- locked by
- 0.21.0 open
Self-healing MUST be able to be switched off while classification remains readable, so the operator can observe without acting.
- locked by
- 0.21.0 open