instar 1.3.729 → 1.3.731

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.
Files changed (107) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +254 -2
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/CoherenceGate.d.ts +119 -0
  5. package/dist/core/CoherenceGate.d.ts.map +1 -1
  6. package/dist/core/CoherenceGate.js +342 -19
  7. package/dist/core/CoherenceGate.js.map +1 -1
  8. package/dist/core/CoherenceReviewer.d.ts +30 -0
  9. package/dist/core/CoherenceReviewer.d.ts.map +1 -1
  10. package/dist/core/CoherenceReviewer.js +14 -0
  11. package/dist/core/CoherenceReviewer.js.map +1 -1
  12. package/dist/core/FileClassifier.d.ts.map +1 -1
  13. package/dist/core/FileClassifier.js +7 -0
  14. package/dist/core/FileClassifier.js.map +1 -1
  15. package/dist/core/ModelSwapService.d.ts +13 -0
  16. package/dist/core/ModelSwapService.d.ts.map +1 -1
  17. package/dist/core/ModelSwapService.js +11 -0
  18. package/dist/core/ModelSwapService.js.map +1 -1
  19. package/dist/core/ModelTierEscalation.d.ts +10 -0
  20. package/dist/core/ModelTierEscalation.d.ts.map +1 -1
  21. package/dist/core/ModelTierEscalation.js +4 -0
  22. package/dist/core/ModelTierEscalation.js.map +1 -1
  23. package/dist/core/PostUpdateMigrator.d.ts +1 -0
  24. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  25. package/dist/core/PostUpdateMigrator.js +43 -0
  26. package/dist/core/PostUpdateMigrator.js.map +1 -1
  27. package/dist/core/ProactiveSwapMonitor.d.ts +74 -20
  28. package/dist/core/ProactiveSwapMonitor.d.ts.map +1 -1
  29. package/dist/core/ProactiveSwapMonitor.js +349 -28
  30. package/dist/core/ProactiveSwapMonitor.js.map +1 -1
  31. package/dist/core/QuotaAwareScheduler.d.ts +70 -3
  32. package/dist/core/QuotaAwareScheduler.d.ts.map +1 -1
  33. package/dist/core/QuotaAwareScheduler.js +100 -16
  34. package/dist/core/QuotaAwareScheduler.js.map +1 -1
  35. package/dist/core/ResponseReviewDecisionLog.d.ts +45 -0
  36. package/dist/core/ResponseReviewDecisionLog.d.ts.map +1 -0
  37. package/dist/core/ResponseReviewDecisionLog.js +85 -0
  38. package/dist/core/ResponseReviewDecisionLog.js.map +1 -0
  39. package/dist/core/SessionManager.d.ts +28 -0
  40. package/dist/core/SessionManager.d.ts.map +1 -1
  41. package/dist/core/SessionManager.js +102 -0
  42. package/dist/core/SessionManager.js.map +1 -1
  43. package/dist/core/SessionRefresh.d.ts +116 -1
  44. package/dist/core/SessionRefresh.d.ts.map +1 -1
  45. package/dist/core/SessionRefresh.js +280 -17
  46. package/dist/core/SessionRefresh.js.map +1 -1
  47. package/dist/core/SwapAntiThrash.d.ts +329 -0
  48. package/dist/core/SwapAntiThrash.d.ts.map +1 -0
  49. package/dist/core/SwapAntiThrash.js +1025 -0
  50. package/dist/core/SwapAntiThrash.js.map +1 -0
  51. package/dist/core/SwapLedger.d.ts +168 -0
  52. package/dist/core/SwapLedger.d.ts.map +1 -0
  53. package/dist/core/SwapLedger.js +275 -0
  54. package/dist/core/SwapLedger.js.map +1 -0
  55. package/dist/core/SwapWorkGate.d.ts +100 -0
  56. package/dist/core/SwapWorkGate.d.ts.map +1 -0
  57. package/dist/core/SwapWorkGate.js +175 -0
  58. package/dist/core/SwapWorkGate.js.map +1 -0
  59. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  60. package/dist/core/WriteDomainRegistry.js +21 -0
  61. package/dist/core/WriteDomainRegistry.js.map +1 -1
  62. package/dist/core/conversationContextWiring.d.ts +51 -0
  63. package/dist/core/conversationContextWiring.d.ts.map +1 -0
  64. package/dist/core/conversationContextWiring.js +78 -0
  65. package/dist/core/conversationContextWiring.js.map +1 -0
  66. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  67. package/dist/core/devGatedFeatures.js +6 -0
  68. package/dist/core/devGatedFeatures.js.map +1 -1
  69. package/dist/core/reviewers/conversational-tone.d.ts.map +1 -1
  70. package/dist/core/reviewers/conversational-tone.js +15 -1
  71. package/dist/core/reviewers/conversational-tone.js.map +1 -1
  72. package/dist/core/types.d.ts +102 -1
  73. package/dist/core/types.d.ts.map +1 -1
  74. package/dist/core/types.js.map +1 -1
  75. package/dist/core/untrustedConversationContext.d.ts +77 -0
  76. package/dist/core/untrustedConversationContext.d.ts.map +1 -0
  77. package/dist/core/untrustedConversationContext.js +134 -0
  78. package/dist/core/untrustedConversationContext.js.map +1 -0
  79. package/dist/monitoring/ReviewCanaryBattery.d.ts +160 -0
  80. package/dist/monitoring/ReviewCanaryBattery.d.ts.map +1 -0
  81. package/dist/monitoring/ReviewCanaryBattery.js +416 -0
  82. package/dist/monitoring/ReviewCanaryBattery.js.map +1 -0
  83. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  84. package/dist/monitoring/guardManifest.js +40 -1
  85. package/dist/monitoring/guardManifest.js.map +1 -1
  86. package/dist/scaffold/templates.d.ts.map +1 -1
  87. package/dist/scaffold/templates.js +6 -0
  88. package/dist/scaffold/templates.js.map +1 -1
  89. package/dist/server/AgentServer.d.ts +4 -0
  90. package/dist/server/AgentServer.d.ts.map +1 -1
  91. package/dist/server/AgentServer.js +20 -0
  92. package/dist/server/AgentServer.js.map +1 -1
  93. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  94. package/dist/server/CapabilityIndex.js +1 -0
  95. package/dist/server/CapabilityIndex.js.map +1 -1
  96. package/dist/server/routes.d.ts +5 -0
  97. package/dist/server/routes.d.ts.map +1 -1
  98. package/dist/server/routes.js +72 -4
  99. package/dist/server/routes.js.map +1 -1
  100. package/package.json +1 -1
  101. package/src/data/builtin-manifest.json +65 -65
  102. package/src/scaffold/templates/jobs/instar/review-canary-battery.md +31 -0
  103. package/src/scaffold/templates.ts +6 -0
  104. package/upgrades/1.3.730.md +112 -0
  105. package/upgrades/1.3.731.md +97 -0
  106. package/upgrades/side-effects/context-aware-outbound-review.md +62 -0
  107. package/upgrades/side-effects/swap-continuity-antithrash.md +118 -0
