30I-D normaliza cómo se expone el estado de sensores para que endpoint, contexto y respuesta cognitiva usen el mismo contrato.

Cada summary operacional puede exponer:

  • inventory_state
  • observed_state
  • operational_state
  • source_of_truth
  • freshness
  • confidence
  • last_seen
  • missing_metrics
  • derived_state
  • observed_metrics
  • evidence_level
  • Todo dato observado se separa del derivado.
  • source_of_truth aparece en cada summary operacional.
  • freshness usa fresh | stale | expired | unavailable.
  • confidence se calcula por dominio.
  • RX7900XT expected_offline no degrada la confianza crítica de gpu_nodes.
  • No se envían raw metrics masivas al LLM.
{
"gpu_id": "RX9070",
"inventory_state": "known",
"observed_state": "online",
"operational_state": "active",
"source_of_truth": ["gpu_exporter", "lmstudio_api", "prometheus"],
"freshness": {"status": "fresh"},
"confidence": "high",
"evidence_level": "observed"
}

gpu_summary se mantiene como alias backward compatible, pero el contrato preferido es:

gpu_operational_summaries

con:

{
"deprecated_alias": true,
"alias_for": "gpu_operational_summaries"
}