← The board

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

  1. H5-R1acceptedMUST

    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
  2. H5-R2acceptedMUST

    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
  3. H5-R3acceptedMUST

    Newly-added downloads MUST be exempt from removal for a configurable grace window.

    locked by
    0.21.0 open
  4. H5-R4acceptedMUST

    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
  5. H5-R5acceptedMUST

    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
  6. H5-R6acceptedMUST

    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
  7. H5-R7acceptedMUST

    The tool MUST NOT remove from, or blocklist against, a service whose credential it could not verify.

    locked by
    0.21.0 open
  8. H5-R8acceptedMUST

    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
  9. H5-R9acceptedMUST

    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
  10. H5-R10acceptedMUST

    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
  11. H5-R11acceptedMUST

    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
  12. H5-R12acceptedMUST

    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
  13. H5-R13acceptedMUST

    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
  14. H5-R14acceptedMUST

    Classification, dry-run, and healing MUST each be reachable non-interactively.

    locked by
    0.21.0 open
  15. H5-R15acceptedMUST

    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