Agent Health UNHEALTHY

Agent Health shows what changed in one time window of agent runs, and how sure we are.

traces.otlp.json1 Nov 2026 06:00:56 UTC → 1 Nov 2026 17:58:04 UTC · 11.9 hgenerated 6 Nov 2026 13:38:01 UTC

Result

The total status is the status of the weakest section below, read at the low end of its 95% likely range. If a hard rule applies, the status is UNHEALTHY in any case.

  • Numeric signals moved. In 23% of the runs after the first 100 runs, values were far from the normal values, by more than 10 times the usual spread.
  • In 2 groups of runs with one signal value in common, the share of failed runs moved by 20 percentage points or more. The 95% likely ranges do not overlap.
  • After the change 3.2→3.3 of credit.record_feed_version, the share of failed runs was 100%. On runs that stayed on the old version at the same time, the share was 16%. The 95% likely ranges do not overlap.

The report covers 400 workflow runs that start at loan_orchestrator invoke_agent, and 65 environment runs. A run with credit.final_decision = deny counts as failed, although a denial can be correct. The baseline is the first 100 runs. The report has 24 periods. See the proposal to return the bureau feed to 3.2

Globe

The globe shows the whole file of runs, and its lower half shows all 8 agents. The labels on the globe are technical, and the report below explains them.

AGENT HEALTH
drag to turn · click a zone · hover the ring

08 Value

Estimate, not an accounting figurerole controller · generic

The Value sheet prices the numbers in the report with your assumptions. Cost counts tokens (the units that AI models charge for), tool calls, computing time and review minutes. Decision value applies one value rule to each outcome. Loss covers the strongest change only. Loss is the risk difference against runs that stayed on the old version, multiplied by the affected runs and the cost of one wrong outcome. Every figure shows its likely range and its assumptions.

cost of this window€424€1.06 per run
decision value€9,168,271€22,921 per run · credit.requested_amount
loss on record_feed_version 3.2→3.3€489,853€421,022 – €518,609 · ~59 wrong outcomes (51–62)
loss per day if nothing changes€983,804projected from this window · cost €851 per day

Decision value, cost and loss in this window

decision value: €9,168,271decision value€9,168,271cost: -€424cost-€424loss on the strongest change: -€489,853loss on the stro…-€489,853net: €8,677,994net€8,677,994
net €8,677,994Loss covers the strongest change only. Another change would add to the loss if its runs on the old version are clearly different from its runs on the new version.

Per period: cost and decision value

period 0 · n=16 cost €26.57 · decision value €504,000period 1 · n=17 cost €26.52 · decision value €328,950period 2 · n=17 cost €26.58 · decision value €285,600period 3 · n=16 cost €14.37 · decision value €402,390period 4 · n=17 cost €26.57 · decision value €534,375period 5 · n=17 cost €38.92 · decision value €436,800period 6 · n=16 cost €14.51 · decision value €379,525period 7 · n=17 cost €2.73 · decision value €420,218period 8 · n=17 cost €2.73 · decision value €605,207period 9 · n=16 cost €26.57 · decision value €499,685period 10 · n=17 cost €2.74 · decision value €516,600period 11 · n=17 cost €14.7 · decision value €303,400period 12 · n=16 cost €26.48 · decision value €235,200period 13 · n=17 cost €14.73 · decision value €446,500period 14 · n=17 cost €26.73 · decision value €267,750period 15 · n=16 cost €14.62 · decision value €301,875period 16 · n=17 cost €14.93 · decision value €396,367period 17 · n=17 cost €14.38 · decision value €307,800period 18 · n=16 cost €14.83 · decision value €289,833period 19 · n=17 cost €2.98 · decision value €526,125period 20 · n=17 cost €26.53 · decision value €349,333period 21 · n=16 cost €14.63 · decision value €358,238period 22 · n=17 cost €14.73 · decision value €312,000period 23 · n=17 cost €14.68 · decision value €160,500
cost per perioddecision value per period

Loss per change

signalchangeataffectedwrong outcomeslossbasis
credit.record_feed_version3.2→3.3t+5.3 h7059 (51–62)€489,853 (€421,022 – €518,609)risk difference +84 points (+72 to +89) against runs still on the old version; wrong_cost[deny]: share_of_amount 0.03 (example); mean credit.requested_amount among affected 277,000
credit.score_model_version2.3→2.3.1t+3.3 h292––No runs stayed on the old version at the same time, so we cannot state a loss caused by the change.
credit.policy_version2026.10→2026.10.1t+6.0 h200––No runs stayed on the old version at the same time, so we cannot state a loss caused by the change.
Assumptions behind these figures
  • tokens model-a-large: 0.002/0.008 per 1k (example)
  • tokens model-b-small: 0.002/0.008 per 1k (example)
  • value[approve]: share_of_amount_per_year 0.03 (example)
  • risk difference +84 points (+72 to +89) against runs still on the old version
  • wrong_cost[deny]: share_of_amount 0.03 (example)
  • mean credit.requested_amount among affected 277,000
  • complaint probability 0.1 (example), cost 150 (example)

Every figure here uses the example values in value-example.yaml, marked (example) above. The live sheet takes your own values through the assumptions wizard. The sheet exports to a spreadsheet with live formulas over your inputs.

00 Timeline of failed runs

The chart shows the share of failed runs in each period. A failed run here is a run with credit.final_decision = deny. The share was 23% in the baseline (likely range 16–32%) and 37% after it (32–43%). The pattern changed 5.2 hours after the start of the file (t+5.2 h, 1 Nov 2026 11:15:24 UTC). The sign of this change is strong.

change point t+5.2 h · 1 Nov 2026 11:15:24 UTC · gain 11 natsperiod 0 · t+0.0 h · n=16 failed 13% (3–36%) · errors 0 · 3,506 ms record_feed_version 3.2×16 · score_model_version 2.3×16 · policy_version 2026.10×16period 1 · t+0.5 h · n=17 failed 29% (13–53%) · errors 0 · 3,428 ms record_feed_version 3.2×17 · score_model_version 2.3×17 · policy_version 2026.10×17period 2 · t+1.0 h · n=17 failed 35% (17–59%) · errors 0 · 3,644 ms record_feed_version 3.2×17 · score_model_version 2.3×17 · policy_version 2026.10×17period 3 · t+1.5 h · n=16 failed 31% (14–56%) · errors 0 · 3,423 ms record_feed_version 3.2×16 · score_model_version 2.3×16 · policy_version 2026.10×16period 4 · t+2.0 h · n=17 failed 18% (6–41%) · errors 0 · 3,554 ms record_feed_version 3.2×17 · score_model_version 2.3×17 · policy_version 2026.10×17period 5 · t+2.5 h · n=17 failed 12% (3–34%) · errors 0 · 3,557 ms record_feed_version 3.2×17 · score_model_version 2.3×17 · policy_version 2026.10×17period 6 · t+3.0 h · n=16 failed 19% (7–43%) · errors 1 · 3,390 ms record_feed_version 3.2×16 · score_model_version 2.3×8 2.3.1×8 · policy_version 2026.10×16period 7 · t+3.5 h · n=17 failed 35% (17–59%) · errors 1 · 3,573 ms record_feed_version 3.2×17 · score_model_version 2.3.1×17 · policy_version 2026.10×17period 8 · t+4.0 h · n=17 failed 18% (6–41%) · errors 0 · 3,583 ms record_feed_version 3.2×17 · score_model_version 2.3.1×17 · policy_version 2026.10×17period 9 · t+4.5 h · n=16 failed 6% (1–28%) · errors 0 · 3,613 ms record_feed_version 3.2×16 · score_model_version 2.3.1×16 · policy_version 2026.10×16period 10 · t+5.0 h · n=17 failed 29% (13–53%) · errors 1 · 4,314 ms record_feed_version 3.2×16 3.3×1 · score_model_version 2.3.1×17 · policy_version 2026.10×17period 11 · t+5.5 h · n=17 failed 41% (22–64%) · errors 1 · 4,426 ms record_feed_version 3.2×14 3.3×3 · score_model_version 2.3.1×17 · policy_version 2026.10×17period 12 · t+6.0 h · n=16 failed 38% (18–61%) · errors 0 · 4,202 ms record_feed_version 3.2×10 3.3×6 · score_model_version 2.3.1×16 · policy_version 2026.10.1×16period 13 · t+6.5 h · n=17 failed 41% (22–64%) · errors 1 · 3,989 ms record_feed_version 3.2×12 3.3×5 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 14 · t+7.0 h · n=17 failed 41% (22–64%) · errors 0 · 3,682 ms record_feed_version 3.2×13 3.3×4 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 15 · t+7.5 h · n=16 failed 44% (23–67%) · errors 2 · 3,626 ms record_feed_version 3.2×12 3.3×4 · score_model_version 2.3.1×16 · policy_version 2026.10.1×16period 16 · t+8.0 h · n=17 failed 41% (22–64%) · errors 1 · 3,628 ms record_feed_version 3.2×11 3.3×6 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 17 · t+8.5 h · n=17 failed 47% (26–69%) · errors 0 · 3,464 ms record_feed_version 3.2×11 3.3×6 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 18 · t+9.0 h · n=16 failed 38% (18–61%) · errors 0 · 3,498 ms record_feed_version 3.2×11 3.3×5 · score_model_version 2.3.1×16 · policy_version 2026.10.1×16period 19 · t+9.5 h · n=17 failed 29% (13–53%) · errors 0 · 3,595 ms record_feed_version 3.2×13 3.3×4 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 20 · t+10.0 h · n=17 failed 35% (17–59%) · errors 0 · 3,453 ms record_feed_version 3.2×12 3.3×5 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 21 · t+10.5 h · n=16 failed 44% (23–67%) · errors 0 · 3,626 ms record_feed_version 3.2×10 3.3×6 · score_model_version 2.3.1×16 · policy_version 2026.10.1×16period 22 · t+11.0 h · n=17 failed 47% (26–69%) · errors 0 · 3,563 ms record_feed_version 3.2×11 3.3×6 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17period 23 · t+11.5 h · n=17 failed 71% (47–87%) · errors 0 · 3,524 ms record_feed_version 3.3×9 3.2×8 · score_model_version 2.3.1×17 · policy_version 2026.10.1×17
share of failed runs per period (step line), band = likely range, 95%baseline (first 100 runs)moment the pattern changed
credit.sanctions_list_version: 2026.11.01a → 2026.11.01b at t+1.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01b → 2026.11.01c at t+2.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01c → 2026.11.01d at t+3.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01d → 2026.11.01e at t+4.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01e → 2026.11.01f at t+5.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01f → 2026.11.01g at t+6.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01g → 2026.11.01h at t+7.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01h → 2026.11.01i at t+8.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01i → 2026.11.01j at t+9.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01j → 2026.11.01k at t+10.0 h · no runs on the old version · rolling signalcredit.sanctions_list_version: 2026.11.01k → 2026.11.01l at t+11.0 h · no runs on the old version · rolling signalcredit.record_feed_version: 3.2 → 3.3 at t+5.3 h · ranges do not overlapcredit.score_model_version: 2.3 → 2.3.1 at t+3.3 h · no runs on the old versioncredit.policy_version: 2026.10 → 2026.10.1 at t+6.0 h · no runs on the old version
bureau_agent invoke_agent at t+-0.0 hbureau_agent invoke_agent at t+0.2 hbureau_agent invoke_agent at t+0.5 hbureau_agent invoke_agent at t+0.7 hbureau_agent invoke_agent at t+1.0 hbureau_agent invoke_agent at t+1.2 hbureau_agent invoke_agent at t+1.5 hbureau_agent invoke_agent at t+1.7 hbureau_agent invoke_agent at t+2.0 hbureau_agent invoke_agent at t+2.2 hbureau_agent invoke_agent at t+2.5 hbureau_agent invoke_agent at t+2.7 hbureau_agent invoke_agent at t+3.0 hbureau_agent invoke_agent at t+3.2 hbureau_agent invoke_agent at t+3.5 hbureau_agent invoke_agent at t+3.7 hbureau_agent invoke_agent at t+4.0 hbureau_agent invoke_agent at t+4.2 hbureau_agent invoke_agent at t+4.5 hbureau_agent invoke_agent at t+4.7 hbureau_agent invoke_agent at t+5.0 hbureau_agent invoke_agent at t+5.2 hbureau_agent invoke_agent at t+5.3 hbureau_agent invoke_agent at t+5.5 hbureau_agent invoke_agent at t+5.7 hbureau_agent invoke_agent at t+6.0 hbureau_agent invoke_agent at t+6.2 hbureau_agent invoke_agent at t+6.5 hbureau_agent invoke_agent at t+6.7 hbureau_agent invoke_agent at t+7.0 hbureau_agent invoke_agent at t+7.2 hbureau_agent invoke_agent at t+7.5 hbureau_agent invoke_agent at t+7.7 hbureau_agent invoke_agent at t+8.0 hbureau_agent invoke_agent at t+8.2 hbureau_agent invoke_agent at t+8.5 hbureau_agent invoke_agent at t+8.7 hbureau_agent invoke_agent at t+9.0 hbureau_agent invoke_agent at t+9.2 hbureau_agent invoke_agent at t+9.5 hbureau_agent invoke_agent at t+9.7 hbureau_agent invoke_agent at t+10.0 hbureau_agent invoke_agent at t+10.2 hbureau_agent invoke_agent at t+10.5 hbureau_agent invoke_agent at t+10.7 hbureau_agent invoke_agent at t+11.0 hbureau_agent invoke_agent at t+11.2 hbureau_agent invoke_agent at t+11.5 hbureau_agent invoke_agent at t+11.7 hbureau_agent invoke_agent: event bureau_feed_schema_updated at t+5.3 hkyc_agent invoke_agent at t+-0.0 hkyc_agent invoke_agent at t+1.0 hkyc_agent invoke_agent at t+2.0 hkyc_agent invoke_agent at t+3.0 hkyc_agent invoke_agent at t+4.0 hkyc_agent invoke_agent at t+5.0 hkyc_agent invoke_agent at t+6.0 hkyc_agent invoke_agent at t+7.0 hkyc_agent invoke_agent at t+8.0 hkyc_agent invoke_agent at t+9.0 hkyc_agent invoke_agent at t+10.0 hkyc_agent invoke_agent at t+11.0 hrisk_agent invoke_agent at t+-0.0 hrisk_agent invoke_agent at t+3.2 hpolicy_agent invoke_agent at t+-0.0 hpolicy_agent invoke_agent at t+6.0 h
average run time · period 0 · 3,506 msaverage run time · period 1 · 3,428 msaverage run time · period 2 · 3,644 msaverage run time · period 3 · 3,423 msaverage run time · period 4 · 3,554 msaverage run time · period 5 · 3,557 msaverage run time · period 6 · 3,390 msaverage run time · period 7 · 3,573 msaverage run time · period 8 · 3,583 msaverage run time · period 9 · 3,613 msaverage run time · period 10 · 4,314 msaverage run time · period 11 · 4,426 msaverage run time · period 12 · 4,202 msaverage run time · period 13 · 3,989 msaverage run time · period 14 · 3,682 msaverage run time · period 15 · 3,626 msaverage run time · period 16 · 3,628 msaverage run time · period 17 · 3,464 msaverage run time · period 18 · 3,498 msaverage run time · period 19 · 3,595 msaverage run time · period 20 · 3,453 msaverage run time · period 21 · 3,626 msaverage run time · period 22 · 3,563 msaverage run time · period 23 · 3,524 ms
average run time
steps with an error · period 0 · 0steps with an error · period 1 · 0steps with an error · period 2 · 0steps with an error · period 3 · 0steps with an error · period 4 · 0steps with an error · period 5 · 0steps with an error · period 6 · 1steps with an error · period 7 · 1steps with an error · period 8 · 0steps with an error · period 9 · 0steps with an error · period 10 · 1steps with an error · period 11 · 1steps with an error · period 12 · 0steps with an error · period 13 · 1steps with an error · period 14 · 0steps with an error · period 15 · 2steps with an error · period 16 · 1steps with an error · period 17 · 0steps with an error · period 18 · 0steps with an error · period 19 · 0steps with an error · period 20 · 0steps with an error · period 21 · 0steps with an error · period 22 · 0steps with an error · period 23 · 0
steps with an error

