@nexus-cortex/cli 4.90.0 → 4.90.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.
Files changed (2) hide show
  1. package/.env.example +20 -8
  2. package/package.json +2 -2
package/.env.example CHANGED
@@ -4,7 +4,11 @@
4
4
  # ║ stands. Each lever carries a "# [LEDGER <date> @<version>] STATUS — evidence" ║
5
5
  # ║ line (ON | DARK/RETIRED | DARK/PENDING | DARK by design). Update the line when a ║
6
6
  # ║ cell moves the verdict and when each iteration ships. Cell ledgers live in ║
7
- # ║ .cortex/bench/r-*.md; the k=5 candidate = ON set + the DARK/PENDING trio. ║
7
+ # ║ .cortex/bench/r-*.md. K=5 CONFIG (settled 2026-09-03 @4.90.1, r-v4-validation): ║
8
+ # ║ ON set + CORTEX_ENDTURN_GATE=true + CORTEX_ENDTURN_REQUIREMENTS=strict + ║
9
+ # ║ ENABLE_WEBTOOLS=false (bench pin) + VISION_HELPER_MODEL on + TOOL_TIMEOUT_MODE=auto; ║
10
+ # ║ MENTOR_AUTO / EFFORT_TAIL / EFFORT_PULSE dark. Pin nexus-cortex@4.90.1 (4.90.0's ║
11
+ # ║ timeout-promote was inert). Both models. ║
8
12
  # ╚══════════════════════════════════════════════════════════════════════════════════╝
9
13
  # Copy to .env and fill in the API keys for the providers you use. Every other value
10
14
  # has a proven-optimal default.
@@ -152,7 +156,7 @@ WEB_TOOLS_MODEL=gemini-2.5-flash
152
156
  # {{toolNames}} prompt vars) AND refused at dispatch.
153
157
  # 🔴 Bench arms must PIN true/false explicitly: keyed bench containers carry job tokens for every
154
158
  # provider, so auto resolves ON there. Hot-toggleable.
155
- # [LEDGER 2026-09-02 @4.89.0] ON=auto (NEW 4.89.0) — keyless A/B 08-31: wall pages + hallucination pressure; benches paid 3 taxes (pulse trigger fed by failing browse/WebFetch, Stage-5 unattested-web rejections, wasted turns). BENCH ARMS PIN false (keyed containers carry every provider token → auto=ON); c3 pinned false: 0 refusals, clean. Live: keyless 49 tools/WebFetch only; keyed 51/all; false 48/none.
159
+ # [LEDGER 2026-09-03 @4.90.1] ON=auto (since 4.89.0) — v4 (bench pin false): 0 web refusals in either arm = the deny-list is clean and silent. — keyless A/B 08-31: wall pages + hallucination pressure; benches paid 3 taxes (pulse trigger fed by failing browse/WebFetch, Stage-5 unattested-web rejections, wasted turns). BENCH ARMS PIN false (keyed containers carry every provider token → auto=ON); c3 pinned false: 0 refusals, clean. Live: keyless 49 tools/WebFetch only; keyed 51/all; false 48/none.
156
160
  ENABLE_WEBTOOLS=auto
157
161
 
158
162
  # ============================================
@@ -256,8 +260,16 @@ MENTORSHIP_HELPER_MODEL=deepseek-v4-pro
256
260
  # and returns TEXT (the primary never receives image bytes — item 7's safety intent holds). Evidence: in EVERY
257
261
  # image task of the c3/p3 cells (chess-best-move ×2, gcode-to-text, code-from-image ×2) the text model SEARCHED
258
262
  # for an image tool by name, found none, and hand-built tesseract/PIL pipelines that ate the budget. Same DeepSeek
