16 lines
956 B
Markdown
16 lines
956 B
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Heartbeat carries observed gateway telemetry
|
|
Every authenticated `GatewayHeartbeat` SHALL carry the bounded process-level counters, delay totals and samples, control RTT/loss/jitter, pending reliable work, reconnect count, and provider state defined by `GatewayTelemetry`.
|
|
|
|
#### Scenario: Valid telemetry heartbeat
|
|
- **WHEN** a gateway reports its current observed snapshot
|
|
- **THEN** Go, Rust, and Swift bindings accept the same bounded low-cardinality values and units
|
|
|
|
### Requirement: Heartbeat telemetry excludes sensitive dimensions
|
|
Heartbeat telemetry MUST reject unknown fields and MUST NOT include session, route, endpoint, credential, label, or payload values.
|
|
|
|
#### Scenario: Secret or high-cardinality field is attempted
|
|
- **WHEN** a heartbeat contains an unregistered session, route, endpoint, credential, or payload field
|
|
- **THEN** strict contract validation rejects it before authenticated transport
|