rohitsar567 commited on
Commit
4fa18fc
Β·
verified Β·
1 Parent(s): 37c5206

Deploy: Stack A (NIM brain + Maverick judge + Sarvam voice). D-019.

Browse files
40-data/llm_health.json CHANGED
@@ -1,22 +1,16 @@
1
  {
2
- "updated_at": "2026-05-15T01:41:07Z",
3
  "models": {
4
  "qwen/qwen3-next-80b-a3b-instruct": {
5
  "model": "qwen/qwen3-next-80b-a3b-instruct",
6
  "status": "healthy",
7
- "last_success_at": "2026-05-15T01:41:07Z",
8
  "last_failure_at": null,
9
  "last_error": null,
10
- "latency_ms": 289,
11
  "consecutive_failures": 0,
12
- "tested_at": "2026-05-15T01:41:07Z",
13
  "probe_history": [
14
- {
15
- "ok": true,
16
- "latency_ms": 278,
17
- "ts": "2026-05-15T01:27:51Z",
18
- "src": "probe"
19
- },
20
  {
21
  "ok": true,
22
  "latency_ms": 282,
@@ -40,6 +34,12 @@
40
  "latency_ms": 289,
41
  "ts": "2026-05-15T01:41:07Z",
42
  "src": "probe"
 
 
 
 
 
 
43
  }
44
  ],
45
  "degraded_until_monotonic": 0.0,
@@ -53,18 +53,12 @@
53
  "model": "qwen/qwen3.5-122b-a10b",
54
  "status": "down",
55
  "last_success_at": null,
56
- "last_failure_at": "2026-05-15T01:41:07Z",
57
  "last_error": "timeout",
58
  "latency_ms": null,
59
- "consecutive_failures": 15,
60
- "tested_at": "2026-05-15T01:41:07Z",
61
  "probe_history": [
62
- {
63
- "ok": false,
64
- "latency_ms": 8002,
65
- "ts": "2026-05-15T01:27:51Z",
66
- "src": "probe"
67
- },
68
  {
69
  "ok": false,
70
  "latency_ms": 8001,
@@ -88,6 +82,12 @@
88
  "latency_ms": 8002,
89
  "ts": "2026-05-15T01:41:07Z",
90
  "src": "probe"
 
 
 
 
 
 
91
  }
92
  ],
93
  "degraded_until_monotonic": 0.0,
@@ -101,18 +101,12 @@
101
  "model": "openai/gpt-oss-120b",
102
  "status": "down",
103
  "last_success_at": null,
104
- "last_failure_at": "2026-05-15T01:41:07Z",
105
  "last_error": "empty_content",
106
  "latency_ms": null,
107
- "consecutive_failures": 15,
108
- "tested_at": "2026-05-15T01:41:07Z",
109
  "probe_history": [
110
- {
111
- "ok": false,
112
- "latency_ms": 411,
113
- "ts": "2026-05-15T01:27:51Z",
114
- "src": "probe"
115
- },
116
  {
117
  "ok": false,
118
  "latency_ms": 269,
@@ -136,6 +130,12 @@
136
  "latency_ms": 406,
137
  "ts": "2026-05-15T01:41:07Z",
138
  "src": "probe"
 
 
 
 
 
 
139
  }
140
  ],
141
  "degraded_until_monotonic": 0.0,
@@ -148,19 +148,13 @@
148
  "mistralai/mistral-large-3-675b-instruct-2512": {
149
  "model": "mistralai/mistral-large-3-675b-instruct-2512",
150
  "status": "healthy",
151
- "last_success_at": "2026-05-15T01:41:07Z",
152
  "last_failure_at": "2026-05-15T01:27:51Z",
153
  "last_error": null,
154
- "latency_ms": 615,
155
  "consecutive_failures": 0,
156
- "tested_at": "2026-05-15T01:41:07Z",
157
  "probe_history": [
158
- {
159
- "ok": false,
160
- "latency_ms": 8003,
161
- "ts": "2026-05-15T01:27:51Z",
162
- "src": "probe"
163
- },
164
  {
165
  "ok": true,
166
  "latency_ms": 378,
@@ -184,6 +178,12 @@
184
  "latency_ms": 615,
185
  "ts": "2026-05-15T01:41:07Z",
186
  "src": "probe"
 
 
 
 
 
 
187
  }
188
  ],
189
  "degraded_until_monotonic": 0.0,
@@ -196,19 +196,13 @@
196
  "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
197
  "model": "nvidia/llama-3.3-nemotron-super-49b-v1.5",
198
  "status": "healthy",
199
- "last_success_at": "2026-05-15T01:41:07Z",
200
  "last_failure_at": "2026-05-15T01:24:45Z",
201
  "last_error": null,
202
- "latency_ms": 304,
203
  "consecutive_failures": 0,
204
- "tested_at": "2026-05-15T01:41:07Z",
205
  "probe_history": [
206
- {
207
- "ok": true,
208
- "latency_ms": 391,
209
- "ts": "2026-05-15T01:27:51Z",
210
- "src": "probe"
211
- },
212
  {
213
  "ok": true,
214
  "latency_ms": 359,
@@ -232,6 +226,12 @@
232
  "latency_ms": 304,
233
  "ts": "2026-05-15T01:41:07Z",
234
  "src": "probe"
 
 
 
 
 
 
235
  }
236
  ],
237
  "degraded_until_monotonic": 0.0,
@@ -243,20 +243,14 @@
243
  },
244
  "meta/llama-3.3-70b-instruct": {
245
  "model": "meta/llama-3.3-70b-instruct",
246
- "status": "degraded",
247
- "last_success_at": "2026-05-15T01:38:54Z",
248
  "last_failure_at": "2026-05-15T01:41:07Z",
249
- "last_error": "http_429",
250
- "latency_ms": 511,
251
- "consecutive_failures": 2,
252
- "tested_at": "2026-05-15T01:41:07Z",
253
  "probe_history": [
254
- {
255
- "ok": true,
256
- "latency_ms": 411,
257
- "ts": "2026-05-15T01:27:51Z",
258
- "src": "probe"
259
- },
260
  {
261
  "ok": true,
262
  "latency_ms": 1223,
@@ -280,6 +274,12 @@
280
  "latency_ms": 34,
281
  "ts": "2026-05-15T01:41:07Z",
282
  "src": "probe"
 
 
 
 
 
 
283
  }
284
  ],
285
  "degraded_until_monotonic": 0.0,
@@ -293,18 +293,12 @@
293
  "model": "deepseek-ai/deepseek-v4-pro",
294
  "status": "down",
295
  "last_success_at": null,
296
- "last_failure_at": "2026-05-15T01:41:07Z",
297
  "last_error": "timeout",
298
  "latency_ms": null,
299
- "consecutive_failures": 15,
300
- "tested_at": "2026-05-15T01:41:07Z",
301
  "probe_history": [
302
- {
303
- "ok": false,
304
- "latency_ms": 8002,
305
- "ts": "2026-05-15T01:27:51Z",
306
- "src": "probe"
307
- },
308
  {
309
  "ok": false,
310
  "latency_ms": 8001,
@@ -328,6 +322,12 @@
328
  "latency_ms": 8002,
329
  "ts": "2026-05-15T01:41:07Z",
330
  "src": "probe"
 
 
 
 
 
 
331
  }
332
  ],
333
  "degraded_until_monotonic": 0.0,
@@ -341,18 +341,12 @@
341
  "model": "nvidia/nemotron-3-nano-30b-a3b",
342
  "status": "down",
343
  "last_success_at": null,
344
- "last_failure_at": "2026-05-15T01:41:07Z",
345
  "last_error": "empty_content",
346
  "latency_ms": null,
347
- "consecutive_failures": 15,
348
- "tested_at": "2026-05-15T01:41:07Z",
349
  "probe_history": [
350
- {
351
- "ok": false,
352
- "latency_ms": 264,
353
- "ts": "2026-05-15T01:27:51Z",
354
- "src": "probe"
355
- },
356
  {
357
  "ok": false,
358
  "latency_ms": 1730,
@@ -376,6 +370,12 @@
376
  "latency_ms": 275,
377
  "ts": "2026-05-15T01:41:07Z",
378
  "src": "probe"
 
 
 
 
 
 
379
  }
380
  ],
381
  "degraded_until_monotonic": 0.0,
@@ -389,18 +389,12 @@
389
  "model": "deepseek-ai/deepseek-v4-flash",
390
  "status": "down",
391
  "last_success_at": null,
392
- "last_failure_at": "2026-05-15T01:41:07Z",
393
  "last_error": "timeout",
394
  "latency_ms": null,
395
- "consecutive_failures": 15,
396
- "tested_at": "2026-05-15T01:41:07Z",
397
  "probe_history": [
398
- {
399
- "ok": false,
400
- "latency_ms": 8001,
401
- "ts": "2026-05-15T01:27:51Z",
402
- "src": "probe"
403
- },
404
  {
405
  "ok": false,
406
  "latency_ms": 8002,
@@ -424,6 +418,12 @@
424
  "latency_ms": 8002,
425
  "ts": "2026-05-15T01:41:07Z",
426
  "src": "probe"
 
 
 
 
 
 
427
  }
428
  ],
429
  "degraded_until_monotonic": 0.0,
@@ -437,18 +437,12 @@
437
  "model": "moonshotai/kimi-k2-instruct-0905",
438
  "status": "down",
439
  "last_success_at": null,
440
- "last_failure_at": "2026-05-15T01:41:07Z",
441
  "last_error": "http_404",
442
  "latency_ms": null,
443
- "consecutive_failures": 15,
444
- "tested_at": "2026-05-15T01:41:07Z",
445
  "probe_history": [
446
- {
447
- "ok": false,
448
- "latency_ms": 84,
449
- "ts": "2026-05-15T01:27:51Z",
450
- "src": "probe"
451
- },
452
  {
453
  "ok": false,
454
  "latency_ms": 92,
@@ -472,6 +466,12 @@
472
  "latency_ms": 94,
473
  "ts": "2026-05-15T01:41:07Z",
474
  "src": "probe"
 
 
 
 
 
 
475
  }
476
  ],
477
  "degraded_until_monotonic": 0.0,
@@ -485,18 +485,12 @@
485
  "model": "minimaxai/minimax-m2.5",
486
  "status": "down",
487
  "last_success_at": null,
488
- "last_failure_at": "2026-05-15T01:41:07Z",
489
  "last_error": "http_410",
490
  "latency_ms": null,
491
- "consecutive_failures": 15,
492
- "tested_at": "2026-05-15T01:41:07Z",
493
  "probe_history": [
494
- {
495
- "ok": false,
496
- "latency_ms": 31,
497
- "ts": "2026-05-15T01:27:51Z",
498
- "src": "probe"
499
- },
500
  {
501
  "ok": false,
502
  "latency_ms": 32,
@@ -520,6 +514,12 @@
520
  "latency_ms": 33,
521
  "ts": "2026-05-15T01:41:07Z",
522
  "src": "probe"
 
 
 
 
 
 
523
  }
524
  ],
525
  "degraded_until_monotonic": 0.0,
@@ -532,19 +532,13 @@
532
  "meta/llama-4-maverick-17b-128e-instruct": {
533
  "model": "meta/llama-4-maverick-17b-128e-instruct",
534
  "status": "healthy",
535
- "last_success_at": "2026-05-15T01:41:07Z",
536
  "last_failure_at": "2026-05-14T01:03:07Z",
537
  "last_error": null,
538
- "latency_ms": 314,
539
  "consecutive_failures": 0,
540
- "tested_at": "2026-05-15T01:41:07Z",
541
  "probe_history": [
542
- {
543
- "ok": true,
544
- "latency_ms": 202,
545
- "ts": "2026-05-15T01:27:51Z",
546
- "src": "probe"
547
- },
548
  {
549
  "ok": true,
550
  "latency_ms": 1087,
@@ -568,6 +562,12 @@
568
  "latency_ms": 314,
569
  "ts": "2026-05-15T01:41:07Z",
570
  "src": "probe"
 
 
 
 
 
 
571
  }
572
  ],
573
  "degraded_until_monotonic": 0.0,
@@ -579,20 +579,14 @@
579
  },
580
  "openrouter:openai/gpt-oss-120b": {
581
  "model": "openrouter:openai/gpt-oss-120b",
582
- "status": "degraded",
583
- "last_success_at": "2026-05-15T01:41:07Z",
584
  "last_failure_at": "2026-05-15T01:38:54Z",
585
  "last_error": null,
586
- "latency_ms": 5821,
587
  "consecutive_failures": 0,
588
- "tested_at": "2026-05-15T01:41:07Z",
589
  "probe_history": [
590
- {
591
- "ok": false,
592
- "latency_ms": 599,
593
- "ts": "2026-05-15T01:27:51Z",
594
- "src": "probe"
595
- },
596
  {
597
  "ok": false,
598
  "latency_ms": 912,
@@ -616,6 +610,12 @@
616
  "latency_ms": 5821,
617
  "ts": "2026-05-15T01:41:07Z",
618
  "src": "probe"
 
 
 
 
 
 
619
  }
620
  ],
621
  "degraded_until_monotonic": 0.0,
@@ -628,19 +628,13 @@
628
  "groq:llama-3.3-70b-versatile": {
629
  "model": "groq:llama-3.3-70b-versatile",
630
  "status": "healthy",
631
- "last_success_at": "2026-05-15T01:41:07Z",
632
  "last_failure_at": null,
633
  "last_error": null,
634
- "latency_ms": 258,
635
  "consecutive_failures": 0,
636
- "tested_at": "2026-05-15T01:41:07Z",
637
  "probe_history": [
638
- {
639
- "ok": true,
640
- "latency_ms": 348,
641
- "ts": "2026-05-15T01:27:51Z",
642
- "src": "probe"
643
- },
644
  {
645
  "ok": true,
646
  "latency_ms": 332,
@@ -664,6 +658,12 @@
664
  "latency_ms": 258,
665
  "ts": "2026-05-15T01:41:07Z",
666
  "src": "probe"
 
 
 
 
 
 
667
  }
668
  ],
669
  "degraded_until_monotonic": 0.0,
 
1
  {
2
+ "updated_at": "2026-05-15T01:46:37Z",
3
  "models": {
4
  "qwen/qwen3-next-80b-a3b-instruct": {
5
  "model": "qwen/qwen3-next-80b-a3b-instruct",
6
  "status": "healthy",
7
+ "last_success_at": "2026-05-15T01:46:37Z",
8
  "last_failure_at": null,
9
  "last_error": null,
10
+ "latency_ms": 2573,
11
  "consecutive_failures": 0,
12
+ "tested_at": "2026-05-15T01:46:37Z",
13
  "probe_history": [
 
 
 
 
 
 
14
  {
15
  "ok": true,
16
  "latency_ms": 282,
 
34
  "latency_ms": 289,
35
  "ts": "2026-05-15T01:41:07Z",
36
  "src": "probe"
37
+ },
38
+ {
39
+ "ok": true,
40
+ "latency_ms": 2573,
41
+ "ts": "2026-05-15T01:46:37Z",
42
+ "src": "probe"
43
  }
44
  ],
45
  "degraded_until_monotonic": 0.0,
 
53
  "model": "qwen/qwen3.5-122b-a10b",
54
  "status": "down",
55
  "last_success_at": null,
56
+ "last_failure_at": "2026-05-15T01:46:37Z",
57
  "last_error": "timeout",
58
  "latency_ms": null,
59
+ "consecutive_failures": 16,
60
+ "tested_at": "2026-05-15T01:46:37Z",
61
  "probe_history": [
 
 
 
 
 
 
62
  {
63
  "ok": false,
64
  "latency_ms": 8001,
 
82
  "latency_ms": 8002,
83
  "ts": "2026-05-15T01:41:07Z",
84
  "src": "probe"
85
+ },
86
+ {
87
+ "ok": false,
88
+ "latency_ms": 8001,
89
+ "ts": "2026-05-15T01:46:37Z",
90
+ "src": "probe"
91
  }
92
  ],
93
  "degraded_until_monotonic": 0.0,
 
101
  "model": "openai/gpt-oss-120b",
102
  "status": "down",
103
  "last_success_at": null,
104
+ "last_failure_at": "2026-05-15T01:46:37Z",
105
  "last_error": "empty_content",
106
  "latency_ms": null,
107
+ "consecutive_failures": 16,
108
+ "tested_at": "2026-05-15T01:46:37Z",
109
  "probe_history": [
 
 
 
 
 
 
110
  {
111
  "ok": false,
112
  "latency_ms": 269,
 
130
  "latency_ms": 406,
131
  "ts": "2026-05-15T01:41:07Z",
132
  "src": "probe"
133
+ },
134
+ {
135
+ "ok": false,
136
+ "latency_ms": 473,
137
+ "ts": "2026-05-15T01:46:37Z",
138
+ "src": "probe"
139
  }
140
  ],
141
  "degraded_until_monotonic": 0.0,
 
148
  "mistralai/mistral-large-3-675b-instruct-2512": {
149
  "model": "mistralai/mistral-large-3-675b-instruct-2512",
150
  "status": "healthy",
151
+ "last_success_at": "2026-05-15T01:46:37Z",
152
  "last_failure_at": "2026-05-15T01:27:51Z",
153
  "last_error": null,
154
+ "latency_ms": 449,
155
  "consecutive_failures": 0,
156
+ "tested_at": "2026-05-15T01:46:37Z",
157
  "probe_history": [
 
 
 
 
 
 
158
  {
159
  "ok": true,
160
  "latency_ms": 378,
 
178
  "latency_ms": 615,
179
  "ts": "2026-05-15T01:41:07Z",
180
  "src": "probe"
181
+ },
182
+ {
183
+ "ok": true,
184
+ "latency_ms": 449,
185
+ "ts": "2026-05-15T01:46:37Z",
186
+ "src": "probe"
187
  }
188
  ],
189
  "degraded_until_monotonic": 0.0,
 
196
  "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
197
  "model": "nvidia/llama-3.3-nemotron-super-49b-v1.5",
198
  "status": "healthy",
199
+ "last_success_at": "2026-05-15T01:46:37Z",
200
  "last_failure_at": "2026-05-15T01:24:45Z",
201
  "last_error": null,
202
+ "latency_ms": 307,
203
  "consecutive_failures": 0,
204
+ "tested_at": "2026-05-15T01:46:37Z",
205
  "probe_history": [
 
 
 
 
 
 
206
  {
207
  "ok": true,
208
  "latency_ms": 359,
 
226
  "latency_ms": 304,
227
  "ts": "2026-05-15T01:41:07Z",
228
  "src": "probe"
229
+ },
230
+ {
231
+ "ok": true,
232
+ "latency_ms": 307,
233
+ "ts": "2026-05-15T01:46:37Z",
234
+ "src": "probe"
235
  }
236
  ],
237
  "degraded_until_monotonic": 0.0,
 
243
  },
244
  "meta/llama-3.3-70b-instruct": {
245
  "model": "meta/llama-3.3-70b-instruct",
246
+ "status": "healthy",
247
+ "last_success_at": "2026-05-15T01:46:37Z",
248
  "last_failure_at": "2026-05-15T01:41:07Z",
249
+ "last_error": null,
250
+ "latency_ms": 210,
251
+ "consecutive_failures": 0,
252
+ "tested_at": "2026-05-15T01:46:37Z",
253
  "probe_history": [
 
 
 
 
 
 
254
  {
255
  "ok": true,
256
  "latency_ms": 1223,
 
274
  "latency_ms": 34,
275
  "ts": "2026-05-15T01:41:07Z",
276
  "src": "probe"
277
+ },
278
+ {
279
+ "ok": true,
280
+ "latency_ms": 210,
281
+ "ts": "2026-05-15T01:46:37Z",
282
+ "src": "probe"
283
  }
284
  ],
285
  "degraded_until_monotonic": 0.0,
 
293
  "model": "deepseek-ai/deepseek-v4-pro",
294
  "status": "down",
295
  "last_success_at": null,
296
+ "last_failure_at": "2026-05-15T01:46:37Z",
297
  "last_error": "timeout",
298
  "latency_ms": null,
299
+ "consecutive_failures": 16,
300
+ "tested_at": "2026-05-15T01:46:37Z",
301
  "probe_history": [
 
 
 
 
 
 
302
  {
303
  "ok": false,
304
  "latency_ms": 8001,
 
322
  "latency_ms": 8002,
323
  "ts": "2026-05-15T01:41:07Z",
324
  "src": "probe"
325
+ },
326
+ {
327
+ "ok": false,
328
+ "latency_ms": 8001,
329
+ "ts": "2026-05-15T01:46:37Z",
330
+ "src": "probe"
331
  }
332
  ],
333
  "degraded_until_monotonic": 0.0,
 
341
  "model": "nvidia/nemotron-3-nano-30b-a3b",
342
  "status": "down",
343
  "last_success_at": null,
344
+ "last_failure_at": "2026-05-15T01:46:37Z",
345
  "last_error": "empty_content",
346
  "latency_ms": null,
347
+ "consecutive_failures": 16,
348
+ "tested_at": "2026-05-15T01:46:37Z",
349
  "probe_history": [
 
 
 
 
 
 
350
  {
351
  "ok": false,
352
  "latency_ms": 1730,
 
370
  "latency_ms": 275,
371
  "ts": "2026-05-15T01:41:07Z",
372
  "src": "probe"
373
+ },
374
+ {
375
+ "ok": false,
376
+ "latency_ms": 268,
377
+ "ts": "2026-05-15T01:46:37Z",
378
+ "src": "probe"
379
  }
380
  ],
381
  "degraded_until_monotonic": 0.0,
 
389
  "model": "deepseek-ai/deepseek-v4-flash",
390
  "status": "down",
391
  "last_success_at": null,
392
+ "last_failure_at": "2026-05-15T01:46:37Z",
393
  "last_error": "timeout",
394
  "latency_ms": null,
395
+ "consecutive_failures": 16,
396
+ "tested_at": "2026-05-15T01:46:37Z",
397
  "probe_history": [
 
 
 
 
 
 
398
  {
399
  "ok": false,
400
  "latency_ms": 8002,
 
418
  "latency_ms": 8002,
419
  "ts": "2026-05-15T01:41:07Z",
420
  "src": "probe"
421
+ },
422
+ {
423
+ "ok": false,
424
+ "latency_ms": 8002,
425
+ "ts": "2026-05-15T01:46:37Z",
426
+ "src": "probe"
427
  }
428
  ],
429
  "degraded_until_monotonic": 0.0,
 
437
  "model": "moonshotai/kimi-k2-instruct-0905",
438
  "status": "down",
439
  "last_success_at": null,
440
+ "last_failure_at": "2026-05-15T01:46:37Z",
441
  "last_error": "http_404",
442
  "latency_ms": null,
443
+ "consecutive_failures": 16,
444
+ "tested_at": "2026-05-15T01:46:37Z",
445
  "probe_history": [
 
 
 
 
 
 
446
  {
447
  "ok": false,
448
  "latency_ms": 92,
 
466
  "latency_ms": 94,
467
  "ts": "2026-05-15T01:41:07Z",
468
  "src": "probe"
469
+ },
470
+ {
471
+ "ok": false,
472
+ "latency_ms": 84,
473
+ "ts": "2026-05-15T01:46:37Z",
474
+ "src": "probe"
475
  }
476
  ],
477
  "degraded_until_monotonic": 0.0,
 
485
  "model": "minimaxai/minimax-m2.5",
486
  "status": "down",
487
  "last_success_at": null,
488
+ "last_failure_at": "2026-05-15T01:46:37Z",
489
  "last_error": "http_410",
490
  "latency_ms": null,
491
+ "consecutive_failures": 16,
492
+ "tested_at": "2026-05-15T01:46:37Z",
493
  "probe_history": [
 
 
 
 
 
 
494
  {
495
  "ok": false,
496
  "latency_ms": 32,
 
514
  "latency_ms": 33,
515
  "ts": "2026-05-15T01:41:07Z",
516
  "src": "probe"
517
+ },
518
+ {
519
+ "ok": false,
520
+ "latency_ms": 31,
521
+ "ts": "2026-05-15T01:46:37Z",
522
+ "src": "probe"
523
  }
524
  ],
525
  "degraded_until_monotonic": 0.0,
 
532
  "meta/llama-4-maverick-17b-128e-instruct": {
533
  "model": "meta/llama-4-maverick-17b-128e-instruct",
534
  "status": "healthy",
535
+ "last_success_at": "2026-05-15T01:46:37Z",
536
  "last_failure_at": "2026-05-14T01:03:07Z",
537
  "last_error": null,
538
+ "latency_ms": 309,
539
  "consecutive_failures": 0,
540
+ "tested_at": "2026-05-15T01:46:37Z",
541
  "probe_history": [
 
 
 
 
 
 
542
  {
543
  "ok": true,
544
  "latency_ms": 1087,
 
562
  "latency_ms": 314,
563
  "ts": "2026-05-15T01:41:07Z",
564
  "src": "probe"
565
+ },
566
+ {
567
+ "ok": true,
568
+ "latency_ms": 309,
569
+ "ts": "2026-05-15T01:46:37Z",
570
+ "src": "probe"
571
  }
572
  ],
573
  "degraded_until_monotonic": 0.0,
 
579
  },
580
  "openrouter:openai/gpt-oss-120b": {
581
  "model": "openrouter:openai/gpt-oss-120b",
582
+ "status": "healthy",
583
+ "last_success_at": "2026-05-15T01:46:37Z",
584
  "last_failure_at": "2026-05-15T01:38:54Z",
585
  "last_error": null,
586
+ "latency_ms": 1349,
587
  "consecutive_failures": 0,
588
+ "tested_at": "2026-05-15T01:46:37Z",
589
  "probe_history": [
 
 
 
 
 
 
590
  {
591
  "ok": false,
592
  "latency_ms": 912,
 
610
  "latency_ms": 5821,
611
  "ts": "2026-05-15T01:41:07Z",
612
  "src": "probe"
613
+ },
614
+ {
615
+ "ok": true,
616
+ "latency_ms": 1349,
617
+ "ts": "2026-05-15T01:46:37Z",
618
+ "src": "probe"
619
  }
620
  ],
621
  "degraded_until_monotonic": 0.0,
 
628
  "groq:llama-3.3-70b-versatile": {
629
  "model": "groq:llama-3.3-70b-versatile",
630
  "status": "healthy",
631
+ "last_success_at": "2026-05-15T01:46:37Z",
632
  "last_failure_at": null,
633
  "last_error": null,
634
+ "latency_ms": 157,
635
  "consecutive_failures": 0,
636
+ "tested_at": "2026-05-15T01:46:37Z",
637
  "probe_history": [
 
 
 
 
 
 
638
  {
639
  "ok": true,
640
  "latency_ms": 332,
 
658
  "latency_ms": 258,
659
  "ts": "2026-05-15T01:41:07Z",
660
  "src": "probe"
661
+ },
662
+ {
663
+ "ok": true,
664
+ "latency_ms": 157,
665
+ "ts": "2026-05-15T01:46:37Z",
666
+ "src": "probe"
667
  }
668
  ],
669
  "degraded_until_monotonic": 0.0,
frontend/src/app/page.tsx CHANGED
@@ -197,12 +197,13 @@ export default function Page() {
197
  // actual mic state, PTT temporarily flips it to false during a recording
198
  // even while userPrefersLive stays true (so Live resumes after PTT).
199
  const [userPrefersLive, setUserPrefersLive] = useState(false);
200
- // Load persisted preference on mount. Only "on" persists; default and
201
- // explicit "off" both render grey.
 
 
202
  useEffect(() => {
203
  if (typeof window === "undefined") return;
204
- const pref = localStorage.getItem("insurance_live_pref");
205
- if (pref === "on") setUserPrefersLive(true);
206
  }, []);
207
  // Persist + sync to the live hook whenever the user toggles preference.
208
  useEffect(() => {
 
197
  // actual mic state, PTT temporarily flips it to false during a recording
198
  // even while userPrefersLive stays true (so Live resumes after PTT).
199
  const [userPrefersLive, setUserPrefersLive] = useState(false);
200
+ // KI-131 (2026-05-15) β€” voice is OFF by default. Previously persisted
201
+ // "on" preferences are wiped on next load so users with a stale green
202
+ // pill from before this change also see grey and have to re-opt in.
203
+ // This amends ADR-028 "Default ON" β€” see ADR-033 for rationale.
204
  useEffect(() => {
205
  if (typeof window === "undefined") return;
206
+ localStorage.removeItem("insurance_live_pref");
 
207
  }, []);
208
  // Persist + sync to the live hook whenever the user toggles preference.
209
  useEffect(() => {
frontend/src/lib/useLiveConversation.ts CHANGED
@@ -536,8 +536,17 @@ export function useLiveConversation(opts: LiveConversationOptions): LiveConversa
536
  node.connect(silentSink);
537
  silentSink.connect(ctx.destination);
538
  } catch (e) {
 
 
 
 
 
 
539
  // eslint-disable-next-line no-console
540
- console.error("[live-mode] AudioWorklet setup failed; fallback to silence", e);
 
 
 
541
  }
542
 
543
  setMicPermissionDenied(false);
 
536
  node.connect(silentSink);
537
  silentSink.connect(ctx.destination);
538
  } catch (e) {
539
+ // KI-131 (2026-05-15) β€” previously, a worklet-setup failure left
540
+ // setMicPermissionDenied=false and live.live=true so the UI pill
541
+ // stayed green ("Voice on β€” just speak") while no PCM frames were
542
+ // ever delivered β€” silent functional break. Now flip both states
543
+ // so the pill correctly switches to "πŸ”‡ Mic blocked" and the user
544
+ // gets a visible signal that voice is broken on their device.
545
  // eslint-disable-next-line no-console
546
+ console.error("[live-mode] AudioWorklet setup failed", e);
547
+ setMicPermissionDenied(true);
548
+ setLive(false);
549
+ return;
550
  }
551
 
552
  setMicPermissionDenied(false);
frontend/tsconfig.tsbuildinfo CHANGED
The diff for this file is too large to render. See raw diff