instar 1.3.166 → 1.3.168

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.
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ForwardedTopicContext — build the prior-conversation context block for a session
3
+ * that has just been MOVED to this machine by the multi-machine session pool (§L4).
4
+ *
5
+ * Why this exists (bug #2): when a topic is moved to a standby, the standby spawns the
6
+ * session locally but its OWN message ledger for that topic is EMPTY (it never polled
7
+ * the topic) and its TopicMemory has no rows — so `spawnSessionForTopic` builds an
8
+ * empty context and the moved conversation starts with amnesia. The router (which DID
9
+ * hold the conversation) is the source of truth; the receiver fetches the recent
10
+ * history from it and formats it here into the same "Thread History" block the
11
+ * single-machine JSONL path produces, so the moved session continues the conversation
12
+ * instead of starting blank.
13
+ *
14
+ * Pure + caller-agnostic so it is unit-testable without a live two-machine setup.
15
+ */
16
+ /** One historical message, matching TelegramAdapter.getTopicHistory()'s shape. */
17
+ export interface ForwardedHistoryMessage {
18
+ fromUser: boolean;
19
+ text?: string;
20
+ senderName?: string;
21
+ timestamp?: string | number;
22
+ }
23
+ /**
24
+ * Format fetched router-side history into a Thread History context block, or '' when
25
+ * there is nothing to inject. Mirrors the single-machine JSONL formatting in
26
+ * spawnSessionForTopic so a moved session reads identically to a local one.
27
+ */
28
+ export declare function formatForwardedTopicContext(messages: ForwardedHistoryMessage[] | null | undefined, topicName?: string): string;
29
+ //# sourceMappingURL=ForwardedTopicContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForwardedTopicContext.d.ts","sourceRoot":"","sources":["../../src/core/ForwardedTopicContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,IAAI,GAAG,SAAS,EACtD,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAqBR"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * ForwardedTopicContext — build the prior-conversation context block for a session
3
+ * that has just been MOVED to this machine by the multi-machine session pool (§L4).
4
+ *
5
+ * Why this exists (bug #2): when a topic is moved to a standby, the standby spawns the
6
+ * session locally but its OWN message ledger for that topic is EMPTY (it never polled
7
+ * the topic) and its TopicMemory has no rows — so `spawnSessionForTopic` builds an
8
+ * empty context and the moved conversation starts with amnesia. The router (which DID
9
+ * hold the conversation) is the source of truth; the receiver fetches the recent
10
+ * history from it and formats it here into the same "Thread History" block the
11
+ * single-machine JSONL path produces, so the moved session continues the conversation
12
+ * instead of starting blank.
13
+ *
14
+ * Pure + caller-agnostic so it is unit-testable without a live two-machine setup.
15
+ */
16
+ /**
17
+ * Format fetched router-side history into a Thread History context block, or '' when
18
+ * there is nothing to inject. Mirrors the single-machine JSONL formatting in
19
+ * spawnSessionForTopic so a moved session reads identically to a local one.
20
+ */
21
+ export function formatForwardedTopicContext(messages, topicName) {
22
+ if (!Array.isArray(messages) || messages.length === 0)
23
+ return '';
24
+ const lines = [];
25
+ lines.push(`--- Thread History (last ${messages.length} messages, relayed from the previous machine) ---`);
26
+ lines.push(`IMPORTANT: Read this history carefully before taking any action.`);
27
+ lines.push(`Your task is to continue THIS conversation, not start something new.`);
28
+ if (topicName)
29
+ lines.push(`Topic: ${topicName}`);
30
+ lines.push('');
31
+ for (const m of messages) {
32
+ const sender = m.fromUser ? (m.senderName || 'User') : 'Agent';
33
+ let ts = '??:??';
34
+ if (m.timestamp != null) {
35
+ const d = new Date(m.timestamp);
36
+ if (!Number.isNaN(d.getTime()))
37
+ ts = d.toISOString().slice(11, 19);
38
+ }
39
+ const text = (m.text || '').slice(0, 2000);
40
+ lines.push(`[${ts}] ${sender}: ${text}`);
41
+ }
42
+ lines.push('');
43
+ lines.push('--- End Thread History ---');
44
+ return lines.join('\n');
45
+ }
46
+ //# sourceMappingURL=ForwardedTopicContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForwardedTopicContext.js","sourceRoot":"","sources":["../../src/core/ForwardedTopicContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAsD,EACtD,SAAkB;IAElB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,MAAM,mDAAmD,CAAC,CAAC;IAC3G,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACnF,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,EAAE,GAAG,OAAO,CAAC;QACjB,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAAE,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -131,6 +131,14 @@ export declare function configureLlmCircuitBreaker(opts: {
131
131
  openMs?: number;
132
132
  enabled?: boolean;
133
133
  }): void;
