Files

3.0 KiB

ADDED Requirements

Requirement: Server definitions can be saved before Run is available

The system SHALL allow an authorized server manager to create and edit a draft server definition without a Run endpoint binding. The system MUST NOT dispatch a lifecycle job for an unbound draft.

Scenario: Create an unbound draft

  • WHEN an authorized user saves a server definition without selecting a Run endpoint
  • THEN the system stores it in draft state and returns no install job

Scenario: Deploy a draft after Run registration

  • WHEN an authorized user binds a draft to a compatible online Run endpoint and requests deployment
  • THEN the system validates the deployment definition and queues the requested lifecycle job

Requirement: Deployment modes support real self-hosted layouts

The system SHALL support guided-install, existing-server, and custom-command deployment modes. An operator MAY provide an absolute server root and working directory for all modes and lifecycle command definitions for custom-command mode.

Scenario: Adopt an existing Python virtual-environment server

  • WHEN an operator saves existing-server or custom-command mode with an absolute working directory and a Python virtual-environment startup command
  • THEN the system stores the protected execution input and does not require the server directory to be adjacent to Run

Requirement: Protected execution inputs are not exposed by read APIs

The system SHALL treat supplied host paths and command text as protected execution inputs. List, detail, job, audit, log, and plugin bridge read responses MUST expose only configured state, deployment mode, and safe fingerprints or summaries.

Scenario: Read a configured custom deployment

  • WHEN an authorized user reads a server deployment definition after saving a path and command
  • THEN the response indicates the protected fields are configured without returning their values

Requirement: Deployment requires an execution-capable Run only when dispatching

The system SHALL require an online compatible Run endpoint only for preflight, install, start, stop, or status dispatch. The system MUST reject dispatch when the assigned Run does not declare the versioned deployment-plan capability.

Scenario: Attempt deployment with incompatible Run

  • WHEN an operator requests deployment against a Run that lacks deployment-plan support
  • THEN the system returns a safe compatibility reason and does not queue an executable lifecycle job

Requirement: Lifecycle status explains waiting and execution phases

The system SHALL surface whether a deployment job is queued, claimed, in preflight, installing, configuring, starting, or performing a health check. Safe Run failures MUST remain attached to the job and server state.

Scenario: Run has not claimed deployment

  • WHEN a deployment job remains queued
  • THEN the server UI identifies it as waiting for Run claim rather than reporting installation progress