← The board

D4 Household request flow

Area
D — Content & household
Audience
household
Kind
feature
Status
accepted
Maturity
built
Labels
household
Relates to
D1D6D7D8D11G6

The feature in the specification · Read at

Requirements

  1. D4-R1acceptedMUST

    Household members MUST authenticate with their Jellyfin account; no separate registration MAY be required.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/seerr.rscrates/lemonfiber-core/tests/integration/one_way_in_and_it_is_the_media_server.rs
    cited by
    lemonfiber@c3ebc16d09lemonfiber@c7f540c0ab
  2. D4-R2acceptedMUST

    Requesters MUST be informed at submission, decision, and availability.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/seerr.rscrates/lemonfiber-core/src/doctor/telling.rs
    cited by
    lemonfiber@a969a87384lemonfiber@502d5ec4fa
  3. D4-R3acceptedMUST

    A request that cannot be fulfilled MUST communicate that to the requester with a reason.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/seerr.rscrates/lemonfiber-core/src/doctor/telling.rs
    cited by
    lemonfiber@a969a87384lemonfiber@502d5ec4fa
  4. D4-R4acceptedMUST

    The request surface MUST offer only content types the active configuration can deliver.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/seed/run/fulfilment.rs
    cited by
    lemonfiber@f30d45fa28
  5. D4-R5acceptedMUST

    Content already in the library MUST be reported as such rather than accepted as a request.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/seerr.rs
    cited by
    lemonfiber@f979a63f47
  6. D4-R6acceptedMUST

    Unreleased content MUST be accepted and marked awaiting release, not failed.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/seerr.rs
    cited by
    lemonfiber@f979a63f47
  7. D4-R7acceptedMUST

    "Nothing available at the configured quality" MUST be communicated to the operator distinctly from a generic failure. A member is told it has not been found yet, in the core's household sentence (G4-R16).

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-ports/src/service/quality.rscrates/lemonfiber-core/src/app/trace.rs
    cited by
    lemonfiber@099b59c14a
  8. D4-R8acceptedMUST

    Pending and failing requests MUST surface in lemonfiber's dashboard.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/dashboard/run.rs
    cited by
    lemonfiber@455c5ac76e
  9. D4-R9acceptedMUST

    Household members MUST NOT require any lemonfiber account or access.

    locked by
    0.11.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/admission.rscrates/lemonfiber-core/tests/integration/the_household_needs_no_account_here.rscrates/lemonfiber-core/src/asking/reasons.rscrates/lemonfiber-core/src/outbound.rscrates/lemonfiber-ports/src/service/addressing.rscrates/lemonfiber-core/src/seerr/addressing.rs
    cited by
    lemonfiber@9623e32d05
  10. D4-R10acceptedMUST

    A request for something already requested MUST NOT create a second request, and the person asking MUST be told it is already on its way.

    locked by
    0.11.0 met
    recorded done
    lemonfiberlemonfiber-media-stack:stack.toml
    cited by
    lemonfiber@f979a63f47
  11. D4-R11acceptedMUST

    Partial series requests MUST be supported without re-acquiring existing content.

    locked by
    0.11.0 met
    recorded done
    lemonfiberlemonfiber-media-stack:stack.toml
    cited by
    lemonfiber@a75faf60ed
  12. D4-R12acceptedMUST

    A library scan MUST complete before a request is reported available.

    locked by
    0.11.0 met
    recorded done
    lemonfiberlemonfiber-media-stack:stack.toml
    cited by
    lemonfiber@f979a63f47
  13. D4-R13acceptedMUST

    Content a requester lacks permission for MUST NOT be offered.

    locked by
    0.11.0 met
    recorded done
    lemonfiberlemonfiber-media-stack:stack.toml
    cited by
    lemonfiber@a75faf60ed
  14. D4-R14acceptedMUST

    Repeated fulfilment failure MUST stop retrying silently and MUST notify both requester and operator.

    locked by
    0.11.0 met
    recorded done
    lemonfiberlemonfiber-media-stack:stack.toml
    cited by
    lemonfiber@f979a63f47
  15. D4-R15acceptedMUST

    A member's search, and every list of titles offered to a member to ask for, MUST be answered by the core under that member's limits, and MUST NOT offer a title the member may not watch or ask for (D8-R8, D8-R9). Each title MUST say whether it is here, already asked for, or may be asked for (D4-R5, D4-R10).

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing/find.rscrates/lemonfiber-core/src/wishing/limits.rscrates/lemonfiber-core/src/wishing/find/tests.rs
    cited by
    lemonfiber@874fda833alemonfiber-web@7187c6e791sdk-ts@63ac6ef057sdk-php@c276714bbdlemonfiber-companion@d813497880
  16. D4-R16acceptedMUST

    A member MUST be able to ask for a title through lemonfiber's web API on their own session. The core MUST check the member's allowance and limits before the request reaches the request service, and MUST answer with what became of it in the household's words (G4-R16).

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing/ask.rscrates/lemonfiber-api/src/actions/named/wishing.rscrates/lemonfiber-api/src/entitled.rscrates/lemonfiber-core/src/wishing/ask/tests.rs
    cited by
    lemonfiber@874fda833alemonfiber-web@7187c6e791sdk-ts@63ac6ef057sdk-php@c276714bbdlemonfiber-companion@d813497880
  17. D4-R17acceptedMUST

    A member's search MUST be answered one page at a time, in an order that holds from one page to the next, each page carrying where the next begins until there is none, so a client loads the next as the member reaches it; no title MUST appear on two pages of one search.

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing/place.rscrates/lemonfiber-core/src/wishing/find.rscrates/lemonfiber-core/src/wishing/place/tests.rs
    cited by
    lemonfiber@874fda833alemonfiber@e6cb1724be
  18. D4-R18acceptedMUST

    Which kinds of title a member's search covers MUST be the kinds the stack can deliver now (D4-R4), decided by the core and said in its answer; the member MUST NOT be offered a kind to choose.

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing.rscrates/lemonfiber-core/src/wishing/find/tests.rs
    cited by
    lemonfiber@874fda833alemonfiber@e6cb1724be
  19. D4-R19acceptedMUST

    A title a member's search finds with no certification MUST have its certification looked up by the core before it is offered, and where none is found it MUST be treated as unrated under that member's unrated policy (D8-R5), never as allowed.

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing/limits.rscrates/lemonfiber-contract/src/capabilities/identity.rscrates/lemonfiber-core/src/wishing/limits/tests.rs
    cited by
    lemonfiber@874fda833alemonfiber@e6cb1724be
  20. D4-R20acceptedMUST

    A member's ask MUST be an action of the web API, rehearsed before it is sent so the member is told what it would leave of their allowance and whether it waits for approval, and sent with an Idempotency-Key so a retry after no answer asks once (ARCH-R165); request.intake MUST carry the search and the ask as operations of its own.

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing/ask.rscrates/lemonfiber-api/src/actions.rscrates/lemonfiber-core/src/seerr/searching.rscrates/lemonfiber-core/src/wishing/ask/tests.rs
    cited by
    lemonfiber@874fda833alemonfiber@e6cb1724be
  21. D4-R21acceptedMUST

    Every request a member or the operator reads MUST name the title it asks for, a request still awaiting approval included: where no library holds the title yet, the core MUST name it from the request service's own record of that title. A request neither can name MUST still be shown and decidable, and MUST NOT make the rest of the reading unreadable.

    locked by
    0.19.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/household/run/naming.rscrates/lemonfiber-core/src/seerr/records.rscrates/lemonfiber-core/src/seerr/searching.rscrates/lemonfiber-core/src/household/run/tests/requests.rs
    cited by
    lemonfiber@2182322aa8