@nexus-cortex/cli 4.100.0 → 4.102.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 (2) hide show
  1. package/.env.defaults +53 -4
  2. package/package.json +2 -2
package/.env.defaults CHANGED
@@ -144,7 +144,9 @@ DEFAULT_MODEL_ID=deepseek-v4-flash
144
144
  # so vision only helps the explicit describeImage path TODAY. Realizing it for tool-results/compaction
145
145
  # needs a follow-up that emits image parts (HelperMiddlewareAdapter already supports `image` blocks).
146
146
  # Mentor roles override this via MENTORSHIP_HELPER_MODEL below (stay deepseek-v4-pro).
147
- HELPER_MODEL_ID=deepseek-v4-flash-vision-exp
147
+ # [LEDGER 2026-09-10 @4.102.0] deepseek-flash — DeepSeek catalog collapse: `deepseek-flash` IS V4.1 Flash (vision native, same
148
+ # price as the retired v4-flash / vision-exp names, which now route here anyway). One helper card, no alias risk.
149
+ HELPER_MODEL_ID=deepseek-flash
148
150
 
149
151
  # Model that backs WebSearch / WebFetch tools. Provider auto-detected from ID prefix.
150
152
  # When unset, auto-picks based on available API keys (Gemini > Anthropic > XAI),
@@ -296,7 +298,12 @@ MENTORSHIP_CUSTOM_KEYWORDS=
296
298
  # (apprentice) so the mentor is genuinely stronger on the task.
297
299
  # (For image/vision background tasks, deepseek-v4-flash-vision-exp is the vision-capable option.)
298
300
  # [LEDGER 2026-09-02 @4.89.0] ON=pro — NEVER a same-strength mentor: flash→flash peer = −2 engaged (m88b, confident-wrong hints lost chess+tune-mjcf); pro elder = +1 engaged (m88). For a PRO apprentice this makes pro→pro = the harmful peer config → run pro with CORTEX_MENTOR_AUTO=false.
299
- MENTORSHIP_HELPER_MODEL=deepseek-v4-pro
301
+ # [LEDGER 2026-09-10 @4.102.0] deepseek-flash @max — V4 Pro is RETIRED 2026-09-14 04:00 UTC (routes to V4.1 Flash after
302
+ # that). DeepSeek states V4.1 Flash surpasses V4 Pro; the mentor roles (lift/resolver/deadline/loop-exit, AskForAdvice) run
303
+ # at effort max regardless of card. The "never a same-strength mentor" rule (m88b: v4-FLASH peer −2 engaged) was measured
304
+ # against V4 flash; cell-m (2026-09-10) A/Bs pro@max vs deepseek-flash@max as the mentor on the loop population before
305
+ # the k=5 pins it. Operator decision 2026-09-10.
306
+ MENTORSHIP_HELPER_MODEL=deepseek-flash
300
307
 
301
308
  # [LEDGER 2026-09-02 @4.90.0] ON — the VISION HAND-OFF (operator design): text-only primaries keep the ReadImage
302
309
  # tool; the orchestrator sends the image + the caller's `prompt` to this vision card THROUGH THE HELPER MIDDLEWARE
@@ -313,7 +320,8 @@ MENTORSHIP_HELPER_MODEL=deepseek-v4-pro
313
320
  # images misread — pro chess got a wrong whole-board transcription → bad FEN → nonsense move, while flash passed via a
314
321
  # montage of individually LABELED squares (def-a3e7920cf9): grid/crop-aware prompts beat whole-image reads; a stronger
315
322
  # vision card is the next lever once available.
316
- VISION_HELPER_MODEL=deepseek-v4-flash-vision-exp
323
+ # [LEDGER 2026-09-10 @4.102.0] deepseek-flash — V4.1 Flash is multimodal; the vision-exp name is retired and routes here.
324
+ VISION_HELPER_MODEL=deepseek-flash
317
325
  # Per-turn cap on ReadImage→vision-helper hand-offs (0 = unlimited). Past the cap ReadImage returns a
318
326
  # "consolidate your reads into ONE labeled montage / change approach" reminder instead of another vision call.
319
327
  # [LEDGER 2026-09-03 @4.91.0] ON=8 — ✅ v5 CERTIFIED: flash gcode-to-text fired vis×8 then vision_handoff_capped×2 (v4 was 14 uncapped) — cap bounds the runaway (gcode still fails: it is GEOMETRIC not OCR, vision is the wrong approach there). v4 gcode-to-text: 14 (flash) / 34 (pro) slice reads burned the whole task budget without converging (def-fcb719427f); chess flash passed with 6 reads. Cap event kind: vision_handoff_capped. Measure at k=5 (gcode budget_frac, chess flips).
@@ -519,6 +527,21 @@ CORTEX_ENDTURN_RESOLVER=true
519
527
  # failure-count/loop-block coupling (grep-verified); loop-block ships dark (no-op); distiller = tooling.