05 What changed

UNHEALTHY

The table lists every version change seen on workflow runs. We rank a change by the runs that stayed on the old version at the same time. A comparison of before and after can also mark a change that only happened at the same time as another change. Start with the change at the top of the table.

#signalchangeatrisk differenceold version, same timebefore and after
1credit.record_feed_version3.2→3.3t+5.3 h+84 pointsclearly differentcannot tell apart
2credit.score_model_version2.3→2.3.1t+3.3 h−5 pointsno runs on the old versioncannot tell apart
3credit.policy_version2026.10→2026.10.1t+6.0 h+13 pointsno runs on the old versioncannot tell apart

Each change: runs on the old version at the same time, against before and after

credit.record_feed_version3.2 → 3.3 at t+5.3 hclearly different from the old version
old version, same timethe gap between the two likely rangesold 3.2: 16% (11–22%) n=152 (same window)new 3.3: 100% (95–100%) n=7016% → 100% +84 points · clearly different
before and afterthe likely ranges overlap, so we cannot tell the groups apartbefore: 22% (13–34%) (60 runs)after: 38% (27–51%) (60 runs)22% → 38% · cannot tell apart
credit.score_model_version2.3 → 2.3.1 at t+3.3 hno runs on the old version
old version, same timeno runs on the old version: the old value ended at the changeno runs on the old version
before and afterthe likely ranges overlap, so we cannot tell the groups apartbefore: 23% (14–35%) (60 runs)after: 18% (11–30%) (60 runs)23% → 18% · cannot tell apart
credit.policy_version2026.10 → 2026.10.1 at t+6.0 hno runs on the old version
old version, same timeno runs on the old version: the old value ended at the changeno runs on the old version
before and afterthe likely ranges overlap, so we cannot tell the groups apartbefore: 25% (16–37%) (60 runs)after: 38% (27–51%) (60 runs)25% → 38% · cannot tell apart
0%share of failed runs with its likely range (95%)100%
old value / beforenew value / afterranges do not overlap (the gap is hatched)ranges overlap = cannot tell apart
1 signal that updates on a regular schedule (11 changes, given less weight: many values, none overlapping in time)
signalchangeatbeforeafter
credit.sanctions_list_version2026.11.01a → 2026.11.01bt+1.0 h21% (11–38%)33% (20–50%)
credit.sanctions_list_version2026.11.01b → 2026.11.01ct+2.0 h33% (20–50%)15% (7–31%)
credit.sanctions_list_version2026.11.01c → 2026.11.01dt+3.0 h15% (7–31%)27% (15–44%)
credit.sanctions_list_version2026.11.01d → 2026.11.01et+4.0 h27% (15–44%)12% (5–27%)
credit.sanctions_list_version2026.11.01e → 2026.11.01ft+5.0 h12% (5–27%)36% (22–53%)
credit.sanctions_list_version2026.11.01f → 2026.11.01gt+6.0 h36% (22–53%)39% (25–56%)
credit.sanctions_list_version2026.11.01g → 2026.11.01ht+7.0 h39% (25–56%)42% (27–59%)
credit.sanctions_list_version2026.11.01h → 2026.11.01it+8.0 h39% (25–56%)45% (30–62%)
credit.sanctions_list_version2026.11.01i → 2026.11.01jt+9.0 h45% (30–62%)33% (20–50%)
credit.sanctions_list_version2026.11.01j → 2026.11.01kt+10.0 h33% (20–50%)39% (25–56%)
credit.sanctions_list_version2026.11.01k → 2026.11.01lt+11.0 h36% (22–53%)61% (44–75%)

Version lanes: which value each run carried, over time

