Open milanlakhani opened 4 months ago
@milanlakhani - can you please add your signed-off-by. :-)
Met with Shefali, and she'll take a pass at updating the spreadsheetm. and regenerating these requirements based on the feedback last week.
Level 1 AI generated duplicate requirements:
Level 2 AI generated duplicate requirements:
[x] REQ-1 & REQ-5 & REQ-7 & REQ-8 REQ-1: OpenAPS shall be able to detect if dependencies are completely installed to match the current OpenAPS algorithm. REQ-5: OpenAPS shall have a script which can be run to detect if all dependencies are completely installed. REQ-7: There shall be a script to test that all the required dependencies have been installed which is separate from the installation script. REQ-8: OpenAPS install script shall have pre-install and post-install scripts, pre-install makes sure that OpenAPS has dependencies before the installation of OpenAPS, post-install makes sure that everything which is required has been installed.
[x] REQ-3 & REQ-4 REQ-3: Human shall make sure that the script has been run successfully. REQ-4: Human shall make sure OpenAPS installation has been successful.
[x] REQ-2 & REQ-24 & REQ-88 REQ-2: Raspberry OS is up to date. REQ-24: RasPi OS must not have broken dependencies and packages. REQ-88: OpenAPS must not have broken dependencies and packages.
[x] REQ-9 & REQ-10 REQ-9: OpenAPS shall check whether the software update is effective and conforming to OpenAPS recommendations in the context of the versions of the other components in the user's system. REQ-10: OpenAPS shall require specific versions of dependencies which have been tested to be compatible with all of the components.
[x] REQ-21 & REQ-27 REQ-21: For each RasPi OS dependency, the version(s) that are compatible with each supported version of OpenAPS must be documented. REQ-27: OpenAPS developers shall specify the versions of RaspiOS which are supported on each version of OpenAPS.
[x] REQ-29 & REQ-43 REQ-29: On boot, RaspiOS shall automatically start OpenAPS. REQ-43: RasPi OS must believe that it is looping when it is looping.
[x] REQ-11 & REQ-14 REQ-11: Human shall be warned in documentation not to install too many packages. REQ-14: Human user shall be warned of any possible security threats.
[x] REQ-31 & REQ-74 REQ-31: OpenAPS itself shall check to see if there is a newer version of OpenAPS installed. REQ-74: OpenAPS shall be able to detect whether the other component is able to receive and action command.
[x] REQ-41 & REQ-123 REQ-41: Alarm is needed if a handshake is expected but missing for too long. REQ-123: When communication is failing, insulin pump must fall back to regular operation.
[x] REQ-32 & REQ-51 REQ-32: OpenAPS shall check for multiple instances of it running. REQ-51: OpenAPS must recognize when its communication with RasPi OS is flawed.
[x] REQ-66 & REQ-67 REQ-66: Include unique identifiers (address, application name etc.) to more clearly indicate if a signal is from the OpenAPS app. REQ-67: Implement unique identifier or two-step verification prompt when there's a new input device that prevents accidental sending of commands from an unexpected source.
[x] REQ-56 & REQ-61 REQ-56: RasPi OS shall be able to recognize all devices that OpenAPS is expecting. REQ-61: RasPi OS shall recognize all commands that it has been issued by the OpenAPS app.
[x] REQ-77 & REQ-76 REQ-77: When RasPi hardware fails, insulin pump must fall back to regular operation. REQ-76: When RasPi processor is hung, insulin pump must fall back to regular operation.
[x] REQ-104 & REQ-105 REQ-104: If data that has an unexpected data format/data content is received, OpenAPS must be able to detect it. REQ-105: There must be a defined reaction of OpenAPS to unexpected data (to alarm the user or the other device/s).
[x] REQ-71 & REQ-73 REQ-71: OpenAPS shall send commands to be queued, wait for acknowledgement from NightScout; otherwise keep in queue and attempt to resend again. REQ-73: Wait for acknowledgement from NightScout; otherwise keep in queue and attempt to resend again.
[x] REQ-62 & REQ-59 REQ-62: If the algorithm determines that a command is unsafe, the system shall fallback to regular insulin pump operation and the user shall be notified. REQ-59: If a command from OpenAPS is not received by an external device (e.g., for network reasons), if safety-critical, warn the user and fallback to regular operation.
[x] REQ-33 & REQ-68 REQ-33: User shall have fresh install of Raspi OS on machine that meets minimum requirements with no other applications running except for OpenAPS. REQ-68: If Raspi OS is malfunctioning and not sending the correct commands, the user shall be notified to reinstall the Raspi OS and the piu.
[x] REQ-98 & REQ-99 REQ-98: OpenAPS shall provide a service to test the safety of algorithms. REQ-99: OpenAPS shall have a facility to allow the human to test an algorithm, while running a different algorithm, and compare dosing recommendations.
[x] REQ-102 & REQ-101 REQ-102: OpenAPS shall have a fixed spot to check for and implement updates in every (~5 minute) OpenAPS loop. REQ-101: OpenAPS shall have a fixed spot to check for and implement updates, either new settings or software updates, in every (~5 minute) OpenAPS loop.
This replaces #18