@nexus-cortex/core 4.94.0 → 4.96.1

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 (42) hide show
  1. package/.env.defaults +57 -1
  2. package/dist/config/effectiveConfig.d.ts.map +1 -1
  3. package/dist/config/effectiveConfig.js +5 -0
  4. package/dist/config/effectiveConfig.js.map +1 -1
  5. package/dist/middleware/HelperModelMiddleware.d.ts +16 -0
  6. package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
  7. package/dist/middleware/HelperModelMiddleware.js +25 -0
  8. package/dist/middleware/HelperModelMiddleware.js.map +1 -1
  9. package/dist/models/cards/deepseek/deepseek-v4-1-flash.d.ts +19 -0
  10. package/dist/models/cards/deepseek/deepseek-v4-1-flash.d.ts.map +1 -0
  11. package/dist/models/cards/deepseek/deepseek-v4-1-flash.js +40 -0
  12. package/dist/models/cards/deepseek/deepseek-v4-1-flash.js.map +1 -0
  13. package/dist/models/cards/deepseek/index.d.ts +1 -0
  14. package/dist/models/cards/deepseek/index.d.ts.map +1 -1
  15. package/dist/models/cards/deepseek/index.js +1 -0
  16. package/dist/models/cards/deepseek/index.js.map +1 -1
  17. package/dist/models/registry/ModularModelRegistry.d.ts.map +1 -1
  18. package/dist/models/registry/ModularModelRegistry.js +1 -0
  19. package/dist/models/registry/ModularModelRegistry.js.map +1 -1
  20. package/dist/orchestrator/CortexOrchestrator.d.ts +21 -0
  21. package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
  22. package/dist/orchestrator/CortexOrchestrator.js +252 -15
  23. package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
  24. package/dist/orchestrator/emptyResponseClassifier.d.ts +17 -4
  25. package/dist/orchestrator/emptyResponseClassifier.d.ts.map +1 -1
  26. package/dist/orchestrator/emptyResponseClassifier.js +26 -9
  27. package/dist/orchestrator/emptyResponseClassifier.js.map +1 -1
  28. package/dist/orchestrator/loopToolBlock.d.ts +46 -0
  29. package/dist/orchestrator/loopToolBlock.d.ts.map +1 -0
  30. package/dist/orchestrator/loopToolBlock.js +66 -0
  31. package/dist/orchestrator/loopToolBlock.js.map +1 -0
  32. package/dist/training/DecisionStore.d.ts +1 -1
  33. package/dist/training/DecisionStore.d.ts.map +1 -1
  34. package/dist/training/DecisionStore.js.map +1 -1
  35. package/dist/training/loopExitPlanner.d.ts +30 -0
  36. package/dist/training/loopExitPlanner.d.ts.map +1 -0
  37. package/dist/training/loopExitPlanner.js +61 -0
  38. package/dist/training/loopExitPlanner.js.map +1 -0
  39. package/dist/training/toolOutcome.d.ts.map +1 -1
  40. package/dist/training/toolOutcome.js +33 -2
  41. package/dist/training/toolOutcome.js.map +1 -1
  42. package/package.json +3 -3