520
528
  # ROLLBACK if k=5 shows a net regression or a high false-RETIRE rate.
521
529
  CORTEX_ENDTURN_RESOLVER_ABSTAIN=true
530
+ # CORTEX_JUDGE_DELTA / CORTEX_JUDGE_RUN_CHECK — HB-JUDGE-GROUNDING (2026-09-10): the done/not-done judges (EndTurn
531
+ # resolver, deadline exit planner) receive the ARTIFACT: a bounded workspace delta (files changed this task + heads),
532
+ # a FRESH environment recon at judge time (was a cached start-of-task snapshot), the LATEST tool outputs (was the
533
+ # oldest 4K), and — resolver only — the result of an evident check entry point (Makefile test / test.sh / pytest) run
534
+ # by the harness. The judge prompts already demanded an adversarial check against the task's real criteria; this
535
+ # delivers the evidence they assumed. _CHECK_TIMEOUT_MS caps the check run; _DELTA_MAX_FILES / _DELTA_HEAD_LINES bound
536
+ # the delta.
537
+ # [LEDGER 2026-09-10 @4.101.0] ON (defaults true) — cell-d-k3: resolver held 9/10 PASSING finishes, exit planner mis-called
538
+ # 3/3 real done/not-done decisions, both judging prose + a stale inventory. Efficacy = the next finishing-population cell
539
+ # (metrics: false-hold rate on passing rows, hold-driven flips, exit-planner mis-calls). =false restores the old inputs.
540
+ #CORTEX_JUDGE_DELTA=true
541
+ #CORTEX_JUDGE_RUN_CHECK=true
542
+ #CORTEX_JUDGE_CHECK_TIMEOUT_MS=45000
543
+ #CORTEX_JUDGE_DELTA_MAX_FILES=8
544
+ #CORTEX_JUDGE_DELTA_HEAD_LINES=60
522
545
  #
523
546
  # CORTEX_EMPTY_TURN_CONTINUE — the HB-ENDTURN-TERMINAL fix (operator design 2026-09-08). The EndTurn
524
547
  # gate's terminal "you stopped — write your answer, do NOT call any tools" reminder can fire on a
@@ -552,6 +575,13 @@ CORTEX_ENDTURN_RESOLVER_ABSTAIN=true
552
575
  # +cost (59 turns). Its "don't-truncate-late-win" value needs the 0.80-1.0 FINISHING population
553
576
  # specifically, not this reject-loop-heavy subset. ⇒ keep dark; re-target the k=5/next cell to the
554
577
  # high-budget_frac finishers (schemelike/make-mips/install-windows/filter-js/pytorch). Stays false.
578
+ # [LEDGER 2026-09-10 @4.99.0] DARK/RETIRED-FOR-k5 (cell-d-k3: k=3, 2×2 flash+pro × ctl/lever, 42/42 rows on the
579
+ # FINISHING population make-mips/pytorch/schemelike/filter-js (+gcode pro), STDB spine): FIRES (8/18 deadlined lever
580
+ # rows; pro 5/8) but 0 attributable flips — every fired row failed except schemelike (passes on ctl). Flash +0.17 =
581
+ # pytorch variance on rows that never fired; pro −0.11 = ctl finished make-mips LATE at 0.91 and the lever cut its twin
582
+ # off at 0.90/0.94. Fired pro rows still end at ~1.0 budget (the mentor exit eats ~10%; 1 AgentTimeoutError). Only win:
583
+ # pro tokens −24%. ⇒ stays false; not in the TB2.1 k=5 COMMON. Re-open only with a cheaper exit + ≥0.95 / progress-aware
584
+ # trigger. Ledger omniclaude-v4/.cortex/bench/r-cell-d-k3-2026-09-10.md.
555
585
  #CORTEX_DEADLINE_EXIT_MENTOR=false
556
586
  #CORTEX_DEADLINE_EXIT_MENTOR_EFFORT=max
557
587
  #CORTEX_DEADLINE_EXIT_MENTOR_BUDGET_TOKENS=2000
@@ -623,6 +653,13 @@ CORTEX_ENDTURN_GATE=true
623
653
  # [LEDGER 2026-09-03 @4.91.0] DARK/PENDING → `strict` RECOMMENDED for k=5 with the gate. 4.91.0: verified_how also grounds on a Bash command that RAN this turn (12-char windows) so the recommended `$ cmd → output` form passes; Stage-1 reminder names `requirements`. v4 cell (n=1): strict rejects fired heavily (flash gate_req=22, pro=17), 0 control regressions. 🔴 4.90.0 strict CRASHED on EndTurn({}) (null.filter ×4, flash/dna-insert) and rejected 11 honest condensations as paraphrases (protein-assembly) → 4.90.1: null-guarded; verbatim = 24-char window OR ≥70% content tokens; nudge shows a pasted-output example. Needs GATE.
