29 lines
2.1 KiB
Markdown
29 lines
2.1 KiB
Markdown
## Why
|
|
|
|
The current SCUM workflow treats a directory and a few generic fields as if they were a complete installation. That cannot distinguish a new SteamCMD install from adoption of an existing server, cannot prove that SCUM configuration was materialized, and marks a job ready without a game-specific health check.
|
|
|
|
## What Changes
|
|
|
|
- Add a versioned SCUM deployment template that declares the Steam app, supported target, executable markers, config file mappings, discovery markers, and post-install verification checks.
|
|
- Extend the Platform-to-Run job contract with bounded preflight, install/scan projection, config mapping, and verification evidence; keep protected paths and commands Run-local.
|
|
- Persist a safe deployment projection for operators: preflight state, discovered runtime facts, config mapping status, verification state, and stable failure codes without raw host paths or command text.
|
|
- Make SCUM install and adopt operations explicit and idempotent. A new install must run install and configure phases; adoption must scan before any managed write.
|
|
- Add contract tests and manifest validation for the complete SCUM lifecycle. The UI will consume these projections after the backend contract is in place.
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
- `scum-deployment-lifecycle`: Game-specific controlled install/adopt plans, scan projections, config mappings, and post-install verification.
|
|
|
|
### Modified Capabilities
|
|
|
|
- `run-job-channel`: Leased deployment jobs carry a validated SCUM template and return bounded lifecycle evidence.
|
|
|
|
## Impact
|
|
|
|
- Affects `platform/domain`, `platform/dto`, `platform/service`, `platform/validator`, and `platform/protocol`.
|
|
- Affects `plugins/manifests/game-plugin.manifest.schema.json`, SCUM manifest assets, and plugin validation tests.
|
|
- Requires a coordinated implementation in the independent Run repository before real machines can execute the new template; this repository provides the authoritative contract and safe projection.
|
|
- Does not add billing, cloud host sales, direct SSH, raw host paths to browser/plugin responses, or a Run source tree here.
|