← The board

B5 Notifications & alerting

Area
B — Running it
Audience
both
Kind
feature
Status
accepted
Maturity
shipped
Shipped in
0.5.0
Labels
notifications
Relates to
B3C1C7C8D4G4

The feature in the specification · Read at

Requirements

  1. B5-R1acceptedMUST

    lemonfiber MUST NOT duplicate notifications that Seerr or the \arrs already send to their own users; a new request and an answered invitation MUST reach the operator alone, as the request and member notification kinds (ARCH-R279), and MUST NOT be sent to a household member.

    locked by
    0.5.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
    cited by
    lemonfiber@ae1d031f8alemonfiber@dc66237e21
  2. B5-R2acceptedMUST

    Setup MUST ask notification appetite once, offering presets rather than an event checklist.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@976e529b1f
  3. B5-R3acceptedMUST

    Every individual event MUST remain configurable after setup.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@976e529b1f
  4. B5-R4acceptedMUST

    In-app delivery MUST be unconditional and MUST NOT require configuration.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/dashboard/run.rscrates/lemonfiber-core/src/app/screen.rscrates/lemonfiber-core/src/app/outbox.rs
    cited by
    lemonfiber@6f5c7480d1lemonfiber@45d2219732lemonfiber@6cc516adf8
  5. B5-R5acceptedMUST

    An ongoing condition MUST notify once on onset and once on resolution, never repeatedly.

    locked by
    0.5.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
    cited by
    lemonfiber@ae1d031f8alemonfiber@ff2ccc9a66
  6. B5-R6acceptedMUST

    Conditions MUST be debounced so flapping does not generate repeated alerts.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@ff2ccc9a66
  7. B5-R7acceptedMUST

    Simultaneous alerts MUST be coalesced into a digest.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@ff2ccc9a66
  8. B5-R8acceptedMUST

    Every alert MUST state what happened, what it means, and what to do.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@e54279d6dclemonfiber@dc66237e21lemonfiber@1fd558c7ed
  9. B5-R9acceptedMUST

    Alerts MUST NOT contain credentials, subject to the same redaction as the support bundle.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@973f32ab56
  10. B5-R10acceptedMUST

    Channel delivery failure MUST itself be surfaced, and MUST NOT cause alert loss.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@45d2219732lemonfiber@6cc516adf8
  11. B5-R11acceptedMUST

    Critical alerts MUST bypass quiet-hours suppression.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rscrates/lemonfiber-core/src/alert/quiet.rs
    cited by
    lemonfiber@5c2dbb4200lemonfiber@5e0545dd16lemonfiber@ff2ccc9a66
  12. B5-R12acceptedMUST

    Deliberate operator-initiated stops MUST suppress the resulting operational alerts.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@dc66237e21
  13. B5-R13acceptedMUST

    Alert history MUST retain conditions that resolved before being read.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/dashboard/run.rscrates/lemonfiber-core/src/app/screen.rscrates/lemonfiber-core/src/app/outbox.rscrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@6f5c7480d1lemonfiber@6cc516adf8
  14. B5-R14acceptedMUST

    The same condition across several services MUST produce one grouped alert.

    locked by
    0.5.0 met
    recorded done
    lemonfibercrates/lemonfiber-core/src/condition.rscrates/lemonfiber-core/src/alert.rscrates/lemonfiber-core/src/notify/run.rs
    cited by
    lemonfiber@dc66237e21