N23 What keeps going, and what stopped moving
- Area
- N — Companion
- Audience
- operator
- Kind
- feature
- Status
- accepted
- Maturity
- built
- Labels
- mobile, queue, ux
The feature in the specification · Read at
Requirements
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).
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).
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
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
A rehearsed install or removal MUST be labelled as a rehearsal (N6-R1).
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).
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
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).
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).
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
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
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
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