Files
browser/openspec/changes/report-run-server-metrics/specs/run-server-metrics/spec.md
T

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 running state
  • THEN it submits a metric sample with online=true for 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=false and 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