43 lines
3.1 KiB
Markdown
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
|