624
654
  # [LEDGER 2026-09-06 @4.93.0] ON=true (reson standard baseline — NOT strict). resolver-k5 ran REQUIREMENTS=true (verified in effective_config), not strict — that is the proven reson baseline; the earlier "strict recommended" is superseded by the actual reson config. Requires GATE=on.
625
655
  CORTEX_ENDTURN_REQUIREMENTS=true
656
+ # CORTEX_ENDTURN_CITATION_LINEWISE — Stage-2 citation grounding matches multi-line quotes LINE-WISE (every non-trivial
657
+ # line verbatim in the corpus; contiguity not required) and the corpus includes Bash-authored text + the task statement.
658
+ # [LEDGER 2026-09-10 @4.100.0] ON (default true) — cell-d-k3 audit of 84 rejected citations: 47% real lines stitched from
659
+ # several outputs (rejected as a block), 44% genuine fabrication (still rejected line-wise), 5% Bash-heredoc/task-statement
660
+ # text (corpus gap), 2% normalization. Replay rescues ~60/84; 0 invented lines pass. =false restores whole-block matching.
661
+ # Standing metric: endturn_rejections/session (k3 baseline 42/107 calls, 21/26 sessions).
662
+ #CORTEX_ENDTURN_CITATION_LINEWISE=true
626
663
 
627
664
  # ============================================
628
665
  # DECISION STORE (prior-recall + recording)
@@ -933,7 +970,10 @@ CORTEX_SLICE_NUDGE=true
933
970
  # cache-safe), bounded to CORTEX_SLICE_BLOCK_MAX/file; append-mostly logs (re-tailing) are EXEMPT. Banks slice_block.
934
971
  # [LEDGER 2026-09-09 @unreleased] DARK/PENDING — built + 11 unit tests green; A/B on the slice-heavy source pop
935
972
  # (gcode/make-doom/dna-*/fix-ocaml-gc/build-pmars/make-mips) owed. Spec: docs/HB-SLICE-BLOCK-SPEC.md.
936
- #CORTEX_SLICE_BLOCK=
973
+ # [LEDGER 2026-09-10 @4.101.0] ON (default true) — cell-d-k3: the soft nudge fired 23× on 17/42 rows and was IGNORED (61 more
974
+ # bash slices vs 5 Reads after it; 3 files switched, 15 kept slicing). The block is the escalation the nudge was designed
975
+ # to hand off to; append-log exemption + MAX=2/file bound the false-positive risk. =false → nudge only.
976
+ #CORTEX_SLICE_BLOCK=true
937
977
  #CORTEX_SLICE_BLOCK_AT=5
938
978
  #CORTEX_SLICE_BLOCK_MAX=2
939
979
  # Orient bootstrap directive: when a bare box lacks the language/compiler/library the task needs, orient prints one
@@ -947,6 +987,15 @@ CORTEX_ORIENT_BOOTSTRAP=1
947
987
  #NEARDUP_WINDOW=30
948
988
  # [LEDGER 2026-09-02 @4.89.0] code default 12 (4.88.0) — 8 misfired on persistence-wins grinds (rstan-to-pystan regressed both arms).
949
989
  #NEARDUP_NUDGE_AT=12
990
+ # NEARDUP_SIM_AT / NEARDUP_SIM — HB-LOOP-NEARDUP (2026-09-10): a SIMILARITY near-dup lens for EXECUTING tools
991
+ # (Bash/Write/Edit; slice-reads excluded): bigram-Dice ≥ NEARDUP_SIM over the last NEARDUP_WINDOW executing calls;
992
+ # diversify at NEARDUP_SIM_AT, break at 2×. This is what arms CORTEX_LOOP_TOOL_BLOCK on real loops.
993
+ # [LEDGER 2026-09-10 @4.101.0] ON with the breaker — replay of 47 real sessions (cell-l loops + cell-d-k3): the hash
994
+ # lens peaked at 7-in-30 on every genuine loop (12 unreachable; top hits were paging Reads) → cell-l fired 0×. Similarity
995
+ # ≥0.9 on executing tools: every real loop crossed 7 (dna-assembly 7/7, gcode python -c 18); no PASSING session did
996
+ # (max 6). Also fixes the masking bug (a failure-ladder remind hid a near-dup diversify).
997
+ #NEARDUP_SIM_AT=7
998
+ #NEARDUP_SIM=0.9
950
999
 
951
1000
  # CORTEX_LOOP_TOOL_BLOCK — hard loop intervention (operator design 2026-09-07). On a ladder-detected
952
1001
  # non-converging loop (diversify/break), disables the LOOPING TOOL'S EXECUTOR for one turn (cache-safe:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/cli",
3
- "version": "4.100.0",
3
+ "version": "4.102.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.100.0",
22
+ "@nexus-cortex/core": "4.102.0",
23
23
  "chalk": "^4.1.2",
24
24
  "cli-spinners": "^2.9.0",
25
25
  "commander": "^11.0.0",