@@ -375,6 +375,9 @@ export declare class CortexOrchestrator {
375
375
  * exactly once, at the anchor-lift boundary. One-shot per orchestrator. */
376
376
  private deferredCorpusDelivered;
377
377
  private liftNudgeDelivered;
378
+ private loopBlockTool;
379
+ private readonly loopBlockCounts;
380
+ private loopBlockEscalate;
378
381
  private liftPlanDelivered;
379
382
  private cachedEnvReport?;
380
383
  private endTurnResolverRejects;
@@ -435,6 +438,13 @@ export declare class CortexOrchestrator {
435
438
  private gatherEnvReport;
436
439
  /** The most recent assistant message's text (the draft/work product the model just produced). */
437
440
  private lastAssistantText;
441
+ /**
442
+ * The last `n` tool calls of `toolName` (each input paired with its result output), oldest→newest.
443
+ * Fed to the loop-exit mentor so it sees the ACTUAL looping calls + their failing outputs — the
444
+ * concrete thing to redirect — not just the model's reasoning prose. The tool being blocked right
445
+ * now is not yet in history, so this returns the PRIOR (looping) calls of that tool.
446
+ */
447
+ private recentToolCalls;
438
448
  /**
439
449
  * endTurnResolver (operator design 2026-09-04) — the mentor-as-EndTurn-judge, the finish-side twin of
440
450
  * deliverLiftPlanAtLift. Runs AFTER evaluateEndTurnGates: only when the mechanical gate ACCEPTED the
@@ -553,6 +563,7 @@ export declare class CortexOrchestrator {
553
563
  toolTimeoutMs: number;
554
564
  maxLoopRepetitions: number;
555
565
  turnDeadlineMs: number;
566
+ emptyTurnContinue: boolean;
556
567
  };
557
568
  private diversityFiredAt;
558
569
  getDiversityWarning(toolCallCounts: Map<string, number>): string | null;
@@ -981,6 +992,16 @@ export declare class CortexOrchestrator {
981
992
  * a mentor error never breaks the turn.
982
993
  */
983
994
  private executeAskForAdvice;
995
+ /** CORTEX_LOOP_TOOL_BLOCK — arm the hard intervention when the ladder flags a
996
+ * non-converging same-approach loop (diversify/break). If this tool has
997
+ * already been blocked twice, request a mentor escalation instead of a 3rd
998
+ * block. Called from the turn loop where the ladder result is computed. */
999
+ private armLoopBlock;
1000
+ /** Executor-gate: if a tool is loop-blocked THIS turn, return an append-only
1001
+ * redirect error tool_result INSTEAD of executing it (the tools list is
1002
+ * unchanged → prompt cache is not busted). One-shot: the block clears on use
1003
+ * so the tool is available again next turn. Returns null when not blocked. */
1004
+ private maybeBlockLoopingTool;
984
1005
  private processToolTraining;
985
1006
  /**
986
1007
  * Inject thinking block into message history
@@ -1 +1 @@
1
- {"version":3,"file":"CortexOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/CortexOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CortexOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/CortexOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,8 @@ import { resolveThrashState, resolveThrashConfig } from '../training/thrashDetec
50
50
  import { classifyErrorFamily } from '../training/errorFamily.js';
51
51
  import { classifyToolOutcome } from '../training/toolOutcome.js';
52
52
  import { LoopLadder, formatLadderSignal } from '../training/loopLadder.js';
53
+ import { decideLoopBlock, isLoopBlockTrigger } from './loopToolBlock.js';
54
+ import { resolveLoopExitConfig, parseLoopExitVerdict } from '../training/loopExitPlanner.js';
53
55
  import { shouldNudgeInaction, formatInactionNudge } from './inactionGuard.js';
54
56
  import { applyImageTtlForRequest } from './imageTtl.js';
55
57
  import { detectSurrenderText, resolveSurrenderNudgeMode, SURRENDER_REMINDER } from './turnEndGuards.js';
@@ -171,6 +173,15 @@ export class CortexOrchestrator {
171
173
  * exactly once, at the anchor-lift boundary. One-shot per orchestrator. */
172
174
  deferredCorpusDelivered = false;
173
175
  liftNudgeDelivered = false; // A′ proposal-1: lift-boundary SearchTools/AskForAdvice nudge, one-shot
176
+ // CORTEX_LOOP_TOOL_BLOCK (hard loop intervention): when the ladder flags a
177
+ // non-converging same-approach loop, disable the looping tool's EXECUTOR for
178
+ // ONE turn (tools list unchanged → cache-safe); a call to it returns an
179
+ // append-only redirect error. `loopBlockTool` is armed for the NEXT turn;
180
+ // `loopBlockCounts` tracks blocks per tool (escalate to a mentor consult after
181
+ // 2); `loopBlockEscalate` requests the direct-invoke consult.
182
+ loopBlockTool = null;
183
+ loopBlockCounts = new Map();
184
+ loopBlockEscalate = false;
174
185
  liftPlanDelivered = false; // LIFT_MENTOR_PLANNER: bounded mentor-planner at the lift, one-shot
175
186
  cachedEnvReport; // ENV_RECON_COMMAND output, gathered once, shared by lift-planner + endturn-resolver
176
187
  endTurnResolverRejects = 0; // endTurnResolver: GAP vetoes so far this task (bounded by maxRejects → fallback-accept)
@@ -477,6 +488,48 @@ export class CortexOrchestrator {
477
488
  }
478
489
  return '';
479
490
  }
491
+ /**
492
+ * The last `n` tool calls of `toolName` (each input paired with its result output), oldest→newest.
493
+ * Fed to the loop-exit mentor so it sees the ACTUAL looping calls + their failing outputs — the
494
+ * concrete thing to redirect — not just the model's reasoning prose. The tool being blocked right
495
+ * now is not yet in history, so this returns the PRIOR (looping) calls of that tool.
496
+ */
497
+ recentToolCalls(toolName, n) {
498
+ const resultById = new Map();
499
+ for (const m of this.messageHistory) {
500
+ const c = m?.message?.content;
501
+ if (!Array.isArray(c))
502
+ continue;
503
+ for (const b of c) {
504
+ if (b?.type !== 'tool_result')
505
+ continue;
506
+ const rc = typeof b.content === 'string'
507
+ ? b.content
508
+ : Array.isArray(b.content)
509
+ ? b.content.filter((x) => x?.type === 'text').map((x) => x.text || '').join('\n')
510
+ : '';
511
+ resultById.set(b.tool_use_id, rc);
512
+ }
513
+ }
514
+ const calls = [];
515
+ for (let i = this.messageHistory.length - 1; i >= 0 && calls.length < n; i--) {
516
+ const m = this.messageHistory[i];
517
+ if (m?.message?.role !== 'assistant')
518
+ continue;
519
+ const c = m.message.content;
520
+ if (!Array.isArray(c))
521
+ continue;
522
+ for (let j = c.length - 1; j >= 0 && calls.length < n; j--) {
523
+ const b = c[j];
524
+ if (b?.type !== 'tool_use' || b.name !== toolName)
525
+ continue;
526
+ const input = JSON.stringify(b.input ?? {}).slice(0, 500);
527
+ const result = (resultById.get(b.id) ?? '(no result captured)').slice(0, 500);
528
+ calls.push(`call: ${input}\n → result: ${result}`);
529
+ }
530
+ }
531
+ return calls.reverse().join('\n');
532
+ }
480
533
  /**
481
534
  * endTurnResolver (operator design 2026-09-04) — the mentor-as-EndTurn-judge, the finish-side twin of
482
535
  * deliverLiftPlanAtLift. Runs AFTER evaluateEndTurnGates: only when the mechanical gate ACCEPTED the
@@ -1495,6 +1548,12 @@ export class CortexOrchestrator {
1495
1548
  // Round 18b: track whether we've already retried on empty response so
1496
1549
  // we don't loop forever. See empty-detection block below.
1497
1550
  let emptyResponseRetryUsed = false;
1551
+ // HB-ENDTURN-TERMINAL (2026-09-08): dark-lever gate + a SEPARATE bounded counter for the
1552
+ // continue-kinds (truncated / reasoning_only_active). Those re-enter the loop with tools rather
1553
+ // than burning the one-shot force-answer budget; capped so an empty-turn loop still terminates.
1554
+ const EMPTY_TURN_CONTINUE = loopDefaults.emptyTurnContinue;
1555
+ const EMPTY_CONTINUE_MAX = 3;
1556
+ let emptyContinueCount = 0;
1498
1557
  // Inaction guard (backlog item 2 — the ladder's inverse): single-nudge
1499
1558
  // bound for the actless-verbose retry. Default OFF via env.
1500
1559
  let inactionNudgeUsed = false;
@@ -1600,16 +1659,32 @@ export class CortexOrchestrator {
1600
1659
  // after its final tool call. Nudging it for "no text" would burn an
1601
1660
  // extra round-trip (observed with haiku in the structured-output
1602
1661
  // canary). The structured result IS the deliverable, so skip R18b.
1603
- if (!hasVisibleText && !emptyResponseRetryUsed && !structuredOutputState?.result) {
1604
- emptyResponseRetryUsed = true;
1605
- // Typed empty-response classification (grok-build port): distinguish
1606
- // reasoning_only (model reasoned but never answered) from
1607
- // no_visible_content (nothing at all) for observability + a nudge
1608
- // tailored to the failure shape. Does NOT change the one-bounded-retry
1609
- // decision — only the log + nudge text.
1610
- // D-E (2026-09-04): pass stopReason so a max_tokens truncation is classified 'truncated'
1611
- // (continue), not 'reasoning_only' (which demands a final answer and just re-truncates).
1612
- const emptyClass = classifyEmptyResponse(currentAssistantCanonicalMessage.content, convertedResponse.stopReason);
1662
+ // HB-ENDTURN-TERMINAL (2026-09-08): classify FIRST so retry policy keys on the kind.
1663
+ // loopHasBudget (dark-gated by CORTEX_EMPTY_TURN_CONTINUE) splits a reasoning-only empty turn
1664
+ // into reasoning_only_active (mid-recon → continue-with-tools, bounded) vs reasoning_only
1665
+ // (exhausted → force the answer, one-shot). Flag off → loopHasBudget false → byte-identical
1666
+ // to the prior one-shot guard.
1667
+ const loopHasBudget = EMPTY_TURN_CONTINUE
1668
+ && (TURN_DEADLINE_MS <= 0 || (Date.now() - loopStartMs) < 0.6 * TURN_DEADLINE_MS)
1669
+ && toolCallIteration < 0.6 * MAX_TOOL_ITERATIONS;
1670
+ // Typed empty-response classification (grok-build port): reasoning_only vs no_visible_content
1671
+ // for observability + a tailored nudge. D-E: stopReason distinguishes a max_tokens truncation
1672
+ // ('truncated' → continue) from a demand-final-answer.
1673
+ const emptyClass = (!hasVisibleText && !structuredOutputState?.result)
1674
+ ? classifyEmptyResponse(currentAssistantCanonicalMessage.content, convertedResponse.stopReason, loopHasBudget)
1675
+ : null;
1676
+ const isEmptyContinueKind = EMPTY_TURN_CONTINUE && !!emptyClass
1677
+ && (emptyClass.kind === 'truncated' || emptyClass.kind === 'reasoning_only_active');
1678
+ const canRetryEmpty = isEmptyContinueKind
1679
+ ? emptyContinueCount < EMPTY_CONTINUE_MAX
1680
+ : !emptyResponseRetryUsed;
1681
+ if (emptyClass && canRetryEmpty) {
1682
+ if (isEmptyContinueKind) {
1683
+ emptyContinueCount++;
1684
+ }
1685
+ else {
1686
+ emptyResponseRetryUsed = true;
1687
+ }
1613
1688
  console.warn(`[Orchestrator] Empty response detected (${emptyClass.kind}, hadReasoning=${emptyClass.hadReasoning}, iteration=${toolCallIteration}). ` +
1614
1689
  `Retrying once with explicit completion prompt.`);
1615
1690
  // R26 (2026-05-15, surfaced by A/B benchmark): the empty assistant
@@ -2217,6 +2292,7 @@ export class CortexOrchestrator {
2217
2292
  continue;
2218
2293
  const outcome = classifyToolOutcome(tr.tool_name, input, tr);
2219
2294
  const ladder = loopLadder.observe(tr.tool_name, outcome);
2295
+ this.armLoopBlock(tr.tool_name, ladder.action);
2220
2296
  const sig = formatLadderSignal(tr.tool_name, ladder);
2221
2297
  if (sig)
2222
2298
  ladderSignal = sig;
@@ -3660,6 +3736,10 @@ export class CortexOrchestrator {
3660
3736
  const TURN_DEADLINE_MS = loopDefaults.turnDeadlineMs;
3661
3737
  const loopStartMs = Date.now();
3662
3738
  let timeWarnFired = false;
3739
+ // HB-ENDTURN-TERMINAL (2026-09-08): dark gate + bounded continue-counter (streaming parity).
3740
+ const EMPTY_TURN_CONTINUE = loopDefaults.emptyTurnContinue;
3741
+ const EMPTY_CONTINUE_MAX = 3;
3742
+ let emptyContinueCount = 0;
3663
3743
  while (hasToolUse && toolCallIteration < MAX_TOOL_ITERATIONS) {
3664
3744
  const gateReRequest = pendingGateRequest;
3665
3745
  pendingGateRequest = false;
@@ -3687,10 +3767,29 @@ export class CortexOrchestrator {
3687
3767
  // R32 (streaming R18b parity): detect empty/thinking-only responses.
3688
3768
  // sendMessage retries ONCE inside the loop with tools preserved.
3689
3769
  const hasVisibleText = hasVisibleAssistantText(currentAssistantCanonicalMessage.content);
3690
- if (!hasVisibleText && !emptyResponseRetryUsed) {
3691
- emptyResponseRetryUsed = true;
3692
- console.warn(`[Orchestrator Streaming] R32/R18b: Empty response (no tool_use, no text, iteration=${toolCallIteration}). ` +
3693
- `Retrying once with tools preserved.`);
3770
+ // HB-ENDTURN-TERMINAL (2026-09-08): classify-first + bounded continue (streaming parity with
3771
+ // sendMessage). Flag off → loopHasBudget false → reasoning_only_active never selected → the
3772
+ // guard reduces to the prior `!hasVisibleText && !emptyResponseRetryUsed` one-shot.
3773
+ const loopHasBudget = EMPTY_TURN_CONTINUE
3774
+ && (TURN_DEADLINE_MS <= 0 || (Date.now() - loopStartMs) < 0.6 * TURN_DEADLINE_MS)
3775
+ && toolCallIteration < 0.6 * MAX_TOOL_ITERATIONS;
3776
+ const emptyClass = !hasVisibleText
3777
+ ? classifyEmptyResponse(currentAssistantCanonicalMessage.content, undefined, loopHasBudget)
3778
+ : null;
3779
+ const isEmptyContinueKind = EMPTY_TURN_CONTINUE && !!emptyClass
3780
+ && (emptyClass.kind === 'truncated' || emptyClass.kind === 'reasoning_only_active');
3781
+ const canRetryEmpty = isEmptyContinueKind
3782
+ ? emptyContinueCount < EMPTY_CONTINUE_MAX
3783
+ : !emptyResponseRetryUsed;
3784
+ if (emptyClass && canRetryEmpty) {
3785
+ if (isEmptyContinueKind) {
3786
+ emptyContinueCount++;
3787
+ }
3788
+ else {
3789
+ emptyResponseRetryUsed = true;
3790
+ }
3791
+ console.warn(`[Orchestrator Streaming] R32/R18b: Empty response (${emptyClass.kind}, iteration=${toolCallIteration}). ` +
3792
+ `Retrying with tools preserved.`);
3694
3793
  // R26 repair: ensure the empty assistant turn has content (xAI hard-400s on empty)
3695
3794
  for (let i = this.messageHistory.length - 1; i >= 0; i--) {
3696
3795
  const m = this.messageHistory[i];
@@ -3715,7 +3814,7 @@ export class CortexOrchestrator {
3715
3814
  role: 'user',
3716
3815
  content: [{
3717
3816
  type: 'text',
3718
- text: '<system-reminder>Your previous response had no visible text. Please provide your final answer in plain text now — summarize your findings or complete the requested task. Do not call any more tools.</system-reminder>',
3817
+ text: `<system-reminder>${emptyResponseNudge(emptyClass.kind)}${nudgeForbidsTools(emptyClass.kind) ? ' Do not call any more tools.' : ''}</system-reminder>`,
3719
3818
  }],
3720
3819
  },
3721
3820
  timeline: {
@@ -3995,6 +4094,7 @@ export class CortexOrchestrator {
3995
4094
  continue;
3996
4095
  const outcome = classifyToolOutcome(tr.tool_name, input, tr);
3997
4096
  const ladder = loopLadder.observe(tr.tool_name, outcome);
4097
+ this.armLoopBlock(tr.tool_name, ladder.action);
3998
4098
  const sig = formatLadderSignal(tr.tool_name, ladder);
3999
4099
  if (sig)
4000
4100
  ladderSignal = sig;
@@ -4473,6 +4573,33 @@ export class CortexOrchestrator {
4473
4573
  input: block.toolUse.input
4474
4574
  }));
4475
4575
  hasToolUse = continuationToolUses.length > 0;
4576
+ // HB-ENDTURN-TERMINAL (2026-09-08): the streaming loop exits on a no-tool turn, so a reasoning-only
4577
+ // continuation WITH budget would otherwise fall to the terminal R29a synth. Instead keep the loop
4578
+ // alive with the CONTINUE nudge (mid-recon), reusing the EndTurn gate's pendingGateRequest re-request
4579
+ // (bypasses the empty-batch break + re-execution guard). Bounded by emptyContinueCount. Runs BEFORE
4580
+ // the EndTurn gate so a mid-recon reasoning turn continues instead of being treated as a finish.
4581
+ if (!hasToolUse && EMPTY_TURN_CONTINUE && emptyContinueCount < EMPTY_CONTINUE_MAX
4582
+ && !hasVisibleAssistantText(continuationAssistantCanonicalMessage.content)) {
4583
+ const budget = (TURN_DEADLINE_MS <= 0 || (Date.now() - loopStartMs) < 0.6 * TURN_DEADLINE_MS)
4584
+ && toolCallIteration < 0.6 * MAX_TOOL_ITERATIONS;
4585
+ const c = classifyEmptyResponse(continuationAssistantCanonicalMessage.content, undefined, budget);
4586
+ if (c.kind === 'reasoning_only_active' || c.kind === 'truncated') {
4587
+ emptyContinueCount++;
4588
+ const contMsg = {
4589
+ uuid: uuidv4(),
4590
+ timestamp: new Date().toISOString(),
4591
+ type: 'user',
4592
+ message: { role: 'user', content: [{ type: 'text', text: `<system-reminder>${emptyResponseNudge(c.kind)}</system-reminder>` }] },
4593
+ timeline: { sessionId: this.currentSessionId, conversationId: this.currentConversationId, turnNumber: this.turnNumber + 1 },
4594
+ model: { id: effectiveModel.id, provider: effectiveModel.provider, apiPattern: effectiveModel.api.pattern },
4595
+ };
4596
+ this.messageHistory.push(contMsg);
4597
+ await this.historyStore.appendMessage(this.currentSessionId, contMsg);
4598
+ console.warn(`[Orchestrator Streaming] HB-ENDTURN continue (${c.kind}, iteration=${toolCallIteration}) — re-requesting with tools.`);
4599
+ pendingGateRequest = true;
4600
+ hasToolUse = true;
4601
+ }
4602
+ }
4476
4603
  // 4.91.0 Stage-1 for STREAMING: tools were used but no valid EndTurn yet → append the reminder and
4477
4604
  // run ONE more continuation with no tool batch (pendingGateRequest bypasses the empty-batch break
4478
4605
  // and the re-execution guard). Two nudges, then fallback-accept (parity with sendMessage).
@@ -4938,6 +5065,10 @@ export class CortexOrchestrator {
4938
5065
  maxLoopRepetitions: this.config.loopControl?.maxLoopRepetitions ?? 5,
4939
5066
  // #2 wall-clock deadline: opt-in (0 = disabled), env CORTEX_TURN_DEADLINE_MS is the fallback.
4940
5067
  turnDeadlineMs: resolveTurnDeadlineMs(this.config.loopControl?.turnDeadlineMs),
5068
+ // HB-ENDTURN-TERMINAL (2026-09-08, dark by default): when true, a reasoning-only empty turn WITH
5069
+ // budget remaining is treated as mid-recon (continue-with-tools) instead of forced terminal
5070
+ // surrender. Read as a dark lever (direct env), off = byte-identical to prior behavior.
5071
+ emptyTurnContinue: process.env.CORTEX_EMPTY_TURN_CONTINUE === 'true',
4941
5072
  };
4942
5073
  }
4943
5074
  // Item 13c: fire on threshold CROSSINGS only (10, 20, 40… doubling) — the
@@ -5939,6 +6070,13 @@ export class CortexOrchestrator {
5939
6070
  if (this.config.debug) {
5940
6071
  console.log(`[Orchestrator Phase 2.5] Executing tool: ${toolUse.name}`);
5941
6072
  }
6073
+ // CORTEX_LOOP_TOOL_BLOCK: if this tool's executor is loop-disabled this
6074
+ // turn, return the append-only redirect error instead of running it.
6075
+ const loopBlocked = await this.maybeBlockLoopingTool(toolUse);
6076
+ if (loopBlocked) {
6077
+ results.push(await this.processToolTraining(toolUse, loopBlocked));
6078
+ continue;
6079
+ }
5942
6080
  // Context management tools (CORTEX.md generation + two-tier memory)
5943
6081
  const contextManagementToolNames = [
5944
6082
  'InitCortexContext',
@@ -6365,6 +6503,10 @@ export class CortexOrchestrator {
6365
6503
  if (this.config.debug) {
6366
6504
  console.log(`[Orchestrator] Executing single tool: ${toolUse.name}`);
6367
6505
  }
6506
+ // CORTEX_LOOP_TOOL_BLOCK: executor-gate for the parallel/single path.
6507
+ const loopBlocked = await this.maybeBlockLoopingTool(toolUse);
6508
+ if (loopBlocked)
6509
+ return loopBlocked;
6368
6510
  // Context management tools
6369
6511
  const contextManagementToolNames = ['InitCortexContext'];
6370
6512
  const isContextManagementTool = contextManagementToolNames.includes(toolUse.name);
@@ -7453,6 +7595,101 @@ export class CortexOrchestrator {
7453
7595
  }
7454
7596
  return { success: true, llmContent: hint, metadata: { source: 'mentor-consult', rung, helperModel: this.config.reactiveMentorship?.helperModelId } };
7455
7597
  }
7598
+ /** CORTEX_LOOP_TOOL_BLOCK — arm the hard intervention when the ladder flags a
7599
+ * non-converging same-approach loop (diversify/break). If this tool has
7600
+ * already been blocked twice, request a mentor escalation instead of a 3rd
7601
+ * block. Called from the turn loop where the ladder result is computed. */
7602
+ armLoopBlock(toolName, ladderAction) {
7603
+ if ((process.env.CORTEX_LOOP_TOOL_BLOCK ?? '').trim().toLowerCase() !== 'true')
7604
+ return;
7605
+ if (!isLoopBlockTrigger(ladderAction))
7606
+ return;
7607
+ if (this.loopBlockEscalate)
7608
+ return; // already pending
7609
+ const prior = this.loopBlockCounts.get(toolName) ?? 0;
7610
+ const decision = decideLoopBlock(toolName, prior);
7611
+ if (decision.action === 'escalate') {
7612
+ // Arm the tool AND the escalation flag: the next call to this tool
7613
+ // triggers a mentor consult (delivered as the redirect) instead of a 3rd
7614
+ // generic block.
7615
+ this.loopBlockTool = toolName;
7616
+ this.loopBlockEscalate = true;
7617
+ if (this.config.debug)
7618
+ console.log(`[LoopBlock] ${toolName} looped past ${prior} blocks → next call escalates to mentor consult`);
7619
+ }
7620
+ else if (decision.action === 'block') {
7621
+ this.loopBlockTool = toolName;
7622
+ this.loopBlockCounts.set(toolName, prior + 1);
7623
+ if (this.config.debug)
7624
+ console.log(`[LoopBlock] arming block #${prior + 1} on ${toolName} for next turn`);
7625
+ }
7626
+ }
7627
+ /** Executor-gate: if a tool is loop-blocked THIS turn, return an append-only
7628
+ * redirect error tool_result INSTEAD of executing it (the tools list is
7629
+ * unchanged → prompt cache is not busted). One-shot: the block clears on use
7630
+ * so the tool is available again next turn. Returns null when not blocked. */
7631
+ async maybeBlockLoopingTool(toolUse) {
7632
+ if (!this.loopBlockTool || this.loopBlockTool !== toolUse.name)
7633
+ return null;
7634
+ this.loopBlockTool = null; // one turn only
7635
+ const store = this.getDecisionStore();
7636
+ // Escalation: 2 blocks did not break the loop → deliver a mentor plan
7637
+ // directly as the redirect (orchestrator-direct-invoke, NOT forced
7638
+ // tool_choice which is unreliable on DeepSeek once history holds a tool_call).
7639
+ if (this.loopBlockEscalate) {
7640
+ this.loopBlockEscalate = false;
7641
+ // Escalation = the mentor-as-loop-exit-planner (bounded pro-max, sibling of the EndTurn
7642
+ // resolver). ORCHESTRATOR-DIRECT-INVOKE — the orchestrator calls evaluateLoopExit itself and
7643
+ // delivers the verdict as this redirect; it is NOT a tool the low-compliance model must reach
7644
+ // for (forced tool_choice is dead on DeepSeek mid-history — the MENTOR_AUTO pattern).
7645
+ let plan = '';
7646
+ let verdict = 'UNKNOWN';
7647
+ try {
7648
+ if (this.helperMiddleware?.evaluateLoopExit) {
7649
+ const cfg = resolveLoopExitConfig();
7650
+ const text = await withTimeout(this.helperMiddleware.evaluateLoopExit({
7651
+ task: this.lastRealUserText(),
7652
+ envReport: this.gatherEnvReport(),
7653
+ loopingTool: toolUse.name,
7654
+ recentAttempts: this.recentToolCalls(toolUse.name, 4) || this.lastAssistantText().slice(0, 2000),
7655
+ outputBudgetTokens: cfg.outputBudgetTokens,
7656
+ effort: cfg.effort,
7657
+ helperModelId: this.config.reactiveMentorship?.helperModelId,
7658
+ }), cfg.timeoutMs);
7659
+ plan = String(text ?? '');
7660
+ verdict = parseLoopExitVerdict(plan);
7661
+ }
7662
+ }
7663
+ catch { /* fail-open */ }
7664
+ const content = plan
7665
+ ? `Tool "${toolUse.name}" is DISABLED: repeated loop interventions have not broken the pattern. A senior engineer reviewed your situation and gave this exit plan:\n\n${plan}\n\nFollow this instead of retrying "${toolUse.name}".`
7666
+ : `Tool "${toolUse.name}" is DISABLED: repeated loop interventions have not broken this pattern. Stop retrying "${toolUse.name}", re-read the task requirements, and take a fundamentally different approach.`;
7667
+ if (store)
7668
+ void store.recordEvent({ sessionId: this.currentSessionId ?? 'unknown', kind: 'loop_tool_block', toolName: toolUse.name, detail: { escalated: true, consulted: !!plan, verdict } }).catch(() => { });
7669
+ if (this.config.debug)
7670
+ console.log(`[LoopBlock] ESCALATED ${toolUse.name} → exit-planner (${plan ? verdict + ' plan delivered' : 'fail-open'})`);
7671
+ return { tool_use_id: toolUse.id, tool_name: toolUse.name, content, is_error: true, metadata: { loopToolBlock: true, escalated: true, verdict } };
7672
+ }
7673
+ const prior = (this.loopBlockCounts.get(toolUse.name) ?? 1) - 1;
7674
+ const decision = decideLoopBlock(toolUse.name, prior);
7675
+ if (store) {
7676
+ void store.recordEvent({
7677
+ sessionId: this.currentSessionId ?? 'unknown',
7678
+ kind: 'loop_tool_block',
7679
+ toolName: toolUse.name,
7680
+ detail: { blockNumber: prior + 1, redirectTools: decision.redirectTools },
7681
+ }).catch(() => { });
7682
+ }
7683
+ if (this.config.debug)
7684
+ console.log(`[LoopBlock] redirected ${toolUse.name} → ${decision.redirectTools.join(',')}`);
7685
+ return {
7686
+ tool_use_id: toolUse.id,
7687
+ tool_name: toolUse.name,
7688
+ content: decision.message,
7689
+ is_error: true,
7690
+ metadata: { loopToolBlock: true, redirectTools: decision.redirectTools },
7691
+ };
7692
+ }
7456
7693
  async processToolTraining(toolUse, result) {
7457
7694
  this.applySliceNudge(toolUse, result); // universal post-execution hook: every path funnels through processToolTraining
7458
7695
  const store = this.getDecisionStore();