instar 1.3.979 → 1.3.981
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/CoherenceGate.d.ts +17 -3
- package/dist/core/CoherenceGate.d.ts.map +1 -1
- package/dist/core/CoherenceGate.js +60 -11
- package/dist/core/CoherenceGate.js.map +1 -1
- package/dist/monitoring/dashboardInsightCollectors.d.ts.map +1 -1
- package/dist/monitoring/dashboardInsightCollectors.js +33 -5
- package/dist/monitoring/dashboardInsightCollectors.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.980.md +85 -0
- package/upgrades/1.3.981.md +81 -0
- package/upgrades/side-effects/dashboard-error-rate-unobserved.md +141 -0
- package/upgrades/side-effects/reviewer-health-unobserved.md +152 -0
|
@@ -379,12 +379,26 @@ export interface CanaryTestResult {
|
|
|
379
379
|
verdict: string;
|
|
380
380
|
pass: boolean;
|
|
381
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* `unobserved` exists because the absence of observations previously rendered as the
|
|
384
|
+
* presence of good ones: a reviewer that had never run once reported `passRate: 1` and
|
|
385
|
+
* `status: 'healthy'`. Read a fourth state as "no verdict yet", never as a problem.
|
|
386
|
+
*/
|
|
387
|
+
export type ReviewerHealthStatus = 'healthy' | 'degraded' | 'failing' | 'unobserved';
|
|
382
388
|
export interface ReviewerHealthReport {
|
|
383
|
-
overallStatus:
|
|
389
|
+
overallStatus: ReviewerHealthStatus;
|
|
384
390
|
reviewers: Record<string, {
|
|
385
|
-
|
|
391
|
+
/** null when there are no observations — a rate over zero calls is not a rate. */
|
|
392
|
+
passRate: number | null;
|
|
393
|
+
/** Exposed because it DRIVES the verdict; a hidden input to a decision is unauditable. */
|
|
394
|
+
errorRate: number | null;
|
|
395
|
+
/** The denominator. Always present, so any rate above can be judged. */
|
|
386
396
|
total: number;
|
|
387
|
-
|
|
397
|
+
/** Observations a 'healthy' verdict requires. */
|
|
398
|
+
observationsRequired: number;
|
|
399
|
+
/** true when `total < observationsRequired` (includes never-ran). */
|
|
400
|
+
insufficientEvidence: boolean;
|
|
401
|
+
status: ReviewerHealthStatus;
|
|
388
402
|
}>;
|
|
389
403
|
lastCanaryRun: CanaryTestResult[] | null;
|
|
390
404
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoherenceGate.d.ts","sourceRoot":"","sources":["../../src/core/CoherenceGate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CoherenceGate.d.ts","sourceRoot":"","sources":["../../src/core/CoherenceGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,20 @@ const HIGH_STAKES_REVIEWERS = new Set([
|
|
|
71
71
|
]);
|
|
72
72
|
const HIGH_STAKES_RATE_LIMIT_WAIT_MS = 60_000;
|
|
73
73
|
const VALUE_DOC_CACHE_TTL_MS = 60 * 60 * 1000; // 60 minutes
|
|
74
|
+
/**
|
|
75
|
+
* Observations a reviewer needs before its rates support a 'healthy' VERDICT.
|
|
76
|
+
*
|
|
77
|
+
* This is not a new discipline — it adopts a precedent this codebase already keeps.
|
|
78
|
+
* `SelfActionGovernor.checkObserveLimbo` computes the same shape of rate
|
|
79
|
+
* (`total > 0 ? wouldDeny / total : 0`) but gates its promotion criterion on
|
|
80
|
+
* `total >= 100`, so a zero-observation rate can never satisfy it. That guard is why
|
|
81
|
+
* the identical expression is harmless there and was a defect here.
|
|
82
|
+
*
|
|
83
|
+
* The floor is smaller (5, not 100) because this surface reports health continuously
|
|
84
|
+
* rather than gating a one-way promotion, so it has to become useful sooner. It gates
|
|
85
|
+
* ONLY the optimistic conclusion; a genuine failure on thin evidence is still reported.
|
|
86
|
+
*/
|
|
87
|
+
const REVIEWER_HEALTH_MIN_OBSERVATIONS = 5;
|
|
74
88
|
export class CoherenceGate {
|
|
75
89
|
config;
|
|
76
90
|
stateDir;
|
|
@@ -1257,13 +1271,21 @@ export class CoherenceGate {
|
|
|
1257
1271
|
for (const [name, reviewer] of this.reviewers) {
|
|
1258
1272
|
const m = reviewer.metrics;
|
|
1259
1273
|
const total = m.passCount + m.failCount + m.errorCount;
|
|
1274
|
+
// Every rate here is null on zero observations rather than a hardcoded default.
|
|
1275
|
+
// Before this, the SAME quantity had OPPOSITE defaults in the two health surfaces
|
|
1276
|
+
// of this one file: `passRate: 0` here (pessimistic) and `passRate: 1` in
|
|
1277
|
+
// getReviewerHealth (optimistic) — and `jsonValidityRate: 1` claimed perfect JSON
|
|
1278
|
+
// validity from a reviewer that had never parsed anything. Neither default was
|
|
1279
|
+
// reasoned about; a reader could not tell "measured" from "not measured".
|
|
1260
1280
|
perReviewer[name] = {
|
|
1261
|
-
passRate: total > 0 ? m.passCount / total :
|
|
1262
|
-
flagRate: total > 0 ? m.failCount / total :
|
|
1263
|
-
errorRate: total > 0 ? m.errorCount / total :
|
|
1264
|
-
avgLatencyMs: total > 0 ? Math.round(m.totalLatencyMs / total) :
|
|
1265
|
-
jsonValidityRate: total > 0 ? 1 - (m.jsonParseErrors / total) :
|
|
1281
|
+
passRate: total > 0 ? m.passCount / total : null,
|
|
1282
|
+
flagRate: total > 0 ? m.failCount / total : null,
|
|
1283
|
+
errorRate: total > 0 ? m.errorCount / total : null,
|
|
1284
|
+
avgLatencyMs: total > 0 ? Math.round(m.totalLatencyMs / total) : null,
|
|
1285
|
+
jsonValidityRate: total > 0 ? 1 - (m.jsonParseErrors / total) : null,
|
|
1266
1286
|
total,
|
|
1287
|
+
insufficientEvidence: total < REVIEWER_HEALTH_MIN_OBSERVATIONS,
|
|
1288
|
+
observationsRequired: REVIEWER_HEALTH_MIN_OBSERVATIONS,
|
|
1267
1289
|
};
|
|
1268
1290
|
}
|
|
1269
1291
|
// Per-recipient-type breakdown from history
|
|
@@ -1353,23 +1375,50 @@ export class CoherenceGate {
|
|
|
1353
1375
|
for (const [name, reviewer] of this.reviewers) {
|
|
1354
1376
|
const m = reviewer.metrics;
|
|
1355
1377
|
const total = m.passCount + m.failCount + m.errorCount;
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1378
|
+
// A rate over zero observations is not a rate. Report null rather than a
|
|
1379
|
+
// number the reader cannot distinguish from a measured one.
|
|
1380
|
+
const passRate = total > 0 ? m.passCount / total : null;
|
|
1381
|
+
const errorRate = total > 0 ? m.errorCount / total : null;
|
|
1382
|
+
const insufficientEvidence = total < REVIEWER_HEALTH_MIN_OBSERVATIONS;
|
|
1383
|
+
// The floor gates only the OPTIMISTIC conclusion. A reviewer that errored on
|
|
1384
|
+
// both of its two calls IS failing, and thin evidence must never suppress bad
|
|
1385
|
+
// news — only the claim "this is healthy" needs a sample behind it.
|
|
1386
|
+
let status;
|
|
1387
|
+
if (errorRate !== null && (errorRate > 0.5 || (total > 10 && passRate !== null && passRate < 0.1))) {
|
|
1360
1388
|
status = 'failing';
|
|
1361
1389
|
}
|
|
1362
|
-
else if (errorRate > 0.2 || m.jsonParseErrors > total * 0.3) {
|
|
1390
|
+
else if (errorRate !== null && (errorRate > 0.2 || m.jsonParseErrors > total * 0.3)) {
|
|
1363
1391
|
status = 'degraded';
|
|
1364
1392
|
}
|
|
1365
|
-
|
|
1393
|
+
else if (insufficientEvidence) {
|
|
1394
|
+
// Includes total === 0 ("never ran"). Distinguishable from 'healthy' by the
|
|
1395
|
+
// reader AND by any consumer switching on status.
|
|
1396
|
+
status = 'unobserved';
|
|
1397
|
+
}
|
|
1398
|
+
else {
|
|
1399
|
+
status = 'healthy';
|
|
1400
|
+
}
|
|
1401
|
+
reviewerHealth[name] = {
|
|
1402
|
+
passRate,
|
|
1403
|
+
errorRate,
|
|
1404
|
+
total,
|
|
1405
|
+
observationsRequired: REVIEWER_HEALTH_MIN_OBSERVATIONS,
|
|
1406
|
+
insufficientEvidence,
|
|
1407
|
+
status,
|
|
1408
|
+
};
|
|
1366
1409
|
}
|
|
1410
|
+
// Precedence: bad news outranks thin evidence, which outranks a healthy claim.
|
|
1411
|
+
// 'unobserved' must never aggregate up as 'healthy' — that was the defect.
|
|
1367
1412
|
const allStatuses = Object.values(reviewerHealth).map(r => r.status);
|
|
1368
1413
|
let overallStatus = 'healthy';
|
|
1369
1414
|
if (allStatuses.includes('failing'))
|
|
1370
1415
|
overallStatus = 'failing';
|
|
1371
1416
|
else if (allStatuses.includes('degraded'))
|
|
1372
1417
|
overallStatus = 'degraded';
|
|
1418
|
+
else if (allStatuses.includes('unobserved'))
|
|
1419
|
+
overallStatus = 'unobserved';
|
|
1420
|
+
else if (allStatuses.length === 0)
|
|
1421
|
+
overallStatus = 'unobserved'; // no reviewers at all
|
|
1373
1422
|
return {
|
|
1374
1423
|
overallStatus,
|
|
1375
1424
|
reviewers: reviewerHealth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoherenceGate.js","sourceRoot":"","sources":["../../src/core/CoherenceGate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CoherenceGate.js","sourceRoot":"","sources":["../../src/core/CoherenceGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboardInsightCollectors.d.ts","sourceRoot":"","sources":["../../src/monitoring/dashboardInsightCollectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAiC,MAAM,6BAA6B,CAAC;AAQhH;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"dashboardInsightCollectors.d.ts","sourceRoot":"","sources":["../../src/monitoring/dashboardInsightCollectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAiC,MAAM,6BAA6B,CAAC;AAQhH;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,gBAAgB,CAwE9F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,GAAG,WAAW,EAAE,CAWhB"}
|
|
@@ -48,19 +48,47 @@ export function buildLlmActivityCollector(ledger) {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
anomalies.sort((a, b) => (b.severity === 'alert' ? 1 : 0) - (a.severity === 'alert' ? 1 : 0));
|
|
51
|
-
|
|
51
|
+
// MIN_REAL_CALLS is declared at the top of this file as "minimum real calls
|
|
52
|
+
// before an error-rate is statistically meaningful" and the per-feature loop
|
|
53
|
+
// above honours it. The AGGREGATE did not: with zero calls it rendered
|
|
54
|
+
// `Error rate: 0%` and asserted "Routing is healthy — 0 checks ran", so an
|
|
55
|
+
// empty 24 hours was indistinguishable from a clean one. Same file, same
|
|
56
|
+
// constant, same reasoning — just applied to the aggregate too.
|
|
57
|
+
const overallErrorRate = totalReal > 0 ? totalErrors / totalReal : null;
|
|
52
58
|
const metrics = [
|
|
53
59
|
{ label: 'LLM calls (24h)', value: String(totalReal) },
|
|
54
60
|
{ label: 'Errors (24h)', value: String(totalErrors) },
|
|
55
|
-
{
|
|
61
|
+
{
|
|
62
|
+
label: 'Error rate',
|
|
63
|
+
// A rate over zero calls is not a rate. Show why it is absent, not a "0%"
|
|
64
|
+
// a reader cannot tell from a measured zero.
|
|
65
|
+
value: overallErrorRate === null ? 'no calls yet' : `${Math.round(overallErrorRate * 100)}%`,
|
|
66
|
+
},
|
|
56
67
|
{ label: 'Checks active', value: String(features.length) },
|
|
57
68
|
];
|
|
58
69
|
const facts = [];
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
// Order matters, and BAD NEWS COMES FIRST unconditionally. Today an anomaly
|
|
71
|
+
// cannot occur below the floor (a feature needs >= MIN_REAL_CALLS to flag, so
|
|
72
|
+
// totalReal < MIN_REAL_CALLS implies none), but that is an arithmetic
|
|
73
|
+
// coincidence rather than a guarantee — if the constants ever diverge, a
|
|
74
|
+
// low-volume window must still surface a real failure. The floor gates only
|
|
75
|
+
// the reassuring conclusion, never a warning.
|
|
76
|
+
if (anomalies.length > 0) {
|
|
77
|
+
facts.push(`${anomalies.length} check${anomalies.length === 1 ? '' : 's'} ${anomalies.length === 1 ? 'is' : 'are'} failing more than usual and worth a look.`);
|
|
78
|
+
}
|
|
79
|
+
else if (totalReal === 0) {
|
|
80
|
+
// Nothing ran. Say so, rather than claiming health from an empty window.
|
|
81
|
+
facts.push(features.length === 0
|
|
82
|
+
? 'No checks have reported in the last 24 hours, so there is nothing to judge yet.'
|
|
83
|
+
: `${features.length} check${features.length === 1 ? '' : 's'} are configured but none made a call in the last 24 hours, so there is nothing to judge yet.`);
|
|
84
|
+
}
|
|
85
|
+
else if (totalReal < MIN_REAL_CALLS) {
|
|
86
|
+
// The rate above is real data, but the volume is too low to call it healthy —
|
|
87
|
+
// the same asymmetry the per-feature loop already applies.
|
|
88
|
+
facts.push(`Only ${totalReal} call${totalReal === 1 ? '' : 's'} in the last 24 hours — too few to say whether routing is healthy.`);
|
|
61
89
|
}
|
|
62
90
|
else {
|
|
63
|
-
facts.push(
|
|
91
|
+
facts.push(`Routing is healthy — ${features.length} checks ran with no check failing a meaningful share of its calls.`);
|
|
64
92
|
}
|
|
65
93
|
if (busiest && busiest.realCalls > 0)
|
|
66
94
|
facts.push(`The busiest check is ${busiest.feature} (${busiest.realCalls} calls in 24h).`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboardInsightCollectors.js","sourceRoot":"","sources":["../../src/monitoring/dashboardInsightCollectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,iFAAiF;AACjF,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,2EAA2E;AAC3E,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAA4B;IACpE,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,GAAkD,IAAI,CAAC;QAClE,MAAM,SAAS,GAAqB,EAAE,CAAC;QAEvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC;YACzB,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;gBAAE,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAC1G,IAAI,CAAC,CAAC,SAAS,IAAI,cAAc,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC;gBACpC,IAAI,IAAI,IAAI,gBAAgB,EAAE,CAAC;oBAC7B,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,eAAe,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,SAAS,UAAU;wBAC7G,QAAQ,EAAE,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;qBACvD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9F,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"dashboardInsightCollectors.js","sourceRoot":"","sources":["../../src/monitoring/dashboardInsightCollectors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-26T04:54:53.613Z",
|
|
5
|
+
"instarVersion": "1.3.981",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
**A response reviewer that had never run once reported a PERFECT pass rate and a status of
|
|
9
|
+
`healthy` — so "this has never executed" was indistinguishable from "this is working perfectly."**
|
|
10
|
+
|
|
11
|
+
`CoherenceGate.getReviewerHealth` computed `passRate = total > 0 ? passCount / total : 1` and
|
|
12
|
+
defaulted `status` to `'healthy'`. With zero observations the absent case defaulted **optimistic**:
|
|
13
|
+
a reviewer that had done nothing scored 100%, and `overallStatus` aggregated it as healthy.
|
|
14
|
+
|
|
15
|
+
`getReviewerStats` carried the same defect pointing both directions at once — `passRate: 0`
|
|
16
|
+
(pessimistic) for the SAME quantity about 110 lines away, plus `jsonValidityRate: 1`, claiming
|
|
17
|
+
perfect JSON validity from a reviewer that had never parsed a response. Two opposite defaults for one
|
|
18
|
+
quantity in one file is the tell that neither was reasoned about, so both sites are fixed together.
|
|
19
|
+
|
|
20
|
+
Now: rates are `null` when there are no observations (a rate over zero calls is not a rate), the
|
|
21
|
+
denominator always travels beside them, and a new `observationsRequired` / `insufficientEvidence`
|
|
22
|
+
pair states what a verdict needs. `status` gains a fourth value, `'unobserved'`, and `overallStatus`
|
|
23
|
+
uses the precedence `failing > degraded > unobserved > healthy` so an unknown reviewer can never
|
|
24
|
+
aggregate up as healthy.
|
|
25
|
+
|
|
26
|
+
**The floor gates only the optimistic conclusion.** A reviewer that errored on both of its only two
|
|
27
|
+
calls is still reported `'failing'`; thin evidence must never suppress bad news, only good news.
|
|
28
|
+
Verified before/after: never-ran went from `passRate 1, healthy` to `passRate null, unobserved`; one
|
|
29
|
+
passing call reports its honest rate of 1 with the verdict withheld; two-of-two errors stays
|
|
30
|
+
`failing`; twenty passes stays `healthy`.
|
|
31
|
+
|
|
32
|
+
This adopts a precedent the codebase already keeps rather than inventing one.
|
|
33
|
+
`SelfActionGovernor.checkObserveLimbo` computes the identical shape of rate and gates its criterion
|
|
34
|
+
on `total >= 100`, which is exactly why that expression is harmless there and was a defect here.
|
|
35
|
+
|
|
36
|
+
Two existing tests changed because they were holding the defect in place. One asserted
|
|
37
|
+
`overallStatus === 'healthy'` when no reviews had run, pinning it as correct behaviour. The other,
|
|
38
|
+
named `detects degraded status when error rate is high`, carried a comment promising to "simulate
|
|
39
|
+
high error rate by directly manipulating metrics" and manipulated nothing — it created a fresh gate
|
|
40
|
+
and asserted `'healthy'`, so despite its name it exercised the never-ran path and left the
|
|
41
|
+
`degraded` and `failing` branches with zero coverage while sitting green in the suite. It now
|
|
42
|
+
performs the simulation its own comment described, and both branches are covered.
|
|
43
|
+
|
|
44
|
+
## What to Tell Your User
|
|
45
|
+
|
|
46
|
+
Nothing to do, and on most installs nothing visible: the response-review pipeline is off by default,
|
|
47
|
+
so its health endpoints already answer "not enabled."
|
|
48
|
+
|
|
49
|
+
Where it does run, the health view is now honest about what it does not know. A reviewer that has not
|
|
50
|
+
been exercised yet shows as **unobserved** with its observation count, rather than as a flawless
|
|
51
|
+
100%. Read that as "nothing is wrong and nothing is known yet" — it is deliberately not an alarm.
|
|
52
|
+
Genuine problems are still reported as promptly as before, including on very few observations.
|
|
53
|
+
|
|
54
|
+
## Summary of New Capabilities
|
|
55
|
+
|
|
56
|
+
- Reviewer health distinguishes "no observations yet" from "healthy": rates report `null` rather than
|
|
57
|
+
an invented default, the denominator travels beside every rate, and `unobserved` is a first-class
|
|
58
|
+
status that can never aggregate up as healthy.
|
|
59
|
+
- The observation floor gates only the optimistic verdict, so a failing reviewer is still reported as
|
|
60
|
+
failing on as few as two observations.
|
|
61
|
+
|
|
62
|
+
## Evidence
|
|
63
|
+
|
|
64
|
+
**Reproduction (before):** construct the gate with reviewers registered and call
|
|
65
|
+
`getReviewerHealth()` without running a single review. Observed: `passRate: 1`, `status: 'healthy'`,
|
|
66
|
+
`overallStatus: 'healthy'` — a perfect score from zero observations. `getReviewerStats()` on the same
|
|
67
|
+
gate: `passRate: 0`, `jsonValidityRate: 1` (the same quantity defaulting the opposite way, and
|
|
68
|
+
perfect JSON validity from a reviewer that had never parsed a response).
|
|
69
|
+
|
|
70
|
+
**Observed after,** same four scenarios run against the built code:
|
|
71
|
+
|
|
72
|
+
| scenario | before | after |
|
|
73
|
+
|---|---|---|
|
|
74
|
+
| never ran (0 obs) | `passRate 1`, `healthy` | `passRate null`, `errorRate null`, `unobserved`, `insufficientEvidence true` |
|
|
75
|
+
| one passing call | `passRate 1`, `healthy` | `passRate 1` (honest), verdict withheld → `unobserved` |
|
|
76
|
+
| errored on both of 2 calls | `failing` | `failing` — unchanged, bad news not suppressed |
|
|
77
|
+
| 20 passes | `healthy` | `healthy` — unchanged, no false alarm |
|
|
78
|
+
| `getReviewerStats`, 0 obs | `passRate 0`, `jsonValidityRate 1` | every rate `null`, `insufficientEvidence true` |
|
|
79
|
+
|
|
80
|
+
**Tests:** `tests/unit/CoherenceGateCanary.test.ts` — never-ran refused a healthy verdict and reports
|
|
81
|
+
no rate; thin evidence reports its real rate but withholds the verdict; thin evidence still reports
|
|
82
|
+
`failing`; sufficient evidence reports `healthy` unchanged; `overallStatus` never aggregates an
|
|
83
|
+
unobserved reviewer as healthy; `degraded` and `failing` thresholds now genuinely exercised (they had
|
|
84
|
+
**zero** coverage before — the test named for them manipulated no metrics); `getReviewerStats`
|
|
85
|
+
reports null rates rather than zeros or a perfect score. 37 tests pass across the two affected files.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
**The LLM Activity dashboard panel claimed "Routing is healthy" when nothing had run — and in one
|
|
9
|
+
case displayed `Error rate: 50%` directly above that claim.**
|
|
10
|
+
|
|
11
|
+
`dashboardInsightCollectors.buildLlmActivityCollector` computed
|
|
12
|
+
`overallErrorRate = totalReal > 0 ? totalErrors / totalReal : 0`, rendered it as `Error rate: 0%`, and
|
|
13
|
+
pushed a health fact whenever the anomaly list was empty:
|
|
14
|
+
|
|
15
|
+
"Routing is healthy — 0 checks ran with no check failing a meaningful share of its calls."
|
|
16
|
+
|
|
17
|
+
With an empty 24-hour window that sentence claimed health from no observations, its own denominator
|
|
18
|
+
("0 checks ran") contradicting its claim. The sharper failure: the per-feature anomaly loop correctly
|
|
19
|
+
requires `f.realCalls >= MIN_REAL_CALLS` before flagging a check, but the health sentence had no such
|
|
20
|
+
condition — so a window with 2 calls where 1 errored rendered `Error rate: 50%` beside "Routing is
|
|
21
|
+
healthy". Both halves were individually defensible; the verdict was simply never told about the
|
|
22
|
+
threshold the alarm was already using.
|
|
23
|
+
|
|
24
|
+
`MIN_REAL_CALLS = 5` is declared at the top of that same file, commented "minimum real calls before an
|
|
25
|
+
error-rate is statistically meaningful". This applies it to the aggregate:
|
|
26
|
+
|
|
27
|
+
- `overallErrorRate` is `null` at zero calls; the metric renders **`no calls yet`** rather than a `0%`
|
|
28
|
+
indistinguishable from a measured zero. The call count and check count still travel beside it.
|
|
29
|
+
- Zero calls → a fact saying there is nothing to judge yet (distinguishing "no checks reported at all"
|
|
30
|
+
from "checks configured but idle").
|
|
31
|
+
- Below the floor → the real rate is still shown, but the verdict is withheld: "Only N calls in the
|
|
32
|
+
last 24 hours — too few to say whether routing is healthy."
|
|
33
|
+
- **Anomalies are evaluated FIRST and unconditionally**, so no evidence caveat can ever displace a
|
|
34
|
+
warning. Today an anomaly cannot occur below the floor, but that is an arithmetic coincidence
|
|
35
|
+
between two constants rather than a guarantee, and the ordering makes it structural.
|
|
36
|
+
|
|
37
|
+
Verified before/after on the built collector: nothing-ran went from `0%` + "Routing is healthy" to
|
|
38
|
+
`no calls yet` + "nothing to judge yet"; 2 calls with 1 error went from `50%` + "Routing is healthy" to
|
|
39
|
+
`50%` + "too few to say"; 10 clean calls still reads "Routing is healthy" unchanged; 6 calls with 3
|
|
40
|
+
errors still surfaces the failing check.
|
|
41
|
+
|
|
42
|
+
A grammar fix falls out of the plural handling: "1 checks are failing" → "1 check is failing".
|
|
43
|
+
|
|
44
|
+
## What to Tell Your User
|
|
45
|
+
|
|
46
|
+
Nothing to do. On most installs this panel ships dark, so there is nothing visible.
|
|
47
|
+
|
|
48
|
+
Where it runs, the panel is now honest about a quiet window: it says there is nothing to judge yet
|
|
49
|
+
rather than reporting a flawless zero. Read that as "nothing is wrong and nothing is known" — it is
|
|
50
|
+
deliberately not an alarm. Genuine failures are still reported exactly as promptly as before, and are
|
|
51
|
+
now always reported ahead of any note about low call volume.
|
|
52
|
+
|
|
53
|
+
## Summary of New Capabilities
|
|
54
|
+
|
|
55
|
+
- The LLM Activity panel distinguishes "no calls observed" from "no errors observed": the error rate
|
|
56
|
+
reads `no calls yet` instead of `0%`, with the call count beside it.
|
|
57
|
+
- A health verdict now requires enough calls to support it, reusing the file's own existing
|
|
58
|
+
`MIN_REAL_CALLS` threshold rather than a new one.
|
|
59
|
+
- A real failure is surfaced ahead of any low-evidence caveat, by branch order rather than by luck.
|
|
60
|
+
|
|
61
|
+
## Evidence
|
|
62
|
+
|
|
63
|
+
**Reproduction (before):** build the collector over an empty ledger and read the snapshot. Observed:
|
|
64
|
+
`Error rate: 0%` and the fact `"Routing is healthy — 0 checks ran with no check failing a meaningful
|
|
65
|
+
share of its calls."` Then seed 2 calls with 1 error: observed `Error rate: 50%` together with
|
|
66
|
+
`"Routing is healthy — 1 checks ran…"`.
|
|
67
|
+
|
|
68
|
+
**Observed after,** same four scenarios against the built collector:
|
|
69
|
+
|
|
70
|
+
| scenario | before | after |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| nothing ran (0 calls, 0 checks) | `0%` + "Routing is healthy — 0 checks ran…" | `no calls yet` + "No checks have reported in the last 24 hours, so there is nothing to judge yet." |
|
|
73
|
+
| 2 calls, 1 error (below floor) | `50%` + "Routing is healthy — 1 checks ran…" | `50%` + "Only 2 calls in the last 24 hours — too few to say whether routing is healthy." |
|
|
74
|
+
| 10 clean calls | `0%` + "Routing is healthy" | `0%` + "Routing is healthy" — unchanged |
|
|
75
|
+
| 6 calls, 3 errors | `50%` + "1 checks are failing…" | `50%` + "1 check is failing more than usual and worth a look." |
|
|
76
|
+
|
|
77
|
+
**Tests:** `tests/unit/dashboard-insight-collectors-unobserved.test.ts` — four cases covering
|
|
78
|
+
no-rate-and-no-health-claim at zero calls, real-rate-with-verdict-withheld below the floor,
|
|
79
|
+
health-claimed-once-supported, and a real failure surfacing ahead of any caveat. The existing
|
|
80
|
+
`tests/e2e/insights-alive.test.ts` seeds 6 calls above the floor and passes unchanged. 7 tests pass
|
|
81
|
+
across both files; `npx tsc --noEmit` clean.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Side-Effects Review — the dashboard showed "Error rate: 50%" beside "Routing is healthy"
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `dashboard-error-rate-unobserved`
|
|
4
|
+
**Date:** `2026-07-26`
|
|
5
|
+
**Author:** `Echo (instar-dev agent)`
|
|
6
|
+
**Second-pass reviewer:** `author-applied lenses — see Phase 5 (reduced independence, disclosed)`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
The LLM Activity insight collector computed `overallErrorRate = totalReal > 0 ? totalErrors/totalReal : 0`
|
|
11
|
+
and rendered it as `Error rate: 0%`, then asserted a health fact whenever no anomaly had been flagged:
|
|
12
|
+
|
|
13
|
+
"Routing is healthy — 0 checks ran with no check failing a meaningful share of its calls."
|
|
14
|
+
|
|
15
|
+
Two failures fell out of that. With an empty 24-hour window the panel claimed health from no data —
|
|
16
|
+
and the sentence's own denominator ("0 checks ran") contradicted its claim. Worse, with a genuine
|
|
17
|
+
failure below the anomaly floor the panel showed **`Error rate: 50%` beside "Routing is healthy"**,
|
|
18
|
+
because the per-feature loop correctly required `f.realCalls >= MIN_REAL_CALLS` before flagging while
|
|
19
|
+
the health sentence had no such condition.
|
|
20
|
+
|
|
21
|
+
`MIN_REAL_CALLS = 5` is declared at the top of this same file, commented "minimum real calls before
|
|
22
|
+
an error-rate is statistically meaningful". The fix applies that existing, already-honoured constant
|
|
23
|
+
to the aggregate: the rate is `null` (rendered "no calls yet") at zero calls, a sub-floor window says
|
|
24
|
+
so plainly, and **a real failure is surfaced ahead of any evidence caveat**.
|
|
25
|
+
|
|
26
|
+
## Decision-point inventory
|
|
27
|
+
|
|
28
|
+
| point | classification | note |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| the `facts` branch order | `invariant` | Deterministic. Anomalies are checked FIRST and unconditionally, so no caveat can displace a warning. |
|
|
31
|
+
| the sub-floor caveat | `invariant` | A comparison against the file's existing `MIN_REAL_CALLS`. Gates only the reassuring conclusion. |
|
|
32
|
+
| `Error rate` rendering | `invariant` | `null` at zero calls → a string saying why, never a computed default. |
|
|
33
|
+
|
|
34
|
+
## 1. Over-block
|
|
35
|
+
|
|
36
|
+
**What legitimate inputs does this change reject that it shouldn't?**
|
|
37
|
+
|
|
38
|
+
Nothing is blocked — this is a read-only dashboard collector with no gating authority. The analogue
|
|
39
|
+
is **withholding a health claim from a genuinely healthy window**: a window with 1–4 clean calls now
|
|
40
|
+
reads "too few to say" instead of "healthy". Bounded, and the real rate is still displayed beside the
|
|
41
|
+
call count so the reader can judge for themselves. At 5+ calls the claim returns unchanged
|
|
42
|
+
(demonstrated: 10 clean calls → "Routing is healthy", byte-identical to before).
|
|
43
|
+
|
|
44
|
+
## 2. Under-block
|
|
45
|
+
|
|
46
|
+
**What failure modes does this still miss?**
|
|
47
|
+
|
|
48
|
+
- The floor is a call count, not a confidence interval. 5 clean calls yields "healthy" though a real
|
|
49
|
+
interval would still be wide. Deliberate: this reuses the file's existing constant rather than
|
|
50
|
+
inventing a second, differently-tuned threshold in the same file.
|
|
51
|
+
- `busiest` is still reported whenever `realCalls > 0`, which is honest (it is a count, not a rate).
|
|
52
|
+
- The 24h window itself is not surfaced as a caveat when the process started minutes ago — a
|
|
53
|
+
short-uptime window looks the same as a genuinely quiet one. Out of scope here; noted rather than
|
|
54
|
+
silently skipped.
|
|
55
|
+
|
|
56
|
+
## 3. Level-of-abstraction fit
|
|
57
|
+
|
|
58
|
+
**Is this at the right layer?**
|
|
59
|
+
|
|
60
|
+
Yes. The defect is in how this collector renders its own aggregate, so the fix belongs in it. No
|
|
61
|
+
shared helper was extracted: the sibling instance in `CoherenceGate` (PR #1648) has different types
|
|
62
|
+
and a different output shape, and abstracting over two instances would be the premature-generalisation
|
|
63
|
+
mistake this project's own spec review caught elsewhere.
|
|
64
|
+
|
|
65
|
+
## 4. Signal vs authority compliance
|
|
66
|
+
|
|
67
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
68
|
+
|
|
69
|
+
**Does this change hold blocking authority with brittle logic?**
|
|
70
|
+
|
|
71
|
+
No. Pure presentation, zero authority: no branch blocks, delays or alters anything, and the collector
|
|
72
|
+
is consumed only by the insights read surface. There is no misclassification path that can deny
|
|
73
|
+
something, because nothing is denied. The change strictly reduces the panel's capacity to mislead.
|
|
74
|
+
|
|
75
|
+
## 4b. Judgment-point check (Judgment Within Floors standard)
|
|
76
|
+
|
|
77
|
+
No judgment point is introduced. Every branch is a deterministic comparison on counted calls against
|
|
78
|
+
a constant already present in the file. The one asymmetry is deliberate and stated in a code comment:
|
|
79
|
+
anomalies are evaluated first and unconditionally, so thin evidence can never suppress a warning —
|
|
80
|
+
only the reassuring conclusion requires evidence behind it.
|
|
81
|
+
|
|
82
|
+
## 5. Interactions
|
|
83
|
+
|
|
84
|
+
- `overallErrorRate` is a local; verified by grep that nothing outside this file reads it.
|
|
85
|
+
- `InsightMetric.value` is typed `string`, so "no calls yet" needs no type change and no consumer
|
|
86
|
+
performs arithmetic on it.
|
|
87
|
+
- The existing E2E (`tests/e2e/insights-alive.test.ts`) seeds 6 calls with 3 errors — above the floor,
|
|
88
|
+
so it still routes to the anomaly branch and still asserts `/50%/`. Re-run: passes unchanged.
|
|
89
|
+
- A visible grammar fix falls out of the plural handling: "1 checks are failing" → "1 check is failing".
|
|
90
|
+
- No persistence, no config, no migration: every value is computed per call from the ledger.
|
|
91
|
+
|
|
92
|
+
## 6. External surfaces
|
|
93
|
+
|
|
94
|
+
The `/insights` payload for the `llm-activity` page changes in two places: `Error rate` may read
|
|
95
|
+
"no calls yet" instead of "0%", and the first fact may be a caveat rather than a health claim. Both
|
|
96
|
+
are display strings already typed as free text. The feature ships dark on the fleet (dev-agent gated,
|
|
97
|
+
dryRun), so exposure is limited to development agents today.
|
|
98
|
+
|
|
99
|
+
## 6b. Operator-surface quality
|
|
100
|
+
|
|
101
|
+
This is the whole point of the change. An operator glancing at the panel during a quiet window
|
|
102
|
+
previously read "Error rate: 0% · Routing is healthy" and would reasonably conclude the routing layer
|
|
103
|
+
was fine. They now read "no calls yet" and "nothing to judge yet". And in the sub-floor case they no
|
|
104
|
+
longer see a 50% error rate sitting next to the word "healthy" — the panel stops contradicting
|
|
105
|
+
itself. None of the new wording is alarming: "nothing to judge yet" says nothing is wrong AND nothing
|
|
106
|
+
is known.
|
|
107
|
+
|
|
108
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
109
|
+
|
|
110
|
+
**Posture: `unified` by construction — no new state.** The collector derives everything, per call,
|
|
111
|
+
from the per-process metrics ledger that already existed. Each machine reports its own LLM activity,
|
|
112
|
+
which is correct: a call was made by a specific process. No replication path is needed because nothing
|
|
113
|
+
is stored, and no `machine-local-justification` marker is required because no new machine-local state
|
|
114
|
+
is introduced.
|
|
115
|
+
|
|
116
|
+
## 8. Rollback cost
|
|
117
|
+
|
|
118
|
+
Trivial: revert one commit touching one source file plus its new test. No migration, no persisted
|
|
119
|
+
state, no config key. A consumer written against the new strings sees the old ones again, and the old
|
|
120
|
+
strings' failure mode is the one documented above.
|
|
121
|
+
|
|
122
|
+
## Phase 5 — Second-pass review (independent reviewer subagent)
|
|
123
|
+
|
|
124
|
+
**Disclosure, per Truthful Provenance:** no independent reviewer subagent was spawned — a standing
|
|
125
|
+
instruction in this session prohibits spawning subagents unless the operator requests it. The review
|
|
126
|
+
lenses were applied by the author. That is **reduced independence**, recorded as such rather than
|
|
127
|
+
presented as a concurring second pass.
|
|
128
|
+
|
|
129
|
+
What author-applied review actually caught and changed:
|
|
130
|
+
|
|
131
|
+
1. **The first draft ordered the branches wrongly**, putting the sub-floor caveat ahead of the
|
|
132
|
+
anomaly message. Today no anomaly can occur below the floor (a feature needs `>= MIN_REAL_CALLS`
|
|
133
|
+
to flag, so `totalReal < MIN_REAL_CALLS` implies none) — but that is an arithmetic coincidence,
|
|
134
|
+
not a guarantee. Reordered so anomalies win unconditionally, and the reasoning is in a comment so
|
|
135
|
+
a future edit to either constant cannot silently reintroduce suppression.
|
|
136
|
+
2. **My own first test asserted the wrong thing** and failed on correct output: it matched
|
|
137
|
+
`/routing is healthy/i`, which the caveat legitimately contains ("too few to say whether routing
|
|
138
|
+
is healthy"). Corrected to assert the absence of the AFFIRMATIVE claim. Worth recording because
|
|
139
|
+
this project's Tier 1 is about instruments that mis-measure — including my tests.
|
|
140
|
+
3. The consumer check was run rather than assumed, establishing that `overallErrorRate` is local and
|
|
141
|
+
that `InsightMetric.value` is already a string.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Side-Effects Review — a reviewer that never ran reported a PERFECT pass rate
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `reviewer-health-unobserved`
|
|
4
|
+
**Date:** `2026-07-26`
|
|
5
|
+
**Author:** `Echo (instar-dev agent)`
|
|
6
|
+
**Second-pass reviewer:** `author-applied lenses — see Phase 5 note (reduced independence, disclosed)`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
`CoherenceGate.getReviewerHealth()` computed `passRate = total > 0 ? passCount/total : 1`
|
|
11
|
+
and defaulted `status` to `'healthy'`. With zero observations a reviewer that had **never
|
|
12
|
+
executed once** therefore reported a perfect pass rate and a healthy status, and
|
|
13
|
+
`overallStatus` aggregated it as healthy. The absence of information rendered identically
|
|
14
|
+
to the presence of good information.
|
|
15
|
+
|
|
16
|
+
`getReviewerStats()` carried the same defect pointing both directions at once: `passRate: 0`
|
|
17
|
+
(pessimistic) for the SAME quantity ~110 lines away, and `jsonValidityRate: 1` — claiming
|
|
18
|
+
perfect JSON validity from a reviewer that had never parsed a response. Two opposite
|
|
19
|
+
defaults for one quantity in one file is the tell that neither was reasoned about.
|
|
20
|
+
|
|
21
|
+
After: rates are `null` at zero observations, the denominator is always present, `status`
|
|
22
|
+
gains `'unobserved'`, and a minimum-observation floor (5) gates **only** the optimistic
|
|
23
|
+
conclusion.
|
|
24
|
+
|
|
25
|
+
## Decision-point inventory
|
|
26
|
+
|
|
27
|
+
| point | classification | note |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `status` per reviewer | `invariant` | Deterministic thresholds on measured rates. No competing signals; the only change is that the optimistic branch now requires evidence. |
|
|
30
|
+
| `overallStatus` aggregation | `invariant` | Fixed precedence `failing > degraded > unobserved > healthy`. |
|
|
31
|
+
| `REVIEWER_HEALTH_MIN_OBSERVATIONS` | `invariant` | A constant floor, not a judgment. Adopts the `total >= 100` precedent in `SelfActionGovernor.checkObserveLimbo`; smaller (5) because this surface reports continuously rather than gating a one-way promotion. |
|
|
32
|
+
|
|
33
|
+
## 1. Over-block
|
|
34
|
+
|
|
35
|
+
**What legitimate inputs does this change reject that it shouldn't?**
|
|
36
|
+
|
|
37
|
+
Nothing is blocked — this is a read surface with no gating authority (verified: the only
|
|
38
|
+
consumer of `getReviewerHealth` is `routes.ts` serving `GET /review/health`).
|
|
39
|
+
|
|
40
|
+
The nearest analogue to over-blocking is **withholding a healthy verdict from a reviewer
|
|
41
|
+
that deserves one**. Bounded: 1–4 observations report `status: 'unobserved'` with the real
|
|
42
|
+
rate still visible, so a reader loses the label and keeps the data. At 5+ observations the
|
|
43
|
+
verdict returns. Demonstrated: 20 passes → `'healthy'`, unchanged from before.
|
|
44
|
+
|
|
45
|
+
## 2. Under-block
|
|
46
|
+
|
|
47
|
+
**What failure modes does this still miss?**
|
|
48
|
+
|
|
49
|
+
- The floor is a count, not a confidence interval. 5 passes out of 5 reports `'healthy'`
|
|
50
|
+
though a real interval would still be wide. Deliberate: this is a health display, and
|
|
51
|
+
the previous state was infinitely worse (0 observations → healthy).
|
|
52
|
+
- `jsonParseErrors > total * 0.3` remains reachable at low `total`. Left as-is: it errs
|
|
53
|
+
toward *degraded*, which is the safe direction, and widening this change to re-derive
|
|
54
|
+
every threshold would exceed the finding.
|
|
55
|
+
- Sibling sites in the same audit class are NOT fixed here and are recorded rather than
|
|
56
|
+
silently dropped: `dashboardInsightCollectors.ts:57` (`overallErrorRate → 0`, rendered
|
|
57
|
+
`Error rate: 0%`) is a real display-class instance; `OrgIntentDriftAnalyzer`,
|
|
58
|
+
`IntentDriftDetector`, `FeatureRegistry`, `ScenarioPack`, `GrowthMilestoneAnalyst` and
|
|
59
|
+
`escalation-resolution` are unexamined. The class is NOT closed.
|
|
60
|
+
|
|
61
|
+
## 3. Level-of-abstraction fit
|
|
62
|
+
|
|
63
|
+
**Is this at the right layer?**
|
|
64
|
+
|
|
65
|
+
Yes. The defect is in how these two methods report their own metrics, so the fix belongs in
|
|
66
|
+
them. A shared "rate with provenance" helper was considered and rejected as premature: the
|
|
67
|
+
sibling instances have not been read yet, and inventing an abstraction over one confirmed
|
|
68
|
+
and one probable instance would be the "six mechanisms from one bad early choice" mistake
|
|
69
|
+
the registry spec's own review caught.
|
|
70
|
+
|
|
71
|
+
## 4. Signal vs authority compliance
|
|
72
|
+
|
|
73
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
74
|
+
|
|
75
|
+
**Does this change hold blocking authority with brittle logic?**
|
|
76
|
+
|
|
77
|
+
No. Pure reporting, zero authority: no branch of either method blocks, delays, or alters
|
|
78
|
+
any message, and neither is consulted by any decision path. The change makes the surface
|
|
79
|
+
*less* likely to mislead a human reading it. There is no new failure mode where a
|
|
80
|
+
misclassification denies anything, because nothing is denied.
|
|
81
|
+
|
|
82
|
+
## 4b. Judgment-point check (Judgment Within Floors standard)
|
|
83
|
+
|
|
84
|
+
No judgment point is introduced. Every branch is a deterministic comparison on counted
|
|
85
|
+
observations, and the new floor is a constant. The one asymmetry is deliberate and stated
|
|
86
|
+
in code: the floor gates the optimistic conclusion only, so thin evidence can never
|
|
87
|
+
suppress a genuine failure (errored on both of 2 calls → still `'failing'`).
|
|
88
|
+
|
|
89
|
+
## 5. Interactions
|
|
90
|
+
|
|
91
|
+
- `getHealthDashboard()` consumes `stats.summary`, **not** `stats.reviewers`, so the
|
|
92
|
+
nullable rates do not reach it. Verified by reading the method.
|
|
93
|
+
- `getHealthDashboard()` already computed `reviewerCoverage` — "has this reviewer run?" —
|
|
94
|
+
as a separate boolean. The information needed to avoid this defect was already being
|
|
95
|
+
computed in the same class; the health surfaces just did not use it.
|
|
96
|
+
- `routes.ts:31285` and `:31367` JSON-serialise the results. `null` serialises cleanly.
|
|
97
|
+
No consumer performs arithmetic or `toFixed` on these fields (checked).
|
|
98
|
+
- No persistence, no migration, no config: these values are computed per call from
|
|
99
|
+
in-memory counters.
|
|
100
|
+
|
|
101
|
+
## 6. External surfaces
|
|
102
|
+
|
|
103
|
+
`GET /review/health` and `GET /review/stats` response shapes change: rates may be `null`,
|
|
104
|
+
`status` may be `'unobserved'`, and three fields are added (`errorRate`,
|
|
105
|
+
`observationsRequired`, `insufficientEvidence`). On installs where the response-review
|
|
106
|
+
pipeline is disabled — including this one — both routes already return `501`, so the live
|
|
107
|
+
blast radius here is nil. Any consumer must already handle `501`, and a `null` rate is
|
|
108
|
+
strictly more honest than the `1` it replaces.
|
|
109
|
+
|
|
110
|
+
## 6b. Operator-surface quality
|
|
111
|
+
|
|
112
|
+
An operator asking "is my outbound review pipeline healthy?" previously received a
|
|
113
|
+
confident yes from a pipeline that had never run. They now receive `unobserved` with the
|
|
114
|
+
observation count beside it, which is answerable rather than misleading. `'unobserved'` is
|
|
115
|
+
deliberately not an alarm word: nothing is wrong, nothing is known yet.
|
|
116
|
+
|
|
117
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
118
|
+
|
|
119
|
+
**Posture: `unified` by construction — no new state.** These are derived reads over
|
|
120
|
+
per-process in-memory counters that already existed. Each machine reports its own
|
|
121
|
+
reviewers' observations, which is correct: a reviewer's execution count is a property of
|
|
122
|
+
the process that ran it. No replication path is needed because nothing is stored, and no
|
|
123
|
+
`machine-local-justification` marker is required because no new machine-local state is
|
|
124
|
+
introduced.
|
|
125
|
+
|
|
126
|
+
## 8. Rollback cost
|
|
127
|
+
|
|
128
|
+
Trivial and self-contained: revert one commit touching one source file and one test file.
|
|
129
|
+
No migration, no persisted state, no config key, nothing to unwind. A consumer written
|
|
130
|
+
against the new shape sees the old shape again, and the old shape's failure mode is the
|
|
131
|
+
one documented above.
|
|
132
|
+
|
|
133
|
+
## Phase 5 — Second-pass review (independent reviewer subagent)
|
|
134
|
+
|
|
135
|
+
**Disclosure, per Truthful Provenance:** no independent reviewer subagent was spawned.
|
|
136
|
+
A standing instruction in this session prohibits spawning subagents unless the operator
|
|
137
|
+
requests it, so the review lenses (over-block, under-block, abstraction fit, signal-vs-
|
|
138
|
+
authority, interactions, multi-machine) were applied by the author. That is **reduced
|
|
139
|
+
independence** and is recorded as such rather than presented as a concurring second pass.
|
|
140
|
+
|
|
141
|
+
What author-applied review actually caught and changed:
|
|
142
|
+
|
|
143
|
+
1. An initial draft treated `total === 0` and `0 < total < 5` as one state. Splitting them
|
|
144
|
+
mattered: at `total > 0` the rate is real data worth showing, and only the *verdict*
|
|
145
|
+
needs withholding. Hence `passRate` is `null` only at zero, never at "few".
|
|
146
|
+
2. The first design gated all three branches on the floor, which would have **suppressed a
|
|
147
|
+
genuine failure** on thin evidence — recreating the same defect pointing the other way.
|
|
148
|
+
Corrected so the floor gates optimism only.
|
|
149
|
+
3. The consumer check was run rather than assumed, which is what established that
|
|
150
|
+
`getHealthDashboard` reads `stats.summary` and is unaffected. An earlier claim in this
|
|
151
|
+
session that this surface "gates the enforcement flip" was **disproven** by the same
|
|
152
|
+
check and withdrawn: `getReviewerHealth` has exactly one consumer, the route.
|