3.2 KiB
ADDED Requirements
Requirement: Frozen deployment execution
Platform SHALL send a typed, versioned deployment definition with every lifecycle job for a configured server, and Run SHALL reject a definition it cannot validate or execute for the requested lifecycle action.
Scenario: Start uses the leased revision
- WHEN Run receives a valid
process.startjob with deployment revision 7 - THEN it SHALL execute only the fields in that leased revision and SHALL not fetch a mutable replacement definition
Scenario: Incompatible Run is rejected
- WHEN a selected Run does not advertise deployment-execution support
- THEN Platform SHALL reject dispatch before assigning a lifecycle job
Requirement: Execution revision receipt
Run SHALL include a non-sensitive deployment execution receipt in each terminal deployment-aware lifecycle result, and Platform SHALL validate the receipt against the job's leased definition before projecting confirmation.
Scenario: Matching receipt is projected
- WHEN Run succeeds a start job and returns the job's deployment revision and action
- THEN Platform SHALL show that Run confirmed execution of that revision
Scenario: Mismatched receipt is rejected
- WHEN Run reports a deployment revision or lifecycle action different from the lease
- THEN Platform SHALL reject the terminal result and SHALL not mark the job successful
Requirement: Explicit deployment field clearing
Platform SHALL preserve a deployment value when an update omits it and SHALL clear an optional field only when the update explicitly names that field for clearing.
Scenario: Omitted shell remains unchanged
- WHEN an editor saves a deployment update without a shell value
- THEN Platform SHALL preserve the saved shell selection
Scenario: Optional command is cleared
- WHEN an editor submits
stopCommandin its explicit clear list - THEN Platform SHALL store no stop command for the next deployment revision
Requirement: SCUM guided deployment is template-owned
For a frozen SCUM guided-install assignment, Run SHALL execute the declared SCUM installation template rather than requiring an operator-provided install or start command. The operator supplies only the protected target root and plugin create inputs.
Scenario: Missing runtime prerequisites are installed silently
- WHEN a Windows SCUM guided-install detects a required declared Microsoft runtime is absent
- THEN Run SHALL obtain the approved Microsoft artifact, invoke only its fixed silent installer arguments, verify the runtime marker, and continue only when verification passes
Scenario: SteamCMD installs into the selected root
- WHEN a valid SCUM guided-install is executed for root
C:\\scumserver - THEN Run SHALL invoke SteamCMD with
+force_install_dir C:\\scumserver, anonymous login, App3792580, validation, and quit as separate argument values
Scenario: Guided execution does not disclose raw values remotely
- WHEN Run completes or fails a SCUM guided-install
- THEN its progress, result, evidence, artifact names, and uploaded logs SHALL contain no raw root, command line, credential, or installer URL