259
- # key. Set false to restrict ReadImage to vision-capable primaries. LIVE 09-02: flash transcribed a test PNG
260
- # exactly (3 lines, 1 iteration) through the helper; bench cell on chess/gcode/code-from-image pending.
263
+ # key. Set false to restrict ReadImage to vision-capable primaries.
264
+ # [LEDGER 2026-09-03 @4.90.1] ON — VALIDATED on the real bench (r-v4-validation-2026-09-03, n=1): fired HEAVILY
265
+ # (flash 25 / pro 45 vision_handoff events) and drove flips — flash chess-best-move PASS (ReadImage×6, first flash-family
266
+ # chess pass ever), pro dna-insert PASS (vis×6, p3-without-vision failed it), code-from-image PASS both models. Headline
267
+ # k=5 lever. POST-RUN FINDINGS (audit of the 9 fails): (a) NO per-turn hand-off budget — gcode-to-text burned its whole
268
+ # task budget on self-rendered slice reads (flash 14 / pro 34 ReadImage calls, never converged) → planned lever
269
+ # VISION_HANDOFF_MAX (~8/turn) + a "consolidate into ONE labeled montage" reminder (def-fcb719427f); (b) structured
270
+ # images misread — pro chess got a wrong whole-board transcription → bad FEN → nonsense move, while flash passed via a
271
+ # montage of individually LABELED squares (def-a3e7920cf9): grid/crop-aware prompts beat whole-image reads; a stronger
272
+ # vision card is the next lever once available.
261
273
  VISION_HELPER_MODEL=deepseek-v4-flash-vision-exp
262
274
  # Periodic mentorship review every N turns
263
275
  MENTORSHIP_TURN_BASED_ENABLED=false
@@ -330,9 +342,9 @@ TOOL_BUDGET_SOFT=400
330
342
  # Per-tool execution timeout in milliseconds (2 minutes). With TOOL_TIMEOUT_MODE=auto this is the
331
343
  # PROMOTE threshold in headless sessions (the command keeps running in the background), the KILL
332
344
  # deadline in interactive ones.
333
- # [LEDGER 2026-09-02 @4.90.0] ON=120000 — p3 timeout audit (r-p3): the 120s kill fired 42× across 14 task-runs and RESCUED NONE (train-fasttext busy-wait driver, long builds); every p3 timeout was Harbor's budget, not ours. Kept at 120s because TOOL_TIMEOUT_MODE=auto now promotes instead of kills in headless (item 8); v4 cell measures tool_promoted events.
345
+ # [LEDGER 2026-09-02 @4.90.0] ON=120000 — p3 timeout audit (r-p3): the 120s kill fired 42× across 14 task-runs and RESCUED NONE (train-fasttext busy-wait driver, long builds); every p3 timeout was Harbor's budget, not ours. Kept at 120s because TOOL_TIMEOUT_MODE=auto promotes instead of kills in headless (item 8). v4 audit: pro/train-fasttext = the busy-wait driver again (249 bash, 22 cancels) and 4.90.0's promote was INERT (outer-abort race, fixed 4.90.1) → train-fasttext is the 4.90.1 re-test task.
334
346
  TOOL_TIMEOUT_MS=120000
335
- # [LEDGER 2026-09-02 @4.90.0] ON=auto (NEW) — PROMOTE-AT-DEADLINE: when a Bash call exceeds TOOL_TIMEOUT_MS in a
347
+ # [LEDGER 2026-09-03 @4.90.1] ON=auto — 🔴 4.90.0 was INERT: the orchestrator's outer abort raced ShellTool's deadline and always won (v4 pro/train-fasttext: 22 cancelled, 0 promoted). 4.90.1: outer cap = TOOL_TIMEOUT_MS+30s, ShellTool default follows TOOL_TIMEOUT_MS; LIVE-VERIFIED (5s deadline, 9s command → tool_promoted event, model read the background output). Re-test task: train-fasttext. PROMOTE-AT-DEADLINE: when a Bash call exceeds TOOL_TIMEOUT_MS in a
336
348
  # headless/auto-approve session, the still-running command is moved to a background shell (bash_id) and the tool
337
349
  # returns the output so far instead of killing it; interactive sessions keep the kill. Evidence (c3/p3 trajectories):
338
350
  # the 120s kill fired 42x across 14 task-runs (19 legitimate scripts, 12 wait loops, 5 builds/trainings) and rescued
@@ -435,7 +447,7 @@ ROUTER_MIN_SAMPLES=3
435
447
 
