2.1 KiB
2.1 KiB
ADDED Requirements
Requirement: Run reports supervised server observations
A generated Run package SHALL submit a signed metric sample for its bound server instance after it has registered and completed autonomous lifecycle startup, and after each successful heartbeat. The sample's online field SHALL be derived from the current state of Run's matching supervised process, not from a platform lifecycle projection.
Scenario: Managed server process is running
- WHEN the generated Run has a current matching supervised process in the
runningstate - THEN it submits a metric sample with
online=truefor its bound server instance
Scenario: Managed server process is absent or exited
- WHEN the generated Run has no matching supervised process or its matching process is not running
- THEN it submits a metric sample with
online=falseand does not claim the server is running
Requirement: Run reports only generic local utilization
Run SHALL populate optional utilization fields only from generic local host and workspace-volume observations. It SHALL omit unavailable observations and SHALL NOT synthesize game-specific player, TPS, or latency metrics.
Scenario: Host resource collector is available
- WHEN CPU, memory, or workspace-volume utilization can be observed locally
- THEN the corresponding percentage fields are included in the sample without any host path or credential value
Scenario: Host resource collector is unavailable
- WHEN an optional local resource observation cannot be collected
- THEN Run still reports the process observation and omits the unavailable field
Requirement: Metric delivery remains bounded and independent
Run SHALL use a bounded report request and SHALL treat a rejected or failed metric upload as degraded telemetry rather than a control, job, log, or artifact failure.
Scenario: Metric endpoint is temporarily unavailable
- WHEN an upload attempt fails or times out
- THEN the worker continues its lifecycle and retry occurs through a later reporting cycle