@nexus-cortex/cli 4.108.18 → 4.108.20

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 (2) hide show
  1. package/.env.defaults +36 -0
  2. package/package.json +2 -2
package/.env.defaults CHANGED
@@ -769,6 +769,15 @@ CORTEX_ENDTURN_GATE=true
769
769
  # (+ chars/4 of what was appended since; proportional shrink after a drop) — the chars/4-of-the-JSON-envelope heuristic (R129-scaled) is only
770
770
  # the fallback before the first usage arrives. Field read on the TB4.0 definitive run (4.108.5): heat-pump-warranty compacted at "760K-1.0M"
771
771
  # vs an API max of 151,763 prompt tokens (5-7x over). Compaction rows now bank estimateSource usage-anchored|heuristic + anchorTokens.
772
+ # CORTEX_COMPACTION_HANDOFF_QA / _MAX_QUESTIONS — R143 HB-HANDOFF-QA-SUMMARY (4.108.19), from Terminus 2's three-step handoff: after the checkpoint
773
+ # memory is written, (2) a history-FREE helper call is given the task + the summary + the workspace state and asks up to N gap questions a
774
+ # successor would need answered; (3) a helper call WITH the covered history answers them (verbatim values; "not recorded" when unknown); the
775
+ # memory gets a `## GAPS (Q/A)` section. Banked on the compaction row as handoffQA {questions, answered, notRecorded, cost}; any failure keeps
776
+ # the plain memory. DARK (default false) — an A/B on the compaction proof task decides it (rig must be rebuilt; recipe in the 4.108.3 lines).
777
+ # [LEDGER 2026-09-13 @4.108.19] BUILT + unit-tested (compactionResume.test.ts 28, effectiveConfig-handoffQA 2); UNMEASURED. Known gap: the helper
778
+ # adapter's chunking path ignores the prompt override on oversize histories (answers degrade to "not recorded").
779
+ #CORTEX_COMPACTION_HANDOFF_QA=
780
+ #CORTEX_COMPACTION_HANDOFF_QA_MAX_QUESTIONS=
772
781
  #CORTEX_COMPACTION_CHECKPOINT_PCT=
773
782
  #CORTEX_COMPACTION_CHECKPOINT_STEP=
774
783
  # CORTEX_COMPACTION_THRESHOLD_TOKENS — TEST/OPS OVERRIDE of the compaction threshold (4.108.3). Unset (default) = the threshold is derived
@@ -816,7 +825,20 @@ CORTEX_ENDTURN_GATE=true
816
825
  # launches in ctr-optimization). R133 made Task/Browse contribute their own limit; this lever floors everything else:
817
826
  # deadline = max(computed, floor) + grace. Unset = no floor (byte-identical to before). Bench COMMON under an 8-h budget: 600000.
818
827
  # [LEDGER 2026-09-13 @4.108.10] BUILT + unit-tested (outerToolTimeout.test.ts floor table; effectiveConfig registration). Not yet in a run.
828
+ # [LEDGER 2026-09-14 @4.108.20] FIELD-VALIDATED in tb4-flash-v2 (63 tasks @600000): 0 outer-abort kills (v1 without the floor: 5).
819
829
  #CORTEX_OUTER_TOOL_TIMEOUT_MS=
830
+ # CORTEX_API_NETWORK_RETRY_MS — R150 HB-API-CONNECTION-RESILIENCE (4.108.20): wall-clock BUDGET (ms) for retrying NETWORK-CLASS API faults
831
+ # (OpenAI-SDK "Connection error.", undici "terminated"/"other side closed", ECONNRESET, 5xx) on an exponential ladder capped at 60 s per wait.
832
+ # Before: those two SDK messages were not in ErrorClassificationMiddleware's network list → not retryable → RetryMiddleware threw on attempt 1 →
833
+ # the tool loop exited → the R29a synthesis also failed → `endturn_gate_fallback abnormal-exit-bypass` shipped the turn. tb4-flash-v2: a ~2-min
834
+ # transport blip at 8:36 AM PT 09-14 ended 3 lanes at once (wdm-design at iteration 141 mid-optimization — v1 PASSED it at 409 min; uefi-bootkit
835
+ # 255; vpp-loss-divergence 8) + formal-crypto earlier; v1 had zero. Even a retryable class was 3 attempts ≈ 7 s. Default 600000 (10 min);
836
+ # 0 = legacy attempt cap. Rate limits keep their own lower cap. The bypass event now banks the error text (detail.error).
837
+ # [LEDGER 2026-09-14 @4.108.20] BUILT + unit-tested (ErrorClassificationMiddleware.test.ts R150 shapes; RetryMiddleware.test.ts budget ladder).
838
+ # Companion R149 HB-COMPACTION-IMAGE-CHARS (same release, no lever): compactionResume approxCharsOf flattens base64 image payloads to
839
+ # IMAGE_BLOCK_CHARS (6000) — the chars/4 growth term counted a 1 MB screenshot as ~250K tokens → 3 false proactive compactions in tb4-flash-v2
840
+ # (estimates 826K–969K vs API 14K–318K; every one an image-heavy session). unit-tested (compactionResume.test.ts R149).
841
+ #CORTEX_API_NETWORK_RETRY_MS=
820
842
  # 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,
