Skip to main content
Glama

Get Simulation Metrics

simulation.metrics
Read-onlyIdempotent

Read the latest metrics and resource states for a temporary anonymous demo simulation: latency, CPU, throughput, error rate, cost per hour, and per-resource health. Use it to inspect current state and metrics history without advancing time; do not use it to move the simulation forward — that is simulation.step. Responses are compact by default: principal current metrics plus explicit modeled goodputRps (a post-step point rate sourced from throughput, with provenance), goodputWindow (recorded only from persisted simulation-clock bounds, otherwise unavailable with provenance; never derive it from retrieval time or currentStep), errorBreakdown when available, per-resource status (id, name, status, cpuPercent, routedRps, availabilityState, isRoutable, and recoveryBlockedReason when provided), seeded EKS Spot checkpoint history and migrationEvaluationComplete/provenance when present, and the last 10 metrics-history entries. Pass responseMode: 'full' to get the complete simulation state, normalizedConfig, and full metrics history instead. During recovery, each resource may include recoveryProgress.state (parked, cooling_down, or healthy) with parkWindow and cooldown counters; poll simulation.step until healthy, then use simulation.metrics to inspect the resulting state and metrics. GPU / inference workflow: when the simulation includes a kubernetes resource with characteristics.inferenceMode: true, the response also includes top-level gpuUtilization (%), tokensPerSecond, costPerMillionTokens (USD/M tokens), idleGpuCostPerHour (USD/hr of standby GPU spend), and idleGpuFraction (0-1 idle HA overhead share) from the latest step, and each history entry carries the same inference fields. Pass the simulationId returned by simulation.create when your connector opens a fresh MCP session; preserve Mcp-Session-Id to use the omitted-ID current-simulation default. A fresh session has no current-simulation pointer. At least one simulation.step is needed for meaningful metrics. Read-only; repeated calls may be subject to demo usage limits. The likely next tool is simulation.step or simulation.inject_traffic.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
responseModeNoResponse detail level. 'compact' (default) returns principal current metrics, errorBreakdown when available, per-resource status (id, name, status, cpuPercent, routedRps, availabilityState, isRoutable, recoveryBlockedReason, and failureLifecycle/routingState when provided), and only the last 10 metrics-history entries — keeps polling cheap for agent loops. 'full' returns the complete simulation object (all resource characteristics and connections) plus the entire metrics history.compact
simulationIdNoSimulation ID returned by simulation.create. Preserve Mcp-Session-Id to omit this field and use the session's current simulation; if your connector starts a fresh MCP session for each call (for example Grok Bot or Cursor), pass this explicit ID after every fresh initialization. A fresh session has no current-simulation pointer and returns NO_ACTIVE_SIMULATION when the ID is omitted. Anonymous capabilities are short-lived (30 minutes by default), unguessable, and revoked when the demo expires or is deleted; proxy IP changes do not invalidate them. Do not treat the ID as a durable share link.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metricsNoMetrics history — bounded to the last 10 entries in compact mode, full history in full mode
trafficNoCurrent traffic level in RPS
metricIdNoStorage-assigned ID of the latest persisted metric
appWeightNo
errorRateNoLatest client-level error rate (%) against original offered RPS. Resilience dependency targets in autoscaled compute fleets use aggregate routable-fleet capacity and health; non-autoscaled targets use their resolved resource capacity, including any declared fixed-instance count.
resourcesNoPer-resource status summary (compact mode)
goodputRpsNoModeled client-level successful requests per second; a post-step point rate sourced from metrics.throughput. Resilience dependency targets in autoscaled compute fleets use aggregate routable-fleet capacity and health; non-autoscaled targets use their resolved resource capacity, including any declared fixed-instance count.
latencyP50NoLatest 50th-percentile latency in ms; null when workload-specific latency evidence is unavailable.
latencyP95NoLatest 95th-percentile latency in ms; null when workload-specific latency evidence is unavailable.
latencyP99NoLatest modeled 99th-percentile latency in ms; null when workload-specific latency evidence is unavailable. Interpret with latencyP99Basis and predictionEvidence.latencyP99.
offeredRpsNoLatest aggregate offered requests per second
simulationNoComplete simulation state (full mode only; absent in compact mode and when status is not_found/access_denied)
throughputNoLatest effective requests per second
costPerHourNoLatest estimated cost in USD/hr
currentStepNoCurrent simulation time step
latencyBasisNoLatest general modeled latency path/boundary; see latencyP99Basis for P99-specific provenance.
scenarioHashNoCanonical replay scenario graph hash.
simulationIdNoID of the queried simulation
engineVersionNoSimulation engine version used for this prediction.
goodputWindowNoInterval goodput aggregate when every point has persisted simulation-clock bounds; otherwise status=unavailable. Never derive this from retrieval time or currentStep.
errorBreakdownNoValidated additive error contributors from the latest metrics entry, in percentage-point units; distinguishes database connection pressure below the usable limit from pool saturation after exhaustion
gpuUtilizationNoLatest GPU utilization (%) — present only on GPU inference simulations
modeledShedRpsNoLatest aggregate modeled shed requests per second
replayIdentityNo
auroraFailoversNoLatest compact per-writer Aurora failover state, with failed and standby IDs and phase.
externalMetricsNoLatest deterministic external-metric recommendation telemetry, including each trigger's sample status/outcome/value/desired capacity and the combined capacity decision. It never actuates simulated or provider resources.
idleGpuFractionNoLatest share (0-1) of the GPU bill that is idle/standby capacity — present only on GPU inference simulations
latencyP99BasisNoLatest percentile-specific P99 basis: owned fit, scaled-from-fit (not directly measured), or uncalibrated generic model.
tokensPerSecondNoLatest inference throughput in tokens/second — present only on GPU inference simulations
goodputSemanticsNoGoodput is a point rate, not an interval total
kubernetesCpuHpaNoLatest per-workload bounded CPU HPA telemetry, including input provenance and missing-request errors; no Kubernetes controller parity is claimed.
goodputProvenanceNoProvenance for the modeled goodput field
appWeightDefaultedNo
idleGpuCostPerHourNoLatest USD/hr of GPU spend funding idle/standby capacity (HA overhead) — present only on GPU inference simulations
predictionEvidenceNo
calibrationEvidenceNoOwned-versus-modeled evidence and latency boundary.
effectiveConfigHashNoVersioned prediction hash over replay startup inputs, engine version, and calibration identity.
latencyAvailabilityNo
residualCostPerHourNoSubtotal of unavailable, parked, or stopped resource costs; healthy/degraded idle resources, including ALBs, are excluded.
costPerMillionTokensNoLatest self-hosted inference cost in USD per million tokens (null when no tokens are being processed) — present only on GPU inference simulations
eksSpotInterruptionsNoLatest seeded EKS interruption telemetry, including additive migrationEvaluation/provenance when recorded.
metricsHistoryLengthNoTotal number of metrics-history entries (compact mode returns only the last 10)
resilienceDiagnosticsNoBounded resilience diagnostics from the latest step (compact mode). Absent when the resilience model did not run.
residualCostDefinitionNoDefinition of residual cost; total cost remains the complete billed total.
retryAmplificationFactorNoLatest (original offered RPS + generated retry RPS) / original offered RPS; an amplification measure, not capacity or goodput. Values > 1.0 = amplification risk. null = model ran but no traffic. Absent = resilience model disabled.
predictionEffectiveConfigHashNoVersioned prediction hash over replay startup inputs, engine version, and calibration identity.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / residualCostDefinition
      Added value: +{
      +  "description": "Definition of residual cost; total cost remains the complete billed total.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / residualCostPerHour
      Added value: +{
      +  "description": "Subtotal of unavailable, parked, or stopped resource costs; healthy/degraded idle resources, including ALBs, are excluded.",
      +  "type": "number"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / kubernetesCpuHpa
      Added value: +{
      +  "description": "Latest per-workload bounded CPU HPA telemetry, including input provenance and missing-request errors; no Kubernetes controller parity is claimed.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appliedReplicas": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "cpuDemandMilliCoresPerRps": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "cpuDemandProvenance": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "basis": {
      +            "enum": [
      +              "ASSUMED",
      +              "EVIDENCE"
      +            ],
      +            "type": "string"
      +          },
      +          "reference": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "enum": [
      +              "calibrated",
      +              "external"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "basis"
      +        ],
      +        "type": "object"
      +      },
      +      "cpuRequestMilliCores": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "cpuRequestProvenance": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "basis": {
      +            "enum": [
      +              "ASSUMED",
      +              "EVIDENCE",
      +              "UNDECLARED"
      +            ],
      +            "type": "string"
      +          },
      +          "reference": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "enum": [
      +              "calibrated",
      +              "external"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "basis"
      +        ],
      +        "type": "object"
      +      },
      +      "currentReplicas": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "desiredReplicas": {
      +        "anyOf": [
      +          {
      +            "exclusiveMinimum": 0,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "maxReplicas": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "minReplicas": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "modelScope": {
      +        "const": "workload-replicas-only; no Kubernetes controller parity claim",
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "observedCpuMilliCoresPerPod": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "offeredRps": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "resourceId": {
      +        "type": "string"
      +      },
      +      "scaleDownStabilizationHeld": {
      +        "type": "boolean"
      +      },
      +      "scaleDownStabilizationReason": {
      +        "type": "string"
      +      },
      +      "scaleDownStabilizationSteps": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "targets": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "currentMetric": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "desiredReplicas": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "error": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "code": {
      +                  "const": "MISSING_CPU_REQUEST",
      +                  "type": "string"
      +                },
      +                "message": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "code",
      +                "message"
      +              ],
      +              "type": "object"
      +            },
      +            "targetValue": {
      +              "exclusiveMinimum": 0,
      +              "type": "number"
      +            },
      +            "type": {
      +              "enum": [
      +                "Utilization",
      +                "AverageValue"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "targetValue",
      +            "desiredReplicas"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "resourceId",
      +      "name",
      +      "cpuRequestProvenance",
      +      "cpuDemandMilliCoresPerRps",
      +      "cpuDemandProvenance",
      +      "offeredRps",
      +      "observedCpuMilliCoresPerPod",
      +      "currentReplicas",
      +      "minReplicas",
      +      "maxReplicas",
      +      "targets",
      +      "desiredReplicas",
      +      "appliedReplicas",
      +      "scaleDownStabilizationHeld",
      +      "modelScope"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  3. Changed2 schema fields changed
    • addedOutput schema / properties / externalMetrics
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Latest deterministic external-metric recommendation telemetry, including each trigger's sample status/outcome/value/desired capacity and the combined capacity decision. It never actuates simulated or provider resources.",
      +  "properties": {
      +    "currentCapacity": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "decision": {
      +      "enum": [
      +        "scale_out",
      +        "scale_in",
      +        "no_scale",
      +        "no_recommendation",
      +        "frozen",
      +        "frozen_without_prior"
      +      ],
      +      "type": "string"
      +    },
      +    "desiredCapacity": {
      +      "anyOf": [
      +        {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "errorMode": {
      +      "enum": [
      +        "drop_failed_trigger",
      +        "freeze_combined_decision"
      +      ],
      +      "type": "string"
      +    },
      +    "lastSuccessfulRecommendation": {
      +      "anyOf": [
      +        {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "scaleInBlocked": {
      +      "type": "boolean"
      +    },
      +    "step": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "triggers": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "desiredCapacity": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "outcome": {
      +            "enum": [
      +              "success",
      +              "error"
      +            ],
      +            "type": "string"
      +          },
      +          "sampleStatus": {
      +            "enum": [
      +              "value",
      +              "no_ready_endpoints",
      +              "discovery_error",
      +              "fetch_error"
      +            ],
      +            "type": "string"
      +          },
      +          "value": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "sampleStatus",
      +          "outcome",
      +          "value",
      +          "desiredCapacity"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "step",
      +    "errorMode",
      +    "currentCapacity",
      +    "desiredCapacity",
      +    "lastSuccessfulRecommendation",
      +    "decision",
      +    "scaleInBlocked",
      +    "triggers"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / metrics / items / properties / resilience
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Per-step resilience telemetry, including external-metric trigger outcomes when configured.",
      +  "properties": {
      +    "externalMetrics": {
      +      "$ref": "#/properties/externalMetrics"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed2 schema fields changed
    • changedOutput schema / properties / resources / items / properties / availabilityState / description
      Previous value: -"Availability derived from routed traffic: available = serving normally, degraded = critical/warning but still serving, unavailable = no traffic and not routable"New value: +"Availability derived from lifecycle and routed traffic: available = serving normally, degraded = critical/warning but still serving, unavailable = failed/parked, scaled_to_zero and cold_start = Fargate no-task states"
    • changedOutput schema / properties / resources / items / properties / availabilityState / enum
      Previous value: -[
      -  "available",
      -  "degraded",
      -  "unavailable"
      -]New value: +[
      +  "available",
      +  "degraded",
      +  "unavailable",
      +  "scaled_to_zero",
      +  "cold_start"
      +]
  5. Changed2 schema fields changed
    • changedOutput schema / properties / calibrationEvidence / properties / kind / description
      Previous value: -"owned for the exact AWS CRUD fit; modeled when the gate fails or another generic model applies."New value: +"owned for the exact AWS CRUD fit; owned-scaled when derived from that fit outside its exact fleet size; modeled when the gate fails or another generic model applies."
    • changedOutput schema / properties / calibrationEvidence / properties / kind / enum
      Previous value: -[
      -  "owned",
      -  "modeled"
      -]New value: +[
      +  "owned",
      +  "owned-scaled",
      +  "modeled"
      +]
  6. Changed10 schema fields changed
    • addedOutput schema / properties / errorBreakdown / properties / databasePressureDetails
      Added value: +{
      +  "description": "Per-database causes contributing to pressure below the usable connection limit.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cause": {
      +        "description": "Modeled source of this database's under-limit pressure contribution.",
      +        "enum": [
      +          "connection_pressure",
      +          "cpu_pressure",
      +          "connection_and_cpu_pressure",
      +          "provider_reference_fit"
      +        ],
      +        "type": "string"
      +      },
      +      "connectionUtilization": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "contributionPct": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "cpuUtilization": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "modeledConnections": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "name": {
      +        "description": "Human-readable database resource name.",
      +        "type": "string"
      +      },
      +      "resourceId": {
      +        "description": "Database resource ID contributing to modeled under-limit connection pressure.",
      +        "type": "string"
      +      },
      +      "usableConnectionLimit": {
      +        "minimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "resourceId",
      +      "name",
      +      "cause",
      +      "modeledConnections",
      +      "usableConnectionLimit",
      +      "connectionUtilization",
      +      "cpuUtilization",
      +      "contributionPct"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / errorBreakdown / properties / poolSaturationDetails / description
      Previous value: -"Per-database pool exhaustion details. Modeled demand is not observed live sessions."New value: +"Per-database pool exhaustion details, including the cause when available. Modeled demand is not observed live sessions."
    • addedOutput schema / properties / errorBreakdown / properties / poolSaturationDetails / items / properties / cause
      Added value: +{
      +  "const": "connection_limit_exceeded",
      +  "description": "Why this database's modeled connection demand exceeded its usable pool limit.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / errorBreakdown / properties / sessionAffinity
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / errorBreakdown / properties / startupBackpressure
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / errorBreakdown / $ref
      Added value: +"#/properties/errorBreakdown"
    • removedOutput schema / properties / metrics / items / properties / errorBreakdown / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / metrics / items / properties / errorBreakdown / properties
      Removed value: -{
      -  "benchmarkReferenceFit": {
      -    "type": "number"
      -  },
      -  "capacityOverload": {
      -    "type": "number"
      -  },
      -  "computeFailure": {
      -    "type": "number"
      -  },
      -  "cpuOverload": {
      -    "type": "number"
      -  },
      -  "databasePressure": {
      -    "type": "number"
      -  },
      -  "dbFailure": {
      -    "type": "number"
      -  },
      -  "dependencyFailure": {
      -    "type": "number"
      -  },
      -  "ociStorage": {
      -    "type": "number"
      -  },
      -  "poolSaturation": {
      -    "type": "number"
      -  },
      -  "poolSaturationDetails": {
      -    "description": "Per-database pool exhaustion details. Modeled demand is not observed live sessions.",
      -    "items": {
      -      "$ref": "#/properties/errorBreakdown/properties/poolSaturationDetails/items"
      -    },
      -    "type": "array"
      -  },
      -  "queueAbsorption": {
      -    "type": "number"
      -  },
      -  "runtimeMemory": {
      -    "type": "number"
      -  }
      -}
    • removedOutput schema / properties / metrics / items / properties / errorBreakdown / required
      Removed value: -[
      -  "poolSaturation",
      -  "dbFailure",
      -  "computeFailure",
      -  "capacityOverload",
      -  "cpuOverload",
      -  "ociStorage",
      -  "queueAbsorption"
      -]
    • removedOutput schema / properties / metrics / items / properties / errorBreakdown / type
      Removed value: -"object"
  7. Changed4 schema fields changed
    • addedOutput schema / properties / errorBreakdown / properties / benchmarkReferenceFit
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / errorBreakdown / properties / poolSaturationDetails
      Added value: +{
      +  "description": "Per-database pool exhaustion details. Modeled demand is not observed live sessions.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "demandBasis": {
      +        "const": "modeled connection demand; not observed live sessions",
      +        "type": "string"
      +      },
      +      "modeledConnections": {
      +        "description": "Modeled demand/assumption, not observed live sessions.",
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "name": {
      +        "description": "Human-readable database resource name.",
      +        "type": "string"
      +      },
      +      "resourceId": {
      +        "description": "Database resource ID whose modeled demand exceeds its usable limit.",
      +        "type": "string"
      +      },
      +      "usableConnectionLimit": {
      +        "description": "This database's effective usable connection limit.",
      +        "minimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "resourceId",
      +      "name",
      +      "modeledConnections",
      +      "usableConnectionLimit",
      +      "demandBasis"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / metrics / items / properties / errorBreakdown / properties / benchmarkReferenceFit
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / errorBreakdown / properties / poolSaturationDetails
      Added value: +{
      +  "description": "Per-database pool exhaustion details. Modeled demand is not observed live sessions.",
      +  "items": {
      +    "$ref": "#/properties/errorBreakdown/properties/poolSaturationDetails/items"
      +  },
      +  "type": "array"
      +}
  8. Changed3 schema fields changed
    • changedOutput schema / properties / errorBreakdown / description
      Previous value: -"Validated additive error contributors from the latest metrics entry, in percentage-point units"New value: +"Validated additive error contributors from the latest metrics entry, in percentage-point units; distinguishes database connection pressure below the usable limit from pool saturation after exhaustion"
    • addedOutput schema / properties / errorBreakdown / properties / databasePressure
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / errorBreakdown / properties / databasePressure
      Added value: +{
      +  "type": "number"
      +}
  9. Changed4 schema fields changed
    • changedOutput schema / properties / resilienceDiagnostics / properties / capacityByResource / description
      Previous value: -"Unique logical dependency resources and their aggregate routable capacity in the latest step; each resource appears once even when several paths reference it"New value: +"Unique logical dependency resources in the latest step; each appears once even when several paths reference it. When values are finite, nominalCapacityRps minus warmupCapacityLossRps (members still warming) and healthCapacityLossRps (unavailable or degraded members) equals routableCapacityRps, within rounding."
    • addedOutput schema / properties / resilienceDiagnostics / properties / capacityByResource / items / properties / healthCapacityLossRps
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Aggregate capacity lost because members are unavailable or degraded; zero means no modeled member-health loss"
      +}
    • addedOutput schema / properties / resilienceDiagnostics / properties / capacityByResource / items / properties / nominalCapacityRps
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Aggregate capacity before warm-up and member-health reductions; null means no finite capacity ceiling is known"
      +}
    • addedOutput schema / properties / resilienceDiagnostics / properties / capacityByResource / items / properties / warmupCapacityLossRps
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Aggregate capacity lost because fleet members are still warming up; zero means no modeled warm-up loss"
      +}
  10. Changed1 schema field changed
    • addedOutput schema / properties / resilienceDiagnostics / properties / capacityByResource
      Added value: +{
      +  "description": "Unique logical dependency resources and their aggregate routable capacity in the latest step; each resource appears once even when several paths reference it",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "resourceId": {
      +        "description": "Logical resource ID used by one or more resilience dependency paths",
      +        "type": "string"
      +      },
      +      "role": {
      +        "description": "Whether this resource is a dependency source, target, or both",
      +        "enum": [
      +          "source",
      +          "target",
      +          "source_and_target"
      +        ],
      +        "type": "string"
      +      },
      +      "routableCapacityRps": {
      +        "anyOf": [
      +          {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Aggregate capacity available to this logical resource after modeled warm-up and member health; null means no finite capacity ceiling is known"
      +      }
      +    },
      +    "required": [
      +      "resourceId",
      +      "role",
      +      "routableCapacityRps"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  11. Changed5 schema fields changed
    • changedOutput schema / properties / errorRate / description
      Previous value: -"Latest error rate (%)"New value: +"Latest client-level error rate (%) against original offered RPS. Resilience dependency targets in autoscaled compute fleets use aggregate routable-fleet capacity and health; non-autoscaled targets use their resolved resource capacity, including any declared fixed-instance count."
    • changedOutput schema / properties / goodputRps / description
      Previous value: -"Modeled successful requests per second; a post-step point rate sourced from metrics.throughput"New value: +"Modeled client-level successful requests per second; a post-step point rate sourced from metrics.throughput. Resilience dependency targets in autoscaled compute fleets use aggregate routable-fleet capacity and health; non-autoscaled targets use their resolved resource capacity, including any declared fixed-instance count."
    • changedOutput schema / properties / metrics / items / properties / errorRate / description
      Previous value: -"Error rate (%)"New value: +"Client-level error rate (%) against original offered RPS. Resilience dependency targets in autoscaled compute fleets use aggregate routable-fleet capacity and health; standalone targets count once."
    • changedOutput schema / properties / metrics / items / properties / retryAmplificationFactor / description
      Previous value: -"Per-step retry amplification factor — present only on resilience-enabled simulations"New value: +"Per-step (original offered RPS + generated retry RPS) / original offered RPS — present only when resilience is enabled; an amplification measure, not capacity or goodput."
    • changedOutput schema / properties / retryAmplificationFactor / description
      Previous value: -"Latest retry amplification factor (attemptedRps / originalRps). Values > 1.0 = amplification risk. null = model ran but no traffic. Absent = resilience model disabled."New value: +"Latest (original offered RPS + generated retry RPS) / original offered RPS; an amplification measure, not capacity or goodput. Values > 1.0 = amplification risk. null = model ran but no traffic. Absent = resilience model disabled."
  12. Changed1 schema field changed
    • changedOutput schema / properties / predictionEvidence / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "central": {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "high": {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "low": {
      -                "minimum": 0,
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "low",
      -              "central",
      -              "high"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "legacyGeneric": {
      -              "type": "boolean"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId",
      -            "legacyGeneric"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "enum": [
      -          "lean",
      -          "typical",
      -          "heavy"
      -        ],
      -        "type": "string"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "boolean"
      -      },
      -      "evidenceLevel": {
      -        "enum": [
      -          "measured",
      -          "scaled from measured",
      -          "reference estimate"
      -        ],
      -        "type": "string"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyAvailability": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "reason": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "resourceIds": {
      -            "items": {
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "status": {
      -            "const": "unavailable",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "status",
      -          "reason",
      -          "resourceIds"
      -        ],
      -        "type": "object"
      -      },
      -      "latencyP50": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "central": {
      -                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -              },
      -              "evidenceLevel": {
      -                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -              },
      -              "high": {
      -                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -              },
      -              "low": {
      -                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -              }
      -            },
      -            "required": [
      -              "low",
      -              "central",
      -              "high",
      -              "evidenceLevel"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "latencyP95": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "latencyP99": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "latencyPercentileStatus": {
      -        "enum": [
      -          "modeled",
      -          "unavailable"
      -        ],
      -        "type": "string"
      -      },
      -      "legacyGeneric": {
      -        "type": "boolean"
      -      },
      -      "loadScope": {
      -        "enum": [
      -          "within measured load",
      -          "beyond measured load",
      -          "below measured load"
      -        ],
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "requestServingCapacity": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "aggregateCapacityRps": {
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "capacityEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "basis": {
      -                  "enum": [
      -                    "assumption",
      -                    "documented",
      -                    "measured",
      -                    "catalog"
      -                  ],
      -                  "type": "string"
      -                },
      -                "origin": {
      -                  "enum": [
      -                    "caller-provided",
      -                    "fargate-size-heuristic",
      -                    "policy-default",
      -                    "provider-catalog"
      -                  ],
      -                  "type": "string"
      -                },
      -                "source": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "basis",
      -                "origin"
      -              ],
      -              "type": "object"
      -            },
      -            "maxAggregateCapacityRps": {
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "maxTaskCount": {
      -              "exclusiveMinimum": 0,
      -              "type": "integer"
      -            },
      -            "perTaskCapacityRps": {
      -              "exclusiveMinimum": 0,
      -              "type": "number"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            },
      -            "resourceName": {
      -              "type": "string"
      -            },
      -            "taskCount": {
      -              "minimum": 0,
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "resourceId",
      -            "resourceName",
      -            "taskCount",
      -            "perTaskCapacityRps",
      -            "aggregateCapacityRps",
      -            "maxTaskCount",
      -            "maxAggregateCapacityRps",
      -            "capacityEvidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "legacyGeneric",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "type": "null"
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 0,
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "type": "null"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "null"
      -      },
      -      "evidenceLevel": {
      -        "const": "unavailable/legacy",
      -        "type": "string"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyP50": {
      -        "type": "null"
      -      },
      -      "latencyP95": {
      -        "type": "null"
      -      },
      -      "latencyP99": {
      -        "type": "null"
      -      },
      -      "legacyGeneric": {
      -        "type": "null"
      -      },
      -      "loadScope": {
      -        "type": "null"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "legacyGeneric": {
      -              "type": "boolean"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appWeight"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "boolean"
      -      },
      -      "evidenceLevel": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyAvailability": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyAvailability"
      -      },
      -      "latencyP50": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "latencyP95": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "latencyP99": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "latencyPercentileStatus": {
      -        "enum": [
      -          "modeled",
      -          "unavailable"
      -        ],
      -        "type": "string"
      -      },
      -      "legacyGeneric": {
      -        "type": "boolean"
      -      },
      -      "loadScope": {
      -        "enum": [
      -          "within measured load",
      -          "beyond measured load",
      -          "below measured load"
      -        ],
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "high": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "low": {
      +                "minimum": 0,
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "legacyGeneric": {
      +              "type": "boolean"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId",
      +            "legacyGeneric"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "enum": [
      +          "lean",
      +          "typical",
      +          "heavy"
      +        ],
      +        "type": "string"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "boolean"
      +      },
      +      "evidenceLevel": {
      +        "enum": [
      +          "measured",
      +          "scaled from measured",
      +          "reference estimate"
      +        ],
      +        "type": "string"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyAvailability": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "reason": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "resourceIds": {
      +            "items": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "status": {
      +            "const": "unavailable",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "reason",
      +          "resourceIds"
      +        ],
      +        "type": "object"
      +      },
      +      "latencyP50": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +              },
      +              "evidenceLevel": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +              },
      +              "high": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +              },
      +              "low": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high",
      +              "evidenceLevel"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP95": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP99": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyPercentileStatus": {
      +        "enum": [
      +          "modeled",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      },
      +      "legacyGeneric": {
      +        "type": "boolean"
      +      },
      +      "loadScope": {
      +        "enum": [
      +          "within measured load",
      +          "beyond measured load",
      +          "below measured load",
      +          "not calibrated"
      +        ],
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "requestServingCapacity": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "aggregateCapacityRps": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "capacityEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "basis": {
      +                  "enum": [
      +                    "assumption",
      +                    "documented",
      +                    "measured",
      +                    "catalog"
      +                  ],
      +                  "type": "string"
      +                },
      +                "origin": {
      +                  "enum": [
      +                    "caller-provided",
      +                    "fargate-size-heuristic",
      +                    "policy-default",
      +                    "provider-catalog"
      +                  ],
      +                  "type": "string"
      +                },
      +                "source": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "basis",
      +                "origin"
      +              ],
      +              "type": "object"
      +            },
      +            "maxAggregateCapacityRps": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxTaskCount": {
      +              "exclusiveMinimum": 0,
      +              "type": "integer"
      +            },
      +            "perTaskCapacityRps": {
      +              "exclusiveMinimum": 0,
      +              "type": "number"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            },
      +            "resourceName": {
      +              "type": "string"
      +            },
      +            "taskCount": {
      +              "minimum": 0,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "resourceId",
      +            "resourceName",
      +            "taskCount",
      +            "perTaskCapacityRps",
      +            "aggregateCapacityRps",
      +            "maxTaskCount",
      +            "maxAggregateCapacityRps",
      +            "capacityEvidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "legacyGeneric",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "type": "null"
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 0,
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "type": "null"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "null"
      +      },
      +      "evidenceLevel": {
      +        "const": "unavailable/legacy",
      +        "type": "string"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyP50": {
      +        "type": "null"
      +      },
      +      "latencyP95": {
      +        "type": "null"
      +      },
      +      "latencyP99": {
      +        "type": "null"
      +      },
      +      "legacyGeneric": {
      +        "type": "null"
      +      },
      +      "loadScope": {
      +        "type": "null"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "legacyGeneric": {
      +              "type": "boolean"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appWeight"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "boolean"
      +      },
      +      "evidenceLevel": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyAvailability": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyAvailability"
      +      },
      +      "latencyP50": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP95": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP99": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyPercentileStatus": {
      +        "enum": [
      +          "modeled",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      },
      +      "legacyGeneric": {
      +        "type": "boolean"
      +      },
      +      "loadScope": {
      +        "enum": [
      +          "within measured load",
      +          "beyond measured load",
      +          "below measured load",
      +          "not calibrated"
      +        ],
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  }
      +]
  13. Changed15 schema fields changed
    • addedOutput schema / properties / latencyAvailability
      Added value: +{
      +  "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyAvailability"
      +}
    • changedOutput schema / properties / latencyP50 / description
      Previous value: -"Latest 50th-percentile latency in ms"New value: +"Latest 50th-percentile latency in ms; null when workload-specific latency evidence is unavailable."
    • changedOutput schema / properties / latencyP50 / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / latencyP95 / description
      Previous value: -"Latest 95th-percentile latency in ms"New value: +"Latest 95th-percentile latency in ms; null when workload-specific latency evidence is unavailable."
    • changedOutput schema / properties / latencyP95 / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / latencyP99 / description
      Previous value: -"Latest modeled 99th-percentile latency in ms; interpret with latencyP99Basis and predictionEvidence.latencyP99."New value: +"Latest modeled 99th-percentile latency in ms; null when workload-specific latency evidence is unavailable. Interpret with latencyP99Basis and predictionEvidence.latencyP99."
    • changedOutput schema / properties / latencyP99 / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • addedOutput schema / properties / metrics / items / properties / latencyAvailability
      Added value: +{
      +  "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyAvailability"
      +}
    • changedOutput schema / properties / metrics / items / properties / latencyP50 / description
      Previous value: -"Median latency in ms"New value: +"Median latency in ms; null when workload-specific latency evidence is unavailable."
    • changedOutput schema / properties / metrics / items / properties / latencyP50 / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / metrics / items / properties / latencyP95 / description
      Previous value: -"95th-percentile latency in ms"New value: +"95th-percentile latency in ms; null when workload-specific latency evidence is unavailable."
    • changedOutput schema / properties / metrics / items / properties / latencyP95 / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / metrics / items / properties / latencyP99 / description
      Previous value: -"Modeled 99th-percentile latency in ms."New value: +"Modeled 99th-percentile latency in ms; null when workload-specific latency evidence is unavailable."
    • changedOutput schema / properties / metrics / items / properties / latencyP99 / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / predictionEvidence / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "central": {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "high": {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "low": {
      -                "minimum": 0,
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "low",
      -              "central",
      -              "high"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "legacyGeneric": {
      -              "type": "boolean"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId",
      -            "legacyGeneric"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "enum": [
      -          "lean",
      -          "typical",
      -          "heavy"
      -        ],
      -        "type": "string"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "boolean"
      -      },
      -      "evidenceLevel": {
      -        "enum": [
      -          "measured",
      -          "scaled from measured",
      -          "reference estimate"
      -        ],
      -        "type": "string"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyP50": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "central": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -          },
      -          "evidenceLevel": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -          },
      -          "high": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -          },
      -          "low": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -          }
      -        },
      -        "required": [
      -          "low",
      -          "central",
      -          "high",
      -          "evidenceLevel"
      -        ],
      -        "type": "object"
      -      },
      -      "latencyP95": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      -      },
      -      "latencyP99": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "legacyGeneric": {
      -        "type": "boolean"
      -      },
      -      "loadScope": {
      -        "enum": [
      -          "within measured load",
      -          "beyond measured load",
      -          "below measured load"
      -        ],
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "legacyGeneric",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "type": "null"
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 0,
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "type": "null"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "null"
      -      },
      -      "evidenceLevel": {
      -        "const": "unavailable/legacy",
      -        "type": "string"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyP50": {
      -        "type": "null"
      -      },
      -      "latencyP95": {
      -        "type": "null"
      -      },
      -      "latencyP99": {
      -        "type": "null"
      -      },
      -      "legacyGeneric": {
      -        "type": "null"
      -      },
      -      "loadScope": {
      -        "type": "null"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "legacyGeneric": {
      -              "type": "boolean"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appWeight"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "boolean"
      -      },
      -      "evidenceLevel": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyP50": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      -      },
      -      "latencyP95": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      -      },
      -      "latencyP99": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "legacyGeneric": {
      -        "type": "boolean"
      -      },
      -      "loadScope": {
      -        "enum": [
      -          "within measured load",
      -          "beyond measured load",
      -          "below measured load"
      -        ],
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "high": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "low": {
      +                "minimum": 0,
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "legacyGeneric": {
      +              "type": "boolean"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId",
      +            "legacyGeneric"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "enum": [
      +          "lean",
      +          "typical",
      +          "heavy"
      +        ],
      +        "type": "string"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "boolean"
      +      },
      +      "evidenceLevel": {
      +        "enum": [
      +          "measured",
      +          "scaled from measured",
      +          "reference estimate"
      +        ],
      +        "type": "string"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyAvailability": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "reason": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "resourceIds": {
      +            "items": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "status": {
      +            "const": "unavailable",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "reason",
      +          "resourceIds"
      +        ],
      +        "type": "object"
      +      },
      +      "latencyP50": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +              },
      +              "evidenceLevel": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +              },
      +              "high": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +              },
      +              "low": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high",
      +              "evidenceLevel"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP95": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP99": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyPercentileStatus": {
      +        "enum": [
      +          "modeled",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      },
      +      "legacyGeneric": {
      +        "type": "boolean"
      +      },
      +      "loadScope": {
      +        "enum": [
      +          "within measured load",
      +          "beyond measured load",
      +          "below measured load"
      +        ],
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "requestServingCapacity": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "aggregateCapacityRps": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "capacityEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "basis": {
      +                  "enum": [
      +                    "assumption",
      +                    "documented",
      +                    "measured",
      +                    "catalog"
      +                  ],
      +                  "type": "string"
      +                },
      +                "origin": {
      +                  "enum": [
      +                    "caller-provided",
      +                    "fargate-size-heuristic",
      +                    "policy-default",
      +                    "provider-catalog"
      +                  ],
      +                  "type": "string"
      +                },
      +                "source": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "basis",
      +                "origin"
      +              ],
      +              "type": "object"
      +            },
      +            "maxAggregateCapacityRps": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxTaskCount": {
      +              "exclusiveMinimum": 0,
      +              "type": "integer"
      +            },
      +            "perTaskCapacityRps": {
      +              "exclusiveMinimum": 0,
      +              "type": "number"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            },
      +            "resourceName": {
      +              "type": "string"
      +            },
      +            "taskCount": {
      +              "minimum": 0,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "resourceId",
      +            "resourceName",
      +            "taskCount",
      +            "perTaskCapacityRps",
      +            "aggregateCapacityRps",
      +            "maxTaskCount",
      +            "maxAggregateCapacityRps",
      +            "capacityEvidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "legacyGeneric",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "type": "null"
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 0,
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "type": "null"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "null"
      +      },
      +      "evidenceLevel": {
      +        "const": "unavailable/legacy",
      +        "type": "string"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyP50": {
      +        "type": "null"
      +      },
      +      "latencyP95": {
      +        "type": "null"
      +      },
      +      "latencyP99": {
      +        "type": "null"
      +      },
      +      "legacyGeneric": {
      +        "type": "null"
      +      },
      +      "loadScope": {
      +        "type": "null"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "legacyGeneric": {
      +              "type": "boolean"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appWeight"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "boolean"
      +      },
      +      "evidenceLevel": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyAvailability": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyAvailability"
      +      },
      +      "latencyP50": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP95": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyP99": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "latencyPercentileStatus": {
      +        "enum": [
      +          "modeled",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      },
      +      "legacyGeneric": {
      +        "type": "boolean"
      +      },
      +      "loadScope": {
      +        "enum": [
      +          "within measured load",
      +          "beyond measured load",
      +          "below measured load"
      +        ],
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  }
      +]
  14. Changed2 schema fields changed
    • addedOutput schema / properties / errorBreakdown / properties / dependencyFailure
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / errorBreakdown / properties / dependencyFailure
      Added value: +{
      +  "type": "number"
      +}
  15. Changed9 schema fields changed
    • changedOutput schema / properties / calibrationEvidence / properties / latencyBasis / description
      Previous value: -"For the owned CRUD fit, identifies the modeled in-VPC ALB latency path, not end-to-end latency."New value: +"General modeled latency path, such as in-VPC ALB rather than end-to-end; see latencyP99Basis for percentile-specific P99 provenance."
    • addedOutput schema / properties / calibrationEvidence / properties / latencyP99Basis
      Added value: +{
      +  "description": "Percentile-specific P99 basis: owned in-VPC internal-ALB fit, scaled from that fit (not directly measured), or uncalibrated generic model.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / latencyBasis / description
      Previous value: -"Latest latency measurement/model boundary."New value: +"Latest general modeled latency path/boundary; see latencyP99Basis for P99-specific provenance."
    • addedOutput schema / properties / latencyP99
      Added value: +{
      +  "description": "Latest modeled 99th-percentile latency in ms; interpret with latencyP99Basis and predictionEvidence.latencyP99.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / latencyP99Basis
      Added value: +{
      +  "description": "Latest percentile-specific P99 basis: owned fit, scaled-from-fit (not directly measured), or uncalibrated generic model.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / metrics / items / properties / latencyBasis
      Added value: +{
      +  "description": "General modeled latency path/boundary; see latencyP99Basis for P99-specific provenance.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / metrics / items / properties / latencyP99
      Added value: +{
      +  "description": "Modeled 99th-percentile latency in ms.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / latencyP99Basis
      Added value: +{
      +  "description": "Percentile-specific P99 basis for this history record.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / predictionEvidence / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "central": {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "high": {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "low": {
      -                "minimum": 0,
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "low",
      -              "central",
      -              "high"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "enum": [
      -          "lean",
      -          "typical",
      -          "heavy"
      -        ],
      -        "type": "string"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "boolean"
      -      },
      -      "evidenceLevel": {
      -        "enum": [
      -          "measured",
      -          "scaled from measured",
      -          "reference estimate"
      -        ],
      -        "type": "string"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyP50": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "central": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -          },
      -          "evidenceLevel": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -          },
      -          "high": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -          },
      -          "low": {
      -            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -          }
      -        },
      -        "required": [
      -          "low",
      -          "central",
      -          "high",
      -          "evidenceLevel"
      -        ],
      -        "type": "object"
      -      },
      -      "latencyP95": {
      -        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      -      },
      -      "loadScope": {
      -        "enum": [
      -          "within measured load",
      -          "beyond measured load",
      -          "below measured load"
      -        ],
      -        "type": "string"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "appCpu": {
      -        "type": "null"
      -      },
      -      "appCpuByResource": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "central": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      -            },
      -            "evidenceLevel": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      -            },
      -            "high": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      -            },
      -            "low": {
      -              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      -            },
      -            "resourceId": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "low",
      -            "central",
      -            "high",
      -            "evidenceLevel",
      -            "resourceId"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 0,
      -        "type": "array"
      -      },
      -      "appWeight": {
      -        "type": "null"
      -      },
      -      "appWeightDefaulted": {
      -        "type": "null"
      -      },
      -      "evidenceLevel": {
      -        "const": "unavailable/legacy",
      -        "type": "string"
      -      },
      -      "formulaIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "latencyP50": {
      -        "type": "null"
      -      },
      -      "latencyP95": {
      -        "type": "null"
      -      },
      -      "loadScope": {
      -        "type": "null"
      -      },
      -      "note": {
      -        "type": "string"
      -      },
      -      "sourceIds": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "version": {
      -        "const": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "evidenceLevel",
      -      "appWeight",
      -      "appWeightDefaulted",
      -      "loadScope",
      -      "sourceIds",
      -      "formulaIds",
      -      "appCpu",
      -      "appCpuByResource",
      -      "latencyP50",
      -      "latencyP95",
      -      "note"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "high": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "low": {
      +                "minimum": 0,
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "legacyGeneric": {
      +              "type": "boolean"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId",
      +            "legacyGeneric"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "enum": [
      +          "lean",
      +          "typical",
      +          "heavy"
      +        ],
      +        "type": "string"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "boolean"
      +      },
      +      "evidenceLevel": {
      +        "enum": [
      +          "measured",
      +          "scaled from measured",
      +          "reference estimate"
      +        ],
      +        "type": "string"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyP50": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "central": {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +          },
      +          "evidenceLevel": {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +          },
      +          "high": {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +          },
      +          "low": {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +          }
      +        },
      +        "required": [
      +          "low",
      +          "central",
      +          "high",
      +          "evidenceLevel"
      +        ],
      +        "type": "object"
      +      },
      +      "latencyP95": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      +      },
      +      "latencyP99": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "legacyGeneric": {
      +        "type": "boolean"
      +      },
      +      "loadScope": {
      +        "enum": [
      +          "within measured load",
      +          "beyond measured load",
      +          "below measured load"
      +        ],
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "legacyGeneric",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "type": "null"
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 0,
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "type": "null"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "null"
      +      },
      +      "evidenceLevel": {
      +        "const": "unavailable/legacy",
      +        "type": "string"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyP50": {
      +        "type": "null"
      +      },
      +      "latencyP95": {
      +        "type": "null"
      +      },
      +      "latencyP99": {
      +        "type": "null"
      +      },
      +      "legacyGeneric": {
      +        "type": "null"
      +      },
      +      "loadScope": {
      +        "type": "null"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "appCpu": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "appCpuByResource": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "legacyGeneric": {
      +              "type": "boolean"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            },
      +            "resourceId": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel",
      +            "resourceId"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "appWeight": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appWeight"
      +      },
      +      "appWeightDefaulted": {
      +        "type": "boolean"
      +      },
      +      "evidenceLevel": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +      },
      +      "formulaIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "latencyP50": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      +      },
      +      "latencyP95": {
      +        "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      +      },
      +      "latencyP99": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "legacyGeneric": {
      +        "type": "boolean"
      +      },
      +      "loadScope": {
      +        "enum": [
      +          "within measured load",
      +          "beyond measured load",
      +          "below measured load"
      +        ],
      +        "type": "string"
      +      },
      +      "note": {
      +        "type": "string"
      +      },
      +      "sourceIds": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "const": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "evidenceLevel",
      +      "appWeight",
      +      "appWeightDefaulted",
      +      "loadScope",
      +      "sourceIds",
      +      "formulaIds",
      +      "appCpu",
      +      "appCpuByResource",
      +      "latencyP50",
      +      "latencyP95",
      +      "note"
      +    ],
      +    "type": "object"
      +  }
      +]
  16. Changed3 schema fields changed
    • addedOutput schema / properties / appWeight
      Added value: +{
      +  "enum": [
      +    "lean",
      +    "typical",
      +    "heavy"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / appWeightDefaulted
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / predictionEvidence
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "appCpu": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "central": {
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "high": {
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "low": {
      +                  "minimum": 0,
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "low",
      +                "central",
      +                "high"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "appCpuByResource": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +              },
      +              "evidenceLevel": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +              },
      +              "high": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +              },
      +              "low": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +              },
      +              "resourceId": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high",
      +              "evidenceLevel",
      +              "resourceId"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "appWeight": {
      +          "enum": [
      +            "lean",
      +            "typical",
      +            "heavy"
      +          ],
      +          "type": "string"
      +        },
      +        "appWeightDefaulted": {
      +          "type": "boolean"
      +        },
      +        "evidenceLevel": {
      +          "enum": [
      +            "measured",
      +            "scaled from measured",
      +            "reference estimate"
      +          ],
      +          "type": "string"
      +        },
      +        "formulaIds": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "latencyP50": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "central": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +            },
      +            "evidenceLevel": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +            },
      +            "high": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +            },
      +            "low": {
      +              "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +            }
      +          },
      +          "required": [
      +            "low",
      +            "central",
      +            "high",
      +            "evidenceLevel"
      +          ],
      +          "type": "object"
      +        },
      +        "latencyP95": {
      +          "$ref": "#/properties/predictionEvidence/anyOf/0/properties/latencyP50"
      +        },
      +        "loadScope": {
      +          "enum": [
      +            "within measured load",
      +            "beyond measured load",
      +            "below measured load"
      +          ],
      +          "type": "string"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "sourceIds": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "version": {
      +          "const": 1,
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "version",
      +        "evidenceLevel",
      +        "appWeight",
      +        "appWeightDefaulted",
      +        "loadScope",
      +        "sourceIds",
      +        "formulaIds",
      +        "appCpu",
      +        "appCpuByResource",
      +        "latencyP50",
      +        "latencyP95",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "appCpu": {
      +          "type": "null"
      +        },
      +        "appCpuByResource": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "central": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/central"
      +              },
      +              "evidenceLevel": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/evidenceLevel"
      +              },
      +              "high": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/high"
      +              },
      +              "low": {
      +                "$ref": "#/properties/predictionEvidence/anyOf/0/properties/appCpu/anyOf/0/properties/low"
      +              },
      +              "resourceId": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "low",
      +              "central",
      +              "high",
      +              "evidenceLevel",
      +              "resourceId"
      +            ],
      +            "type": "object"
      +          },
      +          "maxItems": 0,
      +          "type": "array"
      +        },
      +        "appWeight": {
      +          "type": "null"
      +        },
      +        "appWeightDefaulted": {
      +          "type": "null"
      +        },
      +        "evidenceLevel": {
      +          "const": "unavailable/legacy",
      +          "type": "string"
      +        },
      +        "formulaIds": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "latencyP50": {
      +          "type": "null"
      +        },
      +        "latencyP95": {
      +          "type": "null"
      +        },
      +        "loadScope": {
      +          "type": "null"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "sourceIds": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "version": {
      +          "const": 1,
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "version",
      +        "evidenceLevel",
      +        "appWeight",
      +        "appWeightDefaulted",
      +        "loadScope",
      +        "sourceIds",
      +        "formulaIds",
      +        "appCpu",
      +        "appCpuByResource",
      +        "latencyP50",
      +        "latencyP95",
      +        "note"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
  17. Changed4 schema fields changed
    • addedOutput schema / properties / calibrationEvidence / properties / calibrationId / description
      Added value: +"Versioned owned calibration identifier; present only when that calibration applies."
    • addedOutput schema / properties / calibrationEvidence / properties / kind / description
      Added value: +"owned for the exact AWS CRUD fit; modeled when the gate fails or another generic model applies."
    • addedOutput schema / properties / calibrationEvidence / properties / latencyBasis / description
      Added value: +"For the owned CRUD fit, identifies the modeled in-VPC ALB latency path, not end-to-end latency."
    • addedOutput schema / properties / calibrationEvidence / properties / note / description
      Added value: +"Names the fit scope and limitations. For canonical workload inference, states it is a modeling assumption. For modeled fallback, names all actual failed checks in stable order with resource IDs and safe expected/actual values; never only a generic 'not applied'."
  18. Changed7 schema fields changed
    • addedOutput schema / properties / calibrationEvidence
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Owned-versus-modeled evidence and latency boundary.",
      +  "properties": {
      +    "calibrationId": {
      +      "type": "string"
      +    },
      +    "kind": {
      +      "enum": [
      +        "owned",
      +        "modeled"
      +      ],
      +      "type": "string"
      +    },
      +    "latencyBasis": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "latencyBasis",
      +    "note"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / effectiveConfigHash
      Added value: +{
      +  "description": "Versioned prediction hash over replay startup inputs, engine version, and calibration identity.",
      +  "maxLength": 64,
      +  "minLength": 64,
      +  "type": "string"
      +}
    • addedOutput schema / properties / engineVersion
      Added value: +{
      +  "description": "Simulation engine version used for this prediction.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / latencyBasis
      Added value: +{
      +  "description": "Latest latency measurement/model boundary.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / predictionEffectiveConfigHash
      Added value: +{
      +  "description": "Versioned prediction hash over replay startup inputs, engine version, and calibration identity.",
      +  "maxLength": 64,
      +  "minLength": 64,
      +  "type": "string"
      +}
    • addedOutput schema / properties / replayIdentity
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "effectiveConfigHash": {
      +      "description": "Original replay-only SHA-256 of the effective six-control startup configuration; top-level effectiveConfigHash is the versioned prediction identity.",
      +      "maxLength": 64,
      +      "minLength": 64,
      +      "type": "string"
      +    },
      +    "scenarioHash": {
      +      "description": "Canonical SHA-256 of the persisted scenario graph and attached traffic-pattern order",
      +      "maxLength": 64,
      +      "minLength": 64,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "scenarioHash",
      +    "effectiveConfigHash"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / scenarioHash
      Added value: +{
      +  "description": "Canonical replay scenario graph hash.",
      +  "maxLength": 64,
      +  "minLength": 64,
      +  "type": "string"
      +}
  19. Changed2 schema fields changed
    • addedOutput schema / properties / auroraFailovers
      Added value: +{
      +  "description": "Latest compact per-writer Aurora failover state, with failed and standby IDs and phase.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "failedResourceId": {
      +        "type": "string"
      +      },
      +      "phase": {
      +        "enum": [
      +          "promoting",
      +          "serving",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      },
      +      "standbyResourceId": {
      +        "type": "string"
      +      },
      +      "succeeded": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "failedResourceId",
      +      "standbyResourceId",
      +      "succeeded",
      +      "phase"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / resources / items / properties / recoveryProgress / properties / state / enum
      Previous value: -[
      -  "parked",
      -  "cooling_down",
      -  "healthy"
      -]New value: +[
      +  "parked",
      +  "blocked",
      +  "cooling_down",
      +  "healthy"
      +]
  20. Changed5 schema fields changed
    • removedOutput schema / properties / eksSpotEvidenceHistory
      Removed value: -{
      -  "description": "All persisted seeded-EKS interruption checkpoints in metric order; unlike the general metrics array, this history is not truncated to the compact tail",
      -  "items": {
      -    "additionalProperties": {},
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluationComplete
      Removed value: -{
      -  "description": "Explicit completion signal for the frozen migration evaluation; phase remains the raw lifecycle phase and may be terminated.",
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / metrics / items / properties / goodputProvenance
      Removed value: -{
      -  "$ref": "#/properties/goodputProvenance"
      -}
    • removedOutput schema / properties / metrics / items / properties / goodputRps
      Removed value: -{
      -  "description": "Modeled successful requests per second for this step",
      -  "type": "number"
      -}
    • removedOutput schema / properties / metrics / items / properties / goodputSemantics
      Removed value: -{
      -  "const": "post_step_point_rate",
      -  "type": "string"
      -}
  21. Changed3 schema fields changed
    • addedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / intervalAttribution / anyOf
      Added value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "provenance": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "recorded",
      +                "type": "string"
      +              },
      +              "source": {
      +                "maxLength": 256,
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "source"
      +            ],
      +            "type": "object"
      +          },
      +          "status": {
      +            "const": "recorded",
      +            "type": "string"
      +          },
      +          "window": {
      +            "$ref": "#/properties/goodputWindow/anyOf/1/properties/window"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "window",
      +          "provenance"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "provenance": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "unavailable",
      +                "type": "string"
      +              },
      +              "reason": {
      +                "maxLength": 256,
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "reason"
      +            ],
      +            "type": "object"
      +          },
      +          "status": {
      +            "const": "unavailable",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "provenance"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / intervalAttribution / type
      Removed value: -"null"
    • addedOutput schema / properties / goodputWindow
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "provenance": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "kind": {
      +              "const": "unavailable",
      +              "type": "string"
      +            },
      +            "reason": {
      +              "maxLength": 256,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "status": {
      +          "const": "unavailable",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "provenance"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aggregate": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "coveredDurationSeconds": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "goodputRequestTotal": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "goodputRps": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "provenance": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "recorded",
      +                      "type": "string"
      +                    },
      +                    "source": {
      +                      "maxLength": 256,
      +                      "minLength": 1,
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "source"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "derived",
      +                      "type": "string"
      +                    },
      +                    "sourceFields": {
      +                      "items": {
      +                        "maxLength": 256,
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "maxItems": 256,
      +                      "minItems": 1,
      +                      "type": "array"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "sourceFields"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "unavailable",
      +                      "type": "string"
      +                    },
      +                    "reason": {
      +                      "maxLength": 256,
      +                      "minLength": 1,
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "reason"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "sampleIds": {
      +              "items": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "window": {
      +              "$ref": "#/properties/goodputWindow/anyOf/1/properties/window"
      +            }
      +          },
      +          "required": [
      +            "window",
      +            "coveredDurationSeconds",
      +            "goodputRps",
      +            "goodputRequestTotal",
      +            "sampleIds",
      +            "provenance"
      +          ],
      +          "type": "object"
      +        },
      +        "provenance": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "kind": {
      +              "const": "recorded",
      +              "type": "string"
      +            },
      +            "source": {
      +              "maxLength": 256,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "status": {
      +          "const": "recorded",
      +          "type": "string"
      +        },
      +        "window": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "inclusion": {
      +              "const": "[start,end)",
      +              "type": "string"
      +            },
      +            "windowEndSeconds": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "windowStartSeconds": {
      +              "minimum": 0,
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "windowStartSeconds",
      +            "windowEndSeconds",
      +            "inclusion"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "window",
      +        "aggregate",
      +        "provenance"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "description": "Interval goodput aggregate when every point has persisted simulation-clock bounds; otherwise status=unavailable. Never derive this from retrieval time or currentStep."
      +}
  22. Changed31 schema fields changed
    • addedOutput schema / properties / eksSpotEvidenceHistory
      Added value: +{
      +  "description": "All persisted seeded-EKS interruption checkpoints in metric order; unlike the general metrics array, this history is not truncated to the compact tail",
      +  "items": {
      +    "additionalProperties": {},
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / fieldProvenance / properties / engineInputStepIndex / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / fieldProvenance / properties / intervalAttribution / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / fieldProvenance / properties / pointRateSemantics / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / fieldProvenance / properties / simulationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / fieldProvenance / properties / tickDurationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / trafficFieldProvenance / properties / errorRatePercent / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / trafficFieldProvenance / properties / latencyP50Ms / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / trafficFieldProvenance / properties / offeredRps / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / checkpointEvidence / properties / trafficFieldProvenance / properties / throughputRps / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / affectedWorkloadCount / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / allAffectedWorkloadsReadyAtSimulationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / deadlineAtSimulationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / deadlineMet / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / deadlineSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / evaluatedAtSimulationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / interruptionNoticeAtSimulationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / limitingReasons / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / migrationDurationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / migrationStartedAtSimulationSeconds / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / missedDeadlineWorkloadCount / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • changedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / readyWorkloadCountAtDeadline / $ref
      Previous value: -"#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"New value: +"#/properties/goodputProvenance"
    • addedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / status / $ref
      Added value: +"#/properties/goodputProvenance"
    • removedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluation / properties / fieldProvenance / properties / status / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "recorded",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "derived",
      -        "type": "string"
      -      },
      -      "sourceFields": {
      -        "items": {
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "minItems": 1,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "sourceFields"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "unavailable",
      -        "type": "string"
      -      },
      -      "reason": {
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "reason"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedOutput schema / properties / eksSpotInterruptions / items / properties / migrationEvaluationComplete
      Added value: +{
      +  "description": "Explicit completion signal for the frozen migration evaluation; phase remains the raw lifecycle phase and may be terminated.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / goodputProvenance
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "const": "recorded",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "const": "derived",
      +          "type": "string"
      +        },
      +        "sourceFields": {
      +          "items": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "minItems": 1,
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "sourceFields"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "const": "unavailable",
      +          "type": "string"
      +        },
      +        "reason": {
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "reason"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "description": "Provenance for the modeled goodput field"
      +}
    • addedOutput schema / properties / goodputRps
      Added value: +{
      +  "description": "Modeled successful requests per second; a post-step point rate sourced from metrics.throughput",
      +  "type": "number"
      +}
    • addedOutput schema / properties / goodputSemantics
      Added value: +{
      +  "const": "post_step_point_rate",
      +  "description": "Goodput is a point rate, not an interval total",
      +  "type": "string"
      +}
    • addedOutput schema / properties / metrics / items / properties / goodputProvenance
      Added value: +{
      +  "$ref": "#/properties/goodputProvenance"
      +}
    • addedOutput schema / properties / metrics / items / properties / goodputRps
      Added value: +{
      +  "description": "Modeled successful requests per second for this step",
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / goodputSemantics
      Added value: +{
      +  "const": "post_step_point_rate",
      +  "type": "string"
      +}
  23. Changed6 schema fields changed
    • addedOutput schema / properties / eksSpotInterruptions
      Added value: +{
      +  "description": "Latest seeded EKS interruption telemetry, including additive migrationEvaluation/provenance when recorded.",
      +  "items": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "checkpointEvidence": {
      +        "additionalProperties": false,
      +        "description": "Persisted seeded-EKS checkpoint captured with its interruption JSONB record. engineInputStepIndex is an engine input-step index, simulationSeconds is derived from that index and the recorded tick, and traffic provenance points to outer metric fields rather than duplicating float values.",
      +        "properties": {
      +          "engineInputStepIndex": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "fieldProvenance": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "engineInputStepIndex": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "intervalAttribution": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "pointRateSemantics": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "simulationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "tickDurationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              }
      +            },
      +            "required": [
      +              "engineInputStepIndex",
      +              "simulationSeconds",
      +              "tickDurationSeconds",
      +              "pointRateSemantics",
      +              "intervalAttribution"
      +            ],
      +            "type": "object"
      +          },
      +          "intervalAttribution": {
      +            "type": "null"
      +          },
      +          "pointRateSemantics": {
      +            "const": "post_step_point_rate",
      +            "type": "string"
      +          },
      +          "simulationSeconds": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "tickDurationSeconds": {
      +            "exclusiveMinimum": 0,
      +            "type": "number"
      +          },
      +          "trafficFieldProvenance": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "errorRatePercent": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "latencyP50Ms": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "offeredRps": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "throughputRps": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              }
      +            },
      +            "required": [
      +              "throughputRps",
      +              "offeredRps",
      +              "errorRatePercent",
      +              "latencyP50Ms"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "engineInputStepIndex",
      +          "simulationSeconds",
      +          "tickDurationSeconds",
      +          "pointRateSemantics",
      +          "intervalAttribution",
      +          "fieldProvenance",
      +          "trafficFieldProvenance"
      +        ],
      +        "type": "object"
      +      },
      +      "migrationEvaluation": {
      +        "additionalProperties": false,
      +        "description": "Authoritative additive seeded EKS interruption evaluation. Field values carry recorded/derived/unavailable provenance; deadline verdict/counts/reasons are frozen once status is completed and do not describe later service health.",
      +        "properties": {
      +          "affectedWorkloadCount": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "allAffectedWorkloadsReadyAtSimulationSeconds": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "deadlineAtSimulationSeconds": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "deadlineMet": {
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "deadlineSeconds": {
      +            "const": 120,
      +            "type": "number"
      +          },
      +          "evaluatedAtSimulationSeconds": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "fieldProvenance": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "affectedWorkloadCount": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "allAffectedWorkloadsReadyAtSimulationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "deadlineAtSimulationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "deadlineMet": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "deadlineSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "evaluatedAtSimulationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "interruptionNoticeAtSimulationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "limitingReasons": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "migrationDurationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "migrationStartedAtSimulationSeconds": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "missedDeadlineWorkloadCount": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "readyWorkloadCountAtDeadline": {
      +                "$ref": "#/properties/eksSpotInterruptions/items/properties/migrationEvaluation/properties/fieldProvenance/properties/status"
      +              },
      +              "status": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "kind": {
      +                        "const": "recorded",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "kind": {
      +                        "const": "derived",
      +                        "type": "string"
      +                      },
      +                      "sourceFields": {
      +                        "items": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "minItems": 1,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "sourceFields"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "kind": {
      +                        "const": "unavailable",
      +                        "type": "string"
      +                      },
      +                      "reason": {
      +                        "minLength": 1,
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "reason"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "interruptionNoticeAtSimulationSeconds",
      +              "deadlineAtSimulationSeconds",
      +              "migrationStartedAtSimulationSeconds",
      +              "allAffectedWorkloadsReadyAtSimulationSeconds",
      +              "migrationDurationSeconds",
      +              "deadlineSeconds",
      +              "deadlineMet",
      +              "affectedWorkloadCount",
      +              "readyWorkloadCountAtDeadline",
      +              "missedDeadlineWorkloadCount",
      +              "evaluatedAtSimulationSeconds",
      +              "limitingReasons"
      +            ],
      +            "type": "object"
      +          },
      +          "interruptionNoticeAtSimulationSeconds": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "limitingReasons": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "code": {
      +                  "enum": [
      +                    "no_reschedule",
      +                    "scheduling_capacity_exhausted",
      +                    "image_pull_incomplete",
      +                    "startup_incomplete",
      +                    "unclassified_runtime_work_remaining"
      +                  ],
      +                  "type": "string"
      +                },
      +                "interruptionHandling": {
      +                  "enum": [
      +                    "reschedule",
      +                    "drain-only",
      +                    "fail-fast"
      +                  ],
      +                  "type": "string"
      +                },
      +                "pendingWorkloadCount": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "provenance": {
      +                  "const": "recorded",
      +                  "type": "string"
      +                },
      +                "pullingWorkloadCount": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "residualPullSeconds": {
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "residualStartupSeconds": {
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "schedulingCapacity": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "startingWorkloadCount": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "workloadCount": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "code",
      +                "workloadCount",
      +                "pendingWorkloadCount",
      +                "pullingWorkloadCount",
      +                "startingWorkloadCount",
      +                "residualPullSeconds",
      +                "residualStartupSeconds",
      +                "schedulingCapacity",
      +                "interruptionHandling",
      +                "provenance"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 5,
      +            "type": "array"
      +          },
      +          "migrationDurationSeconds": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "migrationStartedAtSimulationSeconds": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "missedDeadlineWorkloadCount": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "readyWorkloadCountAtDeadline": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "status": {
      +            "enum": [
      +              "not_started",
      +              "in_progress",
      +              "completed"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "status",
      +          "interruptionNoticeAtSimulationSeconds",
      +          "deadlineAtSimulationSeconds",
      +          "migrationStartedAtSimulationSeconds",
      +          "allAffectedWorkloadsReadyAtSimulationSeconds",
      +          "migrationDurationSeconds",
      +          "deadlineSeconds",
      +          "deadlineMet",
      +          "affectedWorkloadCount",
      +          "readyWorkloadCountAtDeadline",
      +          "missedDeadlineWorkloadCount",
      +          "evaluatedAtSimulationSeconds",
      +          "limitingReasons",
      +          "fieldProvenance"
      +        ],
      +        "type": "object"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "resourceId": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / metricId
      Added value: +{
      +  "description": "Storage-assigned ID of the latest persisted metric",
      +  "type": "string"
      +}
    • addedOutput schema / properties / metrics / items / properties / eksSpotInterruptions
      Added value: +{
      +  "items": {
      +    "$ref": "#/properties/eksSpotInterruptions/items"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / metrics / items / properties / metricId
      Added value: +{
      +  "description": "Storage-assigned persisted metric ID, when this history entry was stored",
      +  "type": "string"
      +}
    • addedOutput schema / properties / modeledShedRps
      Added value: +{
      +  "description": "Latest aggregate modeled shed requests per second",
      +  "type": "number"
      +}
    • addedOutput schema / properties / offeredRps
      Added value: +{
      +  "description": "Latest aggregate offered requests per second",
      +  "type": "number"
      +}
  24. Changed1 schema field changed
    • changedOutput schema / properties / resources / items / properties / recoveryProgress / description
      Previous value: -"Read-only recovery progress; poll simulation.get or simulation.step until state is healthy"New value: +"Read-only recovery progress; poll simulation.step until state is healthy, then use simulation.metrics to inspect the result"
  25. Changed3 schema fields changed
    • changedInput schema / properties / responseMode / description
      Previous value: -"Response detail level. 'compact' (default) returns principal current metrics, errorBreakdown when available, per-resource status (id, name, status, cpuPercent, routedRps, availabilityState, isRoutable, and recoveryBlockedReason when provided), and only the last 10 metrics-history entries — keeps polling cheap for agent loops. 'full' returns the complete simulation object (all resource characteristics and connections) plus the entire metrics history."New value: +"Response detail level. 'compact' (default) returns principal current metrics, errorBreakdown when available, per-resource status (id, name, status, cpuPercent, routedRps, availabilityState, isRoutable, recoveryBlockedReason, and failureLifecycle/routingState when provided), and only the last 10 metrics-history entries — keeps polling cheap for agent loops. 'full' returns the complete simulation object (all resource characteristics and connections) plus the entire metrics history."
    • addedOutput schema / properties / resources / items / properties / failureLifecycle
      Added value: +{
      +  "description": "Read-only failure lifecycle marker when the backend identifies a quick injection or typed instance failure",
      +  "enum": [
      +    "quick_injection_parked",
      +    "quick_injection_rejoined",
      +    "instance_down",
      +    "instance_kill"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / resources / items / properties / routingState
      Added value: +{
      +  "description": "Read-only current routing state for a resource with failure lifecycle telemetry",
      +  "enum": [
      +    "unavailable",
      +    "serving"
      +  ],
      +  "type": "string"
      +}
  26. Changed1 schema field changed
    • changedInput schema / properties / simulationId / description
      Previous value: -"Simulation ID returned by simulation.create. Preserve Mcp-Session-Id to omit this field and use the session's current simulation; if your connector starts a fresh MCP session for each call (for example Grok Bot or Cursor), pass this explicit ID. A fresh session has no current-simulation pointer and returns NO_ACTIVE_SIMULATION when the ID is omitted. Anonymous capabilities are short-lived, bound to the creating anonymous client, and revoked when the demo expires or is deleted; do not treat the ID as a durable share link."New value: +"Simulation ID returned by simulation.create. Preserve Mcp-Session-Id to omit this field and use the session's current simulation; if your connector starts a fresh MCP session for each call (for example Grok Bot or Cursor), pass this explicit ID after every fresh initialization. A fresh session has no current-simulation pointer and returns NO_ACTIVE_SIMULATION when the ID is omitted. Anonymous capabilities are short-lived (30 minutes by default), unguessable, and revoked when the demo expires or is deleted; proxy IP changes do not invalidate them. Do not treat the ID as a durable share link."
  27. Changed1 schema field changed
    • changedInput schema / properties / simulationId / description
      Previous value: -"Simulation ID returned by simulation.create. Optional in demo sessions — omit to target this session's current simulation (set by simulation.create and updated by the most recent successful explicit use). If the session has no current simulation you get a NO_ACTIVE_SIMULATION result."New value: +"Simulation ID returned by simulation.create. Preserve Mcp-Session-Id to omit this field and use the session's current simulation; if your connector starts a fresh MCP session for each call (for example Grok Bot or Cursor), pass this explicit ID. A fresh session has no current-simulation pointer and returns NO_ACTIVE_SIMULATION when the ID is omitted. Anonymous capabilities are short-lived, bound to the creating anonymous client, and revoked when the demo expires or is deleted; do not treat the ID as a durable share link."
  28. Changed2 schema fields changed
    • addedOutput schema / properties / latencyP50
      Added value: +{
      +  "description": "Latest 50th-percentile latency in ms",
      +  "type": "number"
      +}
    • addedOutput schema / properties / resources / items / properties / recoveryProgress
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Read-only recovery progress; poll simulation.get or simulation.step until state is healthy",
      +  "properties": {
      +    "cooldown": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "completedSteps": {
      +          "type": "number"
      +        },
      +        "remainingSteps": {
      +          "type": "number"
      +        },
      +        "requiredSteps": {
      +          "type": "number"
      +        },
      +        "target": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "warning",
      +                "healthy"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "target",
      +        "completedSteps",
      +        "requiredSteps",
      +        "remainingSteps"
      +      ],
      +      "type": "object"
      +    },
      +    "parkWindow": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "completedSteps": {
      +          "type": "number"
      +        },
      +        "remainingSteps": {
      +          "type": "number"
      +        },
      +        "totalSteps": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "totalSteps",
      +        "completedSteps",
      +        "remainingSteps"
      +      ],
      +      "type": "object"
      +    },
      +    "state": {
      +      "enum": [
      +        "parked",
      +        "cooling_down",
      +        "healthy"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "state",
      +    "parkWindow",
      +    "cooldown"
      +  ],
      +  "type": "object"
      +}
  29. Changed6 schema fields changed
    • changedInput schema / properties / responseMode / description
      Previous value: -"Response detail level. 'compact' (default) returns principal current metrics, per-resource status (id, name, status, cpuPercent, routedRps), and only the last 10 metrics-history entries — keeps polling cheap for agent loops. 'full' returns the complete simulation object (all resource characteristics and connections) plus the entire metrics history."New value: +"Response detail level. 'compact' (default) returns principal current metrics, errorBreakdown when available, per-resource status (id, name, status, cpuPercent, routedRps, availabilityState, isRoutable, and recoveryBlockedReason when provided), and only the last 10 metrics-history entries — keeps polling cheap for agent loops. 'full' returns the complete simulation object (all resource characteristics and connections) plus the entire metrics history."
    • addedOutput schema / properties / errorBreakdown
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Validated additive error contributors from the latest metrics entry, in percentage-point units",
      +  "properties": {
      +    "capacityOverload": {
      +      "type": "number"
      +    },
      +    "computeFailure": {
      +      "type": "number"
      +    },
      +    "cpuOverload": {
      +      "type": "number"
      +    },
      +    "dbFailure": {
      +      "type": "number"
      +    },
      +    "ociStorage": {
      +      "type": "number"
      +    },
      +    "poolSaturation": {
      +      "type": "number"
      +    },
      +    "queueAbsorption": {
      +      "type": "number"
      +    },
      +    "runtimeMemory": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "poolSaturation",
      +    "dbFailure",
      +    "computeFailure",
      +    "capacityOverload",
      +    "cpuOverload",
      +    "ociStorage",
      +    "queueAbsorption"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / metrics / items / properties / errorBreakdown
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Validated additive error contributors for this history entry",
      +  "properties": {
      +    "capacityOverload": {
      +      "type": "number"
      +    },
      +    "computeFailure": {
      +      "type": "number"
      +    },
      +    "cpuOverload": {
      +      "type": "number"
      +    },
      +    "dbFailure": {
      +      "type": "number"
      +    },
      +    "ociStorage": {
      +      "type": "number"
      +    },
      +    "poolSaturation": {
      +      "type": "number"
      +    },
      +    "queueAbsorption": {
      +      "type": "number"
      +    },
      +    "runtimeMemory": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "poolSaturation",
      +    "dbFailure",
      +    "computeFailure",
      +    "capacityOverload",
      +    "cpuOverload",
      +    "ociStorage",
      +    "queueAbsorption"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / resources / items / properties / availabilityState
      Added value: +{
      +  "description": "Availability derived from routed traffic: available = serving normally, degraded = critical/warning but still serving, unavailable = no traffic and not routable",
      +  "enum": [
      +    "available",
      +    "degraded",
      +    "unavailable"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / resources / items / properties / isRoutable
      Added value: +{
      +  "description": "Whether this compute/Kubernetes resource can receive traffic in this step; false distinguishes a failed/parked node from a critical node still serving",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / resources / items / properties / recoveryBlockedReason
      Added value: +{
      +  "description": "Engine recovery guard currently preventing cooldown progress, when present (for example failure_park_window or idle_cpu_floor)",
      +  "type": "string"
      +}
  30. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "One-sentence goal for this session — e.g. 'train RL agent on AWS', 'compare GCP vs Azure costs', or 'run chaos test on database tier'.",
      -  "type": "string"
      -}
    • removedInput schema / required
      Removed value: -[
      -  "context"
      -]
  31. Changed3 schema fields changed
    • addedOutput schema / properties / metrics / items / properties / retryAmplificationFactor
      Added value: +{
      +  "description": "Per-step retry amplification factor — present only on resilience-enabled simulations",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / resilienceDiagnostics
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Bounded resilience diagnostics from the latest step (compact mode). Absent when the resilience model did not run.",
      +  "properties": {
      +    "bounded": {
      +      "description": "True when a generated-traffic, traversal-work, or cascade-depth bound truncated model work",
      +      "type": "boolean"
      +    },
      +    "incidentOutcome": {
      +      "description": "Latest incident outcome: stable | degraded | cascading | protected | recovered",
      +      "type": "string"
      +    },
      +    "pathCount": {
      +      "description": "Number of dependency paths evaluated in the latest step",
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / retryAmplificationFactor
      Added value: +{
      +  "description": "Latest retry amplification factor (attemptedRps / originalRps). Values > 1.0 = amplification risk. null = model ran but no traffic. Absent = resilience model disabled.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
  32. Changed8 schema fields changed
    • addedOutput schema / properties / costPerMillionTokens
      Added value: +{
      +  "description": "Latest self-hosted inference cost in USD per million tokens (null when no tokens are being processed) — present only on GPU inference simulations",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / gpuUtilization
      Added value: +{
      +  "description": "Latest GPU utilization (%) — present only on GPU inference simulations",
      +  "type": "number"
      +}
    • addedOutput schema / properties / idleGpuCostPerHour
      Added value: +{
      +  "description": "Latest USD/hr of GPU spend funding idle/standby capacity (HA overhead) — present only on GPU inference simulations",
      +  "type": "number"
      +}
    • addedOutput schema / properties / idleGpuFraction
      Added value: +{
      +  "description": "Latest share (0-1) of the GPU bill that is idle/standby capacity — present only on GPU inference simulations",
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / costPerMillionTokens
      Added value: +{
      +  "description": "Self-hosted inference cost in USD per million tokens for this step — present only on GPU inference simulations",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / metrics / items / properties / gpuUtilization
      Added value: +{
      +  "description": "GPU utilization (%) for this step — present only on GPU inference simulations",
      +  "type": "number"
      +}
    • addedOutput schema / properties / metrics / items / properties / tokensPerSecond
      Added value: +{
      +  "description": "Inference throughput in tokens/second for this step — present only on GPU inference simulations",
      +  "type": "number"
      +}
    • addedOutput schema / properties / tokensPerSecond
      Added value: +{
      +  "description": "Latest inference throughput in tokens/second — present only on GPU inference simulations",
      +  "type": "number"
      +}
  33. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources