@nexus-cortex/core 4.131.1 → 4.131.2
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.
- package/.env.defaults +4 -0
- package/dist/orchestrator/CortexOrchestrator.js +2 -2
- package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
- package/dist/orchestrator/emptyResponseClassifier.d.ts +1 -1
- package/dist/orchestrator/emptyResponseClassifier.d.ts.map +1 -1
- package/dist/orchestrator/emptyResponseClassifier.js +8 -2
- package/dist/orchestrator/emptyResponseClassifier.js.map +1 -1
- package/package.json +3 -3
package/.env.defaults
CHANGED
|
@@ -823,6 +823,10 @@ CORTEX_ENDTURN_RESOLVER_ABSTAIN=true
|
|
|
823
823
|
# t4w3m/n: true, source env) since the stdb-bench clean-launch formula (cell-m-r1, 09-10) put it in EXTRA_COMMON, and ON in product since
|
|
824
824
|
# 10-17 via CORTEX_PROFILE=standard (the R219 "safe set"; decision recorded in the CORTEX_PROFILE block, not here). Code default unchanged
|
|
825
825
|
# (false). Its own efficacy A/B was never run — it has been background in every cell since (audit: .bench/cells/lever-writeback-check.py).
|
|
826
|
+
# [LEDGER 2026-11-06 in tree] empty_active: a COMPLETELY empty turn (no text, no reasoning, no tool call) with budget left now continues with
|
|
827
|
+
# tools too (was: terminal "write your answer, do NOT call any tools"). Evidence: holdout-8 harness runs (.bench/eval/om2w/holdout-harness-*)
|
|
828
|
+
# — gemini-3.8-flash's Browse sub-agent returned an empty FIRST turn on 106/107, got the terminal nudge and invented results it never read
|
|
829
|
+
# (audited). Same bounded ×3 as reasoning_only_active; budget spent → the old terminal nudge. Flag off = unchanged.
|
|
826
830
|
#CORTEX_EMPTY_TURN_CONTINUE=true
|
|
827
831
|
#
|
|
828
832
|
# CORTEX_DEADLINE_EXIT_MENTOR — the "smart deadline". At the WARN rung (~0.9 of the per-turn
|
|
@@ -2806,7 +2806,7 @@ export class CortexOrchestrator {
|
|
|
2806
2806
|
? classifyEmptyResponse(currentAssistantCanonicalMessage.content, lastStopReason, loopHasBudget)
|
|
2807
2807
|
: null;
|
|
2808
2808
|
const isEmptyContinueKind = EMPTY_TURN_CONTINUE && !!emptyClass
|
|
2809
|
-
&& (emptyClass.kind === 'truncated' || emptyClass.kind === 'reasoning_only_active');
|
|
2809
|
+
&& (emptyClass.kind === 'truncated' || emptyClass.kind === 'reasoning_only_active' || emptyClass.kind === 'empty_active');
|
|
2810
2810
|
const canRetryEmpty = isEmptyContinueKind
|
|
2811
2811
|
? emptyContinueCount < EMPTY_CONTINUE_MAX
|
|
2812
2812
|
: !emptyResponseRetryUsed;
|
|
@@ -5075,7 +5075,7 @@ export class CortexOrchestrator {
|
|
|
5075
5075
|
? classifyEmptyResponse(currentAssistantCanonicalMessage.content, lastStopReason, loopHasBudget)
|
|
5076
5076
|
: null;
|
|
5077
5077
|
const isEmptyContinueKind = EMPTY_TURN_CONTINUE && !!emptyClass
|
|
5078
|
-
&& (emptyClass.kind === 'truncated' || emptyClass.kind === 'reasoning_only_active');
|
|
5078
|
+
&& (emptyClass.kind === 'truncated' || emptyClass.kind === 'reasoning_only_active' || emptyClass.kind === 'empty_active');
|
|
5079
5079
|
const canRetryEmpty = isEmptyContinueKind
|
|
5080
5080
|
? emptyContinueCount < EMPTY_CONTINUE_MAX
|
|
5081
5081
|
: !emptyResponseRetryUsed;
|