@nexus-cortex/core 4.93.0 → 4.95.0

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 (55) hide show
  1. package/{.env.example → .env.defaults} +134 -25
  2. package/dist/config/MentorshipConfigService.d.ts +0 -1
  3. package/dist/config/MentorshipConfigService.d.ts.map +1 -1
  4. package/dist/config/MentorshipConfigService.js +10 -5
  5. package/dist/config/MentorshipConfigService.js.map +1 -1
  6. package/dist/config/SettingsLoader.d.ts +92 -11
  7. package/dist/config/SettingsLoader.d.ts.map +1 -1
  8. package/dist/config/SettingsLoader.js +331 -131
  9. package/dist/config/SettingsLoader.js.map +1 -1
  10. package/dist/config/effectiveConfig.d.ts +1 -1
  11. package/dist/config/effectiveConfig.d.ts.map +1 -1
  12. package/dist/config/effectiveConfig.js +10 -1
  13. package/dist/config/effectiveConfig.js.map +1 -1
  14. package/dist/middleware/HelperModelMiddleware.d.ts +32 -0
  15. package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
  16. package/dist/middleware/HelperModelMiddleware.js +57 -5
  17. package/dist/middleware/HelperModelMiddleware.js.map +1 -1
  18. package/dist/models/cards/deepseek/deepseek-v4-flash.d.ts.map +1 -1
  19. package/dist/models/cards/deepseek/deepseek-v4-flash.js +4 -2
  20. package/dist/models/cards/deepseek/deepseek-v4-flash.js.map +1 -1
  21. package/dist/orchestrator/CortexOrchestrator.d.ts +34 -0
  22. package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
  23. package/dist/orchestrator/CortexOrchestrator.js +292 -6
  24. package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
  25. package/dist/orchestrator/OrchestratorFactory.js +1 -1
  26. package/dist/orchestrator/OrchestratorFactory.js.map +1 -1
  27. package/dist/orchestrator/displayHistorySanitizer.d.ts +29 -0
  28. package/dist/orchestrator/displayHistorySanitizer.d.ts.map +1 -0
  29. package/dist/orchestrator/displayHistorySanitizer.js +62 -0
  30. package/dist/orchestrator/displayHistorySanitizer.js.map +1 -0
  31. package/dist/orchestrator/loopToolBlock.d.ts +46 -0
  32. package/dist/orchestrator/loopToolBlock.d.ts.map +1 -0
  33. package/dist/orchestrator/loopToolBlock.js +66 -0
  34. package/dist/orchestrator/loopToolBlock.js.map +1 -0
  35. package/dist/tools/context-management/InitCortexContext.js +1 -1
  36. package/dist/tools/context-management/InitCortexContext.js.map +1 -1
  37. package/dist/training/DecisionStore.d.ts +1 -1
  38. package/dist/training/DecisionStore.d.ts.map +1 -1
  39. package/dist/training/DecisionStore.js.map +1 -1
  40. package/dist/training/deadlineExitMentor.d.ts +67 -0
  41. package/dist/training/deadlineExitMentor.d.ts.map +1 -0
  42. package/dist/training/deadlineExitMentor.js +99 -0
  43. package/dist/training/deadlineExitMentor.js.map +1 -0
  44. package/dist/training/endTurnResolver.d.ts +14 -3
  45. package/dist/training/endTurnResolver.d.ts.map +1 -1
  46. package/dist/training/endTurnResolver.js +27 -10
  47. package/dist/training/endTurnResolver.js.map +1 -1
  48. package/dist/training/loopExitPlanner.d.ts +30 -0
  49. package/dist/training/loopExitPlanner.d.ts.map +1 -0
  50. package/dist/training/loopExitPlanner.js +61 -0
  51. package/dist/training/loopExitPlanner.js.map +1 -0
  52. package/dist/training/toolOutcome.d.ts.map +1 -1
  53. package/dist/training/toolOutcome.js +33 -2
  54. package/dist/training/toolOutcome.js.map +1 -1
  55. package/package.json +5 -5