436
448
  # Mandatory EndTurn pre-delivery self-audit + Stage 2/3 verifiers. Default OFF; ON =
437
449
  # graded cortex-channel training records (the tool is hidden when off).
438
- # [LEDGER 2026-09-02 @4.89.0] DARK/PENDING → **RECOMMENDED ON for k=5** — 3 cells: 4.71 fp 11→1 · fd +2/5 · c3 (n=2, r-c3-candidate-config) code-from-image FLIP 2/2 (first flash-family pass ever; Stage-4 requirement rejections, no mentor) + dna-insert 1/2; 0 clean regressions outside its LIMIT (accepts a re-attested wrong artifact: pytorch-model-cli r2, dna-insert fd). Cost: attestation turns. Operator decision pending. PRO (r-p3, n=1): controls 3/3 held with NO attestation tax (bn-fit 53→30 turns), 0 regressions, 0 paralysis; 0/13 flips on pro's hard core (budget timeouts while working). → k=5 config for BOTH models: guards + GATE+REQ + ENABLE_WEBTOOLS=false, mentor/tail off.
450
+ # [LEDGER 2026-09-03 @4.90.2] DARK/PENDING → **RECOMMENDED ON for k=5 (with REQUIREMENTS=strict)** — COST (v4 pass mining + doctrine-mine): every pass paid 4-8 EndTurn round-trips, the biggest share = Stage-2 CITATION rejects (17/43 doctrine findings; the model never re-ran a command for a fresh verbatim line) → 4.90.2 nudge teaches per-turn grounding + re-run; expect controls' +25-35% turn tax to drop — measure at k=5. — v4 (n=1, @4.90.0): gate engaged heavily under strict (flash gate_req=22/cite=13, pro 17/4), controls bn-fit+sqlite held on BOTH models, pro flips vs p3: dna-insert, pytorch-model-cli, cancel-async (n=1 candidates). Prior 3 cells: 4.71 fp 11→1 · fd +2/5 · c3 (n=2, r-c3-candidate-config) code-from-image FLIP 2/2 (first flash-family pass ever; Stage-4 requirement rejections, no mentor) + dna-insert 1/2; 0 clean regressions outside its LIMIT (accepts a re-attested wrong artifact: pytorch-model-cli r2, dna-insert fd). Cost: attestation turns. Operator decision pending. PRO (r-p3, n=1): controls 3/3 held with NO attestation tax (bn-fit 53→30 turns), 0 regressions, 0 paralysis; 0/13 flips on pro's hard core (budget timeouts while working). → k=5 config for BOTH models: guards + GATE+REQ + ENABLE_WEBTOOLS=false, mentor/tail off.
439
451
  CORTEX_ENDTURN_GATE=false
440
452
  # Stage 4 (4.70.0, requires the gate ON): task-requirements attestation —
441
453
  # enumerate each stated requirement with what satisfies it + how it was
@@ -446,7 +458,7 @@ CORTEX_ENDTURN_GATE=false
446
458
  # (a claim with no matching tool output is rejected). Motivation: 4 pro fails
447
459
  # (cancel-async-tasks, dna-assembly, dna-insert, pytorch-model-cli) were 85-95% complete with
448
460
  # TRUE attestations verified against the model's own tests, not the task's exact constraints.
449
- # [LEDGER 2026-09-02 @4.90.0] DARK/PENDING → `true` recommended ON with the gate (c3: code-from-image flip ×2; p3: safe on pro, 0 tax); `strict` = v4 validation cell (fresh, unmeasured). Needs GATE.
461
+ # [LEDGER 2026-09-03 @4.90.1] DARK/PENDING → `strict` RECOMMENDED for k=5 with the gate. 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.
450
462
  #CORTEX_ENDTURN_REQUIREMENTS=false
451
463
 
452
464
  # ============================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/cli",
3
- "version": "4.90.0",
3
+ "version": "4.90.2",
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.90.0",
22
+ "@nexus-cortex/core": "4.90.2",
23
23
  "chalk": "^4.1.2",
24
24
  "cli-spinners": "^2.9.0",
25
25
  "commander": "^11.0.0",