@@ -0,0 +1,329 @@
1
+ /**
2
+ * SwapAntiThrash — Piece 1 of swap-continuity-antithrash: the anti-thrash
3
+ * brakes on the proactive account swap (docs/specs/swap-continuity-antithrash.md §3).
4
+ *
5
+ * The engine sits at the proactive DECISION chokepoint (ProactiveSwapMonitor's
6
+ * evaluate pass) and owns:
7
+ * - brake (a): the all-hot brake — refuse when no eligible target measures
8
+ * under the target ceiling (§3.1); "measures" requires a PRESENT + FRESH
9
+ * quota reading (bound 0, R4-M1) — no reading is NEVER treated as 0%.
10
+ * - brake (b): per-session dwell (45 min default), restart-safe via the
11
+ * swap ledger (§3.2).
12
+ * - brake (c): target-materially-better — validity gate + absolute ceiling +
13
+ * relative improvement, in the normative filter→score→verify order (§3.3),
14
+ * plus the intra-tick per-target pile-on cap.
15
+ * - thrash detection + the two-tier breaker (T1 inversion / T2 frequency,
16
+ * §3.5) with episode continuation, restart-proof derivation from the
17
+ * ledger, and P17 one-deduped-attention-item episodes.
18
+ * - execution-failure accounting (§3.6): failed rows, per-session
19
+ * exponential backoff (proactive), streak escalation — kind-separated so a
20
+ * reactive streak never mixes with a proactive one.
21
+ * - the ledger-lost pause (I12): while the swap ledger is unwritable, every
22
+ * proactive intent refuses `ledger-lost` (counter-only) and resumes
23
+ * level-triggered on the first successful append.
24
+ * - measurement-blind surfacing (I13, R5-m1): evaluated per tick over the
25
+ * POOL ITSELF, candidacy-independent.
26
+ *
27
+ * The REACTIVE path is untouched by every brake (I6) — the engine only ever
28
+ * OBSERVES reactive swaps (dwell clock-start, hop alerts, failed-row streaks).
29
+ */
30
+ import type { SubscriptionAccount } from './SubscriptionPool.js';
31
+ import { SwapLedger, type SwapReason, type TriggerSignature, type BreakerState } from './SwapLedger.js';
32
+ export interface AntiThrashKnobs {
33
+ enabled: boolean;
34
+ dryRun: boolean;
35
+ /** From proactiveSwap: the source-pressure threshold (default 80). */
36
+ thresholdPct: number;
37
+ /** Monitor tick cadence (failure-backoff base). */
38
+ tickMs: number;
39
+ targetHeadroomPct: number;
40
+ minImprovementPct: number;
41
+ dwellMs: number;
42
+ reversalWindowMs: number;
43
+ thrashBreakerThreshold: number;
44
+ thrashBreakerBackoffMs: number;
45
+ swapFrequencyThreshold: number;
46
+ swapFrequencyWindowMs: number;
47
+ allHotHeartbeatMs: number;
48
+ reactiveHopAlertThreshold: number;
49
+ quotaFreshnessMs: number;
50
+ }
51
+ /** Raw config block shape (subscriptionPool.proactiveSwap.antiThrash). */
52
+ export interface AntiThrashConfigBlock {
53
+ enabled?: boolean;
54
+ dryRun?: boolean;
55
+ targetHeadroomPct?: number;
56
+ minImprovementPct?: number;
57
+ dwellMs?: number;
58
+ reversalWindowMs?: number;
59
+ thrashBreakerThreshold?: number;
60
+ thrashBreakerBackoffMs?: number;
61
+ swapFrequencyThreshold?: number;
62
+ swapFrequencyWindowMs?: number;
63
+ allHotHeartbeatMs?: number;
64
+ reactiveHopAlertThreshold?: number;
65
+ quotaFreshnessMs?: number;
66
+ }
67
+ /**
68
+ * Resolve the antiThrash knobs with shipped defaults (§7). All numeric reads
69
+ * use nullish coalescing (zero is a legal disable for several knobs). An
70
+ * ABSENT block on a proactiveSwap-enabled install resolves
71
+ * `enabled:true, dryRun:true` (§12 migration default-direction assertion —
72
+ * the dry-run soak is the default, never a silent skip).
73
+ */
74
+ export declare function resolveAntiThrashKnobs(block: AntiThrashConfigBlock | undefined, proactive?: {
75
+ thresholdPct?: number;
76
+ tickMs?: number;
77
+ }): AntiThrashKnobs;
78
+ /**
79
+ * The §3.2 one-formula retention/hydration bound (R3-M1, continuation term
80
+ * R5-m2): retention ⊇ every detection window AND every continuation window,
81
+ * structurally. 4 h at shipped defaults (the last term dominates). NOT a knob.
82
+ */
83
+ export declare function retentionBoundMs(k: AntiThrashKnobs): number;
84
+ /**
85
+ * Cross-knob coherence warnings (§7, R4-L2 — warn-only, never a startup
86
+ * error). Returns the warning lines (the caller logs each exactly once).
87
+ */
88
+ export declare function crossKnobWarnings(k: AntiThrashKnobs, pollIntervalMs: number): string[];
89
+ export interface ReadingValidity {
90
+ /** Reading PRESENT and fresher than quotaFreshnessMs. */
91
+ valid: boolean;
92
+ /** bindingUtilization of the (possibly invalid) reading — 0 when absent. */
93
+ utilPct: number;
94
+ /** Why invalid, when invalid. */
95
+ invalidReason?: 'absent' | 'stale';
96
+ }
97
+ export declare function readingValidity(acct: SubscriptionAccount, nowMs: number, quotaFreshnessMs: number): ReadingValidity;
98
+ export interface ProactiveIntentInput {
99
+ session: string;
100
+ fromAccountId: string;
101
+ /** The full pool account list (fresh snapshot). */
102
+ accounts: SubscriptionAccount[];
103
+ nowMs: number;
104
+ /** Target accounts already executed onto this tick (per-target cap, §3.3). */
105
+ targetsUsedThisTick: ReadonlySet<string>;
106
+ /** Deferral bookkeeping stamped onto refusal rows when this intent is a deferred retry. */
107
+ deferralAgeMs?: number;
108
+ deferCount?: number;
109
+ }
110
+ export type BrakeVerdict = {
111
+ action: 'execute';
112
+ targetAccountId: string;
113
+ fromUtilPct: number;
114
+ toUtilPct: number;
115
+ } | {
116
+ action: 'refuse';
117
+ reason: SwapReason | 'ledger-lost';
118
+ } | {
119
+ action: 'skip';
120
+ why: 'reintent-backoff' | 'failure-backoff';
121
+ };
122
+ export interface SwapAntiThrashEngineOptions {
123
+ ledger: SwapLedger;
124
+ getKnobs: () => AntiThrashKnobs;
125
+ machineId?: string;
126
+ raiseAttention?: (id: string, title: string, body: string) => void;
127
+ logger?: {
128
+ log: (m: string) => void;
129
+ warn: (m: string) => void;
130
+ };
131
+ now?: () => number;
132
+ }
133
+ export declare class SwapAntiThrashEngine {
134
+ private readonly ledger;
135
+ private readonly getKnobs;
136
+ private readonly machineId;
137
+ private readonly raiseAttention;
138
+ private readonly logger;
139
+ private readonly now;
140
+ private executions;
141
+ private lastSwapAtBySession;
142
+ private inversionIncrementsMs;
143
+ private breaker;
144
+ /** Signature-keyed continuation memory: most recent CLOSE per signature. */
145
+ private continuationMemory;
146
+ private alertedEpisodeIds;
147
+ private failureStreaks;
148
+ private failureBackoffUntil;
149
+ private lastDroppedAt;
150
+ private stateRows;
151
+ private breakerSuppressionRows;
152
+ private reactiveHops;
153
+ private reactiveHopAlerted;
154
+ private blindSinceMs;
155
+ private blindEpisodeId;
156
+ private tickSeq;
157
+ private refusalsByReason;
158
+ private reversalsDetected;
159
+ private pairLevelDetections;
160
+ private frequencyCrossings;
161
+ private droppedCount;
162
+ private invalidatedCount;
163
+ private proceededWithMitigations;
164
+ private ledgerLostRefusals;
165
+ constructor(opts: SwapAntiThrashEngineOptions);
166
+ hydrate(): void;
167
+ beginTick(accounts: SubscriptionAccount[], nowMs: number, proactiveEnabled: boolean): void;
168
+ /** End-of-tick: emit LEAVE rows for all-hot/target-unmeasured states no longer observed. */
169
+ endTick(nowMs: number): void;
170
+ private pruneIndex;
171
+ private maybeCloseBreaker;
172
+ private evaluateMeasurementBlind;
173
+ /** Is this account eligible as a proactive SOURCE (valid fresh reading ≥ threshold)? §3.3 source leg. */
174
+ sourceEligible(acct: SubscriptionAccount, nowMs: number): boolean;
175
+ /** Is the session inside re-intent backoff after a ceiling drop (§4.2)? */
176
+ inReIntentBackoff(session: string, nowMs: number): boolean;
177
+ /**
178
+ * Evaluate one proactive swap intent through the full brake pipeline.
179
+ * Order: ledger-lost → breaker → dwell → filter (bound 0 + ceiling) →
180
+ * score → verify (improvement) → reversal. Writes refusal rows (with the
181
+ * state-transition machinery where mandated) as a side effect.
182
+ */
183
+ evaluateIntent(input: ProactiveIntentInput): BrakeVerdict;
184
+ /** Record an EXECUTED proactive swap: index write-through, pair-level +
185
+ * frequency detection (which may open the breaker and stamp this row). */
186
+ recordProactiveExecuted(args: {
187
+ session: string;
188
+ from: string;
189
+ to: string;
190
+ nowMs: number;
191
+ fromUtilPct?: number;
192
+ toUtilPct?: number;
193
+ deferralAgeMs?: number;
194
+ deferCount?: number;
195
+ defaultAccountChanged?: boolean;
196
+ dryRun?: boolean;
197
+ }): void;
198
+ /** Observe a REACTIVE swap (I6 — never gates; dwell clock-start + hop alerts). */
199
+ recordReactiveExecuted(args: {
200
+ session: string;
201
+ from: string;
202
+ to: string;
203
+ nowMs: number;
204
+ defaultAccountChanged?: boolean;
205
+ }): void;
206
+ /** A REACTIVE swap was refused by the pre-existing refresh rate cap — the
207
+ * one state where a session is stranded on a walled account (§3.1 trigger 2). */
208
+ noteReactiveRateCapRefusal(session: string, nowMs: number): void;
209
+ /** Record a swap-execution failure (§3.6). errorClass is a CONSTRUCTOR NAME
210
+ * or fixed enum member ONLY — never .message/.stack. */
211
+ recordExecFailure(args: {
212
+ session: string;
213
+ from: string;
214
+ to?: string;
215
+ kind: 'proactive' | 'reactive';
216
+ errorClass: string;
217
+ nowMs: number;
218
+ }): void;
219
+ recordDeferred(args: {
220
+ session: string;
221
+ from: string;
222
+ to: string;
223
+ nowMs: number;
224
+ reason: 'busy-turn' | 'busy-subagents' | 'busy-indeterminate';
225
+ inFlight: {
226
+ turn: boolean;
227
+ subagents: number;
228
+ };
229
+ subagentLeg: 'ok' | 'absent' | 'indeterminate';
230
+ deferralAgeMs: number;
231
+ deferCount: number;
232
+ dryRun?: boolean;
233
+ /** Dedup (§4.2): only the FIRST and FINAL rows are written per intent episode. */
234
+ rowKind: 'first' | 'final';
235
+ }): void;
236
+ recordDropped(args: {
237
+ session: string;
238
+ from: string;
239
+ to: string;
240
+ nowMs: number;
241
+ deferralAgeMs: number;
242
+ deferCount: number;
243
+ inFlight: {
244
+ turn: boolean;
245
+ subagents: number;
246
+ };
247
+ subagentLeg: 'ok' | 'absent' | 'indeterminate';
248
+ dryRun?: boolean;
249
+ }): void;
250
+ recordInvalidated(args: {
251
+ session: string;
252
+ from: string;
253
+ to?: string;
254
+ nowMs: number;
255
+ deferralAgeMs?: number;
256
+ deferCount?: number;
257
+ dryRun?: boolean;
258
+ }): void;
259
+ /** Execute-time revalidation refusal (§3.3 R4-m4 — refuse, never re-select). */
260
+ recordRevalidationRefusal(args: {
261
+ session: string;
262
+ from: string;
263
+ to: string;
264
+ nowMs: number;
265
+ reason: 'target-revalidation-failed' | 'intent-stale';
266
+ }): void;
267
+ /** §4.5 interactive work-gate rows (kind 'interactive' — R6-m1). */
268
+ recordInteractiveRefusal(args: {
269
+ session: string;
270
+ nowMs: number;
271
+ inFlight: {
272
+ turn: boolean;
273
+ subagents: number;
274
+ };
275
+ subagentLeg: 'ok' | 'absent' | 'indeterminate';
276
+ dryRun?: boolean;
277
+ }): void;
278
+ /** A forced kill proceeded over busy work — reactive-after-grace or force (§4.3). */
279
+ recordProceeded(args: {
280
+ session: string;
281
+ kind: 'reactive' | 'interactive';
282
+ callerClass: string;
283
+ nowMs: number;
284
+ from: string;
285
+ to?: string;
286
+ reason: 'busy-turn' | 'busy-subagents' | 'busy-indeterminate';
287
+ inFlight: {
288
+ turn: boolean;
289
+ subagents: number;
290
+ };
291
+ subagentLeg: 'ok' | 'absent' | 'indeterminate';
292
+ killedSubagents?: number;
293
+ killedSubagentList?: Array<{
294
+ agentType: string;
295
+ ageMinutes: number;
296
+ transcriptPath?: string;
297
+ }>;
298
+ inbound: 'reinjected' | 'none' | 'unknown';
299
+ force?: boolean;
300
+ defaultAccountChanged?: boolean;
301
+ dryRun?: boolean;
302
+ }): void;
303
+ breakerState(): BreakerState;
304
+ /** In-memory count of `ledger-lost` refusals (the one refusal class that can
305
+ * never write its own row — the writer is what died, §3.5/I5). Supplied to
306
+ * the SwapLedger's outage-resume `outage-summary` row. */
307
+ ledgerLostRefusalCount(): number;
308
+ isBreakerOpen(): boolean;
309
+ status(nowMs?: number): Record<string, unknown>;
310
+ private mostRecentExecution;
311
+ /** Add a T1 inversion-class increment; open the breaker when the pool-wide
312
+ * count inside reversalWindowMs reaches the threshold. The increment ROW is
313
+ * the open marker (R3-m2) — stamped with the episode fields at append time. */
314
+ private addInversionIncrement;
315
+ private openBreaker;
316
+ private recordBreakerSuppression;
317
+ /** all-hot / target-unmeasured refusals use state-transition rows (§3.1). */
318
+ private recordStateRefusal;
319
+ private recordSimpleRefusal;
320
+ private buildRefusalRow;
321
+ private appendRow;
322
+ private logRow;
323
+ private bumpRefusal;
324
+ private ledgerLostAlerted;
325
+ private raiseLedgerLostAttention;
326
+ }
327
+ export declare function pairKey(a: string, b: string): string;
328
+ export declare function signatureKey(sig: TriggerSignature): string;
329
+ //# sourceMappingURL=SwapAntiThrash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwapAntiThrash.d.ts","sourceRoot":"","sources":["../../src/core/SwapAntiThrash.ts"],"names":[],"mappings":"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"}