← The board

N26 What the glue is doing

Area
N — Companion
Audience
both
Kind
feature
Status
accepted
Maturity
planned
Labels
mobile, verification, observability, stats, ux
Requires
N1H1H2H3H6H8K1
Relates to
N2N3N4N8N11N12N16N24

The feature in the specification · Read at

Requirements

  1. N26-R1acceptedMUST

    Where one of these features reports a proof that has not held, the app MUST show it as unproven, and MUST NOT show it as ready or as running (H1-R8, H2-R6, H3-R5, H8-R2, K1-R14).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  2. N26-R2acceptedMUST

    The app MUST offer starting a cross-seed search, listing its matches and running its wiring proof (H1-R14).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  3. N26-R3acceptedMUST

    A cross-seed near-miss and a partial match MUST each be shown as such, the partial one with its missing pieces, and neither MUST be counted as a match (H1-R9, H1-R10).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  4. N26-R4acceptedMUST

    An indexer that failed during a pass MUST be named as failed for that pass, and a failed client credential MUST be shown as halting additions (H1-R11, H1-R13).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  5. N26-R5acceptedMUST

    Each announce channel MUST be shown with its connection state and idle time, and a disconnected channel MUST NOT be shown as watching (H2-R9).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  6. N26-R6acceptedMUST

    A filter that has matched nothing over its window, a filter holding at its cap, and a match held for an unreachable destination MUST each be shown as itself, and MUST NOT be flattened into healthy or failed (H2-R7, H2-R11, H2-R13).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  7. N26-R7acceptedMUST

    The app MUST offer reloading filters, replaying an announce line through them, and running the wiring proof (H2-R14).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  8. N26-R8acceptedMUST

    The app MUST offer previewing a quality-profile sync, showing every create, update and removal with its score change, and MUST offer applying only the plan that was previewed (H3-R3, H3-R7, H3-R14).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  9. N26-R9acceptedMUST

    A sync MUST be shown as succeeded, instance by instance, only where the read-back confirmed it, and a conflict with another tool MUST be shown as a conflict (H3-R4, H3-R10, H3-R11).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  10. N26-R10acceptedMUST

    A cleanup candidate MUST be shown with the rule that selected it, the space it reclaims and the evidence the stack gave, and the app MUST NOT show evidence from any other source (H6-R2, H6-R9).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  11. N26-R11acceptedMUST

    A series or collection MUST be shown as its members, each with its evidence, and an item already removed by other means MUST be shown as already gone rather than as a failed deletion (H6-R12, H6-R13).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  12. N26-R12acceptedMUST

    A confirmation MUST cover only the cleanup plan it was given; a plan the stack re-presents MUST be confirmed afresh, and a run with no candidates MUST be said to have none (H6-R3, H6-R11, H6-R15).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  13. N26-R13acceptedMUST

    Whose playback statistics are shown MUST be the core's answer for the identity signed in, and the app MUST NOT hold a rule of its own about it (H8-R4, N3-R2).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  14. N26-R14acceptedMUST

    Completion a device did not report MUST be shown as unknown, a person with no recorded playback MUST be said to have none, and where backfill is unavailable the app MUST say where the history begins (H8-R3, H8-R8, H8-R13, N11-R1).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  15. N26-R15acceptedMUST

    What somebody watched MUST NOT appear in a notification or in anything drawn while the app is locked (H8-R5, N4-R10, N4-R24).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  16. N26-R16acceptedMUST

    The metrics pipeline MUST be shown per target and per dashboard as up, series present and rendering, each failure with its remedy; a service with no exporter MUST be shown as unmonitored, and a collector that scrapes without retaining MUST NOT be shown as healthy (K1-R5, K1-R6, K1-R7, K1-R11, K1-R12).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  17. N26-R17acceptedMUST

    The metrics store's retention bound and projected growth MUST be shown (K1-R9).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  18. N26-R18acceptedMUST

    The app MUST offer regenerating scrape targets and dashboards, and running the pipeline proof (K1-R13).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion
  19. N26-R19acceptedMUST

    The app MUST NOT draw the metrics dashboards or their series, and MUST say that they are the renderer's own screens; it MUST offer the renderer's address only where the stack gives one, and MUST NOT construct one. Drawing them would hold a second copy of every provisioned query (K1-R4), and the app renders the core's answers rather than copies of them (N1-R1).

    locked by
    no version locks it yet
    recorded open
    lemonfiber-companion