Autoscaling Controller  ·  View 14 of 37  ·  3 · Data

Decision Journal Model

What has to be recorded for "why did this target have this much capacity?" to be answerable without replaying a metric.

Editable source SVG draw.io All views
decision decision_id PK target_id interval_start policy_version_id proposed_capacity final_desired_capacity outcome decision_input input_id PK decision_id FK signal_id value unit freshness_ms sample_count was_last_known_good adjustment adjustment_id PK decision_id FK kind before after reason actuation actuation_id PK decision_id FK UNIQUE provider requested_delta applied_delta result zone_or_shape_used observed_capacity observation_id PK target_id observed_at instances_serving instances_provisioning instances_draining audit_event audit_id PK actor target_id field before / after justification signed_at 1 : N 1 : N 1 : 1 informs context Decision Journal — What Makes a Decision Explainable Every adjustment — clamp, suppression, rate limit, dead band — is a row with a reason. "Why did this target have this much capacity?" is answered from these tables alone. v 1.0 · owner Data & AI Global Practice · date 2026-09

Decisions

  • Every input is a row carrying its value, unit, freshness and whether it was last-known-good rather than fresh.
  • Every adjustment — clamp, dead band, sustain, rate limit, oscillation freeze — is a row with a before, an after and a reason.
  • actuation.decision_id is UNIQUE: every actuation traces to exactly one journalled decision, 100% coverage.

What it buys

  • Post-incident analysis reads the journal, not the metrics store, so an answer survives signal retention rolling over.
  • Counterfactual replay joins recorded inputs to a candidate policy version, which is how a policy change is argued before it ships.

Volume

  • Every evaluation is journalled, acted on or not — roughly 133 records/second at 2,000 targets on a 15 s interval, against a 150/second sustained budget.
  • 13 months retention. Suppressed decisions are the majority of rows and the most useful ones when tuning.