Files

43 lines
3.1 KiB
Markdown

## MODIFIED Requirements
### Requirement: Server creation requires only plugin type and server name
The system SHALL require only the game plugin type and the server name to create a server instance, and SHALL NOT require a deployment target, run endpoint, or runtime profile at creation time. The creation workflow MAY collect plugin-declared deployment mode, game configuration, and startup fields before submit, but those fields SHALL NOT create a durable run endpoint binding.
#### Scenario: Creation form field set
- **WHEN** an owner opens the server creation workflow
- **THEN** the form requires plugin type and server name only, may present plugin-declared deployment/startup inputs, and presents no deployment target or run endpoint selector as a creation prerequisite
#### Scenario: Creation without any registered runtime session
- **WHEN** an owner creates a server instance while no Run has registered for that instance
- **THEN** creation succeeds and the instance is created without a run endpoint binding
#### Scenario: Runtime session established by run registration
- **WHEN** a generated Run for that instance registers itself with the platform
- **THEN** the platform creates or renews a Redis runtime session lease for that server Run and does not persist a server-to-run-endpoint association
#### Scenario: Runtime profile and endpoint selection are not creation prerequisites
- **WHEN** an owner opens an already-created instance
- **THEN** runtime profile and run endpoint selection are not required to make the instance exist, generate a Run package, or show runtime connection guidance
### Requirement: Build availability is independent of run endpoint capabilities
The system SHALL determine `generate-run` and `generate-client-manager` availability from plugin declarations, runtime bindings, and platform builder readiness, and SHALL NOT require any machine-side Run session or durable run endpoint row to advertise `distribution.build`.
#### Scenario: Instance has only its generated Run runtime session
- **WHEN** a server instance's only live runtime session is its generated Run, which holds no distribution-build authority
- **THEN** `generate-run` remains available and a new run distribution can be generated through the platform builder
#### Scenario: No privileged worker endpoint registered
- **WHEN** no machine-side Run advertises `distribution.build` or no legacy endpoint row exists
- **THEN** run generation still succeeds through the platform Docker builder
#### Scenario: Builder unavailable
- **WHEN** the platform Docker builder is unavailable
- **THEN** the unavailable reason names the platform builder rather than a run endpoint capability
### Requirement: Generated runs hold no distribution-build authority
The system SHALL continue to deny distribution-build work to component-authenticated generated Runs. This restriction is a security boundary and SHALL NOT be relaxed to unblock building.
#### Scenario: Generated run claims a build
- **WHEN** a component-authenticated generated Run session claims work advertising `distribution.build`
- **THEN** the platform does not assign distribution build work to that Run session