@@ -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
@@ -446,6 +456,20 @@ export declare class CortexOrchestrator {
446
456
  * is unarmed → byte-identical. Fail-open on any error → leaves the finish accepted.
447
457
  */
448
458
  private adjudicateEndTurn;
459
+ /**
460
+ * deadlineExitCheckpoint — the mentor-as-deadline-checkpoint at the WARN rung (~0.9 of the
461
+ * per-turn deadline, where residual still exists). Returns null when disabled/not-applicable
462
+ * (caller uses its normal warn nudge). Otherwise a bounded, residual-scaled mentor call decides:
463
+ * shouldBreak=true → FINISH or RETIRE: end the loop now (post-loop synthesis; resolver bypassed
464
+ * via abnormal-exit) — a clean finish or a clean retirement instead of
465
+ * grinding the residual.
466
+ * shouldBreak=false → CONTINUE (signal='' → normal nudge) or ACTION (signal=the one directed step).
467
+ * Dark by default (CORTEX_DEADLINE_EXIT_MENTOR); fail-safe to null on any error (never truncate
468
+ * a turn on a broken checkpoint call).
469
+ */
470
+ private deadlineExitCheckpoint;
471
+ /** Build the bounded work-product snapshot for the deadline checkpoint (latest answer + recent tool outputs). */
472
+ private buildDeadlineWorkProduct;
449
473
  /** Narrow `tools` to the anchor profile while the anchor is armed; no-op
450
474
  * once lifted or when CORTEX_TOOL_ANCHOR is unset. Applied AFTER the
451
475
  * deferred filter at both request-assembly sites. */
@@ -967,6 +991,16 @@ export declare class CortexOrchestrator {
967
991
  * a mentor error never breaks the turn.
968
992
  */
969
993
  private executeAskForAdvice;
994
+ /** CORTEX_LOOP_TOOL_BLOCK — arm the hard intervention when the ladder flags a
995
+ * non-converging same-approach loop (diversify/break). If this tool has
996
+ * already been blocked twice, request a mentor escalation instead of a 3rd
997
+ * block. Called from the turn loop where the ladder result is computed. */
998
+ private armLoopBlock;
999
+ /** Executor-gate: if a tool is loop-blocked THIS turn, return an append-only
1000
+ * redirect error tool_result INSTEAD of executing it (the tools list is
1001
+ * unchanged → prompt cache is not busted). One-shot: the block clears on use
1002
+ * so the tool is available again next turn. Returns null when not blocked. */
1003
+ private maybeBlockLoopingTool;
970
1004
  private processToolTraining;
971
1005
  /**
972
1006
  * Inject thinking block into message history
@@ -1 +1 @@
1
- {"version":3,"file":"CortexOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/CortexOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AActE,OAAO,EAAE,KAAK,sBAAsB,EAAyF,MAAM,6BAA6B,CAAC;AAGjK,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAI9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAIhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAM3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAOhF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA4B,MAAM,6BAA6B,CAAC;AA2B1F,OAAO,EAML,KAAK,sBAAsB,EAE5B,MAAM,uBAAuB,CAAC;AAiB/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAM/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAI7E,OAAO,KAAK,EAIV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAChB,MAAM,gDAAgD,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,+BAA+B;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAEvD,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE;QACnB,wCAAwC;QACxC,OAAO,EAAE,OAAO,CAAC;QACjB,wCAAwC;QACxC,cAAc,EAAE,OAAO,CAAC;QACxB,yDAAyD;QACzD,sBAAsB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAClD,gEAAgE;QAChE,cAAc,EAAE,OAAO,CAAC;QACxB,gDAAgD;QAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,iFAAiF;QACjF,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,6DAA6D;QAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,oEAAoE;QACpE,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gFAAgF;QAChF,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,+DAA+D;QAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sEAAsE;QACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,0EAA0E;QAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IAEF,oDAAoD;IACpD,WAAW,CAAC,EAAE;QACZ,iDAAiD;QACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,sDAAsD;QACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B;uDAC+C;QAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,6CAA6C;QAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,oEAAoE;QACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B;;wFAEgF;QAChF,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF,6FAA6F;IAC7F,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,2DAA2D;IAC3D,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,4EAA4E;IAC5E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,kCAAkC;IAClC,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IAEF;;;OAGG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,WAAW,GACX,MAAM,GACN,WAAW,GACX,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IAEd,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,uBAAuB;IACvB,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,oCAAoC,EAAE,iBAAiB,CAAC;CACpF;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAElB,uBAAuB;IACvB,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IAExB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IAEjB,kBAAkB;IAClB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE;YACN,mBAAmB,EAAE,MAAM,CAAC;YAC5B,eAAe,EAAE,MAAM,CAAC;YACxB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,YAAY,EAAE,MAAM,CAAC;YACrB,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,0EAA0E;QAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,2BAA2B;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gEAAgE;QAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IAEF,iBAAiB;IACjB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,eAAe;IACf,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,2EAA2E;QAC3E,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;QAC1C,8EAA8E;QAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AAGH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;IACtE,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAqf3B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,kBAAkB;IAG1B,OAAO,CAAC,gBAAgB;IAExB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,oBAAoB;IAG5B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,iBAAiB;IAGzB,OAAO,CAAC,gBAAgB;IAGxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,sBAAsB;IAE9B,OAAO,CAAC,mBAAmB;IA3gB7B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAE/B;;iFAE6E;IAC7E,OAAO,CAAC,qBAAqB,CAAmF;IAGhH,OAAO,CAAC,YAAY,CAAkC;IAGtD,OAAO,CAAC,aAAa,CAAkC;IAMvD,OAAO,CAAC,iBAAiB,CAAa;IACtC;gEAC4D;IAC5D,OAAO,CAAC,sBAAsB,CAAqB;IAOnD,OAAO,CAAC,yBAAyB,CAAC,CAAS;IAI3C,OAAO,CAAC,gCAAgC,CAA6B;IACrE,OAAO,CAAC,cAAc,CAAuB;IAM7C,OAAO,CAAC,sBAAsB,CAAuB;IAOrD,OAAO,CAAC,0BAA0B,CAAa;IAI/C,OAAO,CAAC,eAAe,CAAC,CAAgC;IAExD,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IAEtD,OAAO,CAAC,uBAAuB,CAAC,CAA0B;IAE1D,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IAGpD,OAAO,CAAC,UAAU,CAA8B;IAKhD,OAAO,CAAC,YAAY,CAAS;IAC7B;2EACuE;IACvE,OAAO,CAAC,iBAAiB,CAAuB;IAChD;;wEAEoE;IACpE,OAAO,CAAC,gBAAgB,CAAuB;IAC/C;gFAC4E;IAC5E,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,wBAAwB,CAAQ;IAExC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB,CAAS;YACvB,mBAAmB;IA+CjC;;;;;;;;;OASG;YACW,2BAA2B;IAoCzC;;;;;;wFAMoF;IACpF,OAAO,CAAC,sBAAsB;IAU9B;;;;;;;sFAOkF;IAClF,OAAO,CAAC,gBAAgB;IAoCxB;;;;;;;;;;kGAU8F;YAChF,qBAAqB;IA2EnC;4GACwG;IACxG,OAAO,CAAC,eAAe;IAqBvB,iGAAiG;IACjG,OAAO,CAAC,iBAAiB;IAYzB;;;;;;;;;OASG;YACW,iBAAiB;IAqE/B;;0DAEsD;IACtD,OAAO,CAAC,kBAAkB;IAO1B;;4CAEwC;IACxC,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,aAAa,CAAkB;IAGvC,OAAO,CAAC,uBAAuB,CAA0D;IAGzF,OAAO,CAAC,sBAAsB,CAAC,CAAyB;gBAQ9C,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,uBAAuB,EAC3C,aAAa,EAAE,oBAAoB,EACnC,kBAAkB,EAAE,kBAAkB,EAGtC,gBAAgB,EAAE,qBAAqB,EAEvC,iBAAiB,EAAE,uBAAuB,EAC1C,oBAAoB,EAAE,oBAAoB,EAG1C,YAAY,EAAE,iBAAiB,EAC/B,iBAAiB,EAAE,wBAAwB,EAG3C,gBAAgB,EAAE,gBAAgB,EAGlC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,gBAAgB,GAAG,SAAS,EAGxC,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,sBAAsB,EAE9C,mBAAmB,EAAE,mBAAmB,EAGhD,MAAM,EAAE,kBAAkB,EAG1B,eAAe,CAAC,EAAE,6BAA6B,EAC/C,eAAe,CAAC,EAAE,eAAe,EACjC,qBAAqB,CAAC,EAAE,qBAAqB,EAC7C,uBAAuB,CAAC,EAAE,uBAAuB,EACjD,oBAAoB,CAAC,EAAE,oBAAoB;IAkH7C;;;;;;;OAOG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,EACvB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IAm/EhC;;;;;;;;;OASG;IACI,aAAa,CAClB,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,EACvB,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IAw1D7C;;;;;;;;;;OAUG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAoG7B;;OAEG;IACH,eAAe,IAAI,WAAW;IAI9B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,mBAAmB,IAAI,WAAW,EAAE;IAIpC;;;OAGG;IACH,kBAAkB,IAAI,UAAU,CAAC,OAAO,WAAW,CAAC,WAAW,CAAC;IAIhE;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;;OAGG;IACH,oBAAoB,IAAI;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;KACxB;IAwBD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,mBAAmB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI;IAiBvE,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IASzC;;;;OAIG;IACH,oBAAoB,IAAI,wBAAwB;IAQhD;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC;IAkFnB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,iBAAiB,IAAI,OAAO,EAAE;IAmB9B;;;;;OAKG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAsKnB;;;;;;;OAOG;IACG,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAe5E;;;;;;;;OAQG;IACG,oBAAoB,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC3E;;;;OAIG;IACH,eAAe,IAAI,UAAU,EAAE;IAQ/B;;;;OAIG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAY3D;;;;;OAKG;IACH,aAAa,IAAI,gBAAgB,GAAG,SAAS;IAI7C;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,gBAAgB,IAAI,KAAK,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAaF;;;;;;;;OAQG;IACH,sBAAsB,IAAI,KAAK,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,GAAG,CAAC;KAClB,CAAC;IAmBF;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B9B;;OAEG;IACH,mBAAmB,IAAI,gBAAgB;IAIvC;;OAEG;IACH,oBAAoB,IAAI,iBAAiB;IAIzC;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,WAAW,IAAI,GAAG,EAAE;IAQpB;;;;OAIG;IACH,eAAe;IAIf;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;;;;;;;OASG;YACW,mBAAmB;IAsCjC;;;;;;;;;;;;;;;;;OAiBG;YACW,sBAAsB;IAoFpC;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAqEzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;;;OAIG;YACW,uBAAuB;IAuHrC;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAuBrC;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;;;;;;;OAQG;YACW,eAAe;IAkoB7B;;;;;;OAMG;IACH;;;;;OAKG;YACW,iCAAiC;YAQjC,qBAAqB;IAiNnC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IA6DxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAoBjC;;;;;;;;;;;;OAYG;IACH;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,iCAAiC;IA2BzC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,8BAA8B;IAgJtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;;;;OAKG;YACW,2BAA2B;IAgBzC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAuFlC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO,CAAC,eAAe;IAQvB;;;;;;kCAM8B;IAC9B,sFAAsF;IACtF,OAAO,CAAC,qBAAqB,CAA4E;IAEzG;sGACkG;IAClG,6GAA6G;IAC7G,OAAO,CAAC,sBAAsB,CAAK;IACnC,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAA6B;IAE/C,0FAA0F;IAC1F,OAAO,CAAC,QAAQ;IAchB;+GAC2G;IAC3G,OAAO,CAAC,iBAAiB;IAOzB,2GAA2G;IAC3G,OAAO,CAAC,eAAe;YAeT,mBAAmB;IAyCjC,OAAO,CAAC,oBAAoB;IA+B5B;;;;2EAIuE;YACzD,sBAAsB;IAgCpC;;;uEAGmE;IACnE,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAIvB;;;;;;;OAOG;IACH;;+EAE2E;IAC3E,OAAO,CAAC,sBAAsB;IAO9B;;;;;;;;;OASG;YACW,yBAAyB;IAgCvC;oFACgF;IAChF,OAAO,CAAC,oBAAoB,CAAK;IAEjC;wFACoF;IACpF,OAAO,CAAC,kBAAkB;IAM1B,kGAAkG;IAClG,OAAO,CAAC,mBAAmB,CAA6B;IAExD;;;;;;;;OAQG;YACW,mBAAmB;YA4EnB,mBAAmB;IA8LjC;;;;;;OAMG;YACW,mBAAmB;IAiFjC;;;;;;;;;;;;OAYG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,aAAa,GAAG,UAAuB,GAAG,IAAI;IAI1F;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAwC/B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;OAEG;YACW,oBAAoB;IAuBlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAWrC;;OAEG;YACW,sBAAsB;IA0BpC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA4BpC;;OAEG;YACW,yBAAyB;IAoBvC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAYhB;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAuHjC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,wBAAwB,CAAuC;IAEvE;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAmClC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqJ5B;;;;OAIG;IACH,eAAe,IAAI;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE;IAIlD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAS5D;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtC;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAU3B,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAC1D,OAAO,GAAG,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,aAAa,GAAG,aAAa,CACnG,CAAC,GAAG,IAAI;IA+BT;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IASlD;;OAEG;IACH,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAIjD;;;;;OAKG;IACH,wBAAwB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAS/D;;;;OAIG;IACH,WAAW,IAAI,aAAa,CAAC,gBAAgB,CAAC;IAO9C;;;;;OAKG;IACH,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAQvD;;;;OAIG;IACG,kBAAkB;;;;;;;;;IAOxB;;;;OAIG;IACG,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAO/D;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAU9C;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAW7C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,6BAA6B;CAwEtC"}
1
+ {"version":3,"file":"CortexOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/CortexOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { ToolNamingHandler } from '../adapters/ToolNamingHandler.js';
12
12
  // Phase 2.4: Server-Side Tools Support
13
13
  import { shouldUseServerSideTools, isServerSideToolsEnabled, modelSupportsServerSideTools } from '../adapters/ServerSideToolDetection.js';
14
14
  import { shouldAutoInjectMcp } from './mcpAutoInjectPolicy.js';
15
+ import { sanitizeHistoryForDisplay } from './displayHistorySanitizer.js';
15
16
  import { verifyCoordinates, deterministicCoordinateScore } from './coordinateVerification.js';
16
17
  import { buildRouterSample, appendJsonlRotating } from './cortexTrainingRecord.js';
17
18
  import { join as pathJoin } from 'path';
@@ -19,6 +20,7 @@ import { existsSync } from 'fs';
19
20
  import { execSync } from 'node:child_process';
20
21
  import { ENV_RECON_COMMAND, resolveLiftPlanConfig } from '../training/liftPlanner.js';
21
22
  import { resolveEndTurnResolverConfig, parseResolverVerdict } from '../training/endTurnResolver.js';
23
+ import { resolveDeadlineExitConfig, deadlineExitCallBudget, parseDeadlineExitVerdict } from '../training/deadlineExitMentor.js';
22
24
  import { isTaskShaped } from './requirementsVerification.js';
23
25
  import { extractServerSideMetadata, XAIServerSideTools, OpenAIServerSideTools, toCanonicalTool } from '../tools/ServerSideTools.js';
24
26
  // Phase 2.2.1: Timeline and History Storage
@@ -48,6 +50,8 @@ import { resolveThrashState, resolveThrashConfig } from '../training/thrashDetec
48
50
  import { classifyErrorFamily } from '../training/errorFamily.js';
49
51
  import { classifyToolOutcome } from '../training/toolOutcome.js';
50
52
  import { LoopLadder, formatLadderSignal } from '../training/loopLadder.js';
53
+ import { decideLoopBlock, isLoopBlockTrigger } from './loopToolBlock.js';
54
+ import { resolveLoopExitConfig, parseLoopExitVerdict } from '../training/loopExitPlanner.js';
51
55
  import { shouldNudgeInaction, formatInactionNudge } from './inactionGuard.js';
52
56
  import { applyImageTtlForRequest } from './imageTtl.js';
53
57
  import { detectSurrenderText, resolveSurrenderNudgeMode, SURRENDER_REMINDER } from './turnEndGuards.js';
@@ -169,6 +173,15 @@ export class CortexOrchestrator {
169
173
  * exactly once, at the anchor-lift boundary. One-shot per orchestrator. */
170
174
  deferredCorpusDelivered = false;
171
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;
172
185
  liftPlanDelivered = false; // LIFT_MENTOR_PLANNER: bounded mentor-planner at the lift, one-shot
173
186
  cachedEnvReport; // ENV_RECON_COMMAND output, gathered once, shared by lift-planner + endturn-resolver
174
187
  endTurnResolverRejects = 0; // endTurnResolver: GAP vetoes so far this task (bounded by maxRejects → fallback-accept)
@@ -475,6 +488,48 @@ export class CortexOrchestrator {
475
488
  }
476
489
  return '';
477
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
+ }
478
533
  /**
479
534
  * endTurnResolver (operator design 2026-09-04) — the mentor-as-EndTurn-judge, the finish-side twin of
480
535
  * deliverLiftPlanAtLift. Runs AFTER evaluateEndTurnGates: only when the mechanical gate ACCEPTED the
@@ -529,14 +584,22 @@ export class CortexOrchestrator {
529
584
  kind: 'endturn_resolver',
530
585
  toolName: 'EndTurn',
531
586
  detail: {
532
- meets: verdict.meets, planChars: verdict.plan.length, rejects: this.endTurnResolverRejects, parsed: verdict.parsed,
587
+ meets: verdict.meets, retire: verdict.retire, abstained: verdict.retire && cfg.abstain,
588
+ planChars: verdict.plan.length, rejects: this.endTurnResolverRejects, parsed: verdict.parsed,
533
589
  latencyMs, rawLen: (text ?? '').length,
534
590
  planText: verdict.plan.slice(0, 4000),
535
591
  workProductSample: workProduct.slice(0, 1500),
536
592
  attestation: attestation.slice(0, 800),
537
593
  },
538
594
  }).catch(() => { });
539
- if (!verdict.meets && verdict.plan) {
595
+ if (verdict.retire && cfg.abstain) {
596
+ // ABSTENTION — the finish is structurally unclosable; accept it and STOP the reject
597
+ // loop (no veto, no reject increment) instead of burning more pro@max cycles on a task
598
+ // the junior can't fix. The finish stands (ev.endTurnCalled stays true).
599
+ if (this.config.debug)
600
+ console.warn(`[EndTurnResolver] RETIRE — abstained (unclosable): ${verdict.plan.slice(0, 160)}`);
601
+ }
602
+ else if (!verdict.meets && verdict.plan) {
540
603
  this.endTurnResolverRejects += 1;
541
604
  ev.endTurnCalled = false; // VETO the finish
542
605
  et.is_error = true;
@@ -556,6 +619,78 @@ export class CortexOrchestrator {
556
619
  // fail-open: leave the finish accepted
557
620
  }
558
621
  }
622
+ /**
623
+ * deadlineExitCheckpoint — the mentor-as-deadline-checkpoint at the WARN rung (~0.9 of the
624
+ * per-turn deadline, where residual still exists). Returns null when disabled/not-applicable
625
+ * (caller uses its normal warn nudge). Otherwise a bounded, residual-scaled mentor call decides:
626
+ * shouldBreak=true → FINISH or RETIRE: end the loop now (post-loop synthesis; resolver bypassed
627
+ * via abnormal-exit) — a clean finish or a clean retirement instead of
628
+ * grinding the residual.
629
+ * shouldBreak=false → CONTINUE (signal='' → normal nudge) or ACTION (signal=the one directed step).
630
+ * Dark by default (CORTEX_DEADLINE_EXIT_MENTOR); fail-safe to null on any error (never truncate
631
+ * a turn on a broken checkpoint call).
632
+ */
633
+ async deadlineExitCheckpoint(task, workProduct, remainingMs) {
634
+ const cfg = resolveDeadlineExitConfig();
635
+ if (!cfg.enabled)
636
+ return null;
637
+ if (!this.helperMiddleware?.evaluateDeadlineExit)
638
+ return null;
639
+ if (!isTaskShaped(task))
640
+ return null;
641
+ const { timeoutMs, outputBudgetTokens } = deadlineExitCallBudget(cfg, remainingMs);
642
+ const store = this.getDecisionStore();
643
+ const sessionId = this.currentSessionId ?? 'unknown';
644
+ try {
645
+ const t0 = Date.now();
646
+ const text = await withTimeout(this.helperMiddleware.evaluateDeadlineExit({
647
+ task,
648
+ envReport: this.gatherEnvReport(),
649
+ workProduct,
650
+ remainingBudget: `~${Math.max(0, Math.round(remainingMs / 1000))}s of budget left`,
651
+ outputBudgetTokens,
652
+ effort: cfg.effort,
653
+ helperModelId: this.config.reactiveMentorship?.helperModelId,
654
+ }), timeoutMs);
655
+ const v = parseDeadlineExitVerdict(text ?? '');
656
+ if (store)
657
+ void store.recordEvent({
658
+ sessionId,
659
+ kind: 'deadline_exit_mentor',
660
+ detail: {
661
+ decision: v.decision, parsed: v.parsed, remainingMs, latencyMs: Date.now() - t0,
662
+ detailText: v.detail.slice(0, 2000), workProductSample: workProduct.slice(0, 1200),
663
+ },
664
+ }).catch(() => { });
665
+ switch (v.decision) {
666
+ case 'finish':
667
+ if (this.config.debug)
668
+ console.warn(`[DeadlineExit] FINISH — mentor confirms criteria met; ending turn`);
669
+ return { shouldBreak: true, signal: '' };
670
+ case 'retire':
671
+ if (this.config.debug)
672
+ console.warn(`[DeadlineExit] RETIRE — unclosable in residual (${v.detail.slice(0, 120)}); ending turn`);
673
+ return { shouldBreak: true, signal: '' };
674
+ case 'action':
675
+ return { shouldBreak: false, signal: `Time is short — a reviewer says ONE action closes the gap:\n${v.detail}\nDo exactly that, verify it against the task's real criteria, then finish.` };
676
+ default:
677
+ return { shouldBreak: false, signal: '' }; // CONTINUE → caller uses the normal warn nudge
678
+ }
679
+ }
680
+ catch (e) {
681
+ if (store)
682
+ void store.recordEvent({ sessionId, kind: 'deadline_exit_mentor', detail: { error: String(e?.message ?? e).slice(0, 120) } }).catch(() => { });
683
+ return null; // fail-safe: fall back to the normal warn nudge
684
+ }
685
+ }
686
+ /** Build the bounded work-product snapshot for the deadline checkpoint (latest answer + recent tool outputs). */
687
+ buildDeadlineWorkProduct(toolResults) {
688
+ const outs = toolResults
689
+ .slice(-6)
690
+ .map((r) => `[${r.tool_name}${r.is_error ? ' ERR' : ''}] ${(typeof r.content === 'string' ? r.content : JSON.stringify(r.content ?? '')).slice(0, 500)}`)
691
+ .join('\n');
692
+ return `${this.lastAssistantText()}\n\n--- recent tool outputs ---\n${outs}`.slice(0, 8000);
693
+ }
559
694
  /** Narrow `tools` to the anchor profile while the anchor is armed; no-op
560
695
  * once lifted or when CORTEX_TOOL_ANCHOR is unset. Applied AFTER the
561
696
  * deferred filter at both request-assembly sites. */
@@ -1386,6 +1521,16 @@ export class CortexOrchestrator {
1386
1521
  let toolCallIteration = 0;
1387
1522
  // Loop control settings — single source of truth via getLoopControlConfig()
1388
1523
  const loopDefaults = this.getLoopControlConfig();
1524
+ // CORTEX_ACTION_EFFORT: static reasoning effort for the PRIMARY (action) model — fills the
1525
+ // request param when unset (`??=`), so it overrides the model card's default but NOT an
1526
+ // explicit request param or the dynamic effort-pulse (both still win). Mentor calls
1527
+ // (lift-plan / endturn-resolver / deadline-exit) use their own *_EFFORT and are unaffected.
1528
+ // Enables the pro-track "wide effort delta" A/B (pro@low action + pro@max mentors).
1529
+ const __actionEffort = (process.env.CORTEX_ACTION_EFFORT || '').trim();
1530
+ if (__actionEffort) {
1531
+ options.parameters = options.parameters || {};
1532
+ options.parameters.reasoningEffort ??= __actionEffort;
1533
+ }
1389
1534
  const MAX_TOOL_ITERATIONS = loopDefaults.maxToolIterations;
1390
1535
  const TOOL_TIMEOUT_MS = loopDefaults.toolTimeoutMs;
1391
1536
  const MAX_CONSECUTIVE_ERRORS = loopDefaults.maxConsecutiveErrors;
@@ -2125,6 +2270,7 @@ export class CortexOrchestrator {
2125
2270
  continue;
2126
2271
  const outcome = classifyToolOutcome(tr.tool_name, input, tr);
2127
2272
  const ladder = loopLadder.observe(tr.tool_name, outcome);
2273
+ this.armLoopBlock(tr.tool_name, ladder.action);
2128
2274
  const sig = formatLadderSignal(tr.tool_name, ladder);
2129
2275
  if (sig)
2130
2276
  ladderSignal = sig;
@@ -2359,10 +2505,20 @@ export class CortexOrchestrator {
2359
2505
  const budgetSignal = computeToolBudgetSignal(effectiveToolBudgetCount, TOOL_BUDGET_SOFT, progressStalled);
2360
2506
  const diversityWarning = this.getDiversityWarning(toolCallCounts);
2361
2507
  // #2: one-shot wall-clock warning at 90% of the deadline — tell the model to converge + EndTurn.
2508
+ // DARK deadline-exit-mentor (CORTEX_DEADLINE_EXIT_MENTOR): at the warn rung, a bounded mentor
2509
+ // may decide FINISH/RETIRE (end now, cleanly) or ACTION (one directed step) instead of the dumb
2510
+ // "wrap up" nudge; null/CONTINUE falls back to the normal nudge. Hard-floor break below stays.
2362
2511
  let timeSignal = null;
2363
2512
  if (!timeWarnFired && timeBudgetState(Date.now() - loopStartMs, TURN_DEADLINE_MS) === 'warn') {
2364
- timeSignal = timeBudgetWarnNudge(Date.now() - loopStartMs, TURN_DEADLINE_MS);
2365
2513
  timeWarnFired = true;
2514
+ const de = await this.deadlineExitCheckpoint(this.lastRealUserText(), this.buildDeadlineWorkProduct(toolResults), TURN_DEADLINE_MS - (Date.now() - loopStartMs));
2515
+ if (de?.shouldBreak) {
2516
+ const dstore = this.getDecisionStore();
2517
+ if (dstore)
2518
+ void dstore.recordEvent({ sessionId: this.currentSessionId ?? 'unknown', kind: 'deadline_exit_break', detail: { iteration: toolCallIteration } }).catch(() => { });
2519
+ break; // mentor-directed clean exit → post-loop synthesis (resolver bypassed via abnormal-exit)
2520
+ }
2521
+ timeSignal = de?.signal || timeBudgetWarnNudge(Date.now() - loopStartMs, TURN_DEADLINE_MS);
2366
2522
  }
2367
2523
  if (budgetSignal || diversityWarning || ladderSignal || timeSignal) {
2368
2524
  const signals = [budgetSignal, diversityWarning, ladderSignal, timeSignal].filter(Boolean).join('\n');
@@ -3529,6 +3685,16 @@ export class CortexOrchestrator {
3529
3685
  let hasToolUse = initialToolUseBlocks.length > 0;
3530
3686
  // Loop control settings — single source of truth via getLoopControlConfig()
3531
3687
  const loopDefaults = this.getLoopControlConfig();
3688
+ // CORTEX_ACTION_EFFORT: static reasoning effort for the PRIMARY (action) model — fills the
3689
+ // request param when unset (`??=`), so it overrides the model card's default but NOT an
3690
+ // explicit request param or the dynamic effort-pulse (both still win). Mentor calls
3691
+ // (lift-plan / endturn-resolver / deadline-exit) use their own *_EFFORT and are unaffected.
3692
+ // Enables the pro-track "wide effort delta" A/B (pro@low action + pro@max mentors).
3693
+ const __actionEffort = (process.env.CORTEX_ACTION_EFFORT || '').trim();
3694
+ if (__actionEffort) {
3695
+ options.parameters = options.parameters || {};
3696
+ options.parameters.reasoningEffort ??= __actionEffort;
3697
+ }
3532
3698
  const MAX_TOOL_ITERATIONS = loopDefaults.maxToolIterations;
3533
3699
  const MAX_CONSECUTIVE_ERRORS = loopDefaults.maxConsecutiveErrors;
3534
3700
  const MAX_LOOP_REPETITIONS = loopDefaults.maxLoopRepetitions;
@@ -3883,6 +4049,7 @@ export class CortexOrchestrator {
3883
4049
  continue;
3884
4050
  const outcome = classifyToolOutcome(tr.tool_name, input, tr);
3885
4051
  const ladder = loopLadder.observe(tr.tool_name, outcome);
4052
+ this.armLoopBlock(tr.tool_name, ladder.action);
3886
4053
  const sig = formatLadderSignal(tr.tool_name, ladder);
3887
4054
  if (sig)
3888
4055
  ladderSignal = sig;
@@ -4064,11 +4231,19 @@ export class CortexOrchestrator {
4064
4231
  const progressStalled = isToolProgressStalled(allToolCalls);
4065
4232
  const budgetSignal = computeToolBudgetSignal(effectiveToolBudgetCount, TOOL_BUDGET_SOFT, progressStalled);
4066
4233
  const diversityWarning = this.getDiversityWarning(toolCallCounts);
4067
- // #2: one-shot wall-clock warning at 90% of the deadline (streaming parity).
4234
+ // #2: one-shot wall-clock warning at 90% of the deadline (streaming parity). DARK
4235
+ // deadline-exit-mentor may FINISH/RETIRE (end cleanly) or ACTION (one step) here.
4068
4236
  let timeSignal = null;
4069
4237
  if (!timeWarnFired && timeBudgetState(Date.now() - loopStartMs, TURN_DEADLINE_MS) === 'warn') {
4070
- timeSignal = timeBudgetWarnNudge(Date.now() - loopStartMs, TURN_DEADLINE_MS);
4071
4238
  timeWarnFired = true;
4239
+ const de = await this.deadlineExitCheckpoint(this.lastRealUserText(), this.buildDeadlineWorkProduct(toolResults), TURN_DEADLINE_MS - (Date.now() - loopStartMs));
4240
+ if (de?.shouldBreak) {
4241
+ const dstore = this.getDecisionStore();
4242
+ if (dstore)
4243
+ void dstore.recordEvent({ sessionId: this.currentSessionId ?? 'unknown', kind: 'deadline_exit_break', detail: { iteration: toolCallIteration } }).catch(() => { });
4244
+ break; // mentor-directed clean exit → post-loop synthesis (resolver bypassed via abnormal-exit)
4245
+ }
4246
+ timeSignal = de?.signal || timeBudgetWarnNudge(Date.now() - loopStartMs, TURN_DEADLINE_MS);
4072
4247
  }
4073
4248
  if (budgetSignal || diversityWarning || ladderSignal || timeSignal) {
4074
4249
  const signals = [budgetSignal, diversityWarning, ladderSignal, timeSignal].filter(Boolean).join('\n');
@@ -4954,7 +5129,12 @@ export class CortexOrchestrator {
4954
5129
  });
4955
5130
  });
4956
5131
  }
4957
- return [...this.messageHistory];
5132
+ // Strip model-only <system-reminder> scaffolding (lift-nudge / deferred
5133
+ // corpus / lift-plan append these onto history messages) — this accessor
5134
+ // feeds the TUI history view + session export, never the model request, so
5135
+ // the reminders must not surface to a human. Returns sanitized copies; the
5136
+ // model-facing messageHistory objects are untouched. See displayHistorySanitizer.
5137
+ return sanitizeHistoryForDisplay([...this.messageHistory]);
4958
5138
  }
4959
5139
  /**
4960
5140
  * Resume an existing session by loading its full history
@@ -5814,6 +5994,13 @@ export class CortexOrchestrator {
5814
5994
  if (this.config.debug) {
5815
5995
  console.log(`[Orchestrator Phase 2.5] Executing tool: ${toolUse.name}`);
5816
5996
  }
5997
+ // CORTEX_LOOP_TOOL_BLOCK: if this tool's executor is loop-disabled this
5998
+ // turn, return the append-only redirect error instead of running it.
5999
+ const loopBlocked = await this.maybeBlockLoopingTool(toolUse);
6000
+ if (loopBlocked) {
6001
+ results.push(await this.processToolTraining(toolUse, loopBlocked));
6002
+ continue;
6003
+ }
5817
6004
  // Context management tools (CORTEX.md generation + two-tier memory)
5818
6005
  const contextManagementToolNames = [
5819
6006
  'InitCortexContext',
@@ -6240,6 +6427,10 @@ export class CortexOrchestrator {
6240
6427
  if (this.config.debug) {
6241
6428
  console.log(`[Orchestrator] Executing single tool: ${toolUse.name}`);
6242
6429
  }
6430
+ // CORTEX_LOOP_TOOL_BLOCK: executor-gate for the parallel/single path.
6431
+ const loopBlocked = await this.maybeBlockLoopingTool(toolUse);
6432
+ if (loopBlocked)
6433
+ return loopBlocked;
6243
6434
  // Context management tools
6244
6435
  const contextManagementToolNames = ['InitCortexContext'];
6245
6436
  const isContextManagementTool = contextManagementToolNames.includes(toolUse.name);
@@ -7328,6 +7519,101 @@ export class CortexOrchestrator {
7328
7519
  }
7329
7520
  return { success: true, llmContent: hint, metadata: { source: 'mentor-consult', rung, helperModel: this.config.reactiveMentorship?.helperModelId } };
7330
7521
  }
7522
+ /** CORTEX_LOOP_TOOL_BLOCK — arm the hard intervention when the ladder flags a
7523
+ * non-converging same-approach loop (diversify/break). If this tool has
7524
+ * already been blocked twice, request a mentor escalation instead of a 3rd
7525
+ * block. Called from the turn loop where the ladder result is computed. */
7526
+ armLoopBlock(toolName, ladderAction) {
7527
+ if ((process.env.CORTEX_LOOP_TOOL_BLOCK ?? '').trim().toLowerCase() !== 'true')
7528
+ return;
7529
+ if (!isLoopBlockTrigger(ladderAction))
7530
+ return;
7531
+ if (this.loopBlockEscalate)
7532
+ return; // already pending
7533
+ const prior = this.loopBlockCounts.get(toolName) ?? 0;
7534
+ const decision = decideLoopBlock(toolName, prior);
7535
+ if (decision.action === 'escalate') {
7536
+ // Arm the tool AND the escalation flag: the next call to this tool
7537
+ // triggers a mentor consult (delivered as the redirect) instead of a 3rd
7538
+ // generic block.
7539
+ this.loopBlockTool = toolName;
7540
+ this.loopBlockEscalate = true;
7541
+ if (this.config.debug)
7542
+ console.log(`[LoopBlock] ${toolName} looped past ${prior} blocks → next call escalates to mentor consult`);
7543
+ }
7544
+ else if (decision.action === 'block') {
7545
+ this.loopBlockTool = toolName;
7546
+ this.loopBlockCounts.set(toolName, prior + 1);
7547
+ if (this.config.debug)
7548
+ console.log(`[LoopBlock] arming block #${prior + 1} on ${toolName} for next turn`);
7549
+ }
7550
+ }
7551
+ /** Executor-gate: if a tool is loop-blocked THIS turn, return an append-only
7552
+ * redirect error tool_result INSTEAD of executing it (the tools list is
7553
+ * unchanged → prompt cache is not busted). One-shot: the block clears on use
7554
+ * so the tool is available again next turn. Returns null when not blocked. */
7555
+ async maybeBlockLoopingTool(toolUse) {
7556
+ if (!this.loopBlockTool || this.loopBlockTool !== toolUse.name)
7557
+ return null;
7558
+ this.loopBlockTool = null; // one turn only
7559
+ const store = this.getDecisionStore();
7560
+ // Escalation: 2 blocks did not break the loop → deliver a mentor plan
7561
+ // directly as the redirect (orchestrator-direct-invoke, NOT forced
7562
+ // tool_choice which is unreliable on DeepSeek once history holds a tool_call).
7563
+ if (this.loopBlockEscalate) {
7564
+ this.loopBlockEscalate = false;
7565
+ // Escalation = the mentor-as-loop-exit-planner (bounded pro-max, sibling of the EndTurn
7566
+ // resolver). ORCHESTRATOR-DIRECT-INVOKE — the orchestrator calls evaluateLoopExit itself and
7567
+ // delivers the verdict as this redirect; it is NOT a tool the low-compliance model must reach
7568
+ // for (forced tool_choice is dead on DeepSeek mid-history — the MENTOR_AUTO pattern).
7569
+ let plan = '';
7570
+ let verdict = 'UNKNOWN';
7571
+ try {
7572
+ if (this.helperMiddleware?.evaluateLoopExit) {
7573
+ const cfg = resolveLoopExitConfig();
7574
+ const text = await withTimeout(this.helperMiddleware.evaluateLoopExit({
7575
+ task: this.lastRealUserText(),
7576
+ envReport: this.gatherEnvReport(),
7577
+ loopingTool: toolUse.name,
7578
+ recentAttempts: this.recentToolCalls(toolUse.name, 4) || this.lastAssistantText().slice(0, 2000),
7579
+ outputBudgetTokens: cfg.outputBudgetTokens,
7580
+ effort: cfg.effort,
7581
+ helperModelId: this.config.reactiveMentorship?.helperModelId,
7582
+ }), cfg.timeoutMs);
7583
+ plan = String(text ?? '');
7584
+ verdict = parseLoopExitVerdict(plan);
7585
+ }
7586
+ }
7587
+ catch { /* fail-open */ }
7588
+ const content = plan
7589
+ ? `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}".`
7590
+ : `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.`;
7591
+ if (store)
7592
+ void store.recordEvent({ sessionId: this.currentSessionId ?? 'unknown', kind: 'loop_tool_block', toolName: toolUse.name, detail: { escalated: true, consulted: !!plan, verdict } }).catch(() => { });
7593
+ if (this.config.debug)
7594
+ console.log(`[LoopBlock] ESCALATED ${toolUse.name} → exit-planner (${plan ? verdict + ' plan delivered' : 'fail-open'})`);
7595
+ return { tool_use_id: toolUse.id, tool_name: toolUse.name, content, is_error: true, metadata: { loopToolBlock: true, escalated: true, verdict } };
7596
+ }
7597
+ const prior = (this.loopBlockCounts.get(toolUse.name) ?? 1) - 1;
7598
+ const decision = decideLoopBlock(toolUse.name, prior);
7599
+ if (store) {
7600
+ void store.recordEvent({
7601
+ sessionId: this.currentSessionId ?? 'unknown',
7602
+ kind: 'loop_tool_block',
7603
+ toolName: toolUse.name,
7604
+ detail: { blockNumber: prior + 1, redirectTools: decision.redirectTools },
7605
+ }).catch(() => { });
7606
+ }
7607
+ if (this.config.debug)
7608
+ console.log(`[LoopBlock] redirected ${toolUse.name} → ${decision.redirectTools.join(',')}`);
7609
+ return {
7610
+ tool_use_id: toolUse.id,
7611
+ tool_name: toolUse.name,
7612
+ content: decision.message,
7613
+ is_error: true,
7614
+ metadata: { loopToolBlock: true, redirectTools: decision.redirectTools },
7615
+ };
7616
+ }
7331
7617
  async processToolTraining(toolUse, result) {
7332
7618
  this.applySliceNudge(toolUse, result); // universal post-execution hook: every path funnels through processToolTraining
7333
7619
  const store = this.getDecisionStore();