Files
browser/openspec/changes/complete-scum-deployment-lifecycle/proposal.md
T

2.1 KiB

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.