← The board

H2 Announce-driven grabbing

Area
H — Ecosystem glue
Audience
operator
Kind
feature
Status
accepted
Maturity
planned
Labels
wiring, queue, verification, notifications
Relates to
D1C7

The feature in the specification · Read at

Requirements

  1. H2-R1acceptedMUST

    The announce-watching service MUST be open-source and self-hostable; the tool MUST NOT depend on any hosted or proprietary announce or matching service.

    locked by
    0.20.0 open
  2. H2-R2acceptedMUST

    The tool MUST wire the indexers, download clients, and the \arr apps via their APIs, and MUST NOT require the operator to copy credentials between web interfaces.

    locked by
    0.20.0 open
  3. H2-R3acceptedMUST

    Each announced release MUST be evaluated against the operator's filters in real time, and only filter matches MUST be pushed onward.

    locked by
    0.20.0 open
  4. H2-R4acceptedMUST

    A matched release MUST be delivered to the destination its filter specifies — a download client or the relevant \arr app.

    locked by
    0.20.0 open
  5. H2-R5acceptedMUST

    The tool MUST prove the wiring empirically: service health, an accepted-credential check for each download-client connection, and re-processing of a known real announce line through a test filter asserting the expected match decision.

    locked by
    0.20.0 open
  6. H2-R6acceptedMUST

    A configuration whose test announce line does not produce the expected match decision MUST be reported as unproven, never as ready.

    locked by
    0.20.0 open
  7. H2-R7acceptedMUST

    A filter MUST be able to cap grabs per time window, and reaching a cap MUST hold further matches rather than breach a tracker's snatch limit.

    locked by
    0.20.0 open
  8. H2-R8acceptedMUST

    A tracker's own rejection of a grab MUST be honoured; the tool MUST NOT retry into a penalty.

    locked by
    0.20.0 open
  9. H2-R9acceptedMUST

    Each announce channel's connection state and idle time MUST be surfaced so a disconnected watcher is visible immediately.

    locked by
    0.20.0 open
  10. H2-R10acceptedMUST

    A malformed or unrecognised announce line MUST be recorded as unparsed and skipped, never grabbed on a bad parse.

    locked by
    0.20.0 open
  11. H2-R11acceptedMUST

    A filter that has matched nothing over a window MUST be surfaced so a dead rule is visible rather than assumed working.

    locked by
    0.20.0 open
  12. H2-R12acceptedMUST

    When two filters match one release, the tool MUST resolve to a single grab and MUST NOT fetch the release twice.

    locked by
    0.20.0 open
  13. H2-R13acceptedMUST

    A download client that is unreachable when a match fires MUST cause the match to be held and reported, never silently dropped.

    locked by
    0.20.0 open
  14. H2-R14acceptedMUST

    Reloading filters, replaying an announce line through the filter engine, and running the wiring proof MUST each be reachable non-interactively.

    locked by
    0.20.0 open