sanctions_list_version (rolling)credit.sanctions_list_version = 2026.11.01a period 0 · 16 of 16 runs · failed 13%credit.sanctions_list_version = 2026.11.01a period 1 · 17 of 17 runs · failed 29%credit.sanctions_list_version = 2026.11.01b period 2 · 17 of 17 runs · failed 35%credit.sanctions_list_version = 2026.11.01b period 3 · 16 of 16 runs · failed 31%credit.sanctions_list_version = 2026.11.01c period 4 · 17 of 17 runs · failed 18%credit.sanctions_list_version = 2026.11.01c period 5 · 17 of 17 runs · failed 12%credit.sanctions_list_version = 2026.11.01d period 6 · 16 of 16 runs · failed 19%credit.sanctions_list_version = 2026.11.01d period 7 · 17 of 17 runs · failed 35%credit.sanctions_list_version = 2026.11.01e period 8 · 17 of 17 runs · failed 18%credit.sanctions_list_version = 2026.11.01e period 9 · 16 of 16 runs · failed 6%credit.sanctions_list_version = 2026.11.01e period 10 · 1 of 17 runs · failed 0%credit.sanctions_list_version = 2026.11.01f period 10 · 16 of 17 runs · failed 31%credit.sanctions_list_version = 2026.11.01f period 11 · 17 of 17 runs · failed 41%credit.sanctions_list_version = 2026.11.01g period 12 · 16 of 16 runs · failed 38%credit.sanctions_list_version = 2026.11.01g period 13 · 17 of 17 runs · failed 41%credit.sanctions_list_version = 2026.11.01h period 14 · 17 of 17 runs · failed 41%credit.sanctions_list_version = 2026.11.01h period 15 · 16 of 16 runs · failed 44%credit.sanctions_list_version = 2026.11.01h period 16 · 1 of 17 runs · failed 0%credit.sanctions_list_version = 2026.11.01i period 16 · 16 of 17 runs · failed 44%credit.sanctions_list_version = 2026.11.01i period 17 · 17 of 17 runs · failed 47%credit.sanctions_list_version = 2026.11.01j period 18 · 16 of 16 runs · failed 38%credit.sanctions_list_version = 2026.11.01j period 19 · 17 of 17 runs · failed 29%credit.sanctions_list_version = 2026.11.01k period 20 · 17 of 17 runs · failed 35%credit.sanctions_list_version = 2026.11.01k period 21 · 16 of 16 runs · failed 44%credit.sanctions_list_version = 2026.11.01k period 22 · 1 of 17 runs · failed 0%credit.sanctions_list_version = 2026.11.01l period 22 · 16 of 17 runs · failed 50%credit.sanctions_list_version = 2026.11.01l period 23 · 17 of 17 runs · failed 71%12 values
record_feed_versioncredit.record_feed_version = 3.2 period 0 · 16 of 16 runs · failed 13%credit.record_feed_version = 3.2 period 1 · 17 of 17 runs · failed 29%credit.record_feed_version = 3.2 period 2 · 17 of 17 runs · failed 35%credit.record_feed_version = 3.2 period 3 · 16 of 16 runs · failed 31%credit.record_feed_version = 3.2 period 4 · 17 of 17 runs · failed 18%credit.record_feed_version = 3.2 period 5 · 17 of 17 runs · failed 12%credit.record_feed_version = 3.2 period 6 · 16 of 16 runs · failed 19%credit.record_feed_version = 3.2 period 7 · 17 of 17 runs · failed 35%credit.record_feed_version = 3.2 period 8 · 17 of 17 runs · failed 18%credit.record_feed_version = 3.2 period 9 · 16 of 16 runs · failed 6%credit.record_feed_version = 3.2 period 10 · 16 of 17 runs · failed 25%credit.record_feed_version = 3.3 period 10 · 1 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 11 · 14 of 17 runs · failed 29%credit.record_feed_version = 3.3 period 11 · 3 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 12 · 10 of 16 runs · failed 0%credit.record_feed_version = 3.3 period 12 · 6 of 16 runs · failed 100%credit.record_feed_version = 3.2 period 13 · 12 of 17 runs · failed 17%credit.record_feed_version = 3.3 period 13 · 5 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 14 · 13 of 17 runs · failed 23%credit.record_feed_version = 3.3 period 14 · 4 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 15 · 12 of 16 runs · failed 25%credit.record_feed_version = 3.3 period 15 · 4 of 16 runs · failed 100%credit.record_feed_version = 3.2 period 16 · 11 of 17 runs · failed 9%credit.record_feed_version = 3.3 period 16 · 6 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 17 · 11 of 17 runs · failed 18%credit.record_feed_version = 3.3 period 17 · 6 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 18 · 11 of 16 runs · failed 9%credit.record_feed_version = 3.3 period 18 · 5 of 16 runs · failed 100%credit.record_feed_version = 3.2 period 19 · 13 of 17 runs · failed 8%credit.record_feed_version = 3.3 period 19 · 4 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 20 · 12 of 17 runs · failed 8%credit.record_feed_version = 3.3 period 20 · 5 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 21 · 10 of 16 runs · failed 10%credit.record_feed_version = 3.3 period 21 · 6 of 16 runs · failed 100%credit.record_feed_version = 3.2 period 22 · 11 of 17 runs · failed 18%credit.record_feed_version = 3.3 period 22 · 6 of 17 runs · failed 100%credit.record_feed_version = 3.2 period 23 · 8 of 17 runs · failed 38%credit.record_feed_version = 3.3 period 23 · 9 of 17 runs · failed 100%3.2 19% · 3.3 100%
score_model_versioncredit.score_model_version = 2.3 period 0 · 16 of 16 runs · failed 13%credit.score_model_version = 2.3 period 1 · 17 of 17 runs · failed 29%credit.score_model_version = 2.3 period 2 · 17 of 17 runs · failed 35%credit.score_model_version = 2.3 period 3 · 16 of 16 runs · failed 31%credit.score_model_version = 2.3 period 4 · 17 of 17 runs · failed 18%credit.score_model_version = 2.3 period 5 · 17 of 17 runs · failed 12%credit.score_model_version = 2.3 period 6 · 8 of 16 runs · failed 38%credit.score_model_version = 2.3.1 period 6 · 8 of 16 runs · failed 0%credit.score_model_version = 2.3.1 period 7 · 17 of 17 runs · failed 35%credit.score_model_version = 2.3.1 period 8 · 17 of 17 runs · failed 18%credit.score_model_version = 2.3.1 period 9 · 16 of 16 runs · failed 6%credit.score_model_version = 2.3.1 period 10 · 17 of 17 runs · failed 29%credit.score_model_version = 2.3.1 period 11 · 17 of 17 runs · failed 41%credit.score_model_version = 2.3.1 period 12 · 16 of 16 runs · failed 38%credit.score_model_version = 2.3.1 period 13 · 17 of 17 runs · failed 41%credit.score_model_version = 2.3.1 period 14 · 17 of 17 runs · failed 41%credit.score_model_version = 2.3.1 period 15 · 16 of 16 runs · failed 44%credit.score_model_version = 2.3.1 period 16 · 17 of 17 runs · failed 41%credit.score_model_version = 2.3.1 period 17 · 17 of 17 runs · failed 47%credit.score_model_version = 2.3.1 period 18 · 16 of 16 runs · failed 38%credit.score_model_version = 2.3.1 period 19 · 17 of 17 runs · failed 29%credit.score_model_version = 2.3.1 period 20 · 17 of 17 runs · failed 35%credit.score_model_version = 2.3.1 period 21 · 16 of 16 runs · failed 44%credit.score_model_version = 2.3.1 period 22 · 17 of 17 runs · failed 47%credit.score_model_version = 2.3.1 period 23 · 17 of 17 runs · failed 71%2.3 24% · 2.3.1 37%
policy_versioncredit.policy_version = 2026.10 period 0 · 16 of 16 runs · failed 13%credit.policy_version = 2026.10 period 1 · 17 of 17 runs · failed 29%credit.policy_version = 2026.10 period 2 · 17 of 17 runs · failed 35%credit.policy_version = 2026.10 period 3 · 16 of 16 runs · failed 31%credit.policy_version = 2026.10 period 4 · 17 of 17 runs · failed 18%credit.policy_version = 2026.10 period 5 · 17 of 17 runs · failed 12%credit.policy_version = 2026.10 period 6 · 16 of 16 runs · failed 19%credit.policy_version = 2026.10 period 7 · 17 of 17 runs · failed 35%credit.policy_version = 2026.10 period 8 · 17 of 17 runs · failed 18%credit.policy_version = 2026.10 period 9 · 16 of 16 runs · failed 6%credit.policy_version = 2026.10 period 10 · 17 of 17 runs · failed 29%credit.policy_version = 2026.10 period 11 · 17 of 17 runs · failed 41%credit.policy_version = 2026.10.1 period 12 · 16 of 16 runs · failed 38%credit.policy_version = 2026.10.1 period 13 · 17 of 17 runs · failed 41%credit.policy_version = 2026.10.1 period 14 · 17 of 17 runs · failed 41%credit.policy_version = 2026.10.1 period 15 · 16 of 16 runs · failed 44%credit.policy_version = 2026.10.1 period 16 · 17 of 17 runs · failed 41%credit.policy_version = 2026.10.1 period 17 · 17 of 17 runs · failed 47%credit.policy_version = 2026.10.1 period 18 · 16 of 16 runs · failed 38%credit.policy_version = 2026.10.1 period 19 · 17 of 17 runs · failed 29%credit.policy_version = 2026.10.1 period 20 · 17 of 17 runs · failed 35%credit.policy_version = 2026.10.1 period 21 · 16 of 16 runs · failed 44%credit.policy_version = 2026.10.1 period 22 · 17 of 17 runs · failed 47%credit.policy_version = 2026.10.1 period 23 · 17 of 17 runs · failed 71%2026.10 24% · 2026.10.1 43%
share of runs on a value (stacked per period)value whose share of failed runs is above the upper end of the baseline's likely range (it may only have changed at the same time)value clearly different from runs on the old version

Environment runs (changes outside the workflow)

rootnfirstlastevents
bureau_agent invoke_agent492026-11-01 06:00:052026-11-01 17:45:00bureau_feed_schema_updated ×1
kyc_agent invoke_agent122026-11-01 06:00:102026-11-01 17:00:00
risk_agent invoke_agent22026-11-01 06:00:152026-11-01 09:14:24
policy_agent invoke_agent22026-11-01 06:00:202026-11-01 12:00:00

01 Vitals

WATCH

The section shows errors, response times, retries, volume and the number of steps in a run. A HEALTHY status here says nothing about whether the decisions are right. To see how the outcome moved, read What changed and Coherence.

runs with an error2.0%upper end of likely range 3.9%
error types8transient_retry_exhausted ×8
response time alarms5bureau_agent, document_parse, income_verify, intake_agent, kyc_agent
steps per run12off-modal 0%
throughput33.5/hgap 108 s, max 179 s
how even the arrivals are0.0751 = random arrivals

Response time per step

bureau_agent invoke_agentbureau_agent invoke_agent n=449 · p50 384 ms · p95 626 ms · p99 647 ms · tail ×1.7 errors 0 = 0.0% (0–1%) CUSUM alarm from period 10, peak ×1.35384 ms · p99 647 msalarm ×1.3
loan_orchestrator invoke_agentloan_orchestrator invoke_agent n=425 · p50 3,586 ms · p95 4,578 ms · p99 5,112 ms · tail ×1.4 errors 0 = 0.0% (0–1%)3,586 ms · p99 5,112 ms
kyc_agent invoke_agentkyc_agent invoke_agent n=412 · p50 443 ms · p95 1,380 ms · p99 1,794 ms · tail ×4 errors 0 = 0.0% (0–1%) CUSUM alarm from period 10, peak ×3.28443 ms · p99 1,794 msalarm ×3.3
policy_agent invoke_agentpolicy_agent invoke_agent n=402 · p50 427 ms · p95 633 ms · p99 646 ms · tail ×1.5 errors 0 = 0.0% (0–1%)427 ms · p99 646 ms
risk_agent invoke_agentrisk_agent invoke_agent n=402 · p50 639 ms · p95 843 ms · p99 859 ms · tail ×1.3 errors 0 = 0.0% (0–1%)639 ms · p99 859 ms
affordability_agent invoke_agentaffordability_agent invoke_agent n=400 · p50 446 ms · p95 629 ms · p99 642 ms · tail ×1.4 errors 0 = 0.0% (0–1%)446 ms · p99 642 ms
bureau_fetch execute_toolbureau_fetch execute_tool n=400 · p50 380 ms · p95 590 ms · p99 607 ms · tail ×1.6 errors 0 = 0.0% (0–1%)380 ms · p99 607 ms
income_agent invoke_agentincome_agent invoke_agent n=400 · p50 427 ms · p95 620 ms · p99 648 ms · tail ×1.5 errors 0 = 0.0% (0–1%)427 ms · p99 648 ms
income_verify execute_toolincome_verify execute_tool n=400 · p50 387 ms · p95 580 ms · p99 608 ms · tail ×1.6 errors 0 = 0.0% (0–1%) CUSUM alarm from period 16, peak ×1.43387 ms · p99 608 msalarm ×1.4
intake_agent invoke_agentintake_agent invoke_agent n=400 · p50 409 ms · p95 616 ms · p99 641 ms · tail ×1.6 errors 0 = 0.0% (0–1%) CUSUM alarm from period 19, peak ×1.38409 ms · p99 641 msalarm ×1.4
notify_applicant execute_toolnotify_applicant execute_tool n=166 · p50 180 ms · p95 180 ms · p99 180 ms · tail ×1 errors 3 = 1.8% (1–5%)180 ms · p99 180 ms3 err
document_parse execute_tooldocument_parse execute_tool n=129 · p50 365 ms · p95 577 ms · p99 601 ms · tail ×1.6 errors 2 = 1.6% (0–5%) CUSUM alarm from period 15, peak ×1.49365 ms · p99 601 ms2 erralarm ×1.5
risk_agent chatrisk_agent chat n=111 · p50 594 ms · p95 775 ms · p99 791 ms · tail ×1.3 errors 0 = 0.0% (0–3%)594 ms · p99 791 ms
sanctions_screen execute_toolsanctions_screen execute_tool n=82 · p50 421 ms · p95 1,238 ms · p99 1,787 ms · tail ×4.2 errors 0 = 0.0% (0–4%) CUSUM alarm from period 11, peak ×3.34421 ms · p99 1,787 msalarm ×3.3
policy_engine execute_toolpolicy_engine execute_tool n=61 · p50 438 ms · p95 595 ms · p99 607 ms · tail ×1.4 errors 3 = 4.9% (2–13%)438 ms · p99 607 ms3 err
bureau_feed_sync execute_toolbureau_feed_sync execute_tool n=49 · p50 160 ms · p95 221 ms · p99 225 ms · tail ×1.4 errors 0 = 0.0% (0–7%) CUSUM alarm from period 15, peak ×1.55160 ms · p99 225 msalarm ×1.6
sanctions_list_sync execute_toolsanctions_list_sync execute_tool n=12 · p50 159 ms · p95 218 ms · p99 230 ms · tail ×1.4 errors 0 = 0.0% (0–24%)159 ms · p99 230 ms
policy_config_deploy execute_toolpolicy_config_deploy execute_tool n=2 · p50 101 ms · p95 155 ms · p99 155 ms · tail ×1.5 errors 0 = 0.0% (0–66%)101 ms · p99 155 ms
score_model_release execute_toolscore_model_release execute_tool n=2 · p50 128 ms · p95 175 ms · p99 175 ms · tail ×1.4 errors 0 = 0.0% (0–66%)128 ms · p99 175 ms
67 mslog scale6,134 ms
tick: half of the steps were faster · bar end: 95% were faster · thin line end: 99% were fasteralarm on the median of a periodsteps with an error

Typical response time per period (p50, the values the alarm watched)

