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.
@@ -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: 'healthy' | 'degraded' | 'failing';
389
+ overallStatus: ReviewerHealthStatus;
384
390
  reviewers: Record<string, {
385
- passRate: number;
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
- status: 'healthy' | 'degraded' | 'failing';
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 : 0,
1262
- flagRate: total > 0 ? m.failCount / total : 0,
1263
- errorRate: total > 0 ? m.errorCount / total : 0,
1264
- avgLatencyMs: total > 0 ? Math.round(m.totalLatencyMs / total) : 0,
1265
- jsonValidityRate: total > 0 ? 1 - (m.jsonParseErrors / total) : 1,
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
- const passRate = total > 0 ? m.passCount / total : 1;
1357
- const errorRate = total > 0 ? m.errorCount / total : 0;
1358
- let status = 'healthy';
1359
- if (errorRate > 0.5 || (total > 10 && passRate < 0.1)) {
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
- reviewerHealth[name] = { passRate, total, status };
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,CA0C9F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,GAAG,WAAW,EAAE,CAWhB"}
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
- const overallErrorRate = totalReal > 0 ? totalErrors / totalReal : 0;
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
- { label: 'Error rate', value: `${Math.round(overallErrorRate * 100)}%` },
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
- if (anomalies.length === 0) {
60
- facts.push(`Routing is healthy ${features.length} checks ran with no check failing a meaningful share of its calls.`);
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(`${anomalies.length} check${anomalies.length === 1 ? '' : 's'} ${anomalies.length === 1 ? 'is' : 'are'} failing more than usual and worth a look.`);
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":"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"}
1
+ {"version":3,"file":"dashboardInsightCollectors.js","sourceRoot":"","sources":["../../src/monitoring/dashboardInsightCollectors.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.979",
3
+ "version": "1.3.981",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-07-26T03:35:02.317Z",
5
- "instarVersion": "1.3.979",
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.