@nexus-cortex/cli 4.108.21 → 4.109.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.
- package/.env.defaults +49 -0
- package/package.json +2 -2
package/.env.defaults
CHANGED
|
@@ -852,6 +852,12 @@ CORTEX_ENDTURN_GATE=true
|
|
|
852
852
|
# [LEDGER 2026-09-15 @4.108.21] BUILT + unit-tested (timeBudget.test.ts bands/line/levers; TurnEndGuards.test.ts open-items shapes).
|
|
853
853
|
#CORTEX_BUDGET_VISIBILITY=
|
|
854
854
|
#CORTEX_BUDGET_CONTINUE_MIN_REMAINING=
|
|
855
|
+
# (no lever) R152 HB-EMPTY-COMPLETION-RETRY (4.108.22, 2026-09-15): during a 27-min DeepSeek incident (1:30-1:57 AM PT) chat/completions
|
|
856
|
+
# returned bodies that parsed to null; the SDK handed them back, the translation layer dereferenced `.choices`, and the tool loop ended the turn
|
|
857
|
+
# on the TypeError — 30 sessions across tb21-a21 A/B + tb4-flash-v3 (largest-eigenval died at iteration 1). R150's ladder did not apply (a null
|
|
858
|
+
# body is a successful HTTP response). Now `completionBodyGuard.assertCompletionBody` throws EmptyCompletionBodyError (classified network) after
|
|
859
|
+
# `chat.completions.create`, so CORTEX_API_NETWORK_RETRY_MS's ladder retries it; the translation layer is null-safe.
|
|
860
|
+
# [LEDGER 2026-09-15 @4.108.22] BUILT + unit-tested (completionBodyGuard.test.ts incl. classifier hookup).
|
|
855
861
|
# CORTEX_HERDR_REPORTING / CORTEX_HERDR_AGENT_NAME — R145 HB-HERDR-LIFECYCLE (4.108.14). Inside a herdr-managed pane (HERDR_ENV=1, HERDR_PANE_ID set,
|
|
856
862
|
# `herdr` on PATH or HERDR_BIN) the orchestrator reports its lifecycle to herdr — `pane report-agent <pane> --source custom:nexus-cortex --agent
|
|
857
863
|
# <name> --state working|idle|blocked` at turn start/end and around approval waits, `pane report-metadata … --token summary=turn:<n>|tool:<name>|
|
|
@@ -866,6 +872,49 @@ CORTEX_ENDTURN_GATE=true
|
|
|
866
872
|
# `cortex` idle with summary token turn:1; `agent wait <pane> --until idle` resolves on our report; target by PANE ID or a `rename`d live
|
|
867
873
|
# name (the --agent label is the kind, not a name). Binary resolution order: CORTEX_HERDR_BIN (override) → HERDR_BIN_PATH (herdr's own pane
|
|
868
874
|
# export) → PATH.
|
|
875
|
+
# CORTEX_REASONING_EXHAUST_BACKOFF / CORTEX_REASONING_EXHAUST_BACKOFF_TURNS — R153 HB-REASONING-EXHAUSTION (4.109.0, 2026-09-16). The
|
|
876
|
+
# tb4-flash-v3 sweep found 58 assistant turns in 23 of 63 sessions (a21h 8/7, a21l 4/4) that ended at EXACTLY 65536 output tokens with
|
|
877
|
+
# 100-180K chars of reasoning, no text, no tool call — 3.8M output tokens burned — every one logged as reasoning_only_active and
|
|
878
|
+
# nudged "take your next action", which re-ran the same derivation into the cap again; after 3 the turn ended (coq-block-bound: over at
|
|
879
|
+
# iteration 10 with 97% of 8 h left). ROOT CAUSE: both tool loops passed the TURN'S FIRST stop reason to the empty-response classifier,
|
|
880
|
+
# so the D-E `truncated` carve-out never saw a continuation's finish_reason=length (plus the streaming reassembly hardcoded stop/tool_calls).
|
|
881
|
+
# FIX: lastStopReason is refreshed per response; streamed finish_reason survives; a truncated reasoning-only turn now (a) gets an
|
|
882
|
+
# exhaustion nudge that says the budget was wasted and to act, and (b) arms BACKOFF: the next TURNS continuations (default 2) run one
|
|
883
|
+
# reasoning-effort level lower (max/high → medium → low; repeat exhaustion steps down again); event kind reasoning_exhaustion
|
|
884
|
+
# {iteration, outputTokens, from, level, turns}. Precedence: backoff > effort pulse > request param > card. 'false' keeps the nudge but not
|
|
885
|
+
# the backoff. Streaming loop: the finish_reason=length break is now a warn (the truncation path handles it).
|
|
886
|
+
# [LEDGER 2026-09-16 @4.109.0] BUILT + unit-tested (emptyResponseClassifier.test.ts R153 block). Field: PENDING (7-task R152/R153 patch cell).
|
|
887
|
+
#CORTEX_REASONING_EXHAUST_BACKOFF=
|
|
888
|
+
#CORTEX_REASONING_EXHAUST_BACKOFF_TURNS=
|
|
889
|
+
# (no lever) R154 HB-IMAGE-REJECTION-HEAL (4.109.0, 2026-09-16): retro-console-soc generated a 128x128 8-bit GRAYSCALE PNG, called
|
|
890
|
+
# ReadImage, and DeepSeek answered the next continuation with `400 .messages[290].image[0]: You have uploaded an unsupported image`;
|
|
891
|
+
# the exception escaped after the tool batch, the already-executed guard left the loop, and the R29a synthesis failed on the same block —
|
|
892
|
+
# session over at iteration 133 (43 min of 8 h). Now `orchestrator/imageRejectionHeal.ts` recognises the rejection (4xx + image wording),
|
|
893
|
+
# stubs every user-side image block with a re-encode instruction, and the non-streaming continuation / empty-retry / R29a calls retry the
|
|
894
|
+
# rebuilt request once (event image_rejection_heal {stripped, label, reason}). Streaming loop not healed (chunk-iteration surface).
|
|
895
|
+
# [LEDGER 2026-09-16 @4.109.0] BUILT + unit-tested (imageRejectionHeal.test.ts).
|
|
896
|
+
# (no lever) R155 HB-STATE-DIR-GIT-EXCLUDE (4.109.0, 2026-09-16): nextjs-performance committed a baseline with `git add -A` (sweeping
|
|
897
|
+
# .cortex/sessions + artifacts into the commit) and a later `git checkout <baseline> -- ...` restored a STALE session file over the live
|
|
898
|
+
# one — the banked trajectory starts mid-session. When the state dir resolves to <project>/.cortex and <project>/.git exists, the runtime-
|
|
899
|
+
# state paths (sessions/, artifacts/, training/, decisions.jsonl, memory/, projects/, .write-probe-*) are appended ONCE to .git/info/exclude
|
|
900
|
+
# (marker line; worktree gitdir files followed; best-effort). CORTEX.md stays trackable. `git clean -x` is not covered by design.
|
|
901
|
+
# [LEDGER 2026-09-16 @4.109.0] BUILT + unit-tested (stateDir.test.ts R155).
|
|
902
|
+
# CORTEX_BASH_OOM_PRIORITY — R156 HB-OOM-CHILD-PRIORITY (4.109.0, 2026-09-16). mp-checkpoint-consolidation (tb4-flash-v3) and
|
|
903
|
+
# extract-moves-from-video r3 (tb21-a21l) both died `Command failed (exit 137)` while a model-launched heavy process ran (three 600-s Bash
|
|
904
|
+
# promotions in a row; a video decode): the OOM killer took the agent command including cortex-server — no response, no metrics row,
|
|
905
|
+
# trajectory frozen. The Bash child shell now writes 1000 to /proc/self/oom_score_adj before the command (foreground and background
|
|
906
|
+
# spawns; every descendant inherits it), so the kernel prefers the model's process over the orchestrator and the model sees "Killed" in the
|
|
907
|
+
# tool result instead of the session vanishing. Linux only; best-effort; default on; 'false' = byte-identical command composition.
|
|
908
|
+
# [LEDGER 2026-09-16 @4.109.0] BUILT + unit-tested (executors oomPriority.test.ts). Field: PENDING.
|
|
909
|
+
#CORTEX_BASH_OOM_PRIORITY=
|
|
910
|
+
# CORTEX_BUDGET_CONTINUE_MAX_NUDGES — R157 R151-v2 (4.109.0, 2026-09-16). Field audit of R151 on tb4-flash-v3: the budget line fired
|
|
911
|
+
# in 63/63 sessions and the nudge 13 times, but detectOpenItemsText missed 36 of 52 failing finishes — 8 of them explicit surrenders
|
|
912
|
+
# ("TASK NOT COMPLETE", "I did not prove", "did not fully solve", "honest status report", "fails the task's real success criterion",
|
|
913
|
+
# "unable to") — and every nudged session finished on the very next turn (one-shot). OPEN_ITEMS_RES is broadened with those shapes
|
|
914
|
+
# (tested against all 63 final messages: +8 catches, 2 pass-side false positives costing one nudge each) and the nudge re-arms up to
|
|
915
|
+
# MAX_NUDGES per turn (default 2; 0 = off; max 10) with a firmer second text; event budget_continue_nudge carries {nudge, maxNudges}.
|
|
916
|
+
# [LEDGER 2026-09-16 @4.109.0] BUILT + unit-tested (TurnEndGuards.test.ts R157, timeBudget.test.ts). Field: PENDING.
|
|
917
|
+
#CORTEX_BUDGET_CONTINUE_MAX_NUDGES=
|
|
869
918
|
#CORTEX_HERDR_REPORTING=
|
|
870
919
|
#CORTEX_HERDR_AGENT_NAME=
|
|
871
920
|
#CORTEX_HERDR_BIN=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cortex/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.109.0",
|
|
4
4
|
"description": "Nexus Cortex CLI - Terminal interface for multi-provider LLM orchestration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"prepack": "node ../../scripts/copy-pkg-cortex-scaffold.mjs"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@nexus-cortex/core": "4.
|
|
22
|
+
"@nexus-cortex/core": "4.109.0",
|
|
23
23
|
"chalk": "^4.1.2",
|
|
24
24
|
"cli-spinners": "^2.9.0",
|
|
25
25
|
"commander": "^11.0.0",
|