bureau_agent invoke_agentbureau_agent invoke_agent · period 0 · p50 404 msbureau_agent invoke_agent · period 1 · p50 332 msbureau_agent invoke_agent · period 2 · p50 356 msbureau_agent invoke_agent · period 3 · p50 305 msbureau_agent invoke_agent · period 4 · p50 391 msbureau_agent invoke_agent · period 5 · p50 336 msbureau_agent invoke_agent · period 6 · p50 386 msbureau_agent invoke_agent · period 7 · p50 444 msbureau_agent invoke_agent · period 8 · p50 459 msbureau_agent invoke_agent · period 9 · p50 415 msbureau_agent invoke_agent · period 10 · p50 444 msbureau_agent invoke_agent · period 11 · p50 355 msbureau_agent invoke_agent · period 12 · p50 284 msbureau_agent invoke_agent · period 13 · p50 387 msbureau_agent invoke_agent · period 14 · p50 380 msbureau_agent invoke_agent · period 15 · p50 457 msbureau_agent invoke_agent · period 16 · p50 274 msbureau_agent invoke_agent · period 17 · p50 342 msbureau_agent invoke_agent · period 18 · p50 429 msbureau_agent invoke_agent · period 19 · p50 348 msbureau_agent invoke_agent · period 20 · p50 475 msbureau_agent invoke_agent · period 21 · p50 320 msbureau_agent invoke_agent · period 22 · p50 438 msbureau_agent invoke_agent · period 23 · p50 421 msalarm at period 10 · peak ×1.3
kyc_agent invoke_agentkyc_agent invoke_agent · period 0 · p50 367 mskyc_agent invoke_agent · period 1 · p50 448 mskyc_agent invoke_agent · period 2 · p50 419 mskyc_agent invoke_agent · period 3 · p50 281 mskyc_agent invoke_agent · period 4 · p50 480 mskyc_agent invoke_agent · period 5 · p50 486 mskyc_agent invoke_agent · period 6 · p50 426 mskyc_agent invoke_agent · period 7 · p50 400 mskyc_agent invoke_agent · period 8 · p50 482 mskyc_agent invoke_agent · period 9 · p50 424 mskyc_agent invoke_agent · period 10 · p50 1,227 mskyc_agent invoke_agent · period 11 · p50 1,336 mskyc_agent invoke_agent · period 12 · p50 1,113 mskyc_agent invoke_agent · period 13 · p50 445 mskyc_agent invoke_agent · period 14 · p50 363 mskyc_agent invoke_agent · period 15 · p50 384 mskyc_agent invoke_agent · period 16 · p50 402 mskyc_agent invoke_agent · period 17 · p50 412 mskyc_agent invoke_agent · period 18 · p50 411 mskyc_agent invoke_agent · period 19 · p50 401 mskyc_agent invoke_agent · period 20 · p50 415 mskyc_agent invoke_agent · period 21 · p50 499 mskyc_agent invoke_agent · period 22 · p50 375 mskyc_agent invoke_agent · period 23 · p50 436 msalarm at period 10 · peak ×3.3
income_verify execute_toolincome_verify execute_tool · period 0 · p50 400 msincome_verify execute_tool · period 1 · p50 311 msincome_verify execute_tool · period 2 · p50 343 msincome_verify execute_tool · period 3 · p50 326 msincome_verify execute_tool · period 4 · p50 418 msincome_verify execute_tool · period 5 · p50 383 msincome_verify execute_tool · period 6 · p50 409 msincome_verify execute_tool · period 7 · p50 362 msincome_verify execute_tool · period 8 · p50 367 msincome_verify execute_tool · period 9 · p50 379 msincome_verify execute_tool · period 10 · p50 363 msincome_verify execute_tool · period 11 · p50 362 msincome_verify execute_tool · period 12 · p50 418 msincome_verify execute_tool · period 13 · p50 518 msincome_verify execute_tool · period 14 · p50 444 msincome_verify execute_tool · period 15 · p50 394 msincome_verify execute_tool · period 16 · p50 476 msincome_verify execute_tool · period 17 · p50 312 msincome_verify execute_tool · period 18 · p50 407 msincome_verify execute_tool · period 19 · p50 390 msincome_verify execute_tool · period 20 · p50 317 msincome_verify execute_tool · period 21 · p50 436 msincome_verify execute_tool · period 22 · p50 328 msincome_verify execute_tool · period 23 · p50 414 msalarm at period 16 · peak ×1.4
intake_agent invoke_agentintake_agent invoke_agent · period 0 · p50 331 msintake_agent invoke_agent · period 1 · p50 319 msintake_agent invoke_agent · period 2 · p50 415 msintake_agent invoke_agent · period 3 · p50 420 msintake_agent invoke_agent · period 4 · p50 340 msintake_agent invoke_agent · period 5 · p50 468 msintake_agent invoke_agent · period 6 · p50 402 msintake_agent invoke_agent · period 7 · p50 410 msintake_agent invoke_agent · period 8 · p50 380 msintake_agent invoke_agent · period 9 · p50 418 msintake_agent invoke_agent · period 10 · p50 405 msintake_agent invoke_agent · period 11 · p50 424 msintake_agent invoke_agent · period 12 · p50 438 msintake_agent invoke_agent · period 13 · p50 461 msintake_agent invoke_agent · period 14 · p50 396 msintake_agent invoke_agent · period 15 · p50 424 msintake_agent invoke_agent · period 16 · p50 409 msintake_agent invoke_agent · period 17 · p50 505 msintake_agent invoke_agent · period 18 · p50 387 msintake_agent invoke_agent · period 19 · p50 524 msintake_agent invoke_agent · period 20 · p50 429 msintake_agent invoke_agent · period 21 · p50 374 msintake_agent invoke_agent · period 22 · p50 395 msintake_agent invoke_agent · period 23 · p50 336 msalarm at period 19 · peak ×1.4
document_parse execute_tooldocument_parse execute_tool · period 0 · p50 217 msdocument_parse execute_tool · period 1 · p50 266 msdocument_parse execute_tool · period 2 · p50 418 msdocument_parse execute_tool · period 3 · p50 389 msdocument_parse execute_tool · period 4 · p50 300 msdocument_parse execute_tool · period 5 · p50 325 msdocument_parse execute_tool · period 6 · p50 398 msdocument_parse execute_tool · period 7 · p50 366 msdocument_parse execute_tool · period 8 · p50 450 msdocument_parse execute_tool · period 9 · p50 374 msdocument_parse execute_tool · period 10 · p50 341 msdocument_parse execute_tool · period 11 · p50 308 msdocument_parse execute_tool · period 12 · p50 352 msdocument_parse execute_tool · period 13 · p50 397 msdocument_parse execute_tool · period 14 · p50 447 msdocument_parse execute_tool · period 15 · p50 390 msdocument_parse execute_tool · period 16 · p50 394 msdocument_parse execute_tool · period 17 · p50 282 msdocument_parse execute_tool · period 18 · p50 307 msdocument_parse execute_tool · period 19 · p50 465 msdocument_parse execute_tool · period 20 · p50 339 msdocument_parse execute_tool · period 21 · p50 409 msdocument_parse execute_tool · period 22 · p50 394 msdocument_parse execute_tool · period 23 · p50 292 msalarm at period 15 · peak ×1.5
sanctions_screen execute_toolsanctions_screen execute_tool · period 0 · p50 235 mssanctions_screen execute_tool · period 1 · p50 556 mssanctions_screen execute_tool · period 2 · p50 376 mssanctions_screen execute_tool · period 3 · p50 288 mssanctions_screen execute_tool · period 4 · p50 410 mssanctions_screen execute_tool · period 5 · p50 518 mssanctions_screen execute_tool · period 6 · p50 595 mssanctions_screen execute_tool · period 7 · p50 402 mssanctions_screen execute_tool · period 8 · p50 240 mssanctions_screen execute_tool · period 9 · p50 341 mssanctions_screen execute_tool · period 10 · p50 1,238 mssanctions_screen execute_tool · period 11 · p50 1,058 mssanctions_screen execute_tool · period 12 · p50 1,271 mssanctions_screen execute_tool · period 13 · p50 445 mssanctions_screen execute_tool · period 14 · p50 315 mssanctions_screen execute_tool · period 15 · p50 429 mssanctions_screen execute_tool · period 16 · p50 438 mssanctions_screen execute_tool · period 17 · p50 421 mssanctions_screen execute_tool · period 18 · p50 544 mssanctions_screen execute_tool · period 19 · p50 375 mssanctions_screen execute_tool · period 20 · p50 345 mssanctions_screen execute_tool · period 21 · p50 393 mssanctions_screen execute_tool · period 22 · p50 265 mssanctions_screen execute_tool · period 23 · p50 406 msalarm at period 11 · peak ×3.3
bureau_feed_sync execute_toolbureau_feed_sync execute_tool · period 0 · p50 150 msbureau_feed_sync execute_tool · period 1 · p50 126 msbureau_feed_sync execute_tool · period 2 · p50 128 msbureau_feed_sync execute_tool · period 3 · p50 170 msbureau_feed_sync execute_tool · period 4 · p50 171 msbureau_feed_sync execute_tool · period 5 · p50 111 msbureau_feed_sync execute_tool · period 6 · p50 140 msbureau_feed_sync execute_tool · period 7 · p50 180 msbureau_feed_sync execute_tool · period 8 · p50 153 msbureau_feed_sync execute_tool · period 9 · p50 183 msbureau_feed_sync execute_tool · period 10 · p50 119 msbureau_feed_sync execute_tool · period 11 · p50 146 msbureau_feed_sync execute_tool · period 12 · p50 189 msbureau_feed_sync execute_tool · period 13 · p50 130 msbureau_feed_sync execute_tool · period 14 · p50 183 msbureau_feed_sync execute_tool · period 15 · p50 219 msbureau_feed_sync execute_tool · period 16 · p50 170 msbureau_feed_sync execute_tool · period 17 · p50 133 msbureau_feed_sync execute_tool · period 18 · p50 198 msbureau_feed_sync execute_tool · period 19 · p50 109 msbureau_feed_sync execute_tool · period 20 · p50 133 msbureau_feed_sync execute_tool · period 21 · p50 153 msbureau_feed_sync execute_tool · period 22 · p50 194 msbureau_feed_sync execute_tool · period 23 · p50 186 msalarm at period 15 · peak ×1.6
loan_orchestrator invoke_agentloan_orchestrator invoke_agent · period 0 · p50 3,370 msloan_orchestrator invoke_agent · period 1 · p50 3,354 msloan_orchestrator invoke_agent · period 2 · p50 3,628 msloan_orchestrator invoke_agent · period 3 · p50 3,507 msloan_orchestrator invoke_agent · period 4 · p50 3,504 msloan_orchestrator invoke_agent · period 5 · p50 3,453 msloan_orchestrator invoke_agent · period 6 · p50 3,658 msloan_orchestrator invoke_agent · period 7 · p50 3,396 msloan_orchestrator invoke_agent · period 8 · p50 3,556 msloan_orchestrator invoke_agent · period 9 · p50 3,661 msloan_orchestrator invoke_agent · period 10 · p50 3,902 msloan_orchestrator invoke_agent · period 11 · p50 4,274 msloan_orchestrator invoke_agent · period 12 · p50 4,226 msloan_orchestrator invoke_agent · period 13 · p50 4,068 msloan_orchestrator invoke_agent · period 14 · p50 3,712 msloan_orchestrator invoke_agent · period 15 · p50 3,609 msloan_orchestrator invoke_agent · period 16 · p50 3,683 msloan_orchestrator invoke_agent · period 17 · p50 3,489 msloan_orchestrator invoke_agent · period 18 · p50 3,512 msloan_orchestrator invoke_agent · period 19 · p50 3,685 msloan_orchestrator invoke_agent · period 20 · p50 3,354 msloan_orchestrator invoke_agent · period 21 · p50 3,639 msloan_orchestrator invoke_agent · period 22 · p50 3,585 msloan_orchestrator invoke_agent · period 23 · p50 3,520 ms3,354 ms–4,274 ms
policy_agent invoke_agentpolicy_agent invoke_agent · period 0 · p50 388 mspolicy_agent invoke_agent · period 1 · p50 375 mspolicy_agent invoke_agent · period 2 · p50 482 mspolicy_agent invoke_agent · period 3 · p50 406 mspolicy_agent invoke_agent · period 4 · p50 456 mspolicy_agent invoke_agent · period 5 · p50 366 mspolicy_agent invoke_agent · period 6 · p50 399 mspolicy_agent invoke_agent · period 7 · p50 425 mspolicy_agent invoke_agent · period 8 · p50 407 mspolicy_agent invoke_agent · period 9 · p50 445 mspolicy_agent invoke_agent · period 10 · p50 475 mspolicy_agent invoke_agent · period 11 · p50 435 mspolicy_agent invoke_agent · period 12 · p50 403 mspolicy_agent invoke_agent · period 13 · p50 572 mspolicy_agent invoke_agent · period 14 · p50 533 mspolicy_agent invoke_agent · period 15 · p50 404 mspolicy_agent invoke_agent · period 16 · p50 429 mspolicy_agent invoke_agent · period 17 · p50 473 mspolicy_agent invoke_agent · period 18 · p50 417 mspolicy_agent invoke_agent · period 19 · p50 412 mspolicy_agent invoke_agent · period 20 · p50 441 mspolicy_agent invoke_agent · period 21 · p50 504 mspolicy_agent invoke_agent · period 22 · p50 440 mspolicy_agent invoke_agent · period 23 · p50 351 ms351 ms–572 ms
risk_agent invoke_agentrisk_agent invoke_agent · period 0 · p50 721 msrisk_agent invoke_agent · period 1 · p50 640 msrisk_agent invoke_agent · period 2 · p50 675 msrisk_agent invoke_agent · period 3 · p50 664 msrisk_agent invoke_agent · period 4 · p50 737 msrisk_agent invoke_agent · period 5 · p50 741 msrisk_agent invoke_agent · period 6 · p50 628 msrisk_agent invoke_agent · period 7 · p50 597 msrisk_agent invoke_agent · period 8 · p50 594 msrisk_agent invoke_agent · period 9 · p50 637 msrisk_agent invoke_agent · period 10 · p50 599 msrisk_agent invoke_agent · period 11 · p50 620 msrisk_agent invoke_agent · period 12 · p50 578 msrisk_agent invoke_agent · period 13 · p50 699 msrisk_agent invoke_agent · period 14 · p50 623 msrisk_agent invoke_agent · period 15 · p50 664 msrisk_agent invoke_agent · period 16 · p50 663 msrisk_agent invoke_agent · period 17 · p50 603 msrisk_agent invoke_agent · period 18 · p50 560 msrisk_agent invoke_agent · period 19 · p50 613 msrisk_agent invoke_agent · period 20 · p50 617 msrisk_agent invoke_agent · period 21 · p50 592 msrisk_agent invoke_agent · period 22 · p50 713 msrisk_agent invoke_agent · period 23 · p50 583 ms560 ms–741 ms
affordability_agent invoke_agentaffordability_agent invoke_agent · period 0 · p50 499 msaffordability_agent invoke_agent · period 1 · p50 303 msaffordability_agent invoke_agent · period 2 · p50 394 msaffordability_agent invoke_agent · period 3 · p50 513 msaffordability_agent invoke_agent · period 4 · p50 335 msaffordability_agent invoke_agent · period 5 · p50 409 msaffordability_agent invoke_agent · period 6 · p50 389 msaffordability_agent invoke_agent · period 7 · p50 465 msaffordability_agent invoke_agent · period 8 · p50 404 msaffordability_agent invoke_agent · period 9 · p50 478 msaffordability_agent invoke_agent · period 10 · p50 450 msaffordability_agent invoke_agent · period 11 · p50 472 msaffordability_agent invoke_agent · period 12 · p50 390 msaffordability_agent invoke_agent · period 13 · p50 387 msaffordability_agent invoke_agent · period 14 · p50 537 msaffordability_agent invoke_agent · period 15 · p50 485 msaffordability_agent invoke_agent · period 16 · p50 519 msaffordability_agent invoke_agent · period 17 · p50 359 msaffordability_agent invoke_agent · period 18 · p50 402 msaffordability_agent invoke_agent · period 19 · p50 442 msaffordability_agent invoke_agent · period 20 · p50 355 msaffordability_agent invoke_agent · period 21 · p50 441 msaffordability_agent invoke_agent · period 22 · p50 506 msaffordability_agent invoke_agent · period 23 · p50 492 ms303 ms–537 ms
bureau_fetch execute_toolbureau_fetch execute_tool · period 0 · p50 387 msbureau_fetch execute_tool · period 1 · p50 338 msbureau_fetch execute_tool · period 2 · p50 407 msbureau_fetch execute_tool · period 3 · p50 343 msbureau_fetch execute_tool · period 4 · p50 439 msbureau_fetch execute_tool · period 5 · p50 299 msbureau_fetch execute_tool · period 6 · p50 365 msbureau_fetch execute_tool · period 7 · p50 410 msbureau_fetch execute_tool · period 8 · p50 446 msbureau_fetch execute_tool · period 9 · p50 393 msbureau_fetch execute_tool · period 10 · p50 441 msbureau_fetch execute_tool · period 11 · p50 315 msbureau_fetch execute_tool · period 12 · p50 287 msbureau_fetch execute_tool · period 13 · p50 361 msbureau_fetch execute_tool · period 14 · p50 376 msbureau_fetch execute_tool · period 15 · p50 429 msbureau_fetch execute_tool · period 16 · p50 255 msbureau_fetch execute_tool · period 17 · p50 325 msbureau_fetch execute_tool · period 18 · p50 415 msbureau_fetch execute_tool · period 19 · p50 321 msbureau_fetch execute_tool · period 20 · p50 499 msbureau_fetch execute_tool · period 21 · p50 307 msbureau_fetch execute_tool · period 22 · p50 467 msbureau_fetch execute_tool · period 23 · p50 399 ms255 ms–499 ms
income_agent invoke_agentincome_agent invoke_agent · period 0 · p50 440 msincome_agent invoke_agent · period 1 · p50 351 msincome_agent invoke_agent · period 2 · p50 383 msincome_agent invoke_agent · period 3 · p50 366 msincome_agent invoke_agent · period 4 · p50 458 msincome_agent invoke_agent · period 5 · p50 423 msincome_agent invoke_agent · period 6 · p50 448 msincome_agent invoke_agent · period 7 · p50 402 msincome_agent invoke_agent · period 8 · p50 407 msincome_agent invoke_agent · period 9 · p50 418 msincome_agent invoke_agent · period 10 · p50 403 msincome_agent invoke_agent · period 11 · p50 402 msincome_agent invoke_agent · period 12 · p50 458 msincome_agent invoke_agent · period 13 · p50 558 msincome_agent invoke_agent · period 14 · p50 484 msincome_agent invoke_agent · period 15 · p50 434 msincome_agent invoke_agent · period 16 · p50 516 msincome_agent invoke_agent · period 17 · p50 352 msincome_agent invoke_agent · period 18 · p50 447 msincome_agent invoke_agent · period 19 · p50 430 msincome_agent invoke_agent · period 20 · p50 357 msincome_agent invoke_agent · period 21 · p50 476 msincome_agent invoke_agent · period 22 · p50 368 msincome_agent invoke_agent · period 23 · p50 454 ms351 ms–558 ms
notify_applicant execute_toolnotify_applicant execute_tool · period 0 · p50 180 msnotify_applicant execute_tool · period 1 · p50 180 msnotify_applicant execute_tool · period 2 · p50 180 msnotify_applicant execute_tool · period 3 · p50 180 msnotify_applicant execute_tool · period 4 · p50 180 msnotify_applicant execute_tool · period 5 · p50 180 msnotify_applicant execute_tool · period 6 · p50 180 msnotify_applicant execute_tool · period 7 · p50 180 msnotify_applicant execute_tool · period 8 · p50 180 msnotify_applicant execute_tool · period 9 · p50 180 msnotify_applicant execute_tool · period 10 · p50 180 msnotify_applicant execute_tool · period 11 · p50 180 msnotify_applicant execute_tool · period 12 · p50 180 msnotify_applicant execute_tool · period 13 · p50 180 msnotify_applicant execute_tool · period 14 · p50 180 msnotify_applicant execute_tool · period 15 · p50 180 msnotify_applicant execute_tool · period 16 · p50 180 msnotify_applicant execute_tool · period 17 · p50 180 msnotify_applicant execute_tool · period 18 · p50 180 msnotify_applicant execute_tool · period 19 · p50 180 msnotify_applicant execute_tool · period 20 · p50 180 msnotify_applicant execute_tool · period 21 · p50 180 msnotify_applicant execute_tool · period 22 · p50 180 msnotify_applicant execute_tool · period 23 · p50 180 ms180 ms–180 ms
risk_agent chatrisk_agent chat · period 0 · p50 643 msrisk_agent chat · period 1 · p50 528 msrisk_agent chat · period 2 · p50 440 msrisk_agent chat · period 3 · p50 703 msrisk_agent chat · period 4 · p50 703 msrisk_agent chat · period 5 · p50 619 msrisk_agent chat · period 6 · p50 518 msrisk_agent chat · period 7 · p50 537 msrisk_agent chat · period 8 · p50 622 msrisk_agent chat · period 9 · p50 448 msrisk_agent chat · period 10 · p50 608 msrisk_agent chat · period 11 · p50 594 msrisk_agent chat · period 12 · p50 613 msrisk_agent chat · period 13 · p50 702 msrisk_agent chat · period 14 · p50 506 msrisk_agent chat · period 15 · p50 643 msrisk_agent chat · period 16 · p50 572 msrisk_agent chat · period 17 · p50 586 msrisk_agent chat · period 18 · p50 443 msrisk_agent chat · period 19 · p50 614 msrisk_agent chat · period 20 · p50 522 msrisk_agent chat · period 21 · p50 659 msrisk_agent chat · period 22 · p50 635 msrisk_agent chat · period 23 · p50 607 ms440 ms–703 ms
policy_engine execute_toolpolicy_engine execute_tool · period 0 · p50 293 mspolicy_engine execute_tool · period 1 · p50 451 mspolicy_engine execute_tool · period 2 · p50 481 mspolicy_engine execute_tool · period 3 · p50 493 mspolicy_engine execute_tool · period 4 · p50 484 mspolicy_engine execute_tool · period 5 · p50 412 mspolicy_engine execute_tool · period 6 · p50 473 mspolicy_engine execute_tool · period 7 · p50 220 mspolicy_engine execute_tool · period 8 · p50 525 mspolicy_engine execute_tool · period 9 · p50 378 mspolicy_engine execute_tool · period 10 · p50 416 mspolicy_engine execute_tool · period 11 · p50 363 mspolicy_engine execute_tool · period 12 · p50 278 mspolicy_engine execute_tool · period 13 · p50 225 mspolicy_engine execute_tool · period 14 · p50 202 mspolicy_engine execute_tool · period 15 · p50 533 mspolicy_engine execute_tool · period 16 · p50 491 mspolicy_engine execute_tool · period 17 · p50 442 mspolicy_engine execute_tool · period 18 · p50 363 mspolicy_engine execute_tool · period 19 · p50 558 mspolicy_engine execute_tool · period 20 · p50 427 mspolicy_engine execute_tool · period 21 · p50 509 mspolicy_engine execute_tool · period 22 · p50 593 mspolicy_engine execute_tool · period 23 · p50 440 ms202 ms–593 ms

