← The board

N23 What keeps going, and what stopped moving

Area
N — Companion
Audience
operator
Kind
feature
Status
accepted
Maturity
built
Labels
mobile, queue, ux
Requires
N1B10C7
Relates to
C5N2N8N10N16

The feature in the specification · Read at

Requirements

  1. N23-R1acceptedMUST

    The app MUST offer hosting a named long-running command and removing one, each as an act of its own, and MUST NOT host a command as a side effect of any other act (B10-R6).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/Hosting.phpapp-modules/kernel/src/Api/HostingAgreed.phptests/Contract/HostingContractTest.phptests/Feature/EveryActionTheStackOffersTest.php
  2. N23-R2acceptedMUST

    After an install, the app MUST say whether the command was started and where its words are written, and MUST report the standing the stack returned rather than the install having succeeded (B10-R7, B10-R13).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/WhatTheHandoverDid.phpapp-modules/sdk/src/Api/Handovers.phpapp-modules/kernel/tests/Api/HowTheHandoverWentTest.phpapp-modules/kernel/tests/Api/WhatTheHandoverDidTest.php
  3. N23-R3acceptedMUST

    Every file an install or a removal wrote or took back MUST be shown with its result (B10-R10).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/TheFilesTouched.phpapp-modules/kernel/tests/Api/HowTheHandoverWentTest.phpapp-modules/kernel/tests/Api/TheFilesTouchedTest.php
  4. N23-R4acceptedMUST

    Where the platform has no service manager lemonfiber configures, the app MUST show the stack's instruction and MUST NOT offer an install (B10-R4).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/InstructionSaysNothing.phpapp-modules/kernel/src/Api/WhatKeepsItRunning.phpapp-modules/kernel/tests/Api/WhatRunsUnattendedTest.php
  5. N23-R5acceptedMUST

    A rehearsed install or removal MUST be labelled as a rehearsal (N6-R1).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/WhatTheHandoverDid.phpapp-modules/sdk/src/Api/Handovers.phpapp-modules/kernel/tests/Api/HowTheHandoverWentTest.phpapp-modules/kernel/tests/Api/WhatTheHandoverDidTest.php
  6. N23-R6acceptedMUST

    A stopped item MUST be shown in the category the stack gave it, in the stack's order, and slow MUST NOT be rendered as stuck (C7-R3, C7-R6).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/HowItStopped.phpapp-modules/kernel/src/Api/WhatStoppedMoving.phpapp-modules/health/tests/Api/KeepingTheLastReadingTest.phpapp-modules/kernel/tests/Api/AStoppageTest.php
  7. N23-R7acceptedMUST

    Where the stack reports one cause standing for several items, the app MUST show it once with the count, and MUST NOT expand it into a row per item (C7-R10, C7-R13).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/AStoppage.phpapp-modules/health/tests/Api/KeepingTheLastReadingTest.phpapp-modules/kernel/tests/Api/AStoppageTest.php
  8. N23-R8acceptedMUST

    What a service said was blocking an item MUST be shown in its own words, and how long the item has been that way MUST be shown with it (C7-R9).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/AStoppage.phpapp-modules/kernel/src/Api/HowLongAgo.phpapp-modules/health/tests/Api/KeepingTheLastReadingTest.phpapp-modules/kernel/tests/Api/AStoppageTest.php
  9. N23-R9acceptedMUST

    Where a queue could not be read, or a service's queue is one lemonfiber cannot read, the app MUST say so, naming each service and its reason where the stack names them, and MUST NOT present the list as complete (C7-R11, C7-R15).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/HowMuchIsShown.phpapp-modules/kernel/src/Api/Stalled.phpapp-modules/kernel/tests/Api/HowMuchIsShownTest.phpapp-modules/kernel/tests/Api/StalledTest.php
  10. N23-R10acceptedMUST

    A stuck item MUST lead to its trace (N8-R4), and MUST NOT lead only to a count.

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/operator/src/Internal/Screens/HowThisStackIs.phpapp-modules/operator/src/Internal/Screens/WhatStoppedComingIn.phpapp-modules/operator/tests/Internal/WhereTheTabsAreDrawnTest.phptests/Arch/NoArgumentThatCannotBeWrongTest.php
  11. N23-R11acceptedMUST

    The app MUST offer starting the data-root guard for forms the operator names, as an act of its own, and before it starts MUST say what it would guard and what it would do: the data location, how often it looks, and the command it would run when that location is lost (C5-R7, C5-R8). A refusal to start MUST be shown with the stack's reason.

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/AGuardAskedFor.phpapp-modules/kernel/src/Api/Guarding.phptests/Arch/WhatTheContractDoesNotCarryTest.php
  12. N23-R12acceptedMUST

    The app MUST say plainly, before the guard starts and for as long as it runs, that it lives only while this screen keeps asking about it and stops when the screen is left. While the screen is open the app MUST ask about it on the cadence it declares (N1-R27), and when the screen is left it MUST release it. A guard started this way MUST NOT be presented as hosted (N23-R1).

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/Guarding.phpapp-modules/kernel/src/Api/HowOftenAScreenLooks.phptests/Contract/GuardingContractTest.php
  13. N23-R13acceptedMUST

    A guard that saw the data location go MUST be shown with the forms it stopped, whether stopping them succeeded, and why it ended (N8-R7); one that did not succeed MUST NOT be shown as having stopped them. A guard ended without an outcome — released, or let go because nothing asked — and a guard the stack no longer knows MUST each be told apart from one that saw the data location go, and from one still guarding.

    locked by
    no version locks it yet
    recorded done
    lemonfiber-companionapp-modules/kernel/src/Api/HowTheGuardIsGoing.phpapp-modules/kernel/src/Api/WhatTheGuardSaw.phptests/Arch/WhatTheContractDoesNotCarryTest.php