instar 1.3.654 → 1.3.656
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +40 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/core/LiveTestHarness.d.ts +30 -1
- package/dist/core/LiveTestHarness.d.ts.map +1 -1
- package/dist/core/LiveTestHarness.js +33 -0
- package/dist/core/LiveTestHarness.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/rateLimitFalsePositiveMatrix.d.ts +28 -0
- package/dist/core/rateLimitFalsePositiveMatrix.d.ts.map +1 -0
- package/dist/core/rateLimitFalsePositiveMatrix.js +74 -0
- package/dist/core/rateLimitFalsePositiveMatrix.js.map +1 -0
- package/dist/core/types.d.ts +13 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/CompactionSentinel.d.ts +9 -0
- package/dist/monitoring/CompactionSentinel.d.ts.map +1 -1
- package/dist/monitoring/CompactionSentinel.js +8 -0
- package/dist/monitoring/CompactionSentinel.js.map +1 -1
- package/dist/monitoring/PresenceProxy.d.ts +14 -0
- package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
- package/dist/monitoring/PresenceProxy.js +103 -11
- package/dist/monitoring/PresenceProxy.js.map +1 -1
- package/dist/monitoring/QuotaCollector.d.ts.map +1 -1
- package/dist/monitoring/QuotaCollector.js +21 -8
- package/dist/monitoring/QuotaCollector.js.map +1 -1
- package/dist/monitoring/RateLimitSentinel.d.ts +25 -0
- package/dist/monitoring/RateLimitSentinel.d.ts.map +1 -1
- package/dist/monitoring/RateLimitSentinel.js +44 -0
- package/dist/monitoring/RateLimitSentinel.js.map +1 -1
- package/dist/monitoring/ResumeQueue.d.ts +17 -2
- package/dist/monitoring/ResumeQueue.d.ts.map +1 -1
- package/dist/monitoring/ResumeQueue.js +19 -2
- package/dist/monitoring/ResumeQueue.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.655.md +29 -0
- package/upgrades/1.3.656.md +68 -0
- package/upgrades/side-effects/false-ratelimit-recovery-completed-sessions.md +113 -0
- package/upgrades/side-effects/honest-session-state-surfaces.md +185 -0
|
@@ -39,6 +39,20 @@ export interface ChannelDriver {
|
|
|
39
39
|
timeoutMs: number;
|
|
40
40
|
afterMessageId?: string;
|
|
41
41
|
}): Promise<ReplyResult | null>;
|
|
42
|
+
/**
|
|
43
|
+
* OPTIONAL — collect EVERY message that lands on the channel within a window
|
|
44
|
+
* (after `afterMessageId`). Backs ABSENCE assertions: "after X, no message
|
|
45
|
+
* matching <pattern> arrives within the window". A single awaitReply can't prove
|
|
46
|
+
* absence (it returns the first reply, and a spurious background nudge may land
|
|
47
|
+
* AFTER a legitimate reply). A driver that does not implement this makes an
|
|
48
|
+
* absence scenario BLOCKED (driver-unsupported), never a silent pass. The fix
|
|
49
|
+
* this enables to test: a finished session must emit ZERO throttle-resume nudges
|
|
50
|
+
* (live incident 2026-06-24).
|
|
51
|
+
*/
|
|
52
|
+
collectMessages?(surface: Surface, channelId: string, opts: {
|
|
53
|
+
windowMs: number;
|
|
54
|
+
afterMessageId?: string;
|
|
55
|
+
}): Promise<ReplyResult[]>;
|
|
42
56
|
}
|
|
43
57
|
export type Volatility = 'safe' | 'volatile' | 'permission';
|
|
44
58
|
export interface HarnessScenario {
|
|
@@ -50,12 +64,27 @@ export interface HarnessScenario {
|
|
|
50
64
|
channelId: string;
|
|
51
65
|
/** The user message to send. */
|
|
52
66
|
input: string;
|
|
53
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* Deterministic expectations checked against the captured reply (or, for an
|
|
69
|
+
* absence scenario, against every message collected over `absenceWindowMs`).
|
|
70
|
+
* - replyContains / replyNotEmpty / responderMachine: assert the reply.
|
|
71
|
+
* - replyMustNotContain: the (first) reply must NOT contain this substring.
|
|
72
|
+
* - noMessageMatching: ABSENCE — paired with `absenceWindowMs`, asserts NO
|
|
73
|
+
* message landing on the channel within the window contains this substring.
|
|
74
|
+
*/
|
|
54
75
|
expect: {
|
|
55
76
|
replyContains?: string;
|
|
56
77
|
replyNotEmpty?: boolean;
|
|
57
78
|
responderMachine?: string;
|
|
79
|
+
replyMustNotContain?: string;
|
|
80
|
+
noMessageMatching?: string;
|
|
58
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* When set, this is an ABSENCE scenario: after sending `input`, the harness
|
|
84
|
+
* collects every message on the channel for this many ms and asserts none match
|
|
85
|
+
* `expect.noMessageMatching`. Requires a driver implementing `collectMessages`.
|
|
86
|
+
*/
|
|
87
|
+
absenceWindowMs?: number;
|
|
59
88
|
timeoutMs?: number;
|
|
60
89
|
}
|
|
61
90
|
export interface HarnessMatrix {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveTestHarness.d.ts","sourceRoot":"","sources":["../../src/core/LiveTestHarness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAAE,qBAAqB,EAAE,YAAY,EAAe,OAAO,EAC5E,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,UAAU;IAAG,SAAS,EAAE,MAAM,CAAA;CAAE;AACjD,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE;AAE7F,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5D,+CAA+C;IAC/C,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,0DAA0D;IAC1D,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACpI;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"LiveTestHarness.d.ts","sourceRoot":"","sources":["../../src/core/LiveTestHarness.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,37 @@ export class LiveTestHarness {
|
|
|
67
67
|
const timeoutMs = s.timeoutMs ?? this.d.defaultTimeoutMs ?? 30_000;
|
|
68
68
|
const maxRetries = this.d.maxReplyRetries ?? 2;
|
|
69
69
|
const base = { id: s.id, description: s.description, surface: s.surface, riskCategory: s.riskCategory, verdict: 'FAIL' };
|
|
70
|
+
// ── ABSENCE scenario: assert NO message matching the pattern lands within the
|
|
71
|
+
// window (the structural way to catch a spurious background message — e.g. a
|
|
72
|
+
// throttle-resume nudge fired against a finished session).
|
|
73
|
+
if (s.absenceWindowMs != null) {
|
|
74
|
+
const pattern = s.expect.noMessageMatching;
|
|
75
|
+
if (!pattern) {
|
|
76
|
+
return { ...base, verdict: 'BLOCKED', blockedKind: 'operator-waiver', blockedReason: 'absence scenario missing expect.noMessageMatching' };
|
|
77
|
+
}
|
|
78
|
+
if (!this.d.driver.collectMessages) {
|
|
79
|
+
// Never silently pass — an absence assertion an unsupported driver cannot
|
|
80
|
+
// make is BLOCKED with a named reason, not a PASS.
|
|
81
|
+
return { ...base, verdict: 'BLOCKED', blockedKind: 'platform-error', blockedReason: 'driver does not support collectMessages (absence assertion unverifiable)' };
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const sent = await this.d.driver.send(s.surface, s.channelId, s.input);
|
|
85
|
+
const collected = await this.d.driver.collectMessages(s.surface, s.channelId, { windowMs: s.absenceWindowMs, afterMessageId: sent.messageId });
|
|
86
|
+
const offending = collected.find(m => m.text.includes(pattern));
|
|
87
|
+
const evidence = { channelId: s.channelId, messageIds: [sent.messageId, ...collected.map(m => m.messageId)] };
|
|
88
|
+
if (offending) {
|
|
89
|
+
this.log(`scenario ${s.id} FAIL: spurious message matched "${pattern}": ${JSON.stringify(offending.text.slice(0, 120))}`);
|
|
90
|
+
return { ...base, verdict: 'FAIL', evidence, blockedReason: `spurious message matched "${pattern}"` };
|
|
91
|
+
}
|
|
92
|
+
return { ...base, verdict: 'PASS', evidence };
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
// @silent-fallback-ok: not a silent fallback — a driver error is SURFACED as a
|
|
96
|
+
// FAIL verdict (with the error in blockedReason) that the LiveTestGate consumes
|
|
97
|
+
// and VETOES on. The error is escalated, not swallowed; this is the loud path.
|
|
98
|
+
return { ...base, verdict: 'FAIL', blockedReason: `driver error: ${err instanceof Error ? err.message : String(err)}` };
|
|
99
|
+
}
|
|
100
|
+
}
|
|
70
101
|
try {
|
|
71
102
|
const sent = await this.d.driver.send(s.surface, s.channelId, s.input);
|
|
72
103
|
let reply = null;
|
|
@@ -85,6 +116,8 @@ export class LiveTestHarness {
|
|
|
85
116
|
failures.push(`reply missing "${s.expect.replyContains}"`);
|
|
86
117
|
if (s.expect.replyNotEmpty && reply.text.trim() === '')
|
|
87
118
|
failures.push('reply empty');
|
|
119
|
+
if (s.expect.replyMustNotContain && reply.text.includes(s.expect.replyMustNotContain))
|
|
120
|
+
failures.push(`reply unexpectedly contained "${s.expect.replyMustNotContain}"`);
|
|
88
121
|
if (s.expect.responderMachine && reply.responderMachineId !== s.expect.responderMachine)
|
|
89
122
|
failures.push(`responder ${reply.responderMachineId ?? 'unknown'} ≠ expected ${s.expect.responderMachine}`);
|
|
90
123
|
if (failures.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveTestHarness.js","sourceRoot":"","sources":["../../src/core/LiveTestHarness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"LiveTestHarness.js","sourceRoot":"","sources":["../../src/core/LiveTestHarness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devGatedFeatures.d.ts","sourceRoot":"","sources":["../../src/core/devGatedFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"devGatedFeatures.d.ts","sourceRoot":"","sources":["../../src/core/devGatedFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,EA8Y/C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EA2InD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAO5E"}
|
|
@@ -30,6 +30,12 @@ export const DEV_GATED_FEATURES = [
|
|
|
30
30
|
description: 'The Agent Carries the Loop (C1+C2) — owner-gated beacon suppression + external-block staleness governor + evidence-gated graveyard reconciler; the user is never status-pinged for an agent-owned commitment.',
|
|
31
31
|
justification: 'Ships dryRun:true (the dry-run canary): on a dev agent the owner-gate + governor + reconciler run the full decision loop and AUDIT/log every suppression/dead-letter/close they WOULD make, but PromiseBeacon.emitUserSend STILL sends and the governor/reconciler mutate nothing while dryRun holds (verified at emitUserSend §4.2 + reconcileGraveyard/maybeReconcileGraveyard dryRun branches). No spend, no destructive action, no egress while the canary holds; real suppression/closes need a deliberate dryRun:false. Same dogfooding posture as topicProfiles / credential-repointing.',
|
|
32
32
|
},
|
|
33
|
+
{
|
|
34
|
+
name: 'standbyHonestyTiers',
|
|
35
|
+
configPath: 'monitoring.standbyHonestyTiers.enabled',
|
|
36
|
+
description: "Tier1/Tier2 standby honest-stuck classification — surface the REAL reason a live-but-failing session is silent (rate-limited / policy-wedge / context-wedge / context-too-long) instead of 'actively working'.",
|
|
37
|
+
justification: "Signal-only — only changes the standby MESSAGE TEXT; never gates, blocks, initiates recovery, spends, or egresses. Reuses the existing tail-gated classifyStuckSignature and defers to the same one-voice recovery-ownership checks Tier 3 already honors. Flag-OFF = Tier1/2 byte-identical to today.",
|
|
38
|
+
},
|
|
33
39
|
{
|
|
34
40
|
name: 'growthAnalyst',
|
|
35
41
|
configPath: 'monitoring.growthAnalyst.enabled',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devGatedFeatures.js","sourceRoot":"","sources":["../../src/core/devGatedFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD;QACE,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,6CAA6C;QACzD,WAAW,EAAE,+MAA+M;QAC5N,aAAa,EAAE,ikBAAikB;KACjlB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,kCAAkC;QAC9C,WAAW,EAAE,mDAAmD;QAChE,aAAa,EAAE,uGAAuG;KACvH;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,uCAAuC;QACnD,WAAW,EAAE,kCAAkC;QAC/C,aAAa,EAAE,yGAAyG;KACzH;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,mCAAmC;QAC/C,WAAW,EAAE,gDAAgD;QAC7D,aAAa,EAAE,sGAAsG;KACtH;IACD;QACE,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,iCAAiC;QAC7C,WAAW,EAAE,2CAA2C;QACxD,aAAa,EAAE,wGAAwG;KACxH;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,6CAA6C;QACzD,WAAW,EAAE,gCAAgC;QAC7C,aAAa,EAAE,sGAAsG;KACtH;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,sCAAsC;QAClD,WAAW,EAAE,mDAAmD;QAChE,aAAa,EAAE,8FAA8F;KAC9G;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,UAAU,EAAE,sCAAsC;QAClD,WAAW,EAAE,gDAAgD;QAC7D,aAAa,EAAE,yGAAyG;KACzH;IACD;QACE,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,iEAAiE;QAC9E,aAAa,EAAE,sDAAsD;KACtE;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,uCAAuC;QACnD,WAAW,EAAE,oEAAoE;QACjF,aAAa,EAAE,yDAAyD;KACzE;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,kCAAkC;QAC9C,WAAW,EAAE,8EAA8E;QAC3F,aAAa,EAAE,qNAAqN;KACrO;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,uDAAuD;QACnE,WAAW,EAAE,wPAAwP;QACrQ,aAAa,EAAE,srBAAsrB;KACtsB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,sDAAsD;QAClE,WAAW,EAAE,sMAAsM;QACnN,aAAa,EAAE,2hBAA2hB;KAC3iB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,uBAAuB;QACnC,WAAW,EAAE,+EAA+E;QAC5F,aAAa,EAAE,yNAAyN;KACzO;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,+CAA+C;QAC3D,WAAW,EAAE,uLAAuL;QACpM,aAAa,EAAE,otBAAotB;KACpuB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,4BAA4B;QACxC,WAAW,EAAE,mEAAmE;QAChF,aAAa,EAAE,mOAAmO;KACnP;IACD;QACE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,gCAAgC;QAC5C,WAAW,EAAE,wJAAwJ;QACrK,aAAa,EAAE,wnBAAwnB;KACxoB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,+CAA+C;QAC3D,WAAW,EAAE,+MAA+M;QAC5N,aAAa,EAAE,69BAA69B;KAC7+B;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,8EAA8E;IAC9E,gFAAgF;IAChF,0EAA0E;IAC1E,kFAAkF;IAClF,mFAAmF;IACnF,oFAAoF;IACpF,oFAAoF;IACpF,qFAAqF;IACrF,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,+EAA+E;IAC/E,2EAA2E;IAC3E,gFAAgF;IAChF,iFAAiF;IACjF,+EAA+E;IAC/E;QACE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,uCAAuC;QACnD,WAAW,EAAE,+IAA+I;QAC5J,aAAa,EAAE,8YAA8Y;KAC9Z;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,yCAAyC;QACrD,WAAW,EAAE,8JAA8J;QAC3K,aAAa,EAAE,0aAA0a;KAC1b;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,0CAA0C;QACtD,WAAW,EAAE,2MAA2M;QACxN,aAAa,EAAE,gcAAgc;KAChd;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,sCAAsC;QAClD,WAAW,EAAE,wMAAwM;QACrN,aAAa,EAAE,muBAAmuB;KACnvB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,yCAAyC;QACrD,WAAW,EAAE,0OAA0O;QACvP,aAAa,EAAE,mcAAmc;KACnd;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,4CAA4C;QACxD,WAAW,EAAE,kPAAkP;QAC/P,aAAa,EAAE,+oBAA+oB;KAC/pB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,yCAAyC;QACrD,WAAW,EAAE,wGAAwG;QACrH,aAAa,EAAE,qRAAqR;KACrS;IACD;QACE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,yCAAyC;QACrD,WAAW,EAAE,2UAA2U;QACxV,aAAa,EAAE,qTAAqT;KACrU;IACD;QACE,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,iCAAiC;QAC7C,WAAW,EAAE,gNAAgN;QAC7N,aAAa,EAAE,gpBAAgpB;KAChqB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,mCAAmC;QAC/C,WAAW,EAAE,2ZAA2Z;QACxa,aAAa,EAAE,+lBAA+lB;KAC/mB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,uCAAuC;QACnD,WAAW,EAAE,0RAA0R;QACvS,aAAa,EAAE,ynBAAynB;KACzoB;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,uCAAuC;QACnD,WAAW,EAAE,+TAA+T;QAC5U,aAAa,EAAE,o3BAAo3B;KACp4B;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,UAAU,EAAE,4DAA4D;QACxE,WAAW,EACT,2KAA2K;QAC7K,aAAa,EACX,2OAA2O;KAC9O;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,8CAA8C;QAC1D,WAAW,EACT,6IAA6I;QAC/I,aAAa,EACX,uKAAuK;KAC1K;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,qCAAqC;QACjD,WAAW,EACT,0IAA0I;QAC5I,aAAa,EACX,ieAAie;KACpe;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,yCAAyC;QACrD,WAAW,EACT,6HAA6H;QAC/H,aAAa,EACX,8UAA8U;KACjV;IACD;QACE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,gCAAgC;QAC5C,WAAW,EACT,kKAAkK;QACpK,aAAa,EACX,wiBAAwiB;KAC3iB;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,0CAA0C;QACtD,WAAW,EACT,2OAA2O;QAC7O,aAAa,EACX,gqBAAgqB;KACnqB;IACD,gFAAgF;IAChF,iFAAiF;IACjF,yEAAyE;IACzE,gFAAgF;IAChF;QACE,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,yCAAyC;QACrD,WAAW,EAAE,qFAAqF;QAClG,aAAa,EAAE,mOAAmO;KACnP;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,iDAAiD;QAC7D,WAAW,EAAE,mKAAmK;QAChL,aAAa,EAAE,4fAA4f;KAC5gB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,wCAAwC;QACpD,WAAW,EAAE,2LAA2L;QACxM,aAAa,EAAE,8wBAA8wB;KAC9xB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,mFAAmF;QAChG,aAAa,EAAE,uWAAuW;KACvX;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,qCAAqC;QACjD,WAAW,EAAE,yEAAyE;QACtF,aAAa,EAAE,6cAA6c;KAC7d;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,qCAAqC;QACjD,WAAW,EAAE,+EAA+E;QAC5F,aAAa,EAAE,4MAA4M;KAC5N;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,2CAA2C;QACvD,WAAW,EAAE,2JAA2J;QACxK,aAAa,EAAE,0VAA0V;KAC1W;IACD,kFAAkF;IAClF,kFAAkF;IAClF,0EAA0E;IAC1E,oFAAoF;IACpF,qFAAqF;IACrF,sFAAsF;IACtF,8EAA8E;IAC9E,6EAA6E;IAC7E,sFAAsF;IACtF,qFAAqF;IACrF,qFAAqF;IACrF,oFAAoF;IACpF,kEAAkE;IAClE,gFAAgF;IAChF,mFAAmF;IACnF,oDAAoD;IACpD;QACE,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,4CAA4C;QACxD,WAAW,EAAE,yFAAyF;QACtG,aAAa,EAAE,6WAA6W;KAC7X;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,8CAA8C;QAC1D,WAAW,EAAE,+GAA+G;QAC5H,aAAa,EAAE,waAAwa;KACxb;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,0CAA0C;QACtD,WAAW,EAAE,uHAAuH;QACpI,aAAa,EAAE,6UAA6U;KAC7V;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,0CAA0C;QACtD,WAAW,EAAE,4HAA4H;QACzI,aAAa,EAAE,qVAAqV;KACrW;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,iDAAiD;QAC7D,WAAW,EAAE,qIAAqI;QAClJ,aAAa,EAAE,2bAA2b;KAC3c;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,6CAA6C;QACzD,WAAW,EAAE,kHAAkH;QAC/H,aAAa,EAAE,0aAA0a;KAC1b;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,8CAA8C;QAC1D,WAAW,EAAE,kHAAkH;QAC/H,aAAa,EAAE,kjBAAkjB;KAClkB;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,gDAAgD;QAC5D,WAAW,EAAE,+QAA+Q;QAC5R,aAAa,EAAE,2hBAA2hB;KAC3iB;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,oDAAoD;QAChE,WAAW,EAAE,8VAA8V;QAC3W,aAAa,EAAE,wkBAAwkB;KACxlB;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,8CAA8C;QAC1D,WAAW,EAAE,2dAA2d;QACxe,aAAa,EAAE,2oBAA2oB;KAC3pB;IACD,gFAAgF;IAChF,sFAAsF;IACtF,qFAAqF;IACrF,uFAAuF;IACvF,8DAA8D;IAC9D;QACE,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,gDAAgD;QAC5D,WAAW,EAAE,wMAAwM;QACrN,aAAa,EAAE,skBAAskB;KACtlB;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,kDAAkD;QAC9D,WAAW,EAAE,2NAA2N;QACxO,aAAa,EAAE,mgBAAmgB;KACnhB;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,sCAAsC;QAClD,WAAW,EAAE,iPAAiP;QAC9P,aAAa,EAAE,4nBAA4nB;KAC5oB;CACF,CAAC;AA0CF,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,+EAA+E;IAC/E;QACE,UAAU,EAAE,kCAAkC;QAC9C,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,+CAA+C;KACxD;IACD;QACE,UAAU,EAAE,wCAAwC;QACpD,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,iDAAiD;KAC1D;IACD;QACE,UAAU,EAAE,qCAAqC;QACjD,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,+CAA+C;KACxD;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,oFAAoF;IACpF,6DAA6D;IAC7D,wEAAwE;IACxE;QACE,UAAU,EAAE,8BAA8B;QAC1C,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,mDAAmD;KAC5D;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,iIAAiI;KAC1I;IACD;QACE,UAAU,EAAE,qCAAqC;QACjD,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,gGAAgG;KACzG;IACD,uFAAuF;IACvF;QACE,UAAU,EAAE,qDAAqD;QACjE,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,kCAAkC;KAC3C;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,kCAAkC;KAC3C;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,qDAAqD;KAC9D;IACD,qDAAqD;IACrD;QACE,UAAU,EAAE,kCAAkC;QAC9C,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,8CAA8C;KACvD;IACD;QACE,UAAU,EAAE,+CAA+C;QAC3D,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,kGAAkG;KAC3G;IACD;QACE,UAAU,EAAE,mDAAmD;QAC/D,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,+FAA+F;KACxG;IACD,8EAA8E;IAC9E,kFAAkF;IAClF,iFAAiF;IACjF,gFAAgF;IAChF,mFAAmF;IACnF,6EAA6E;IAC7E,oFAAoF;IACpF,sFAAsF;IACtF,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,iFAAiF;IACjF;QACE,UAAU,EAAE,qCAAqC;QACjD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,4RAA4R;KACrS;IACD;QACE,UAAU,EAAE,wDAAwD;QACpE,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,4dAA4d;KACre;IACD;QACE,UAAU,EAAE,4DAA4D;QACxE,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,scAAsc;KAC/c;IACD;QACE,UAAU,EAAE,oDAAoD;QAChE,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,inBAAinB;KAC1nB;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,uMAAuM;KAChN;IACD;QACE,UAAU,EAAE,kDAAkD;QAC9D,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,ymBAAymB;KAClnB;IACD;QACE,UAAU,EAAE,2CAA2C;QACvD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,gXAAgX;KACzX;IACD;QACE,UAAU,EAAE,6CAA6C;QACzD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,uVAAuV;KAChW;IACD,sDAAsD;IACtD;QACE,UAAU,EAAE,uCAAuC;QACnD,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,wXAAwX;KACjY;IACD,gFAAgF;IAChF,uFAAuF;IACvF;QACE,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,8NAA8N;KACvO;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,gQAAgQ;KACzQ;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,UAAkB;IACjE,IAAI,GAAG,GAAY,MAAM,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC7D,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"devGatedFeatures.js","sourceRoot":"","sources":["../../src/core/devGatedFeatures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rateLimitFalsePositiveMatrix — the user-role scenario matrix that proves, through
|
|
3
|
+
* the REAL channel, that the rate-limit/error recovery no longer false-fires on a
|
|
4
|
+
* finished or idle session (live incident 2026-06-24). It is the prevention layer the
|
|
5
|
+
* fix needs: a unit test proves the guard logic; THIS proves the user never receives a
|
|
6
|
+
* spurious "throttle resume" nudge end-to-end.
|
|
7
|
+
*
|
|
8
|
+
* It exercises the harness's ABSENCE capability (`absenceWindowMs` +
|
|
9
|
+
* `expect.noMessageMatching`) — the structural way to catch a spurious background
|
|
10
|
+
* message, which a single send→reply assertion cannot. Pairs a happy-path scenario
|
|
11
|
+
* (the agent still replies normally) with the regression absence scenarios so the gate
|
|
12
|
+
* has a load-bearing PASS and the no-false-nudge guarantee in one signed artifact.
|
|
13
|
+
*/
|
|
14
|
+
import type { HarnessMatrix } from './LiveTestHarness.js';
|
|
15
|
+
/** The exact user-facing string the false positive emitted — the thing we assert is ABSENT. */
|
|
16
|
+
export declare const THROTTLE_RESUME_NUDGE_FRAGMENT = "throttle should have cleared";
|
|
17
|
+
export interface RateLimitFalsePositiveOpts {
|
|
18
|
+
featureId?: string;
|
|
19
|
+
telegramTopicId: string;
|
|
20
|
+
slackChannelId?: string;
|
|
21
|
+
/** A benign user message that elicits a normal reply (happy-path) + closes a turn. */
|
|
22
|
+
message?: string;
|
|
23
|
+
/** How long to watch for a spurious nudge after the turn finishes. */
|
|
24
|
+
absenceWindowMs?: number;
|
|
25
|
+
timeoutMs?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare function buildRateLimitFalsePositiveMatrix(opts: RateLimitFalsePositiveOpts): HarnessMatrix;
|
|
28
|
+
//# sourceMappingURL=rateLimitFalsePositiveMatrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitFalsePositiveMatrix.d.ts","sourceRoot":"","sources":["../../src/core/rateLimitFalsePositiveMatrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AAG3E,+FAA+F;AAC/F,eAAO,MAAM,8BAA8B,iCAAiC,CAAC;AAE7E,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,0BAA0B,GAAG,aAAa,CA+DjG"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rateLimitFalsePositiveMatrix — the user-role scenario matrix that proves, through
|
|
3
|
+
* the REAL channel, that the rate-limit/error recovery no longer false-fires on a
|
|
4
|
+
* finished or idle session (live incident 2026-06-24). It is the prevention layer the
|
|
5
|
+
* fix needs: a unit test proves the guard logic; THIS proves the user never receives a
|
|
6
|
+
* spurious "throttle resume" nudge end-to-end.
|
|
7
|
+
*
|
|
8
|
+
* It exercises the harness's ABSENCE capability (`absenceWindowMs` +
|
|
9
|
+
* `expect.noMessageMatching`) — the structural way to catch a spurious background
|
|
10
|
+
* message, which a single send→reply assertion cannot. Pairs a happy-path scenario
|
|
11
|
+
* (the agent still replies normally) with the regression absence scenarios so the gate
|
|
12
|
+
* has a load-bearing PASS and the no-false-nudge guarantee in one signed artifact.
|
|
13
|
+
*/
|
|
14
|
+
/** The exact user-facing string the false positive emitted — the thing we assert is ABSENT. */
|
|
15
|
+
export const THROTTLE_RESUME_NUDGE_FRAGMENT = 'throttle should have cleared';
|
|
16
|
+
export function buildRateLimitFalsePositiveMatrix(opts) {
|
|
17
|
+
const featureId = opts.featureId ?? 'rate-limit-false-positive-fix';
|
|
18
|
+
const tg = opts.telegramTopicId;
|
|
19
|
+
const message = opts.message ?? 'Quick check-in — are you there?';
|
|
20
|
+
// Default 90s: a real throttle false-positive fires its FIRST user notice
|
|
21
|
+
// immediately on report() (well inside the window), but the window must also exceed
|
|
22
|
+
// the throttle recovery's first backoff (30s) + verify window (25s) ≈ 55s so a
|
|
23
|
+
// regression that only surfaces at the first resume/verify still lands inside it.
|
|
24
|
+
// (spec-converge finding: a 60s window only barely cleared that ~55s envelope.)
|
|
25
|
+
const absenceWindowMs = opts.absenceWindowMs ?? 90_000;
|
|
26
|
+
const tmo = opts.timeoutMs;
|
|
27
|
+
const t = (s) => (tmo ? { ...s, timeoutMs: tmo } : s);
|
|
28
|
+
const scenarios = [
|
|
29
|
+
// Happy-path: the agent still answers a normal message (the fix must not mute it).
|
|
30
|
+
t({
|
|
31
|
+
id: 'rl-happy-path-normal-reply',
|
|
32
|
+
description: 'happy-path: a normal user message gets a non-empty reply (the recovery guard did not break normal replies)',
|
|
33
|
+
surface: 'telegram',
|
|
34
|
+
riskCategory: 'happy-path',
|
|
35
|
+
volatility: 'safe',
|
|
36
|
+
channelId: tg,
|
|
37
|
+
input: message,
|
|
38
|
+
expect: { replyNotEmpty: true, replyMustNotContain: THROTTLE_RESUME_NUDGE_FRAGMENT },
|
|
39
|
+
}),
|
|
40
|
+
// Regression (absence): after the turn finishes, NO spurious throttle-resume nudge
|
|
41
|
+
// arrives in the topic within the window. This is the exact false positive.
|
|
42
|
+
t({
|
|
43
|
+
id: 'rl-finished-session-no-throttle-nudge',
|
|
44
|
+
description: 'regression: after a session finishes, zero throttle-resume nudges arrive within the window (the live incident)',
|
|
45
|
+
surface: 'telegram',
|
|
46
|
+
riskCategory: 'regression',
|
|
47
|
+
volatility: 'safe',
|
|
48
|
+
channelId: tg,
|
|
49
|
+
input: message,
|
|
50
|
+
absenceWindowMs,
|
|
51
|
+
expect: { noMessageMatching: THROTTLE_RESUME_NUDGE_FRAGMENT },
|
|
52
|
+
}),
|
|
53
|
+
];
|
|
54
|
+
const surfaces = ['telegram'];
|
|
55
|
+
const riskCategories = ['happy-path', 'regression'];
|
|
56
|
+
// Channel parity: the same no-spurious-nudge guarantee must hold on Slack.
|
|
57
|
+
if (opts.slackChannelId) {
|
|
58
|
+
scenarios.push(t({
|
|
59
|
+
id: 'rl-slack-parity-no-throttle-nudge',
|
|
60
|
+
description: 'channel-parity: Slack also emits no spurious throttle-resume nudge after a finished session',
|
|
61
|
+
surface: 'slack',
|
|
62
|
+
riskCategory: 'channel-parity',
|
|
63
|
+
volatility: 'safe',
|
|
64
|
+
channelId: opts.slackChannelId,
|
|
65
|
+
input: message,
|
|
66
|
+
absenceWindowMs,
|
|
67
|
+
expect: { noMessageMatching: THROTTLE_RESUME_NUDGE_FRAGMENT },
|
|
68
|
+
}));
|
|
69
|
+
surfaces.push('slack');
|
|
70
|
+
riskCategories.push('channel-parity');
|
|
71
|
+
}
|
|
72
|
+
return { featureId, surfaces, riskCategories, scenarios };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=rateLimitFalsePositiveMatrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitFalsePositiveMatrix.js","sourceRoot":"","sources":["../../src/core/rateLimitFalsePositiveMatrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,+FAA+F;AAC/F,MAAM,CAAC,MAAM,8BAA8B,GAAG,8BAA8B,CAAC;AAa7E,MAAM,UAAU,iCAAiC,CAAC,IAAgC;IAChF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,+BAA+B,CAAC;IACpE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,iCAAiC,CAAC;IAClE,0EAA0E;IAC1E,oFAAoF;IACpF,+EAA+E;IAC/E,kFAAkF;IAClF,gFAAgF;IAChF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAqC,CAAI,EAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhG,MAAM,SAAS,GAAsB;QACnC,mFAAmF;QACnF,CAAC,CAAC;YACA,EAAE,EAAE,4BAA4B;YAChC,WAAW,EAAE,4GAA4G;YACzH,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,8BAA8B,EAAE;SACrF,CAAoB;QACrB,mFAAmF;QACnF,4EAA4E;QAC5E,CAAC,CAAC;YACA,EAAE,EAAE,uCAAuC;YAC3C,WAAW,EAAE,gHAAgH;YAC7H,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,OAAO;YACd,eAAe;YACf,MAAM,EAAE,EAAE,iBAAiB,EAAE,8BAA8B,EAAE;SAC9D,CAAoB;KACtB,CAAC;IAEF,MAAM,QAAQ,GAAc,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,cAAc,GAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEpE,2EAA2E;IAC3E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC;YACA,EAAE,EAAE,mCAAmC;YACvC,WAAW,EAAE,6FAA6F;YAC1G,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,gBAAgB;YAC9B,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,KAAK,EAAE,OAAO;YACd,eAAe;YACf,MAAM,EAAE,EAAE,iBAAiB,EAAE,8BAA8B,EAAE;SAC9D,CAAoB,CACtB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAC5D,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -4017,6 +4017,19 @@ export interface MonitoringConfig {
|
|
|
4017
4017
|
bootHealthBeacon?: {
|
|
4018
4018
|
enabled?: boolean;
|
|
4019
4019
|
};
|
|
4020
|
+
/**
|
|
4021
|
+
* honest-session-state-surfaces Finding (b): lift the Tier-3 honest
|
|
4022
|
+
* stuck-state classification into PresenceProxy Tier 1 / Tier 2 standby —
|
|
4023
|
+
* so a live-but-failing session (rate-limited / policy-wedge / context-wedge /
|
|
4024
|
+
* context-too-long) is reported with its REAL reason at the 20s / 2-minute
|
|
4025
|
+
* marks instead of "actively working". Signal-only (changes the message text
|
|
4026
|
+
* only; never gates/recovers). OMITTED from ConfigDefaults → resolved via the
|
|
4027
|
+
* dev-agent gate (live on a dev agent, dark on the fleet). When absent/false,
|
|
4028
|
+
* Tier 1/2 copy is byte-identical to today.
|
|
4029
|
+
*/
|
|
4030
|
+
standbyHonestyTiers?: {
|
|
4031
|
+
enabled?: boolean;
|
|
4032
|
+
};
|
|
4020
4033
|
/**
|
|
4021
4034
|
* CollaborationRedriveEngine — proactively re-engage a counterpart that
|
|
4022
4035
|
* has gone silent on an open threadline-reply commitment. Ships OFF.
|