02 Behavioural stability

UNHEALTHY

A signal is a value that Auga records for each run, such as income. The section compares every signal in the baseline with the rest of the runs. It shows how much the values moved from the baseline, and which values are far from the normal values. Compare the signals at the top of each list with the changes in What changed.

Numeric signals: how much the values moved from the baseline

dti_ratiocredit.dti_ratio PSI 0.49 · KS 0.25 p < 0.001 median 0.283 → 0.303 70 outliers beyond z 10 (23%), max z 1,9200.4970 outliers
reported_incomecredit.reported_income PSI 0.36 · KS 0.25 p < 0.001 median 47,500 → 43,000 0 outliers beyond z 10 (0%), max z 4.270.36
verified_monthly_incomecredit.verified_monthly_income PSI 0.36 · KS 0.25 p < 0.001 median 47,500 → 43,000 0 outliers beyond z 10 (0%), max z 4.270.36
disposable_incomecredit.disposable_income PSI 0.28 · KS 0.25 p < 0.001 median 32,100 → 28,400 0 outliers beyond z 10 (0%), max z 5.290.28
existing_debt_paymentcredit.existing_debt_payment PSI 0.2 · KS 0.17 p 0.027 median 13,400 → 12,200 0 outliers beyond z 10 (0%), max z 3.720.2
risk_scorecredit.risk_score PSI 0.17 · KS 0.19 p 0.0075 median 727 → 740 0 outliers beyond z 10 (0%), max z 3.210.17
bureau_scorecredit.bureau_score PSI 0.13 · KS 0.17 p 0.027 median 719 → 731 0 outliers beyond z 10 (0%), max z 1.660.13
declared_incomecredit.declared_income PSI 0.085 · KS 0.083 p 0.66 median 47,500 → 48,000 0 outliers beyond z 10 (0%), max z 1.480.085
term_monthscredit.term_months PSI 0.069 · KS 0.28 p < 0.001 median 60 → 60 0 outliers beyond z 10 (0%), max z 1.350.069
requested_amountcredit.requested_amount PSI 0.041 · KS 0.093 p 0.51 median 295,000 → 290,000 0 outliers beyond z 10 (0%), max z 1.40.041
open_credit_linescredit.open_credit_lines PSI 0.028 · KS 0.27 p < 0.001 median 3 → 3 0 outliers beyond z 10 (0%), max z 1.350.028
moved 0.1: moderatemoved 0.25: shifted