134
+ /**
135
+ * Read-only convenience: is the shared LLM circuit currently AVAILABLE for new
136
+ * LLM-backed work? True when the breaker is disabled, or its state is 'closed'.
137
+ * False when 'open' or 'half-open' (the provider is rate-limited / probing).
138
+ * Non-mutating — unlike the admission check, it does NOT consume a half-open
139
+ * probe slot, so callers can use it as a pure gate (e.g. the mentor tick backing
140
+ * off rather than re-tripping the circuit). */
141
+ export declare function llmCircuitAvailable(): boolean;
134
142
  /** Test-only: drop the singleton so a fresh one is built next access. */
135
143
  export declare function __resetLlmCircuitBreakerSingleton(): void;
136
144
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"LlmCircuitBreaker.d.ts","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,6HAA6H;AAC7H,qBAAa,cAAe,SAAQ,KAAK;IAEV,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO;IAD7D,QAAQ,CAAC,WAAW,EAAG,IAAI,CAAU;gBACzB,OAAO,EAAE,MAAM,EAAW,aAAa,CAAC,EAAE,OAAO,YAAA;CAI9D;AAED,wHAAwH;AACxH,qBAAa,mBAAoB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,YAAY,EAAE,MAAM;IADzC,QAAQ,CAAC,WAAW,EAAG,IAAI,CAAU;gBAChB,YAAY,EAAE,MAAM;CAM1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAyC5E;AAED,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iEAAiE;IACjE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAID,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;gBAEjC,IAAI,GAAE,wBAA6B;IAO/C,2EAA2E;IAC3E,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK7D;;;;;;;OAOG;IACH,OAAO,IAAI,eAAe;IA+B1B;;;;;;OAMG;IACH,UAAU,IAAI,IAAI;IAUlB;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBnC,MAAM,IAAI,uBAAuB;IAajC,gFAAgF;IAChF,KAAK,IAAI,IAAI;CAMd;AAID,sFAAsF;AACtF,wBAAgB,oBAAoB,IAAI,iBAAiB,CAGxD;AAED,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAE7F;AAED,yEAAyE;AACzE,wBAAgB,iCAAiC,IAAI,IAAI,CAExD"}
1
+ {"version":3,"file":"LlmCircuitBreaker.d.ts","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
@@ -229,6 +229,17 @@ export function getLlmCircuitBreaker() {
229
229
  export function configureLlmCircuitBreaker(opts) {
230
230
  getLlmCircuitBreaker().configure(opts);
231
231
  }
232
+ /**
233
+ * Read-only convenience: is the shared LLM circuit currently AVAILABLE for new
234
+ * LLM-backed work? True when the breaker is disabled, or its state is 'closed'.
235
+ * False when 'open' or 'half-open' (the provider is rate-limited / probing).
236
+ * Non-mutating — unlike the admission check, it does NOT consume a half-open
237
+ * probe slot, so callers can use it as a pure gate (e.g. the mentor tick backing
238
+ * off rather than re-tripping the circuit). */
239
+ export function llmCircuitAvailable() {
240
+ const s = getLlmCircuitBreaker().status();
241
+ return !s.enabled || s.state === 'closed';
242
+ }
232
243
  /** Test-only: drop the singleton so a fresh one is built next access. */
233
244
  export function __resetLlmCircuitBreakerSingleton() {
234
245
  _singleton = null;
@@ -1 +1 @@
1
- {"version":3,"file":"LlmCircuitBreaker.js","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmCircuitBreaker.js","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MentorOnboardingRunner.d.ts","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MentorOnboardingRunner.d.ts","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingRunner.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  * Ships dormant: `mentor.enabled=false` / `mentor.mode='off'` by default (§16).
14
14
  */
15
15
  import { runMentorTick } from './MentorOnboardingTick.js';
16
+ import { llmCircuitAvailable } from '../core/LlmCircuitBreaker.js';
16
17
  import { runAutonomousGuardian, } from './MentorAutonomousGuardian.js';
17
18
  /**
18
19
  * The Telegram topic the mentor exchange flows through. Prefers a dedicated
@@ -115,6 +116,7 @@ export class MentorOnboardingRunner {
115
116
  // Safe window = mentee at rest AND the min-interval floor elapsed (§12 Q3).
116
117
  safeWindowOpen: !this.services.isMenteeBusy() && this.services.minIntervalElapsed(),
117
118
  budgetOk: this.services.budgetOk(),
119
+ llmAvailable: llmCircuitAvailable(),
118
120
  spawnStageA: this.services.spawnStageA,
119
121
  runStageBForensics: () => this.services.runStageBForensics(framework),
120
122
  capture: this.services.capture,
@@ -1 +1 @@
1
- {"version":3,"file":"MentorOnboardingRunner.js","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MentorOnboardingRunner.js","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingRunner.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,11 @@ export interface MentorTickDeps {
34
34
  safeWindowOpen: boolean;
35
35
  /** Fail-closed budget gate (the GET /autonomous/can-start precedent). */
36
36
  budgetOk: boolean;
37
+ /** LLM-availability gate: false when the shared LlmCircuitBreaker is open/half-open
38
+ * (the provider is rate-limited). The tick's Stage A (spawn) and Stage B (`claude -p`
39
+ * forensics) are both LLM-backed, so running while rate-limited just fails and
40
+ * RE-TRIPS the circuit (which pauses ALL LLM-backed work). Skip instead. */
41
+ llmAvailable: boolean;
37
42
  /** Spawn Stage A (empty tool grant) and return its transcript. Injected so the
38
43
  * pure tick has no SessionManager/tmux dependency. */
39
44
  spawnStageA: (prompt: string) => Promise<string>;
@@ -56,7 +61,7 @@ export interface MentorTickDeps {
56
61
  /** Leak-detector liveness check; defaults to the real canary. Injected for tests. */
57
62
  canaryCheck?: () => boolean;
58
63
  }
59
- export type MentorTickReason = 'canary-failed' | 'budget' | 'unsafe-window' | 'stage-a-failed' | 'ran';
64
+ export type MentorTickReason = 'canary-failed' | 'budget' | 'llm-rate-limited' | 'unsafe-window' | 'stage-a-failed' | 'ran';
60
65
  export interface MentorTickResult {
61
66
  ran: boolean;
62
67
  reason: MentorTickReason;
@@ -1 +1 @@
1
- {"version":3,"file":"MentorOnboardingTick.d.ts","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingTick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAEhH;kFACkF;AAClF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,oEAAoE;IACpE,OAAO,EAAE,mBAAmB,CAAC;IAC7B;4FACwF;IACxF,cAAc,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB;2DACuD;IACvD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD;2DACuD;IACvD,kBAAkB,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,iEAAiE;IACjE,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,gBAAgB,CAAC;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,KAAK,CAAC;AAEV,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6FnF"}
1
+ {"version":3,"file":"MentorOnboardingTick.d.ts","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingTick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAEhH;kFACkF;AAClF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,oEAAoE;IACpE,OAAO,EAAE,mBAAmB,CAAC;IAC7B;4FACwF;IACxF,cAAc,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB;;;iFAG6E;IAC7E,YAAY,EAAE,OAAO,CAAC;IACtB;2DACuD;IACvD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD;2DACuD;IACvD,kBAAkB,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,iEAAiE;IACjE,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,gBAAgB,CAAC;IACtD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,QAAQ,GACR,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,KAAK,CAAC;AAEV,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkGnF"}
@@ -50,6 +50,11 @@ export async function runMentorTick(deps) {
50
50
  // 2. Budget gate — fail-closed BEFORE any spend or contact (§6).
51
51
  if (!deps.budgetOk)
52
52
  return { ran: false, reason: 'budget' };
53
+ // 2b. LLM rate-limit gate — when the shared provider circuit is open, the
54
+ // tick's Stage A + Stage B are LLM-backed and would just fail and RE-TRIP the
55
+ // circuit (re-pausing all LLM work ~900s). Back off; we'll run when it closes.
56
+ if (!deps.llmAvailable)
57
+ return { ran: false, reason: 'llm-rate-limited' };
53
58
  // 3. Safe-window — only act at a durable mentee state transition (§12 Q3).
54
59
  if (!deps.safeWindowOpen)
55
60
  return { ran: false, reason: 'unsafe-window' };
@@ -1 +1 @@
1
- {"version":3,"file":"MentorOnboardingTick.js","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingTick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MentorOnboardingTick.js","sourceRoot":"","sources":["../../src/scheduler/MentorOnboardingTick.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.166",
3
+ "version": "1.3.168",
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-05-31T12:02:03.497Z",
5
- "instarVersion": "1.3.166",
4
+ "generatedAt": "2026-05-31T12:19:24.469Z",
5
+ "instarVersion": "1.3.168",
6
6
  "entryCount": 193,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -0,0 +1,64 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What to Tell Your User
7
+
8
+ If you run your agent across more than one machine and move a conversation to another
9
+ one, the moved conversation now remembers what you were talking about — the receiving
10
+ machine pulls the recent history from the machine that was serving it. Only relevant
11
+ when the multi-machine session pool is on; single-machine agents are unaffected. Nothing
12
+ to configure.
13
+
14
+ If you run an agent with the mentor routine enabled, it will stop making things worse during AI rate-limit periods — it now waits for the provider to recover instead of repeatedly tripping the system-wide pause. Nothing to configure.
15
+
16
+ ## Summary of New Capabilities
17
+
18
+ - New `formatForwardedTopicContext` helper formats relayed history into the standard
19
+ thread-history block.
20
+ - `spawnSessionForTopic` accepts an optional pre-computed context, used verbatim when
21
+ provided (skipping the empty-on-a-standby local sources); single-machine behavior is
22
+ unchanged when it is absent.
23
+ - The owner-side resume fetches the router's recent topic messages and passes them, so a
24
+ moved session continues the conversation.
25
+
26
+ - The mentor onboarding tick now gates on LLM availability (the shared rate-limit circuit breaker) in addition to budget and safe-window: when the provider is rate-limited it backs off with reason `llm-rate-limited` and resumes automatically when the breaker closes. A new read-only `llmCircuitAvailable()` helper exposes the breaker state without consuming its recovery probe.
27
+
28
+ ## Evidence
29
+
30
+ - Confirmed in code: on a standby, a moved session was spawned with no TopicMemory and an
31
+ empty local message history, so it started with no prior conversation context.
32
+ - Unit, `tests/unit/ForwardedTopicContext.test.ts`: the formatter over empty history,
33
+ multi-message threads with attribution, sender/timestamp fallbacks, and the
34
+ per-message length cap.
35
+ - Wiring, `tests/unit/session-pool-activation-wiring.test.ts`: the owner-side bridge
36
+ still spawns and fails safe with the history fetch wrapped around it.
37
+ - 51 session-pool + adapter tests pass; tsc --noEmit clean.
38
+ - Note: unit-verified; the live confirmation that a moved session retains its context
39
+ follows once the second machine's CLI is logged in.
40
+ - Spec, `docs/specs/moved-session-context-relay.md` plus the .eli16.md sibling.
41
+
42
+ - Found in the agent's own server log: the LLM circuit breaker opening repeatedly (trip #7) on the mentor's `claude -p` forensics call.
43
+ - The mentor tick gated on budget but not on the rate-limit circuit, so it ran LLM-backed Stage A + Stage B while the provider was throttled, re-tripping the breaker (which pauses all LLM-backed work ~900s per trip).
44
+ - Unit tests: the tick skips with reason `llm-rate-limited` BEFORE any spawn/forensics when the circuit is open; budget is still checked first; the existing gate-order and happy-path cases stay green.
45
+
46
+ ## What Changed — a conversation moved to your other machine keeps its memory
47
+
48
+ A quality step for the multi-machine "move this conversation to my other machine"
49
+ feature. When a conversation moved to the backup machine, that machine started the
50
+ session fresh from its own records — which were empty for that conversation (it had
51
+ never been the one talking to you). So the moved conversation effectively forgot
52
+ everything that came before it.
53
+
54
+ This release has the receiving machine fetch the recent history from the machine that
55
+ was serving the conversation, and seed the moved session with it. So the conversation
56
+ picks up where it left off instead of resetting. It's best-effort: if the other machine
57
+ can't be reached, the session still starts (just without the prior history, as before),
58
+ so it never blocks the move.
59
+
60
+ ## What Changed — The mentor routine no longer hammers a rate-limited provider and re-trips the pause
61
+
62
+ Agents can run a "mentor" routine that periodically studies a mentee agent using the AI model. There's also a safety breaker that pauses all AI work for a while when the provider says you're going too fast (rate-limited). The mentor checked its spending budget before running, but not whether the AI was currently rate-limited — so while the provider was throttled, the mentor kept firing off doomed analyses that failed and re-tripped the pause, restarting it again and again. The agent was effectively tripping itself.
63
+
64
+ Now the mentor also checks the breaker: if the AI is currently rate-limited, it skips this round and picks up on the next one, instead of throwing a doomed request at a throttled provider and re-pausing all the agent's other AI-backed monitors.
@@ -0,0 +1,39 @@
1
+ # Side-effects — Mentor LLM rate-limit gate
2
+
3
+ ## 1. What files/state does this touch at runtime?
4
+ `MentorOnboardingTick.ts` (new `llmAvailable` dep + a gate), `MentorOnboardingRunner.ts` (computes
5
+ `llmAvailable` from the circuit), `LlmCircuitBreaker.ts` (a new read-only `llmCircuitAvailable()`
6
+ helper). No new state, config, or schema.
7
+
8
+ ## 2. Does it change any functional behavior?
9
+ The mentor onboarding tick now SKIPS (returns `{ran:false, reason:'llm-rate-limited'}`) when the
10
+ shared LLM circuit is open/half-open, instead of running Stage A + Stage B and failing. When the
11
+ circuit is closed (or disabled), behavior is unchanged.
12
+
13
+ ## 3. What happens on failure / weird config?
14
+ If the breaker is disabled, `llmCircuitAvailable()` returns true (the mentor runs as before). The
15
+ helper is read-only (cannot throw on a normal status read). A skipped tick is simply retried on the
16
+ next eligible cycle — no work is lost (the mentor's forensics are not time-critical).
17
+
18
+ ## 4. Migration parity — do existing agents get it?
19
+ Yes, via the normal release — code-only, compiled into `dist`. No agent-installed file / config /
20
+ template change → no `PostUpdateMigrator` pass.
21
+
22
+ ## 5. Could it spam / flood / burn resources?
23
+ The opposite — it REDUCES burn: it stops the mentor from firing doomed LLM calls at a throttled
24
+ provider and re-tripping the circuit (each trip pauses all LLM-backed work ~900s). The added work is
25
+ one read-only circuit-status read per tick.
26
+
27
+ ## 6. Rollback / off-switch?
28
+ Revert the gate + the `llmAvailable` dep + the helper. No data, no migration, no flag.
29
+
30
+ ## 7. Concurrency / ordering?
31
+ Gate order is budget → llm-rate-limit → safe-window (budget still wins a tie; fail-closed precedence
32
+ unchanged). The circuit query is non-mutating — it does NOT consume the breaker's half-open probe
33
+ slot, so it can't perturb the breaker's recovery.
34
+
35
+ ## Blast radius
36
+ Small + contained, mentor-only. One gate in the onboarding tick + a read-only circuit helper. Only
37
+ mentor-enabled agents (the mentor ships dark elsewhere) are affected, and only when the LLM circuit
38
+ is open. The dark autonomous-fix guardian makes LLM calls too and should get the same gate — noted as
39
+ a small follow-up, not bundled here.
@@ -0,0 +1,94 @@
1
+ # Side-Effects Review — moved session inherits prior conversation (bug #2)
2
+
3
+ **Version / slug:** `moved-session-context-relay`
4
+ **Date:** `2026-05-31`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `not required`
7
+
8
+ ## Summary of the change
9
+
10
+ A session moved to a standby now inherits the topic's recent history from the router.
11
+ New pure helper `formatForwardedTopicContext`; `spawnSessionForTopic` gains an optional
12
+ `precomputedContext`; the owner-side resume fetches the router's
13
+ `/telegram/topics/:topicId/messages` and passes it. Best-effort; default-off for
14
+ single-machine. Closes audit #2 (moved session started with no prior context).
15
+
16
+ ## Decision-point inventory
17
+
18
+ - **spawnSessionForTopic context source** — `precomputedContext` provided → use it,
19
+ skip the local TopicMemory/JSONL sources; else → unchanged local logic. Both sides
20
+ covered (the helper tests + the single-machine path is untouched when undefined).
21
+ - **owner-side fetch** — router URL resolvable (`_resolveRouterUrl` → lease holder peer
22
+ URL, not self) + GET ok → format + pass; any failure → spawn without it. Best-effort.
23
+
24
+ ## 1. Over-block
25
+
26
+ **What legitimate inputs does this reject?** None. The single-machine spawn path is
27
+ byte-identical when `precomputedContext` is undefined (no router). The fetch is purely
28
+ additive context; a failure falls back to today's behavior (spawn without prior
29
+ history). Nothing that worked before is rejected.
30
+
31
+ ## 2. Under-block
32
+
33
+ **What does this still miss?** It fetches up to 50 recent messages (not the entire
34
+ history / no summaries) — sufficient for continuity, not a full replica. It is a
35
+ point-in-time fetch, not a shared/replicated ledger (the broader architectural fix
36
+ remains separate). It is NOT yet live-verified (the moved session can't run until the
37
+ mini's Claude is logged in — bug #12, pending the user). It does not sync userProfile
38
+ (a smaller, separate gap).
39
+
40
+ ## 3. Level-of-abstraction fit
41
+
42
+ **Right layer?** Yes. The formatter is a pure module (testable, mirrors the existing
43
+ JSONL format). `precomputedContext` slots into `spawnSessionForTopic`'s existing
44
+ context-resolution as the highest-precedence source. The fetch lives in the owner-side
45
+ resume (the one place a moved session is spawned), using the same `_resolveRouterUrl` /
46
+ authToken plumbing as the outbound relay.
47
+
48
+ ## 4. Signal vs authority compliance
49
+
50
+ **Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
51
+
52
+ No blocking authority. It only ADDS context to a spawned session; it gates nothing and
53
+ blocks nothing. A fetch failure is swallowed (best-effort) and the session proceeds.
54
+
55
+ ## 5. Interactions
56
+
57
+ Reuses the read-only `/telegram/topics/:topicId/messages` route (no new endpoint) and
58
+ the lease-holder resolution (`_resolveRouterUrl`) shared with the outbound relay. Pairs
59
+ with the owner-side resume (#9/#11): the same path that spawns + persists + confirms a
60
+ moved session now also seeds its context. Idempotent (a fresh fetch per spawn). No
61
+ interaction with the lease or shared-state guard.
62
+
63
+ ## 6. External surfaces
64
+
65
+ One cross-machine GET from the standby to the router's existing messages route
66
+ (Bearer-authed). No new route, config, or notification. The visible effect: a moved
67
+ session continues the conversation instead of resetting.
68
+
69
+ ## 7. Rollback cost
70
+
71
+ Low. Remove the `precomputedContext` param + the onAccepted fetch + the helper; a moved
72
+ session reverts to starting context-less (audit #2). No schema, no state, no migration.
73
+
74
+ ## Conclusion
75
+
76
+ Targeted, additive, best-effort context relay; the formatter + the precedence both
77
+ unit-tested; the single-machine path untouched; no new authority/surface; cheap revert.
78
+ Makes a moved session continue its conversation. Honestly scoped: unit-verified, live
79
+ confirmation pending the mini's Claude login.
80
+
81
+ ## Second-pass review (if required)
82
+
83
+ Not required — additive best-effort context, pure formatter fully tested, single-machine
84
+ path unchanged, reversible, no authority. The live moved-session-retains-context check
85
+ is the Tier-3 gate after the user's mini login.
86
+
87
+ ## Evidence pointers
88
+
89
+ - `tests/unit/ForwardedTopicContext.test.ts` — formatter over empty/multi/fallback/cap.
90
+ - `tests/unit/session-pool-activation-wiring.test.ts` — owner-side bridge spawns + fails safe.
91
+ - 51 session-pool + adapter tests green; `tsc --noEmit` clean.
92
+ - Confirmed in code: on a standby, `spawnSessionForTopic` got `topicMemory: undefined`
93
+ and `getTopicHistory` returns `[]` → `contextContent = ''` (no prior history).
94
+ - Spec: `docs/specs/moved-session-context-relay.md` (+ `.eli16.md`).