## ADDED Requirements ### Requirement: Platform exposes resource usage metrics The platform SHALL expose a bounded platform resource usage endpoint for the management console. #### Scenario: Platform metrics loaded - **WHEN** an authorized platform administrator requests platform resource usage - **THEN** the platform MUST return CPU, memory, disk, source, and timestamp metadata in a named DTO response #### Scenario: Platform metrics remain safe - **WHEN** the platform returns resource usage data - **THEN** the response MUST NOT include host paths, raw credentials, direct sockets, storage backend credentials, or raw AI provider keys ### Requirement: Platform exposes per-server metrics The platform SHALL expose bounded per-server metrics for server management and overview pages. #### Scenario: Server metrics listed - **WHEN** an authorized user requests server metrics - **THEN** the platform MUST return only metrics for server instances visible to that user #### Scenario: Pending metrics are bounded - **WHEN** a server does not have current metrics - **THEN** the platform MUST return a bounded missing/pending representation rather than unsafe fallback internals ### Requirement: Server config read is safe and role scoped The platform SHALL expose a server config read endpoint that returns logical config content for an authorized server instance. #### Scenario: Owner reads server config - **WHEN** a server owner requests config for their server instance - **THEN** the platform MUST return config content, config version, server instance ID, and bounded metadata #### Scenario: Unauthorized config read rejected - **WHEN** a user without access requests server config - **THEN** the platform MUST reject the request and MUST NOT return config content #### Scenario: Config response hides run internals - **WHEN** the platform returns server config - **THEN** the response MUST NOT expose run credentials, raw host paths, direct sockets, or raw secret values ### Requirement: Console uses API-backed observability and config reads The frontend SHALL prefer API-backed platform metrics, server metrics, and server config content over hardcoded production data. #### Scenario: API config suppresses fallback - **WHEN** the server config API returns content - **THEN** ServerDetailPage MUST render that content and MUST NOT display the local sample config label #### Scenario: Metrics render from API - **WHEN** metrics APIs return data - **THEN** HomePage and server cards MUST render API metric values with safe loading/error states #### Scenario: Fallback is explicit - **WHEN** a development fallback is used because an API is unavailable - **THEN** the UI MUST label it as local/demo fallback and MUST NOT present it as persisted platform data