How the values are spread, compared with the baseline

credit.dti_ratio · bin 1/10 baseline 11% · rest 4% upper edge 0.18credit.dti_ratio · bin 2/10 baseline 10% · rest 9% upper edge 0.203credit.dti_ratio · bin 3/10 baseline 10% · rest 7% upper edge 0.221credit.dti_ratio · bin 4/10 baseline 10% · rest 13% upper edge 0.258credit.dti_ratio · bin 5/10 baseline 10% · rest 12% upper edge 0.288credit.dti_ratio · bin 6/10 baseline 9% · rest 9% upper edge 0.363credit.dti_ratio · bin 7/10 baseline 10% · rest 4% upper edge 0.394credit.dti_ratio · bin 8/10 baseline 10% · rest 6% upper edge 0.425credit.dti_ratio · bin 9/10 baseline 10% · rest 3% upper edge 0.543credit.dti_ratio · bin 10/10 baseline 10% · rest 33% (above the top edge)≤ 0.18median 0.288> 0.54370 beyond z 10 · max z 1,920
credit.dti_ratiomoved 0.49 · test 0.25 (p < 0.001)median 0.283 → 0.303
credit.dti_ratio · period 0 · median 0.262credit.dti_ratio · period 1 · median 0.372credit.dti_ratio · period 2 · median 0.363credit.dti_ratio · period 3 · median 0.297credit.dti_ratio · period 4 · median 0.254credit.dti_ratio · period 5 · median 0.259credit.dti_ratio · period 6 · median 0.279credit.dti_ratio · period 7 · median 0.287credit.dti_ratio · period 8 · median 0.269credit.dti_ratio · period 9 · median 0.254credit.dti_ratio · period 10 · median 0.262credit.dti_ratio · period 11 · median 0.401credit.dti_ratio · period 12 · median 0.367credit.dti_ratio · period 13 · median 0.31credit.dti_ratio · period 14 · median 0.4credit.dti_ratio · period 15 · median 0.341credit.dti_ratio · period 16 · median 0.405credit.dti_ratio · period 17 · median 0.417credit.dti_ratio · period 18 · median 0.287credit.dti_ratio · period 19 · median 0.29credit.dti_ratio · period 20 · median 0.306credit.dti_ratio · period 21 · median 0.364credit.dti_ratio · period 22 · median 0.405credit.dti_ratio · period 23 · median 180
credit.reported_income · bin 1/10 baseline 14% · rest 37% upper edge 37,000credit.reported_income · bin 2/10 baseline 8% · rest 6% upper edge 39,000credit.reported_income · bin 3/10 baseline 9% · rest 7% upper edge 42,000credit.reported_income · bin 4/10 baseline 14% · rest 8% upper edge 45,000credit.reported_income · bin 5/10 baseline 9% · rest 8% upper edge 48,000credit.reported_income · bin 6/10 baseline 6% · rest 2% upper edge 50,000credit.reported_income · bin 7/10 baseline 12% · rest 10% upper edge 54,000credit.reported_income · bin 8/10 baseline 8% · rest 10% upper edge 58,000credit.reported_income · bin 9/10 baseline 10% · rest 7% upper edge 62,000credit.reported_income · bin 10/10 baseline 10% · rest 5% (above the top edge)≤ 37,000median 48,000> 62,000
credit.reported_incomemoved 0.36 · test 0.25 (p < 0.001)median 47,500 → 43,000
credit.reported_income · period 0 · median 50,500credit.reported_income · period 1 · median 43,000credit.reported_income · period 2 · median 51,000credit.reported_income · period 3 · median 45,500credit.reported_income · period 4 · median 55,000credit.reported_income · period 5 · median 46,000credit.reported_income · period 6 · median 43,500credit.reported_income · period 7 · median 55,000credit.reported_income · period 8 · median 44,000credit.reported_income · period 9 · median 42,500credit.reported_income · period 10 · median 48,000credit.reported_income · period 11 · median 46,000credit.reported_income · period 12 · median 38,000credit.reported_income · period 13 · median 42,000credit.reported_income · period 14 · median 38,000credit.reported_income · period 15 · median 42,000credit.reported_income · period 16 · median 44,000credit.reported_income · period 17 · median 38,000credit.reported_income · period 18 · median 36,000credit.reported_income · period 19 · median 44,000credit.reported_income · period 20 · median 47,000credit.reported_income · period 21 · median 42,500credit.reported_income · period 22 · median 47,000credit.reported_income · period 23 · median 63
credit.verified_monthly_income · bin 1/10 baseline 14% · rest 37% upper edge 37,000credit.verified_monthly_income · bin 2/10 baseline 8% · rest 6% upper edge 39,000credit.verified_monthly_income · bin 3/10 baseline 9% · rest 7% upper edge 42,000credit.verified_monthly_income · bin 4/10 baseline 14% · rest 8% upper edge 45,000credit.verified_monthly_income · bin 5/10 baseline 9% · rest 8% upper edge 48,000credit.verified_monthly_income · bin 6/10 baseline 6% · rest 2% upper edge 50,000credit.verified_monthly_income · bin 7/10 baseline 12% · rest 10% upper edge 54,000credit.verified_monthly_income · bin 8/10 baseline 8% · rest 10% upper edge 58,000credit.verified_monthly_income · bin 9/10 baseline 10% · rest 7% upper edge 62,000credit.verified_monthly_income · bin 10/10 baseline 10% · rest 5% (above the top edge)≤ 37,000median 48,000> 62,000
credit.verified_monthly_incomemoved 0.36 · test 0.25 (p < 0.001)median 47,500 → 43,000
credit.verified_monthly_income · period 0 · median 50,500credit.verified_monthly_income · period 1 · median 43,000credit.verified_monthly_income · period 2 · median 51,000credit.verified_monthly_income · period 3 · median 45,500credit.verified_monthly_income · period 4 · median 55,000credit.verified_monthly_income · period 5 · median 46,000credit.verified_monthly_income · period 6 · median 43,500credit.verified_monthly_income · period 7 · median 55,000credit.verified_monthly_income · period 8 · median 44,000credit.verified_monthly_income · period 9 · median 42,500credit.verified_monthly_income · period 10 · median 48,000credit.verified_monthly_income · period 11 · median 46,000credit.verified_monthly_income · period 12 · median 38,000credit.verified_monthly_income · period 13 · median 42,000credit.verified_monthly_income · period 14 · median 38,000credit.verified_monthly_income · period 15 · median 42,000credit.verified_monthly_income · period 16 · median 44,000credit.verified_monthly_income · period 17 · median 38,000credit.verified_monthly_income · period 18 · median 36,000credit.verified_monthly_income · period 19 · median 44,000credit.verified_monthly_income · period 20 · median 47,000credit.verified_monthly_income · period 21 · median 42,500credit.verified_monthly_income · period 22 · median 47,000credit.verified_monthly_income · period 23 · median 63
credit.disposable_income · bin 1/10 baseline 11% · rest 32% upper edge 21,200credit.disposable_income · bin 2/10 baseline 10% · rest 7% upper edge 24,200credit.disposable_income · bin 3/10 baseline 10% · rest 7% upper edge 27,000credit.disposable_income · bin 4/10 baseline 10% · rest 8% upper edge 29,800credit.disposable_income · bin 5/10 baseline 10% · rest 8% upper edge 32,100credit.disposable_income · bin 6/10 baseline 9% · rest 5% upper edge 34,300credit.disposable_income · bin 7/10 baseline 10% · rest 7% upper edge 37,500credit.disposable_income · bin 8/10 baseline 10% · rest 8% upper edge 40,100credit.disposable_income · bin 9/10 baseline 10% · rest 10% upper edge 44,600credit.disposable_income · bin 10/10 baseline 10% · rest 8% (above the top edge)≤ 21,200median 32,100> 44,600
credit.disposable_incomemoved 0.28 · test 0.25 (p < 0.001)median 32,100 → 28,400
credit.disposable_income · period 0 · median 34,600credit.disposable_income · period 1 · median 27,000credit.disposable_income · period 2 · median 31,200credit.disposable_income · period 3 · median 29,000credit.disposable_income · period 4 · median 36,200credit.disposable_income · period 5 · median 32,600credit.disposable_income · period 6 · median 29,200credit.disposable_income · period 7 · median 31,900credit.disposable_income · period 8 · median 32,200credit.disposable_income · period 9 · median 31,600credit.disposable_income · period 10 · median 31,700credit.disposable_income · period 11 · median 27,600credit.disposable_income · period 12 · median 26,600credit.disposable_income · period 13 · median 28,100credit.disposable_income · period 14 · median 23,300credit.disposable_income · period 15 · median 25,300credit.disposable_income · period 16 · median 30,300credit.disposable_income · period 17 · median 25,600credit.disposable_income · period 18 · median 25,700credit.disposable_income · period 19 · median 30,900credit.disposable_income · period 20 · median 29,500credit.disposable_income · period 21 · median 30,500credit.disposable_income · period 22 · median 34,300credit.disposable_income · period 23 · median -7,580
credit.existing_debt_payment · bin 1/10 baseline 11% · rest 8% upper edge 7,990credit.existing_debt_payment · bin 2/10 baseline 10% · rest 16% upper edge 9,590credit.existing_debt_payment · bin 3/10 baseline 10% · rest 13% upper edge 10,900credit.existing_debt_payment · bin 4/10 baseline 10% · rest 7% upper edge 11,800credit.existing_debt_payment · bin 5/10 baseline 10% · rest 15% upper edge 13,400credit.existing_debt_payment · bin 6/10 baseline 9% · rest 16% upper edge 15,800credit.existing_debt_payment · bin 7/10 baseline 10% · rest 8% upper edge 18,400credit.existing_debt_payment · bin 8/10 baseline 10% · rest 7% upper edge 22,900credit.existing_debt_payment · bin 9/10 baseline 10% · rest 4% upper edge 26,900credit.existing_debt_payment · bin 10/10 baseline 10% · rest 6% (above the top edge)≤ 7,990median 13,400> 26,900
credit.existing_debt_paymentmoved 0.2 · test 0.17 (p 0.027)median 13,400 → 12,200
credit.existing_debt_payment · period 0 · median 12,000credit.existing_debt_payment · period 1 · median 15,800credit.existing_debt_payment · period 2 · median 14,800credit.existing_debt_payment · period 3 · median 11,300credit.existing_debt_payment · period 4 · median 12,100credit.existing_debt_payment · period 5 · median 12,400credit.existing_debt_payment · period 6 · median 12,100credit.existing_debt_payment · period 7 · median 16,200credit.existing_debt_payment · period 8 · median 11,900credit.existing_debt_payment · period 9 · median 12,500credit.existing_debt_payment · period 10 · median 12,200credit.existing_debt_payment · period 11 · median 14,000credit.existing_debt_payment · period 12 · median 12,000credit.existing_debt_payment · period 13 · median 13,000credit.existing_debt_payment · period 14 · median 11,000credit.existing_debt_payment · period 15 · median 11,900credit.existing_debt_payment · period 16 · median 10,500credit.existing_debt_payment · period 17 · median 10,500credit.existing_debt_payment · period 18 · median 10,400credit.existing_debt_payment · period 19 · median 12,000credit.existing_debt_payment · period 20 · median 13,300credit.existing_debt_payment · period 21 · median 12,200credit.existing_debt_payment · period 22 · median 12,800credit.existing_debt_payment · period 23 · median 14,600
credit.risk_score · bin 1/10 baseline 11% · rest 4% upper edge 633credit.risk_score · bin 2/10 baseline 10% · rest 6% upper edge 651credit.risk_score · bin 3/10 baseline 11% · rest 12% upper edge 713credit.risk_score · bin 4/10 baseline 9% · rest 8% upper edge 718credit.risk_score · bin 5/10 baseline 11% · rest 10% upper edge 729credit.risk_score · bin 6/10 baseline 11% · rest 9% upper edge 738credit.risk_score · bin 7/10 baseline 7% · rest 6% upper edge 743credit.risk_score · bin 8/10 baseline 10% · rest 16% upper edge 760credit.risk_score · bin 9/10 baseline 10% · rest 13% upper edge 771credit.risk_score · bin 10/10 baseline 10% · rest 17% (above the top edge)≤ 633median 729> 771
credit.risk_scoremoved 0.17 · test 0.19 (p 0.0075)median 727 → 740
credit.risk_score · period 0 · median 722credit.risk_score · period 1 · median 724credit.risk_score · period 2 · median 721credit.risk_score · period 3 · median 744credit.risk_score · period 4 · median 725credit.risk_score · period 5 · median 723credit.risk_score · period 6 · median 763credit.risk_score · period 7 · median 736credit.risk_score · period 8 · median 738credit.risk_score · period 9 · median 743credit.risk_score · period 10 · median 759credit.risk_score · period 11 · median 748credit.risk_score · period 12 · median 733credit.risk_score · period 13 · median 747credit.risk_score · period 14 · median 729credit.risk_score · period 15 · median 740credit.risk_score · period 16 · median 738credit.risk_score · period 17 · median 730credit.risk_score · period 18 · median 746credit.risk_score · period 19 · median 740credit.risk_score · period 20 · median 740credit.risk_score · period 21 · median 723credit.risk_score · period 22 · median 748credit.risk_score · period 23 · median 738
baseline (outline)rest (filled)
5 more numeric signals
credit.bureau_score · bin 1/10 baseline 11% · rest 6% upper edge 652credit.bureau_score · bin 2/10 baseline 10% · rest 4% upper edge 671credit.bureau_score · bin 3/10 baseline 10% · rest 7% upper edge 694credit.bureau_score · bin 4/10 baseline 10% · rest 10% upper edge 708credit.bureau_score · bin 5/10 baseline 11% · rest 12% upper edge 719credit.bureau_score · bin 6/10 baseline 9% · rest 11% upper edge 731credit.bureau_score · bin 7/10 baseline 9% · rest 14% upper edge 746credit.bureau_score · bin 8/10 baseline 11% · rest 13% upper edge 758credit.bureau_score · bin 9/10 baseline 9% · rest 9% upper edge 766credit.bureau_score · bin 10/10 baseline 10% · rest 13% (above the top edge)≤ 652median 719> 766
credit.bureau_scoremoved 0.13 · test 0.17 (p 0.027)median 719 → 731
credit.declared_income · bin 1/10 baseline 14% · rest 17% upper edge 37,000credit.declared_income · bin 2/10 baseline 8% · rest 7% upper edge 39,000credit.declared_income · bin 3/10 baseline 9% · rest 8% upper edge 42,000credit.declared_income · bin 4/10 baseline 14% · rest 9% upper edge 45,000credit.declared_income · bin 5/10 baseline 9% · rest 9% upper edge 48,000credit.declared_income · bin 6/10 baseline 6% · rest 4% upper edge 50,000credit.declared_income · bin 7/10 baseline 12% · rest 13% upper edge 54,000credit.declared_income · bin 8/10 baseline 8% · rest 14% upper edge 58,000credit.declared_income · bin 9/10 baseline 10% · rest 11% upper edge 62,000credit.declared_income · bin 10/10 baseline 10% · rest 7% (above the top edge)≤ 37,000median 48,000> 62,000
credit.declared_incomemoved 0.085 · test 0.083 (p 0.66)median 47,500 → 48,000
credit.term_months · bin 1/10 baseline 22% · rest 23% upper edge 36credit.term_months · bin 2/10 baseline 0% · rest 0% upper edge 36credit.term_months · bin 3/10 baseline 18% · rest 25% upper edge 48credit.term_months · bin 4/10 baseline 35% · rest 26% upper edge 60credit.term_months · bin 5/10 baseline 0% · rest 0% upper edge 60credit.term_months · bin 6/10 baseline 0% · rest 0% upper edge 60credit.term_months · bin 7/10 baseline 0% · rest 0% upper edge 60credit.term_months · bin 8/10 baseline 25% · rest 27% upper edge 72credit.term_months · bin 9/10 baseline 0% · rest 0% upper edge 72credit.term_months · bin 10/10 baseline 0% · rest 0% (above the top edge)≤ 36median 60> 72
credit.term_monthsmoved 0.069 · test 0.28 (p < 0.001)median 60 → 60
credit.requested_amount · bin 1/10 baseline 13% · rest 10% upper edge 170,000credit.requested_amount · bin 2/10 baseline 10% · rest 11% upper edge 200,000credit.requested_amount · bin 3/10 baseline 9% · rest 11% upper edge 230,000credit.requested_amount · bin 4/10 baseline 9% · rest 10% upper edge 260,000credit.requested_amount · bin 5/10 baseline 17% · rest 13% upper edge 300,000credit.requested_amount · bin 6/10 baseline 3% · rest 2% upper edge 310,000credit.requested_amount · bin 7/10 baseline 10% · rest 13% upper edge 340,000credit.requested_amount · bin 8/10 baseline 10% · rest 12% upper edge 370,000credit.requested_amount · bin 9/10 baseline 9% · rest 9% upper edge 400,000credit.requested_amount · bin 10/10 baseline 10% · rest 8% (above the top edge)≤ 170,000median 300,000> 400,000
credit.requested_amountmoved 0.041 · test 0.093 (p 0.51)median 295,000 → 290,000
credit.open_credit_lines · bin 1/10 baseline 25% · rest 27% upper edge 1credit.open_credit_lines · bin 2/10 baseline 0% · rest 0% upper edge 1credit.open_credit_lines · bin 3/10 baseline 24% · rest 21% upper edge 2credit.open_credit_lines · bin 4/10 baseline 0% · rest 0% upper edge 2credit.open_credit_lines · bin 5/10 baseline 23% · rest 25% upper edge 3credit.open_credit_lines · bin 6/10 baseline 0% · rest 0% upper edge 3credit.open_credit_lines · bin 7/10 baseline 0% · rest 0% upper edge 3credit.open_credit_lines · bin 8/10 baseline 28% · rest 27% upper edge 4credit.open_credit_lines · bin 9/10 baseline 0% · rest 0% upper edge 4credit.open_credit_lines · bin 10/10 baseline 0% · rest 0% (above the top edge)≤ 1median 3> 4
credit.open_credit_linesmoved 0.028 · test 0.27 (p < 0.001)median 3 → 3

