@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
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * Pure — no orchestrator state.
13
13
  */
14
- export type EmptyResponseKind = 'not_empty' | 'reasoning_only' | 'no_visible_content' | 'truncated';
14
+ export type EmptyResponseKind = 'not_empty' | 'reasoning_only' | 'reasoning_only_active' | 'no_visible_content' | 'truncated';
15
15
  export interface EmptyResponseClassification {
16
16
  kind: EmptyResponseKind;
17
17
  /** The model emitted thinking/redacted_thinking blocks. */
@@ -19,14 +19,27 @@ export interface EmptyResponseClassification {
19
19
  /** The model emitted an (unexecuted) tool_use — not an empty turn. */
20
20
  hadToolUse: boolean;
21
21
  }
22
- export declare function classifyEmptyResponse(content: unknown, stopReason?: string): EmptyResponseClassification;
22
+ /**
23
+ * @param loopHasBudget — HB-ENDTURN-TERMINAL (2026-09-08): the tool loop still has budget/iterations
24
+ * left (computed by the orchestrator; gated behind CORTEX_EMPTY_TURN_CONTINUE). A reasoning-only turn
25
+ * that ISN'T truncated is AMBIGUOUS: "reasoned to a final answer, forgot to surface it" (exhausted →
26
+ * force the answer, no tools) vs "reasoned about the NEXT action mid-recon" (has budget → CONTINUE with
27
+ * tools). The budget-blind classifier previously routed BOTH to `reasoning_only` (write-your-answer +
28
+ * forbid tools), which forced premature terminal surrender on DeepSeek mid-recon builds. With budget
29
+ * remaining we split it into `reasoning_only_active` (continue-with-tools), mirroring the D-E `truncated`
30
+ * carve-out. When loopHasBudget is undefined/false the behavior is byte-identical to before.
31
+ */
32
+ export declare function classifyEmptyResponse(content: unknown, stopReason?: string, loopHasBudget?: boolean): EmptyResponseClassification;
23
33
  /**
24
34
  * Nudge tailored to the empty-response kind. `reasoning_only` means the model
25
35
  * did the thinking but never surfaced the answer — tell it exactly that;
26
- * `no_visible_content` gets the generic completion prompt.
36
+ * `reasoning_only_active` (budget remaining) means it was thinking about its
37
+ * NEXT action — tell it to continue; `no_visible_content` gets the generic
38
+ * completion prompt.
27
39
  */
28
40
  export declare function emptyResponseNudge(kind: EmptyResponseKind): string;
29
41
  /** D-E: a truncated turn was cut off — it should be allowed to CONTINUE (incl. tools), not be told
30
- * "do not call any more tools" (which the reasoning_only/no_content path appends). */
42
+ * "do not call any more tools" (which the reasoning_only/no_content path appends).
43
+ * HB-ENDTURN-TERMINAL: `reasoning_only_active` (mid-recon, budget remaining) is likewise a CONTINUE. */
31
44
  export declare function nudgeForbidsTools(kind: EmptyResponseKind): boolean;
32
45
  //# sourceMappingURL=emptyResponseClassifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emptyResponseClassifier.d.ts","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,WAAW,CAAC;AAKpG,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAsBxG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAQlE;AAED;sFACsF;AACtF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAElE"}
1
+ {"version":3,"file":"emptyResponseClassifier.d.ts","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,gBAAgB,GAChB,uBAAuB,GACvB,oBAAoB,GACpB,WAAW,CAAC;AAKhB,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,OAAO,GACtB,2BAA2B,CAuB7B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAWlE;AAED;;wGAEwG;AACxG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAElE"}
@@ -17,7 +17,17 @@ const TRUNCATION_STOP = new Set(['max_tokens', 'length', 'max_output_tokens', 'm
17
17
  function blocks(content) {
18
18
  return Array.isArray(content) ? content : [];
19
19
  }
20
- export function classifyEmptyResponse(content, stopReason) {
20
+ /**
21
+ * @param loopHasBudget — HB-ENDTURN-TERMINAL (2026-09-08): the tool loop still has budget/iterations
22
+ * left (computed by the orchestrator; gated behind CORTEX_EMPTY_TURN_CONTINUE). A reasoning-only turn
23
+ * that ISN'T truncated is AMBIGUOUS: "reasoned to a final answer, forgot to surface it" (exhausted →
24
+ * force the answer, no tools) vs "reasoned about the NEXT action mid-recon" (has budget → CONTINUE with
25
+ * tools). The budget-blind classifier previously routed BOTH to `reasoning_only` (write-your-answer +
26
+ * forbid tools), which forced premature terminal surrender on DeepSeek mid-recon builds. With budget
27
+ * remaining we split it into `reasoning_only_active` (continue-with-tools), mirroring the D-E `truncated`
28
+ * carve-out. When loopHasBudget is undefined/false the behavior is byte-identical to before.
29
+ */
30
+ export function classifyEmptyResponse(content, stopReason, loopHasBudget) {
21
31
  const bs = blocks(content);
22
32
  const hadReasoning = bs.some((b) => b?.type === 'thinking' || b?.type === 'redacted_thinking');
23
33
  const hadToolUse = bs.some((b) => b?.type === 'tool_use');
@@ -31,29 +41,36 @@ export function classifyEmptyResponse(content, stopReason) {
31
41
  if (stopReason && TRUNCATION_STOP.has(stopReason.trim().toLowerCase())) {
32
42
  return { kind: 'truncated', hadReasoning, hadToolUse };
33
43
  }
34
- return {
35
- kind: hadReasoning ? 'reasoning_only' : 'no_visible_content',
36
- hadReasoning,
37
- hadToolUse,
38
- };
44
+ if (hadReasoning) {
45
+ // HB-ENDTURN-TERMINAL: with budget remaining this is a mid-recon reasoning turn (continue), not a
46
+ // finished-but-unsurfaced answer. Only when budget is spent do we demand the final answer (no tools).
47
+ return { kind: loopHasBudget ? 'reasoning_only_active' : 'reasoning_only', hadReasoning, hadToolUse };
48
+ }
49
+ return { kind: 'no_visible_content', hadReasoning, hadToolUse };
39
50
  }
40
51
  /**
41
52
  * Nudge tailored to the empty-response kind. `reasoning_only` means the model
42
53
  * did the thinking but never surfaced the answer — tell it exactly that;
43
- * `no_visible_content` gets the generic completion prompt.
54
+ * `reasoning_only_active` (budget remaining) means it was thinking about its
55
+ * NEXT action — tell it to continue; `no_visible_content` gets the generic
56
+ * completion prompt.
44
57
  */
45
58
  export function emptyResponseNudge(kind) {
46
59
  if (kind === 'truncated') {
47
60
  return 'Your previous response was cut off by the output token limit before you finished — it was NOT complete. Continue from where you stopped and finish concisely; do not restart from the beginning.';
48
61
  }
62
+ if (kind === 'reasoning_only_active') {
63
+ return 'You produced reasoning but took no action and gave no final answer, and you still have budget remaining. Continue the task now — take your next concrete action (call a tool), or give your complete, verified final answer only if you are actually finished.';
64
+ }
49
65
  if (kind === 'reasoning_only') {
50
66
  return 'You produced reasoning but no visible answer. Write out your complete final answer now, in plain text, based on that reasoning.';
51
67
  }
52
68
  return 'Your previous response had no content. Provide your complete final answer now in plain text.';
53
69
  }
54
70
  /** D-E: a truncated turn was cut off — it should be allowed to CONTINUE (incl. tools), not be told
55
- * "do not call any more tools" (which the reasoning_only/no_content path appends). */
71
+ * "do not call any more tools" (which the reasoning_only/no_content path appends).
72
+ * HB-ENDTURN-TERMINAL: `reasoning_only_active` (mid-recon, budget remaining) is likewise a CONTINUE. */
56
73
  export function nudgeForbidsTools(kind) {
57
- return kind !== 'truncated';
74
+ return kind !== 'truncated' && kind !== 'reasoning_only_active';
58
75
  }
59
76
  //# sourceMappingURL=emptyResponseClassifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emptyResponseClassifier.js","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,qGAAqG;AACrG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC;AAU/F,SAAS,MAAM,CAAC,OAAgB;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,UAAmB;IACzE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,IAAI,CAAC,EAAE,IAAI,KAAK,mBAAmB,CACjE,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;IAE1D,IAAI,uBAAuB,CAAC,OAAc,CAAC,IAAI,UAAU,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IACD,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,+FAA+F;IAC/F,IAAI,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IACD,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB;QAC5D,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,kMAAkM,CAAC;IAC5M,CAAC;IACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,OAAO,iIAAiI,CAAC;IAC3I,CAAC;IACD,OAAO,8FAA8F,CAAC;AACxG,CAAC;AAED;sFACsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,OAAO,IAAI,KAAK,WAAW,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"emptyResponseClassifier.js","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AASrE,qGAAqG;AACrG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC;AAU/F,SAAS,MAAM,CAAC,OAAgB;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,UAAmB,EACnB,aAAuB;IAEvB,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,IAAI,CAAC,EAAE,IAAI,KAAK,mBAAmB,CACjE,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;IAE1D,IAAI,uBAAuB,CAAC,OAAc,CAAC,IAAI,UAAU,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IACD,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,+FAA+F;IAC/F,IAAI,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,kGAAkG;QAClG,sGAAsG;QACtG,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACxG,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,kMAAkM,CAAC;IAC5M,CAAC;IACD,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrC,OAAO,gQAAgQ,CAAC;IAC1Q,CAAC;IACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,OAAO,iIAAiI,CAAC;IAC3I,CAAC;IACD,OAAO,8FAA8F,CAAC;AACxG,CAAC;AAED;;wGAEwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,uBAAuB,CAAC;AAClE,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Loop tool-block decision (CORTEX_LOOP_TOOL_BLOCK — the hard loop intervention).
3
+ *
4
+ * When the LoopLadder detects a non-converging same-approach loop on a tool
5
+ * (diversify/break rung), a soft <system-reminder> nudge is provably IGNORED
6
+ * (bench specimen make-mips: got the diversify nudge, edited to the budget wall
7
+ * anyway). This module decides a HARD, non-ignorable intervention instead:
8
+ *
9
+ * For ONE turn, the looping tool's EXECUTOR is disabled — the model still has
10
+ * the tool in its list (so the prompt cache is NOT busted; the tools array is
11
+ * unchanged), but if it calls the tool it gets an append-only tool_result
12
+ * REDIRECT ERROR steering it to the complementary tools. Next turn the tool
13
+ * is restored.
14
+ *
15
+ * The redirect is keyed to the looping tool (never remove the only verify path):
16
+ * - a Bash-loop → "Bash disabled this turn, use Read/Write/Edit"
17
+ * - an Edit-loop → "Edit disabled this turn, Read the ground truth + Bash to
18
+ * inspect first" (Bash stays — it's the verify channel)
19
+ * - anything else → "inspect the state and take a genuinely different step".
20
+ *
21
+ * After 2 blocks on the same tool without the loop clearing, ESCALATE to a
22
+ * mentor consult instead of a 3rd block (the caller wires the direct-invoke).
23
+ *
24
+ * PURE + deterministic — all state (the per-tool block count) lives in the
25
+ * orchestrator; this module only maps (tool, priorBlocks) → a decision.
26
+ */
27
+ export type LoopBlockAction = 'block' | 'escalate' | 'none';
28
+ export interface LoopBlockDecision {
29
+ action: LoopBlockAction;
30
+ /** The tool whose executor is disabled for the turn (the looping tool). */
31
+ tool: string;
32
+ /** Tools to steer the model toward this turn. */
33
+ redirectTools: string[];
34
+ /** The tool_result error text the model gets if it calls the blocked tool. */
35
+ message: string;
36
+ }
37
+ /** Max hard blocks on one tool before escalating to a mentor consult. */
38
+ export declare const LOOP_BLOCK_MAX = 2;
39
+ /**
40
+ * Decide the intervention for a detected loop on `tool`, given how many times
41
+ * this tool has ALREADY been hard-blocked this task (`priorBlocks`).
42
+ */
43
+ export declare function decideLoopBlock(tool: string, priorBlocks: number): LoopBlockDecision;
44
+ /** Whether a ladder result should trigger the hard intervention (diversify or break). */
45
+ export declare function isLoopBlockTrigger(action: string | undefined): boolean;
46
+ //# sourceMappingURL=loopToolBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopToolBlock.d.ts","sourceRoot":"","sources":["../../src/orchestrator/loopToolBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,eAAO,MAAM,cAAc,IAAI,CAAC;AAuBhC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAYpF;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEtE"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Loop tool-block decision (CORTEX_LOOP_TOOL_BLOCK — the hard loop intervention).
3
+ *
4
+ * When the LoopLadder detects a non-converging same-approach loop on a tool
5
+ * (diversify/break rung), a soft <system-reminder> nudge is provably IGNORED
6
+ * (bench specimen make-mips: got the diversify nudge, edited to the budget wall
7
+ * anyway). This module decides a HARD, non-ignorable intervention instead:
8
+ *
9
+ * For ONE turn, the looping tool's EXECUTOR is disabled — the model still has
10
+ * the tool in its list (so the prompt cache is NOT busted; the tools array is
11
+ * unchanged), but if it calls the tool it gets an append-only tool_result
12
+ * REDIRECT ERROR steering it to the complementary tools. Next turn the tool
13
+ * is restored.
14
+ *
15
+ * The redirect is keyed to the looping tool (never remove the only verify path):
16
+ * - a Bash-loop → "Bash disabled this turn, use Read/Write/Edit"
17
+ * - an Edit-loop → "Edit disabled this turn, Read the ground truth + Bash to
18
+ * inspect first" (Bash stays — it's the verify channel)
19
+ * - anything else → "inspect the state and take a genuinely different step".
20
+ *
21
+ * After 2 blocks on the same tool without the loop clearing, ESCALATE to a
22
+ * mentor consult instead of a 3rd block (the caller wires the direct-invoke).
23
+ *
24
+ * PURE + deterministic — all state (the per-tool block count) lives in the
25
+ * orchestrator; this module only maps (tool, priorBlocks) → a decision.
26
+ */
27
+ /** Max hard blocks on one tool before escalating to a mentor consult. */
28
+ export const LOOP_BLOCK_MAX = 2;
29
+ // Keyed by canonical (PascalCase) tool name. The default covers any other
30
+ // looping tool (WebFetch, Grep, etc.) without a bespoke entry.
31
+ const REDIRECTS = {
32
+ Bash: {
33
+ tools: ['Read', 'Write', 'Edit'],
34
+ hint: 'Read the relevant files and your current output, then make ONE deliberate change with Write/Edit',
35
+ },
36
+ Edit: {
37
+ // Edit-loop: keep Bash (the verify channel) — force a Read of ground truth first.
38
+ tools: ['Read', 'Bash'],
39
+ hint: 'Read the failing test and the full section you keep editing IN FULL first, then make ONE deliberate edit',
40
+ },
41
+ };
42
+ const DEFAULT_REDIRECT = {
43
+ tools: ['Read', 'Bash'],
44
+ hint: 'inspect the actual state and take a genuinely different step',
45
+ };
46
+ /**
47
+ * Decide the intervention for a detected loop on `tool`, given how many times
48
+ * this tool has ALREADY been hard-blocked this task (`priorBlocks`).
49
+ */
50
+ export function decideLoopBlock(tool, priorBlocks) {
51
+ if (priorBlocks >= LOOP_BLOCK_MAX) {
52
+ return { action: 'escalate', tool, redirectTools: [], message: '' };
53
+ }
54
+ const r = REDIRECTS[tool] ?? DEFAULT_REDIRECT;
55
+ const nth = priorBlocks + 1;
56
+ const message = `Loop intervention #${nth}: you keep repeating the same "${tool}" approach and it is NOT ` +
57
+ `producing results — repeating the same action and expecting a different outcome will not work. ` +
58
+ `To break the loop, "${tool}" is DISABLED for this turn. Do NOT retry "${tool}". Step back and use ` +
59
+ `${r.tools.join(', ')} instead to ${r.hint}. "${tool}" is available again on your next turn.`;
60
+ return { action: 'block', tool, redirectTools: r.tools, message };
61
+ }
62
+ /** Whether a ladder result should trigger the hard intervention (diversify or break). */
63
+ export function isLoopBlockTrigger(action) {
64
+ return action === 'diversify' || action === 'break';
65
+ }
66
+ //# sourceMappingURL=loopToolBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopToolBlock.js","sourceRoot":"","sources":["../../src/orchestrator/loopToolBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAcH,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAIhC,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,SAAS,GAA6B;IAC1C,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,kGAAkG;KACzG;IACD,IAAI,EAAE;QACJ,kFAAkF;QAClF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,0GAA0G;KACjH;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAa;IACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,8DAA8D;CACrE,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GACX,sBAAsB,GAAG,kCAAkC,IAAI,2BAA2B;QAC1F,iGAAiG;QACjG,uBAAuB,IAAI,8CAA8C,IAAI,uBAAuB;QACpG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,IAAI,yCAAyC,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,OAAO,CAAC;AACtD,CAAC"}
@@ -51,7 +51,7 @@ export interface Decision {
51
51
  detail?: Record<string, unknown>;
52
52
  }
53
53
  /** Observability event kinds (docs/HARNESS_IMPROVEMENT_BACKLOG.md item 3). */
54
- export type SteeringEventKind = 'steering_injected' | 'loop_escalation' | 'endturn_gate_fallback' | 'inaction_nudge' | 'effort_pulse' | 'time_budget_break' | 'lift_plan' | 'endturn_resolver' | 'deadline_exit_mentor' | 'deadline_exit_break' | 'doctrine_curation' | 'doctrine_curation_timeout' | 'integrity_flag' | 'surrender_nudge' | 'mentor_consult';
54
+ export type SteeringEventKind = 'steering_injected' | 'loop_escalation' | 'endturn_gate_fallback' | 'inaction_nudge' | 'effort_pulse' | 'time_budget_break' | 'lift_plan' | 'endturn_resolver' | 'deadline_exit_mentor' | 'deadline_exit_break' | 'loop_tool_block' | 'doctrine_curation' | 'doctrine_curation_timeout' | 'integrity_flag' | 'surrender_nudge' | 'mentor_consult';
55
55
  export interface SteeringEventInput {
56
56
  sessionId: string;
57
57
  kind: SteeringEventKind;
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionStore.d.ts","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionStore.d.ts","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionStore.js","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionStore.js","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * loopExitPlanner.ts — the mentor-as-loop-exit-planner (CORTEX_LOOP_TOOL_BLOCK escalation).
3
+ *
4
+ * The 4th sibling of the bounded pro-max mentor family (endTurnResolver.ts, deadline-exit in
5
+ * HelperModelMiddleware, liftPlanner.ts): when the hard loop-tool-block has fired TWICE on the same
6
+ * tool without breaking the pattern, the escalation reroutes the stuck-loop reasoning away from the
7
+ * narrow-door action model — which cannot see WHY it is stuck — to a bounded max-reasoning mentor
8
+ * whose only job is REPLAN (a concrete different approach) or RETIRE (stop, submit best-effort).
9
+ *
10
+ * Single-shot generateGuidance like evaluateEndTurn; max reasoning is the design intent (a bounded
11
+ * one-shot planner cannot grind) and the big output budget avoids reasoning-eats-the-answer
12
+ * truncation on DeepSeek (the same landmine documented for the resolver/lift-planner).
13
+ */
14
+ export interface LoopExitConfig {
15
+ effort: string;
16
+ outputBudgetTokens: number;
17
+ timeoutMs: number;
18
+ }
19
+ export declare function resolveLoopExitConfig(env?: NodeJS.ProcessEnv): LoopExitConfig;
20
+ export interface LoopExitContext {
21
+ task: string;
22
+ envReport?: string;
23
+ loopingTool: string;
24
+ recentAttempts?: string;
25
+ }
26
+ export declare const LOOP_EXIT_SYSTEM: string;
27
+ export declare function buildLoopExitPrompt(ctx: LoopExitContext): string;
28
+ /** Light verdict tag for the decision-store event (REPLAN | RETIRE | UNKNOWN). Delivery uses the full text. */
29
+ export declare function parseLoopExitVerdict(text: string): 'REPLAN' | 'RETIRE' | 'UNKNOWN';
30
+ //# sourceMappingURL=loopExitPlanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopExitPlanner.d.ts","sourceRoot":"","sources":["../../src/training/loopExitPlanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAS1F;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,QAqB+D,CAAC;AAE7F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAShE;AAED,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAGlF"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * loopExitPlanner.ts — the mentor-as-loop-exit-planner (CORTEX_LOOP_TOOL_BLOCK escalation).
3
+ *
4
+ * The 4th sibling of the bounded pro-max mentor family (endTurnResolver.ts, deadline-exit in
5
+ * HelperModelMiddleware, liftPlanner.ts): when the hard loop-tool-block has fired TWICE on the same
6
+ * tool without breaking the pattern, the escalation reroutes the stuck-loop reasoning away from the
7
+ * narrow-door action model — which cannot see WHY it is stuck — to a bounded max-reasoning mentor
8
+ * whose only job is REPLAN (a concrete different approach) or RETIRE (stop, submit best-effort).
9
+ *
10
+ * Single-shot generateGuidance like evaluateEndTurn; max reasoning is the design intent (a bounded
11
+ * one-shot planner cannot grind) and the big output budget avoids reasoning-eats-the-answer
12
+ * truncation on DeepSeek (the same landmine documented for the resolver/lift-planner).
13
+ */
14
+ const DEFAULTS = { effort: 'max', outputBudgetTokens: 4000, timeoutMs: 90000 };
15
+ export function resolveLoopExitConfig(env = process.env) {
16
+ const b = parseInt((env.CORTEX_LOOP_TOOL_BLOCK_BUDGET_TOKENS ?? '').trim(), 10);
17
+ const e = (env.CORTEX_LOOP_TOOL_BLOCK_EFFORT ?? '').trim();
18
+ const t = parseInt((env.CORTEX_LOOP_TOOL_BLOCK_TIMEOUT_MS ?? '').trim(), 10);
19
+ return {
20
+ effort: e || DEFAULTS.effort,
21
+ outputBudgetTokens: Number.isInteger(b) && b > 0 ? b : DEFAULTS.outputBudgetTokens,
22
+ timeoutMs: Number.isInteger(t) && t > 0 ? t : DEFAULTS.timeoutMs,
23
+ };
24
+ }
25
+ export const LOOP_EXIT_SYSTEM = 'You are a senior engineer rescuing a junior agent that is STUCK in a non-converging loop in a real ' +
26
+ 'terminal container. The junior has repeated the SAME failing approach with the "{{TOOL}}" tool over and ' +
27
+ 'over; an automatic guard already blocked and redirected it TWICE and it STILL cannot break the pattern. ' +
28
+ 'It cannot see why it is stuck. You are given the original TASK, an ENVIRONMENT REPORT, the tool it keeps ' +
29
+ 'repeating, and its RECENT ATTEMPTS.\n' +
30
+ 'Answer exactly ONE question: is there a genuinely DIFFERENT path to the task\'s real requirements (the ' +
31
+ 'criteria the hidden grader will check), or is this task unclosable by this junior in this box?\n' +
32
+ 'Be adversarial about the loop: name the specific assumption or dead-end approach the junior keeps ' +
33
+ 'repeating, and give a path that does NOT repeat it (a different tool, a different command, reading the ' +
34
+ 'actual state first, installing a missing dependency, a different algorithm).\n' +
35
+ 'FORMAT — your FIRST line MUST be exactly one of:\n' +
36
+ ' VERDICT: REPLAN\n' +
37
+ ' VERDICT: RETIRE\n' +
38
+ 'If REPLAN: after the verdict line, give a SHORT numbered plan of concrete DIFFERENT steps — for each, the ' +
39
+ 'exact action (which tool + what) and the check that verifies it against the TASK\'s criteria. Do NOT ' +
40
+ 'restate the failing approach; do NOT rewrite the whole solution.\n' +
41
+ 'If RETIRE: use it ONLY when you are CONFIDENT no further attempt can help — a fundamentally wrong approach ' +
42
+ 'with no viable alternative, a missing capability/dependency unobtainable in this box, or an impossible / ' +
43
+ 'self-contradictory requirement. After the verdict line give ONE short line naming why it is unclosable, ' +
44
+ 'then tell the junior to record its best-effort state in open_items and STOP. 🔴 When in doubt between ' +
45
+ 'REPLAN and RETIRE, choose REPLAN — only RETIRE when more attempts genuinely cannot help.';
46
+ export function buildLoopExitPrompt(ctx) {
47
+ const parts = [
48
+ `TASK:\n${ctx.task}`,
49
+ ctx.envReport ? `\nENVIRONMENT REPORT:\n${ctx.envReport}` : '',
50
+ `\nLOOPING TOOL (blocked twice): ${ctx.loopingTool}`,
51
+ ctx.recentAttempts ? `\nRECENT ATTEMPTS (what the junior kept doing):\n${ctx.recentAttempts}` : '',
52
+ '\nGive your verdict now.',
53
+ ];
54
+ return parts.filter(Boolean).join('\n');
55
+ }
56
+ /** Light verdict tag for the decision-store event (REPLAN | RETIRE | UNKNOWN). Delivery uses the full text. */
57
+ export function parseLoopExitVerdict(text) {
58
+ const m = /^\s*VERDICT:\s*(REPLAN|RETIRE)\b/im.exec(text ?? '');
59
+ return m && m[1] ? m[1].toUpperCase() : 'UNKNOWN';
60
+ }
61
+ //# sourceMappingURL=loopExitPlanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopExitPlanner.js","sourceRoot":"","sources":["../../src/training/loopExitPlanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,QAAQ,GAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAE/F,MAAM,UAAU,qBAAqB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM;QAC5B,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB;QAClF,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS;KACjE,CAAC;AACJ,CAAC;AASD,MAAM,CAAC,MAAM,gBAAgB,GAC3B,qGAAqG;IACrG,0GAA0G;IAC1G,0GAA0G;IAC1G,2GAA2G;IAC3G,uCAAuC;IACvC,yGAAyG;IACzG,kGAAkG;IAClG,oGAAoG;IACpG,yGAAyG;IACzG,gFAAgF;IAChF,oDAAoD;IACpD,qBAAqB;IACrB,qBAAqB;IACrB,4GAA4G;IAC5G,uGAAuG;IACvG,oEAAoE;IACpE,6GAA6G;IAC7G,2GAA2G;IAC3G,0GAA0G;IAC1G,wGAAwG;IACxG,0FAA0F,CAAC;AAE7F,MAAM,UAAU,mBAAmB,CAAC,GAAoB;IACtD,MAAM,KAAK,GAAG;QACZ,UAAU,GAAG,CAAC,IAAI,EAAE;QACpB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;QAC9D,mCAAmC,GAAG,CAAC,WAAW,EAAE;QACpD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,oDAAoD,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE;QAClG,0BAA0B;KAC3B,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toolOutcome.d.ts","sourceRoot":"","sources":["../../src/training/toolOutcome.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnE;AAoDD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAYrE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,cAAc,GACrB,WAAW,CAkCb"}
1
+ {"version":3,"file":"toolOutcome.d.ts","sourceRoot":"","sources":["../../src/training/toolOutcome.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClC,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnE;AA2ED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAYrE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,cAAc,GACrB,WAAW,CAwCb"}
@@ -41,6 +41,30 @@ const MASKED_FAILURE_SIGNATURES = [
41
41
  // Hard crashes the shell surfaces on a line of their own.
42
42
  /^[^\n]*: Segmentation fault\b/m,
43
43
  ];
44
+ /** PROBE commands whose exit code 1 means INFORMATION ("no match" / "differs" /
45
+ * "condition false" / "absent"), NOT a failure. exit>=2 IS a real error (bad
46
+ * regex, unreadable file) and stays 'failed'. Verified against 11k banked Bash
47
+ * calls (2026-09-07 census): models write `&&`-coupled bash 52% of the time vs
48
+ * `if/then/fi` 1.2%, and bare probes exit-1 in ~0.3% of calls; classifying that
49
+ * as 'failed' pollutes the failure semantics every guard consumes. NARROW by
50
+ * design (same discipline as MASKED_FAILURE_SIGNATURES): ONLY a BARE probe with
51
+ * NO `&&`/`||` chain — a gated chain's exit could carry a real downstream
52
+ * failure, so those stay 'failed'. */
53
+ const PROBE_COMMANDS = new Set(['grep', 'egrep', 'fgrep', 'rg', 'test', '[', '[[', 'diff', 'cmp']);
54
+ function isBareProbeInfoExit(toolName, input, exit) {
55
+ if (toolName !== 'Bash' && toolName !== 'Shell')
56
+ return false;
57
+ if (exit !== 1)
58
+ return false; // exit>=2 = real probe error; keep 'failed'
59
+ const cmd = String((input && typeof input === 'object' ? (input.command ?? input.cmd) : input) ?? '').trim();
60
+ if (!cmd)
61
+ return false;
62
+ if (/&&|\|\|/.test(cmd))
63
+ return false; // a gated chain — exit-1 may carry a real downstream failure
64
+ // First token = the command. Set membership (not a regex prefix) so `grepfoo`
65
+ // does not match and `[` (the test builtin, a non-word char) does.
66
+ return PROBE_COMMANDS.has(cmd.split(/\s+/)[0] ?? '');
67
+ }
44
68
  /** Normalize an input's text the way errorFamily normalizes error snippets:
45
69
  * quoted strings, hex ids, paths, and digit runs collapse so "retry with a
46
70
  * tweaked flag/version/path" lands on the same approach bucket. */
@@ -87,8 +111,15 @@ export function classifyToolOutcome(toolName, input, result) {
87
111
  else {
88
112
  const exit = result.metadata?.exitCode;
89
113
  if (typeof exit === 'number' && exit !== 0) {
90
- // Non-zero exit is the primary, unambiguous failure signal.
91
- status = 'failed';
114
+ if (isBareProbeInfoExit(toolName, input, exit)) {
115
+ // Bare probe exit-1 (grep/test/[/diff/cmp with no match / false / differ,
116
+ // no chain) = INFORMATION, not a failure — do not feed the failure guards.
117
+ status = 'ok';
118
+ }
119
+ else {
120
+ // Non-zero exit is the primary, unambiguous failure signal.
121
+ status = 'failed';
122
+ }
92
123
  }
93
124
  else if (FAILURE_SIGNATURES.some((re) => re.test(content))) {
94
125
  // ShellTool's own failure marker present — trust it even when the overall
@@ -1 +1 @@
1
- {"version":3,"file":"toolOutcome.js","sourceRoot":"","sources":["../../src/training/toolOutcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolOutcome.js","sourceRoot":"","sources":["../../src/training/toolOutcome.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/core",
3
- "version": "4.94.0",
3
+ "version": "4.96.1",
4
4
  "description": "Core orchestration library implementing Claude CLI architecture patterns",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -47,8 +47,8 @@
47
47
  "@google/generative-ai": "^0.2.1",
48
48
  "@gradio/client": "^2.3.1",
49
49
  "@modelcontextprotocol/sdk": "^1.20.2",
50
- "@nexus-cortex/executors": "4.94.0",
51
- "@nexus-cortex/types": "4.94.0",
50
+ "@nexus-cortex/executors": "4.96.1",
51
+ "@nexus-cortex/types": "4.96.1",
52
52
  "@types/uuid": "^10.0.0",
53
53
  "ajv": "^8.12.0",
54
54
  "chokidar": "^3.6.0",