2.3 KiB
2.3 KiB
MODIFIED Requirements
Requirement: Supervisor is opt-in and disabled by default
The Host Agent SHALL NOT start, adopt-check, or supervise Appium unless
HOST_AGENT_DEPENDENCY_SUPERVISOR_ENABLED is explicitly set to true. Appium
supervision SHALL additionally require HOST_AGENT_APPIUM_SUPERVISED=true
and SHALL default to false.
Scenario: Default configuration behaves exactly as before
- WHEN a Host Agent starts with no
HOST_AGENT_DEPENDENCY_SUPERVISOR_ENABLEDor related Appium environment variable set - THEN the Host Agent does not attempt to connect to, probe, or spawn Appium, and its heartbeat/claim behavior is unchanged
Scenario: Top-level flag on and Appium flag off
- WHEN
HOST_AGENT_DEPENDENCY_SUPERVISOR_ENABLED=trueandHOST_AGENT_APPIUM_SUPERVISED=false - THEN the Host Agent does not probe, adopt, or spawn Appium
Requirement: Spawn supervised dependencies that are not already running
The Host Agent SHALL spawn Appium as a child process when Appium supervision is
enabled and no healthy Appium instance is adopted, via
appium --address <host> --port <port> and SHALL forward the child
process's stdout/stderr into the Host Agent's own logging, tagged by dependency
name.
Scenario: Appium is not running at Host Agent startup
- WHEN Appium supervision is enabled and no healthy Appium instance is already listening
- THEN the Host Agent spawns Appium before proceeding to its first device-connect attempt, and its output is visible in Host Agent logs
Scenario: Spawn fails because the executable is missing
- WHEN the Host Agent attempts to spawn Appium but
appiumis not found onPATH - THEN the Host Agent logs a dependency-supervisor-specific startup error naming the missing dependency, distinct from a runtime crash of an already-started process
ADDED Requirements
Requirement: Runtime supervision settings are retired
The Host Agent SHALL reject HOST_AGENT_RUNTIME_SUPERVISED,
HOST_AGENT_RUNTIME_HOST, and HOST_AGENT_RUNTIME_PORT because the
standalone Runtime service no longer exists.
Scenario: A legacy Runtime supervision variable is set
- WHEN startup configuration includes any removed Runtime supervision variable
- THEN configuration fails with an actionable migration error