Category signals: how much the values moved from the baseline

sanctions_list_version (prov.)credit.sanctions_list_version (provenance) JS 1 bits · χ² p < 0.001 baseline 2026.11.01a×33 2026.11.01b×33 2026.11.01c×34 rest 2026.11.01d×33 2026.11.01e×34 2026.11.01f×33 2026.11.01g×33 2026.11.01h×34 2026.11.01i×33 2026.11.01j×33 2026.11.01k×34 2026.11.01l×331
score_model_version (prov.)credit.score_model_version (provenance) JS 0.911 bits · χ² p < 0.001 baseline 2.3×100 rest 2.3×8 2.3.1×2920.911
policy_version (prov.)credit.policy_version (provenance) JS 0.459 bits · χ² p < 0.001 baseline 2026.10×100 rest 2026.10×100 2026.10.1×2000.459
record_feed_version (prov.)credit.record_feed_version (provenance) JS 0.128 bits · χ² p < 0.001 baseline 3.2×100 rest 3.2×230 3.3×700.128
income_mismatch_ratiocredit.income_mismatch_ratio (categorical) JS 0.128 bits · χ² p < 0.001 baseline 0×100 rest 0×230 0.999×700.128
income_sourcecredit.income_source (categorical) JS 0.128 bits · χ² p < 0.001 baseline declared×100 rest declared×230 bureau×700.128
decisioncredit.decision (categorical) JS 0.0391 bits · χ² p < 0.001 baseline approve×57 refer×24 deny×19 rest deny×107 approve×162 refer×310.0391
notice_typecredit.notice_type (categorical) JS 0.0301 bits · χ² p 0.11 baseline approval×25 adverse_action×7 referral×5 rest approval×72 adverse_action×47 referral×100.0301
reason_codecredit.reason_code (categorical) JS 0.0255 bits · χ² p 0.0019 baseline none×81 R02×19 rest R02×107 none×1930.0255
risk_gradecredit.risk_grade (categorical) JS 0.025 bits · χ² p 0.0024 baseline A×52 B×24 C×24 rest A×193 C×31 B×760.025
review_decisioncredit.review_decision (categorical) JS 0.000545 bits · χ² p 0.89 baseline approve×8 deny×4 rest approve×9 deny×40.000545
productcredit.product (categorical) JS 0 bits · χ² p 1 baseline personal_loan×100 rest personal_loan×3000
document_text_layerscredit.document_text_layers (categorical) JS 0 bits · χ² p 1 baseline 1×100 rest 1×3000
identity_verifiedcredit.identity_verified (categorical) JS 0 bits · χ² p 1 baseline True×100 rest True×3000
sanctions_hitcredit.sanctions_hit (categorical) JS 0 bits · χ² p 1 baseline False×100 rest False×3000
verification_statuscredit.verification_status (categorical) JS 0 bits · χ² p 1 baseline verified×100 rest verified×3000
delivery_retriescredit.delivery_retries (categorical) JS 0 bits · χ² p 1 baseline 0×37 rest 0×1290
moved 0.05moved 0.15version signals always move when a version changes

Per value, baseline → rest

credit.sanctions_list_version · moved 1 · 10 values · version signal
2026.11.01ccredit.sanctions_list_version = 2026.11.01c baseline 34% (34) · rest 0% (0)0% ← 34%
2026.11.01ecredit.sanctions_list_version = 2026.11.01e baseline 0% (0) · rest 11% (34)11% ← 0%
2026.11.01hcredit.sanctions_list_version = 2026.11.01h baseline 0% (0) · rest 11% (34)11% ← 0%
2026.11.01kcredit.sanctions_list_version = 2026.11.01k baseline 0% (0) · rest 11% (34)11% ← 0%
2026.11.01acredit.sanctions_list_version = 2026.11.01a baseline 33% (33) · rest 0% (0)0% ← 33%
2026.11.01bcredit.sanctions_list_version = 2026.11.01b baseline 33% (33) · rest 0% (0)0% ← 33%
2026.11.01dcredit.sanctions_list_version = 2026.11.01d baseline 0% (0) · rest 11% (33)11% ← 0%
2026.11.01fcredit.sanctions_list_version = 2026.11.01f baseline 0% (0) · rest 11% (33)11% ← 0%
2026.11.01gcredit.sanctions_list_version = 2026.11.01g baseline 0% (0) · rest 11% (33)11% ← 0%
2026.11.01icredit.sanctions_list_version = 2026.11.01i baseline 0% (0) · rest 11% (33)11% ← 0%
credit.score_model_version · moved 0.91 · 2 values · version signal
2.3.1credit.score_model_version = 2.3.1 baseline 0% (0) · rest 97% (292)97% ← 0%
2.3credit.score_model_version = 2.3 baseline 100% (100) · rest 3% (8)3% ← 100%
credit.policy_version · moved 0.46 · 2 values · version signal
2026.10credit.policy_version = 2026.10 baseline 100% (100) · rest 33% (100)33% ← 100%
2026.10.1credit.policy_version = 2026.10.1 baseline 0% (0) · rest 67% (200)67% ← 0%
credit.record_feed_version · moved 0.13 · 2 values · version signal
3.2credit.record_feed_version = 3.2 baseline 100% (100) · rest 77% (230)77% ← 100%
3.3credit.record_feed_version = 3.3 baseline 0% (0) · rest 23% (70)23% ← 0%
credit.income_mismatch_ratio · moved 0.13 · 2 values
0credit.income_mismatch_ratio = 0 baseline 100% (100) · rest 77% (230)77% ← 100%
0.999credit.income_mismatch_ratio = 0.999 baseline 0% (0) · rest 23% (70)23% ← 0%
credit.income_source · moved 0.13 · 2 values
declaredcredit.income_source = declared baseline 100% (100) · rest 77% (230)77% ← 100%
bureaucredit.income_source = bureau baseline 0% (0) · rest 23% (70)23% ← 0%
credit.decision · moved 0.039 · 3 values
approvecredit.decision = approve baseline 57% (57) · rest 54% (162)54% ← 57%
denycredit.decision = deny baseline 19% (19) · rest 36% (107)36% ← 19%
refercredit.decision = refer baseline 24% (24) · rest 10% (31)10% ← 24%
credit.notice_type · moved 0.03 · 3 values
approvalcredit.notice_type = approval baseline 68% (25) · rest 56% (72)56% ← 68%
adverse_actioncredit.notice_type = adverse_action baseline 19% (7) · rest 36% (47)36% ← 19%
referralcredit.notice_type = referral baseline 14% (5) · rest 8% (10)8% ← 14%
credit.reason_code · moved 0.026 · 2 values
nonecredit.reason_code = none baseline 81% (81) · rest 64% (193)64% ← 81%
R02credit.reason_code = R02 baseline 19% (19) · rest 36% (107)36% ← 19%
credit.risk_grade · moved 0.025 · 3 values
Acredit.risk_grade = A baseline 52% (52) · rest 64% (193)64% ← 52%
Bcredit.risk_grade = B baseline 24% (24) · rest 25% (76)25% ← 24%
Ccredit.risk_grade = C baseline 24% (24) · rest 10% (31)10% ← 24%
credit.review_decision · moved 0.00054 · 2 values
approvecredit.review_decision = approve baseline 67% (8) · rest 69% (9)69% ← 67%
denycredit.review_decision = deny baseline 33% (4) · rest 31% (4)31% ← 33%

