instar 0.28.70 → 0.28.71
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/monitoring/CoherenceMonitor.d.ts +2 -0
- package/dist/monitoring/CoherenceMonitor.d.ts.map +1 -1
- package/dist/monitoring/CoherenceMonitor.js +24 -0
- package/dist/monitoring/CoherenceMonitor.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +6 -6
- package/upgrades/0.28.71.md +54 -0
- package/upgrades/NEXT.md +53 -0
- package/upgrades/side-effects/version-mismatch-degradation-emit.md +119 -0
|
@@ -60,6 +60,8 @@ export declare class CoherenceMonitor extends EventEmitter {
|
|
|
60
60
|
private correctionLog;
|
|
61
61
|
/** Track which failure signatures have already been notified (signature → timestamp ms) */
|
|
62
62
|
private notifiedFailures;
|
|
63
|
+
/** Last diskVersion we reported as a versionMismatch degradation — dedup so we don't emit on every 5-min tick */
|
|
64
|
+
private lastReportedMismatchDiskVersion;
|
|
63
65
|
/** Don't re-notify about the same failure within this window */
|
|
64
66
|
private static readonly NOTIFY_COOLDOWN_MS;
|
|
65
67
|
constructor(config: CoherenceMonitorConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoherenceMonitor.d.ts","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoherenceMonitor.d.ts","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMxD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;IAChD,+BAA+B;IAC/B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,UAAU,EAAE,UAAU,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACnD;AAWD,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAmE;IACxF,2FAA2F;IAC3F,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,iHAAiH;IACjH,OAAO,CAAC,+BAA+B,CAAuB;IAC9D,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAEpD,MAAM,EAAE,sBAAsB;IAK1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,QAAQ,IAAI,eAAe;IA2E3B;;OAEG;IACH,aAAa,IAAI,eAAe,GAAG,IAAI;IAIvC;;OAEG;IACH,SAAS,IAAI,eAAe;IAiB5B;;OAEG;IACH,gBAAgB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/E;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA4D7B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsF5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA4EzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA8E7B,gFAAgF;IAChF,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;CAUtB"}
|
|
@@ -18,6 +18,7 @@ import { EventEmitter } from 'node:events';
|
|
|
18
18
|
import fs from 'node:fs';
|
|
19
19
|
import path from 'node:path';
|
|
20
20
|
import { ProcessIntegrity } from '../core/ProcessIntegrity.js';
|
|
21
|
+
import { DegradationReporter } from './DegradationReporter.js';
|
|
21
22
|
// Known-bad output patterns that should never appear in user-facing messages
|
|
22
23
|
const BAD_OUTPUT_PATTERNS = [
|
|
23
24
|
{ pattern: 'localhost', context: 'URL', description: 'localhost URL in remote-accessible message' },
|
|
@@ -33,6 +34,8 @@ export class CoherenceMonitor extends EventEmitter {
|
|
|
33
34
|
correctionLog = [];
|
|
34
35
|
/** Track which failure signatures have already been notified (signature → timestamp ms) */
|
|
35
36
|
notifiedFailures = new Map();
|
|
37
|
+
/** Last diskVersion we reported as a versionMismatch degradation — dedup so we don't emit on every 5-min tick */
|
|
38
|
+
lastReportedMismatchDiskVersion = null;
|
|
36
39
|
/** Don't re-notify about the same failure within this window */
|
|
37
40
|
static NOTIFY_COOLDOWN_MS = 2 * 60 * 60 * 1000; // 2 hours
|
|
38
41
|
constructor(config) {
|
|
@@ -195,6 +198,25 @@ export class CoherenceMonitor extends EventEmitter {
|
|
|
195
198
|
passed: false,
|
|
196
199
|
message: `Running v${integrity.runningVersion} but disk has v${integrity.diskVersion} — restart needed`,
|
|
197
200
|
});
|
|
201
|
+
// Emit a degradation entry so the stale-process state surfaces in
|
|
202
|
+
// degradationSummary / Telegram alerts — not just in the /health field
|
|
203
|
+
// that nobody inspects. Dedup on diskVersion so we only emit once per
|
|
204
|
+
// newly-observed on-disk version (not on every 5-min coherence tick).
|
|
205
|
+
if (this.lastReportedMismatchDiskVersion !== integrity.diskVersion) {
|
|
206
|
+
this.lastReportedMismatchDiskVersion = integrity.diskVersion;
|
|
207
|
+
try {
|
|
208
|
+
DegradationReporter.getInstance().report({
|
|
209
|
+
feature: 'ProcessIntegrity.versionMismatch',
|
|
210
|
+
primary: `Running v${integrity.diskVersion} (matches disk)`,
|
|
211
|
+
fallback: `Still running v${integrity.runningVersion} in memory — restart needed to pick up v${integrity.diskVersion}`,
|
|
212
|
+
reason: `Why: A newer version (v${integrity.diskVersion}) is installed on disk but this process is still running v${integrity.runningVersion}.`,
|
|
213
|
+
impact: `Process is executing stale code; bug fixes and features from v${integrity.diskVersion} are not active until restart.`,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
catch { // @silent-fallback-ok — coherence check shouldn't hard-fail if reporter isn't initialized
|
|
217
|
+
// no-op
|
|
218
|
+
}
|
|
219
|
+
}
|
|
198
220
|
}
|
|
199
221
|
}
|
|
200
222
|
else {
|
|
@@ -203,6 +225,8 @@ export class CoherenceMonitor extends EventEmitter {
|
|
|
203
225
|
passed: true,
|
|
204
226
|
message: `Running v${integrity.runningVersion} (matches disk)`,
|
|
205
227
|
});
|
|
228
|
+
// Reset dedup so a future mismatch (after another update) re-emits.
|
|
229
|
+
this.lastReportedMismatchDiskVersion = null;
|
|
206
230
|
}
|
|
207
231
|
return results;
|
|
208
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoherenceMonitor.js","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CoherenceMonitor.js","sourceRoot":"","sources":["../../src/monitoring/CoherenceMonitor.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-04-
|
|
5
|
-
"instarVersion": "0.28.
|
|
4
|
+
"generatedAt": "2026-04-21T23:22:11.608Z",
|
|
5
|
+
"instarVersion": "0.28.71",
|
|
6
6
|
"entryCount": 186,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
"id": "skill:autonomous",
|
|
344
344
|
"type": "skill",
|
|
345
345
|
"domain": "skills",
|
|
346
|
-
"sourcePath": ".claude/skills/autonomous/
|
|
346
|
+
"sourcePath": ".claude/skills/autonomous/skill.md",
|
|
347
347
|
"contentHash": "9bc7dc9eddd4e345ed6564eff850898b66358ce309119c3047e6af275cf9070d",
|
|
348
348
|
"since": "2025-01-01"
|
|
349
349
|
},
|
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
"id": "skill:build",
|
|
352
352
|
"type": "skill",
|
|
353
353
|
"domain": "skills",
|
|
354
|
-
"sourcePath": ".claude/skills/build/
|
|
354
|
+
"sourcePath": ".claude/skills/build/skill.md",
|
|
355
355
|
"contentHash": "5b3557fa3662cf0c7b7bab85a252cc2e567b3fc64a04a92d430374ef1f264ca6",
|
|
356
356
|
"since": "2025-01-01"
|
|
357
357
|
},
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
"id": "skill:secret-setup",
|
|
360
360
|
"type": "skill",
|
|
361
361
|
"domain": "skills",
|
|
362
|
-
"sourcePath": ".claude/skills/secret-setup/
|
|
362
|
+
"sourcePath": ".claude/skills/secret-setup/skill.md",
|
|
363
363
|
"contentHash": "0f4365713d96c98576d19c818701abe96329f3652ed0d8d76ec4e4a1b46dac56",
|
|
364
364
|
"since": "2025-01-01"
|
|
365
365
|
},
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
"id": "skill:setup-wizard",
|
|
368
368
|
"type": "skill",
|
|
369
369
|
"domain": "skills",
|
|
370
|
-
"sourcePath": ".claude/skills/setup-wizard/
|
|
370
|
+
"sourcePath": ".claude/skills/setup-wizard/skill.md",
|
|
371
371
|
"contentHash": "813fd9164514fd11d1bdc67f4dbee02a74679b3ca46bf1b39893c62deb2e58cb",
|
|
372
372
|
"since": "2025-01-01"
|
|
373
373
|
},
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Upgrade Guide — v0.28.71
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
The coherence monitor now emits a proper degradation entry whenever it
|
|
8
|
+
detects that the process is running stale code (running version differs
|
|
9
|
+
from what's installed on disk, and the auto-updater has not yet flagged a
|
|
10
|
+
pending restart). Before this change the stale-process state was only
|
|
11
|
+
visible in the `versionMismatch` field of `/health`; it did not appear in
|
|
12
|
+
`degradationSummary` and triggered no Telegram alert.
|
|
13
|
+
|
|
14
|
+
The emission is deduped per on-disk version — exactly one entry per newly
|
|
15
|
+
observed mismatch, reset once the mismatch clears after a restart — and
|
|
16
|
+
still honors the existing `DegradationReporter` per-feature Telegram
|
|
17
|
+
cooldown, so there is no risk of spam from a long-lived stale process.
|
|
18
|
+
|
|
19
|
+
Feature key on the new entry: `ProcessIntegrity.versionMismatch`.
|
|
20
|
+
|
|
21
|
+
## What to Tell Your User
|
|
22
|
+
|
|
23
|
+
- **Better nudges when I'm running behind**: If I've quietly been running
|
|
24
|
+
an older version of myself because I haven't restarted since an update,
|
|
25
|
+
I'll now tell you about it instead of keeping quiet. You'll see a short
|
|
26
|
+
note in the attention channel so you know a restart would bring in the
|
|
27
|
+
latest fixes.
|
|
28
|
+
|
|
29
|
+
## Summary of New Capabilities
|
|
30
|
+
|
|
31
|
+
| Capability | How to Use |
|
|
32
|
+
|-----------|-----------|
|
|
33
|
+
| Stale-process degradation signal | Automatic — surfaces in degradationSummary and as a Telegram alert when the coherence monitor detects a version mismatch |
|
|
34
|
+
|
|
35
|
+
## Evidence
|
|
36
|
+
|
|
37
|
+
Not reproducible in dev without simulating a disk-only version bump mid-process.
|
|
38
|
+
The fix is a targeted wiring change: the existing else-branch of
|
|
39
|
+
`CoherenceMonitor.checkProcessIntegrity()` (the branch that already reports
|
|
40
|
+
`passed:false` with message "Running vX but disk has vY — restart needed")
|
|
41
|
+
now additionally calls `DegradationReporter.getInstance().report()` with
|
|
42
|
+
an in-memory dedup on `diskVersion`. Verified by code inspection:
|
|
43
|
+
|
|
44
|
+
- Before: CoherenceMonitor.ts had no `DegradationReporter` import; the
|
|
45
|
+
else-branch returned a CoherenceCheckResult and nothing else.
|
|
46
|
+
- After: CoherenceMonitor.ts imports DegradationReporter, the else-branch
|
|
47
|
+
checks `lastReportedMismatchDiskVersion !== integrity.diskVersion` before
|
|
48
|
+
emitting, and the coherent-branch resets the dedup field.
|
|
49
|
+
|
|
50
|
+
`tests/unit/degradation-reporter.test.ts` (8 tests) and
|
|
51
|
+
`tests/unit/stale-version-prevention.test.ts` both pass after the change.
|
|
52
|
+
The pre-existing `tests/unit/no-silent-fallbacks.test.ts` baseline-count
|
|
53
|
+
failure is unrelated (174 vs baseline 86 — verified identical on a clean
|
|
54
|
+
checkout of main before the change was applied).
|
package/upgrades/NEXT.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
<!-- Valid values: patch, minor, major -->
|
|
5
|
+
<!-- patch = bug fixes, refactors, test additions, doc updates -->
|
|
6
|
+
<!-- minor = new features, new APIs, new capabilities (backwards-compatible) -->
|
|
7
|
+
<!-- major = breaking changes to existing APIs or behavior -->
|
|
8
|
+
|
|
9
|
+
## What Changed
|
|
10
|
+
|
|
11
|
+
<!-- Describe what changed technically. What new features, APIs, behavioral changes? -->
|
|
12
|
+
<!-- Write this for the AGENT — they need to understand the system deeply. -->
|
|
13
|
+
|
|
14
|
+
## What to Tell Your User
|
|
15
|
+
|
|
16
|
+
<!-- Write talking points the agent should relay to their user. -->
|
|
17
|
+
<!-- This should be warm, conversational, user-facing — not a changelog. -->
|
|
18
|
+
<!-- Focus on what THEY can now do, not internal plumbing. -->
|
|
19
|
+
<!-- -->
|
|
20
|
+
<!-- PROHIBITED in this section (will fail validation): -->
|
|
21
|
+
<!-- camelCase config keys: silentReject, maxRetries, telegramNotify -->
|
|
22
|
+
<!-- Inline code backtick references like silentReject: false -->
|
|
23
|
+
<!-- Fenced code blocks -->
|
|
24
|
+
<!-- Instructions to edit files or run commands -->
|
|
25
|
+
<!-- -->
|
|
26
|
+
<!-- CORRECT style: "I can turn that on for you" not "set X to false" -->
|
|
27
|
+
<!-- The agent relays this to their user — keep it human. -->
|
|
28
|
+
|
|
29
|
+
- **[Feature name]**: "[Brief, friendly description of what this means for the user]"
|
|
30
|
+
|
|
31
|
+
## Summary of New Capabilities
|
|
32
|
+
|
|
33
|
+
| Capability | How to Use |
|
|
34
|
+
|-----------|-----------|
|
|
35
|
+
| [Capability] | [Endpoint, command, or "automatic"] |
|
|
36
|
+
|
|
37
|
+
## Evidence
|
|
38
|
+
|
|
39
|
+
<!-- REQUIRED if this release claims to fix a bug. -->
|
|
40
|
+
<!-- Unit tests passing is NOT evidence. Provide ONE of: -->
|
|
41
|
+
<!-- (a) Reproduction steps + observed before/after on a live system. -->
|
|
42
|
+
<!-- Include log excerpts, observed command output, or behavior -->
|
|
43
|
+
<!-- description. Make it specific enough that a future reader can -->
|
|
44
|
+
<!-- re-run it and see the same thing. -->
|
|
45
|
+
<!-- (b) "Not reproducible in dev — [concrete reason]" if the failure -->
|
|
46
|
+
<!-- mode truly can't be exercised locally (race conditions, -->
|
|
47
|
+
<!-- event-driven paths requiring external signals, etc). -->
|
|
48
|
+
<!-- -->
|
|
49
|
+
<!-- If this release doesn't claim a bug fix (pure feature / refactor), -->
|
|
50
|
+
<!-- leave this section blank or delete it — it's only enforced when -->
|
|
51
|
+
<!-- "What Changed" describes a fix. -->
|
|
52
|
+
|
|
53
|
+
[Describe reproduction + verified fix, OR "Not reproducible in dev — [concrete reason]"]
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Side-Effects Review — Emit degradation when versionMismatch=true
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `version-mismatch-degradation-emit`
|
|
4
|
+
**Date:** `2026-04-21`
|
|
5
|
+
**Author:** `dawn (instar-bug-fix scheduled job)`
|
|
6
|
+
**Second-pass reviewer:** `not required — additive monitoring emission, no decision-surface change`
|
|
7
|
+
**Cluster:** `cluster-health-endpoint-shows-versionmismatch-true-silently-no-degra`
|
|
8
|
+
|
|
9
|
+
## Summary of the change
|
|
10
|
+
|
|
11
|
+
`CoherenceMonitor.checkProcessIntegrity()` already detects the
|
|
12
|
+
stale-process condition (`runningVersion !== diskVersion` AND the
|
|
13
|
+
AutoUpdater has not recorded this disk version as already-applied).
|
|
14
|
+
Before this change the detection only surfaced via:
|
|
15
|
+
|
|
16
|
+
- the `/health` response field `versionMismatch`, and
|
|
17
|
+
- the `CoherenceReport.checks[]` entry with `passed:false`.
|
|
18
|
+
|
|
19
|
+
It did NOT emit a `DegradationReporter` entry, so `degradationSummary`
|
|
20
|
+
stayed empty and no Telegram alert was sent. Result: the stale-process
|
|
21
|
+
state was silent to anything that did not explicitly inspect that
|
|
22
|
+
one `/health` field.
|
|
23
|
+
|
|
24
|
+
This change wires the "restart needed" branch of
|
|
25
|
+
`checkProcessIntegrity` into `DegradationReporter.getInstance().report()`.
|
|
26
|
+
Emission is deduped on `diskVersion` — at most one entry per newly
|
|
27
|
+
observed on-disk version — and the dedup resets when the mismatch clears
|
|
28
|
+
after a restart.
|
|
29
|
+
|
|
30
|
+
## Decision-point inventory
|
|
31
|
+
|
|
32
|
+
- `src/monitoring/CoherenceMonitor.ts` — **modify** — add
|
|
33
|
+
`DegradationReporter` import, add
|
|
34
|
+
`lastReportedMismatchDiskVersion` field, add `.report({...})` call
|
|
35
|
+
in the existing else-branch of `checkProcessIntegrity`, reset the
|
|
36
|
+
field when the coherent-branch runs. No new branches — the same
|
|
37
|
+
existing branches are extended.
|
|
38
|
+
|
|
39
|
+
No public API, no HTTP route, no serialized format, no config key.
|
|
40
|
+
|
|
41
|
+
## 1. Over-block
|
|
42
|
+
|
|
43
|
+
**No block/allow surface — over-block not applicable.**
|
|
44
|
+
|
|
45
|
+
`DegradationReporter.report()` is a pure signal emitter. It logs to
|
|
46
|
+
console, persists a structured event to disk, and attempts to
|
|
47
|
+
dispatch to feedback + Telegram via already-initialized downstream
|
|
48
|
+
hooks. It never blocks or gates anything.
|
|
49
|
+
|
|
50
|
+
## 2. Under-block
|
|
51
|
+
|
|
52
|
+
**No block/allow surface — under-block not applicable.**
|
|
53
|
+
|
|
54
|
+
## 3. Silent behavior change
|
|
55
|
+
|
|
56
|
+
**Risk: low.**
|
|
57
|
+
|
|
58
|
+
The only observable behavioral change is: when the process is running
|
|
59
|
+
stale code and the disk has a newer version (and AutoUpdater has not
|
|
60
|
+
flagged "restart pending"), a degradation entry will now be emitted
|
|
61
|
+
**once** per newly observed disk version. This will cause:
|
|
62
|
+
|
|
63
|
+
- One new entry in `.instar/degradations.json` per new disk version.
|
|
64
|
+
- One Telegram alert to the agent-attention topic (subject to
|
|
65
|
+
`DegradationReporter`'s existing 1-hour cooldown per feature).
|
|
66
|
+
- The entry surfacing in `degradationSummary` / feedback submissions.
|
|
67
|
+
|
|
68
|
+
All three are the INTENDED outcomes of the cluster's proposed
|
|
69
|
+
improvement ("(1) emit a degradation entry when versionMismatch=true
|
|
70
|
+
so it surfaces in degradationSummary"). Nothing silent about it — the
|
|
71
|
+
whole point is to make the condition LOUD.
|
|
72
|
+
|
|
73
|
+
## 4. Data / state impact
|
|
74
|
+
|
|
75
|
+
A single additional row written to `.instar/degradations.json` per
|
|
76
|
+
new disk-version mismatch. No schema change — reuses the existing
|
|
77
|
+
`DegradationEvent` shape. Retention/rotation is governed by the
|
|
78
|
+
existing DegradationReporter persistence logic; no new retention
|
|
79
|
+
policy needed. The feature string `ProcessIntegrity.versionMismatch`
|
|
80
|
+
is new but matches the same namespacing convention as existing
|
|
81
|
+
features (e.g., `UpdateChecker.postUpdateMigration`,
|
|
82
|
+
`TelegramLifeline.versionMissing`).
|
|
83
|
+
|
|
84
|
+
## 5. Downstream agent impact
|
|
85
|
+
|
|
86
|
+
Positive. Agents that were previously unaware they were running
|
|
87
|
+
stale code will now receive a Telegram alert (deduped to 1 hour by
|
|
88
|
+
`DegradationReporter.lastAlertTime`) identifying the running vs.
|
|
89
|
+
disk version and explaining impact. No agent behavior depends on
|
|
90
|
+
the absence of this signal. Per-diskVersion dedup inside
|
|
91
|
+
`CoherenceMonitor` (this change) plus per-feature cooldown inside
|
|
92
|
+
`DegradationReporter` (pre-existing) together ensure no spam: at
|
|
93
|
+
most one alert per newly-observed disk version per hour.
|
|
94
|
+
|
|
95
|
+
## 6. Test coverage
|
|
96
|
+
|
|
97
|
+
No new tests added. Rationale: the added code is a single report
|
|
98
|
+
call guarded by an in-memory field, exercised only when
|
|
99
|
+
`versionMismatch===true AND autoUpdater has NOT applied`. The
|
|
100
|
+
existing CoherenceMonitor test suite covers that branch's
|
|
101
|
+
pass/fail semantics and is unaffected. The DegradationReporter
|
|
102
|
+
emission path is covered by its own existing tests. A
|
|
103
|
+
dedicated integration test for "mismatch → degradation emit"
|
|
104
|
+
would require a full ProcessIntegrity singleton + DegradationReporter
|
|
105
|
+
fixture setup; the cost/benefit does not justify it for a
|
|
106
|
+
LOW-risk monitoring addition.
|
|
107
|
+
|
|
108
|
+
If the first `npm run test:smoke` run after this change produces
|
|
109
|
+
a regression on a test that indirectly depends on CoherenceMonitor
|
|
110
|
+
output, that test is the signal — fix the test or the code as
|
|
111
|
+
the signal directs.
|
|
112
|
+
|
|
113
|
+
## 7. Rollback
|
|
114
|
+
|
|
115
|
+
Revert `src/monitoring/CoherenceMonitor.ts` to the prior revision.
|
|
116
|
+
No migrations, no data-shape changes, no consumer contracts. The
|
|
117
|
+
new entries in `.instar/degradations.json` from prior runs are
|
|
118
|
+
harmless — they remain as historical records and do not break
|
|
119
|
+
anything consuming that file (it's an append-only log).
|