← The board

D7 Request approval & quotas

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

The feature in the specification · Read at

Requirements

  1. D7-R1acceptedMUST

    Approval policy MUST be selectable in plain language, with per-member override supported.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@4bbc7993b8lemonfiber@5177616deflemonfiber@5feeebeb1e
  2. D7-R2acceptedMUST

    Quotas MUST be expressed in terms the household understands — requests per period or volume per period.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@4bbc7993b8lemonfiber@5feeebeb1e
  3. D7-R3acceptedMUST

    On an operator's surface, estimated size MUST be shown before a request is submitted. A member is told what it leaves of their allowance (D7-R15).

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/household/run/allowance.rscrates/lemonfiber-ports/src/service/notices.rscrates/lemonfiber-core/src/seerr/notices.rscrates/lemonfiber-core/src/household/run/notices.rs
    recorded partial
    lemonfiber-companionapp-modules/kernel/src/Api/HowBig.phpapp-modules/sdk/src/Api/Households.phpapp-modules/kernel/tests/Api/HowBigTest.phpapp-modules/kernel/tests/Api/SizeTest.php
    cited by
    lemonfiber@62510f33a5lemonfiber@e36d4ef940lemonfiber@5feeebeb1e
  4. D7-R4acceptedMUST

    Estimates MUST be labelled as estimates.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    recorded partial
    lemonfiber-companionapp-modules/kernel/src/Api/HowBig.phpapp-modules/kernel/tests/Api/SizeTest.phpapp-modules/sdk/tests/Api/HouseholdsTest.php
    cited by
    lemonfiber@5feeebeb1e
  5. D7-R5acceptedMUST

    A request exceeding remaining quota MUST be blocked at submission, stating the limit and reset time.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/household/run/handing_over.rscrates/lemonfiber-core/src/asking/window.rscrates/lemonfiber-core/src/household/run/notices.rs
    cited by
    lemonfiber@30083f930flemonfiber@62510f33a5lemonfiber@e36d4ef940lemonfiber@5feeebeb1e
  6. D7-R6acceptedMUST

    Pending requests MUST be approvable from lemonfiber without opening Seerr.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    recorded partial
    lemonfiber-companionapp-modules/operator/src/Internal/Screens/WhatTheHouseholdAsked.phptests/Arch/EveryCadenceIsDeclaredTest.phptests/Arch/ScreensDeclarePaintingTest.php
    cited by
    lemonfiber@5feeebeb1e
  7. D7-R7acceptedMUST

    Declining MUST require a reason, and that reason MUST reach the requester.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking/reasons.rscrates/lemonfiber-core/src/outbound.rscrates/lemonfiber-ports/src/service/addressing.rscrates/lemonfiber-core/src/seerr/addressing.rscrates/lemonfiber-core/src/telling.rscrates/lemonfiber-core/src/asking/run/passing_on.rs
    recorded partial
    lemonfiber-companionapp-modules/kernel/src/Api/Decided.phpapp-modules/sdk/src/Api/Households.phpapp-modules/kernel/tests/Api/DecidedTest.phpapp-modules/kernel/tests/Api/TurnedDownTest.php
    cited by
    lemonfiber@ae1d031f8alemonfiber@62510f33a5lemonfiber@e36d4ef940lemonfiber@5feeebeb1e
  8. D7-R8acceptedMUST

    Long-pending requests MUST remind the operator and MUST expire with the requester informed.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking/expiry.rscrates/lemonfiber-core/src/app/arrangement.rscrates/lemonfiber-core/src/app/expiring.rs
    cited by
    lemonfiber@ab3f20fc59lemonfiber@62510f33a5lemonfiber@e36d4ef940
  9. D7-R9acceptedMUST

    Actual size exceeding the estimate MUST NOT retroactively cancel an approved request.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@5feeebeb1e
  10. D7-R10acceptedMUST

    Quota MUST be evaluated at submission and MUST NOT be re-evaluated in flight.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@5feeebeb1e
  11. D7-R11acceptedMUST

    Duplicate requests MUST NOT consume quota more than once.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@5feeebeb1e
  12. D7-R12acceptedMUST

    Partially available content MUST charge quota only for the missing portion.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@5feeebeb1e
  13. D7-R13acceptedMUST

    Critical disk state MUST block requests, with disk stated to the operator as the reason, distinct from quota. A member is told as D7-R15 says.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/household/run/holding.rs
    cited by
    lemonfiber@d0b3bf15d7lemonfiber@62510f33a5lemonfiber@e36d4ef940
  14. D7-R14acceptedMUST

    Operator requests MUST NOT be quota-limited.

    locked by
    0.12.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/asking.rscrates/lemonfiber-core/src/seerr/asking.rscrates/lemonfiber-core/src/asking/run.rscrates/lemonfiber-core/src/household/run/allowance.rs
    cited by
    lemonfiber@5feeebeb1e
  15. D7-R15acceptedMUST

    Before a member asks, what a request would use of their allowance MUST be stated as what it leaves room for, in titles of each kind counted against the allowance, and MUST NOT be stated as a size. An estimate MUST still say it is one (D7-R4). A request blocked for want of room on the disk MUST be told to a member as the house having no room for new things right now, and MUST NOT be told as their own limit.

    locked by
    0.18.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/wishing/ask.rscrates/lemonfiber-core/src/model/wishing.rscrates/lemonfiber-core/src/model/asking.rscrates/lemonfiber-core/src/household/run/notices.rscrates/lemonfiber-core/src/wishing/ask/tests.rs::a_rehearsal_says_what_the_ask_leaves_and_that_it_waits_and_files_nothingcrates/lemonfiber-core/src/wishing/ask/tests.rs::an_ask_under_no_limit_says_nothing_about_roomcrates/lemonfiber-core/src/wishing/ask/tests.rs::a_house_with_no_room_says_so_as_the_houses_and_files_nothingcrates/lemonfiber-core/tests/integration/what_a_full_disk_stops.rs::a_full_disk_stops_the_household_asking
    cited by
    lemonfiber@2fdb17698flemonfiber@874fda833a