03 Coherence

UNHEALTHY

Does the outcome still depend on the signals that should decide it? The section shows how much the outcome depends on each signal, before and after, and the groups where the share of failed runs moved. Check the groups in the table that moved by 20 points or more.

credit.risk_gradeI(outcome; credit.risk_grade) baseline 0.29 bits → rest 0.23 bits (-23%) H(outcome | attr) 0.96 → 10.29 → 0.23 −23%
credit.income_mismatch_ratioI(outcome; credit.income_mismatch_ratio) baseline 0 bits → rest 0.43 bits (0%) H(outcome | attr) 1.3 → 0.80 → 0.43 +0%
credit.income_sourceI(outcome; credit.income_source) baseline 0 bits → rest 0.43 bits (0%) H(outcome | attr) 1.3 → 0.80 → 0.43 +0%
credit.notice_typeI(outcome; credit.notice_type) baseline 1.2 bits → rest 1.3 bits (5%) H(outcome | attr) 0 → 2.2e-161.2 → 1.3 +5%
credit.decisionI(outcome; credit.decision) baseline 0.91 bits → rest 1.1 bits (21%) H(outcome | attr) 0.35 → 0.140.91 → 1.1 +21%
credit.reason_codeI(outcome; credit.reason_code) baseline 0.55 bits → rest 0.86 bits (56%) H(outcome | attr) 0.71 → 0.380.55 → 0.86 +56%
thin tick = baselinethick tick = restdrop ≥ 10%drop ≥ 25%

Groups: share of failed runs per signal value

signalvaluebaselinerestΔ
credit.income_mismatch_ratio0.999new23% (n=100)100% (n=70)+77 points
credit.income_sourcebureaunew23% (n=100)100% (n=70)+77 points
credit.risk_gradeB21% (n=24)39% (n=76)+19 points
credit.delivery_retries019% (n=37)36% (n=129)+18 points
credit.productpersonal_loan23% (n=100)37% (n=300)+14 points
credit.document_text_layers123% (n=100)37% (n=300)+14 points
credit.identity_verifiedTrue23% (n=100)37% (n=300)+14 points
credit.sanctions_hitFalse23% (n=100)37% (n=300)+14 points
credit.verification_statusverified23% (n=100)37% (n=300)+14 points
credit.risk_gradeA27% (n=52)40% (n=193)+13 points
credit.income_mismatch_ratio023% (n=100)18% (n=230)−5 points
credit.income_sourcedeclared23% (n=100)18% (n=230)−5 points
credit.risk_gradeC17% (n=24)13% (n=31)−4 points
credit.decisionrefer17% (n=24)13% (n=31)−4 points
credit.reason_codenone5% (n=81)2% (n=193)−3 points
credit.notice_typeapproval0% (n=25)0% (n=72)+0 points
credit.decisionapprove0% (n=57)0% (n=162)+0 points
credit.decisiondeny100% (n=19)100% (n=107)+0 points
credit.reason_codeR02100% (n=19)100% (n=107)+0 points
moved by 20 points or more, and the ranges do not overlapranges do not overlap, smaller movenew = a value not seen in the baseline, compared with the baseline's overall share of failed runs

04 Human agreement

HEALTHY

An override means that the final decision differs from the agent's decision. Auga finds overrides when two signals with the same set of values disagree on some runs.

override rate6.3%25 of 400 · (4–9%)
refer → approve: 17 runs (68% of overrides)refer → deny: 8 runs (32% of overrides)referapprovedenydecisionfinal_decision
In 25 of 400 runs, the final decision differed from the agent's decision: 6% (likely range 4–9%).

06 Topology

n/a

The section shows which step calls which other step, and each step's share of the total run time. It also shows which environment runs come before changes in the share of failed runs. In version 1, the section is for information only.

loan_orchestrator invoke_agent → intake_agent invoke_agent: 400 spansloan_orchestrator invoke_agent → kyc_agent invoke_agent: 400 spansloan_orchestrator invoke_agent → bureau_agent invoke_agent: 400 spansbureau_agent invoke_agent → bureau_fetch execute_tool: 400 spansloan_orchestrator invoke_agent → income_agent invoke_agent: 400 spansincome_agent invoke_agent → income_verify execute_tool: 400 spansloan_orchestrator invoke_agent → affordability_agent invoke_agent: 400 spansloan_orchestrator invoke_agent → risk_agent invoke_agent: 400 spansloan_orchestrator invoke_agent → policy_agent invoke_agent: 400 spansloan_orchestrator invoke_agent → notify_applicant execute_tool: 166 spansintake_agent invoke_agent → document_parse execute_tool: 129 spansrisk_agent invoke_agent → risk_agent chat: 111 spanskyc_agent invoke_agent → sanctions_screen execute_tool: 82 spanspolicy_agent invoke_agent → policy_engine execute_tool: 61 spansloan_orchestrator invoke_agent → itself: 25loan_orchestrator invoke_agentloan_orchestratorintake_agent invoke_agentintake_agentkyc_agent invoke_agentkyc_agentbureau_agent invoke_agentbureau_agentincome_agent invoke_agentincome_agentaffordability_agent invoke_agentaffordability_agentrisk_agent invoke_agentrisk_agentpolicy_agent invoke_agentpolicy_agentnotify_applicant execute_toolnotify_applicantbureau_fetch execute_toolbureau_fetchincome_verify execute_toolincome_verifydocument_parse execute_tooldocument_parserisk_agent chatrisk_agent (chat)sanctions_screen execute_toolsanctions_screenpolicy_engine execute_toolpolicy_engine
link width grows with the number of steps (log scale)dashed node = tool (execute_tool)plain node = agent (invoke_agent)bright frame = the workflow root

Share of the total run time

risk_agent invoke_agentrisk_agent invoke_agent 18% of the root's time · 19% of all child time18%
kyc_agent invoke_agentkyc_agent invoke_agent 15% of the root's time · 16% of all child time15%
policy_agent invoke_agentpolicy_agent invoke_agent 12% of the root's time · 13% of all child time12%
affordability_agent invoke_agentaffordability_agent invoke_agent 12% of the root's time · 13% of all child time12%
income_agent invoke_agentincome_agent invoke_agent 12% of the root's time · 12% of all child time12%
bureau_agent invoke_agentbureau_agent invoke_agent 11% of the root's time · 12% of all child time11%
intake_agent invoke_agentintake_agent invoke_agent 11% of the root's time · 12% of all child time11%
notify_applicant execute_toolnotify_applicant execute_tool 2% of the root's time · 2% of all child time2%
loan_orchestrator invoke_agentloan_orchestrator invoke_agent 1% of the root's time · 1% of all child time1%

Which comes first: environment runs per period against the share of failed runs

environment rootnbest match, periods latercorrelation
bureau_agent invoke_agent482-0.19
kyc_agent invoke_agent112-0.18

A correlation some periods later is an early sign, not a cause. The causal analysis separates the two.

07 Telemetry quality

HEALTHY

Telemetry is the recorded data about each run. A health status is never better than its telemetry. The section checks ids, clock times, the links between steps, status codes and whether signals are present.

spans4,704465 runs
workflow / environment400 / 65
duplicate span ids0
orphan spans0
clock violations0child outside its parent's interval
unset status0
record complete100%auga.record.complete
defects per span0.00%

Operations: invoke_agent ×3290 · execute_tool ×1303 · chat ×111. Services: affordability-agent, bureau-agent, income-agent, intake-agent, kyc-agent, loan-orchestrator, policy-agent, risk-agent.

Attributes present on fewer than 95% of a span name's spans

spaninput.idrecord.completeunit.idbureau_scorefinal_decisionopen_credit_linesproductreview_decisiontypeapplication_id
bureau_agent invoke_agent89%89%
loan_orchestrator invoke_agent94%94%94%94%94%6%94%
notify_applicant execute_tool2%
policy_engine execute_tool5%
document_parse execute_tool2%

What Agent Health cannot say

The report says that the system changed, which symptoms moved and which versions changed at about the same time. It does not follow the cause chain across agents and runs. Without runs that stayed on the old version, it cannot separate a cause from a change that only happened at the same time. It does not say what a return to the old version would do, and it does not stop the next run. The causal analysis and the mandate cover these points.

Prototype. The report is real output of Auga's health code on Rootplant credit-4217, a synthetic file. The Value sheet uses example values. The globe is live, and it runs the engine's own script on the data of the report. The charts here do not move. The live report lets you hover over and pin every chart, and asks for your own values in a wizard. Here, every list is open.

Total status

The total status takes the weakest dimension and reads it at the low end of its likely range.

More exactly

Total = the weakest dimension on the lower bound of its 95% interval. A hard rule forces UNHEALTHY regardless.

Loss calculation

The loss figure covers only the strongest change.

More exactly

Loss = risk difference under concurrent control × affected traces × cost of one wrongful outcome. Every figure carries its interval.

The moment the pattern changed

The pattern changed at t+5.2 h, and the sign of the change is strong.

More exactly

Change point at t+5.2 h, gain 11 nats (strong). The band in the chart is a 95% Wilson interval per bucket.

How changes are ranked

The table ranks a change by the runs that stayed on the old version at the same time.

More exactly

Ranked by concurrent control: traces that stayed on the old value in the same window. A change is separated when the 95% Wilson intervals do not overlap. Local before/after alone also flags bystanders.

Response time alarms

An alarm means that the typical response time of a step moved away from its normal level.

More exactly

CUSUM alarm on the median per bucket (p50). p95 means 95% of steps were faster than this value. Arrival dispersion is variance / mean² of the gaps between traces, and 1 = Poisson.

How movement is measured

Moved means how much the values of a signal moved from the first 100 runs.

More exactly

Numeric signals: PSI on the baseline's quantile bins, and KS as the test figure. Categorical signals: Jensen–Shannon divergence in bits, and χ². Far from the normal values means robust z above 10.

Dependence and groups

The figure shows how much the outcome depends on a signal, not that the signal causes the outcome.

More exactly

Mutual information between the outcome and each attribute, baseline against rest, in bits. An invariant cell is a group of runs with one attribute value. A cell breaks when its share of failed runs moves by 20 pp or more with separated 95% intervals.

Early signs

A match some periods later shows which comes first, not what causes what.

More exactly

Lead-lag correlation of the environment-trace count per bucket against the share of failed runs, at the best lag. A correlation at a lag is a precursor, not a cause.