821
843
  # `herdr` on PATH or HERDR_BIN) the orchestrator reports its lifecycle to herdr — `pane report-agent <pane> --source custom:nexus-cortex --agent
822
844
  # <name> --state working|idle|blocked` at turn start/end and around approval waits, `pane report-metadata … --token summary=turn:<n>|tool:<name>|
@@ -957,6 +979,20 @@ PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=
957
979
  # input through a 0600 temp file + `tmux load-buffer` / `paste-buffer -d -p` (bracketed), Enter always a separate send-keys; short input stays
958
980
  # `send-keys -l`. Fixes heredoc/`python3 -c` bodies breaking at the send-keys limit (TB4.0 rs-archive-clone "unexpected end of file"). Smoke:
959
981
  # 8733-byte heredoc byte-exact through tmux; 6 KB via herdr send-text.
982
+ # CORTEX_TMUX_AUTO_INSTALL / CORTEX_TMUX_STATIC_URL / CORTEX_TMUX_HISTORY_LIMIT / CORTEX_TMUX_PANE_SIZE — R138/R139/R141 (4.108.19), from Terminus 2's
983
+ # tmux_session.py. R138: when tmux is missing and AUTO_INSTALL != false, the first persistent-mode request tries (time-bounded 120 s each) the
984
+ # detected package manager (apt-get with expired-Release tolerance, apk, dnf, yum, brew) then a static binary from STATIC_URL into ~/.local/bin
985
+ # (no default URL = skipped), then degrades (R134); one [INFO]/[WARN]; cached per process; runs as the harness user (no sudo). R139: blocking
986
+ # persistent runs signal completion with `tmux wait-for -S <chan>` and block on the channel under a hard in-process cap (cap expiry = timedOut,
987
+ # process left running) — the 400 ms sentinel poll remains only for `wait_for` regex waits. R141: sessions are created with history-limit
988
+ # (default 50000) and a fixed pane (default 160x40); every tmux capture/read is capped at 10 KB middle-omitted; TmuxSession capture gains `lines`.
989
+ # [LEDGER 2026-09-13 @4.108.19] BUILT + unit-tested (TmuxManager 19, TerminalBackend 33, TmuxSessionToolCaptureCap 4, ShellTool 63) + tmux SMOKE
990
+ # (create 50000/160x40; wait-for rc; cap expiry timedOut with the process alive; 40 KB capture → 10 KB). Smoke caught + fixed: the tmux client
991
+ # traps SIGTERM and exits 0, which execFile's timeout reported as success — the exec now owns the timer (SIGKILL + explicit killed).
992
+ #CORTEX_TMUX_AUTO_INSTALL=
993
+ #CORTEX_TMUX_STATIC_URL=
994
+ #CORTEX_TMUX_HISTORY_LIMIT=
995
+ #CORTEX_TMUX_PANE_SIZE=
960
996
  TMUX_BIN=
961
997
  # Google Vertex AI project (only when using Vertex instead of the Gemini API)
962
998
  GOOGLE_CLOUD_PROJECT=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/cli",
3
- "version": "4.108.18",
3
+ "version": "4.108.20",
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.108.18",
22
+ "@nexus-cortex/core": "4.108.20",
23
23
  "chalk": "^4.1.2",
24
24
  "cli-spinners": "^2.9.0",
25
25
  "commander": "^11.0.0",