@nexus-cortex/cli 4.124.42 → 4.124.44

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 +110 -0
  2. package/package.json +2 -2
package/.env.defaults CHANGED
@@ -147,6 +147,18 @@ DEFAULT_MODEL_ID=deepseek-flash
147
147
  # [LEDGER 2026-09-10 @4.102.0] deepseek-flash — DeepSeek catalog collapse: `deepseek-flash` IS V4.1 Flash (vision native, same
148
148
  # price as the retired v4-flash / vision-exp names, which now route here anyway). One helper card, no alias risk.
149
149
  HELPER_MODEL_ID=deepseek-flash
150
+ # CORTEX_HELPER_MATCH_PROVIDER — R217 (4.124.44, 2026-10-02). HELPER_MODEL_ID and MENTORSHIP_HELPER_MODEL both default to deepseek-flash, so
151
+ # every action model got DeepSeek as its judge / planner / mentor / wall-summarizer / title writer. on = when a role model is NOT explicitly
152
+ # set, it resolves from the ACTION model's provider via the selectHelperModel map (anthropic→claude-haiku-4-5, openai→gpt-4.1-mini,
153
+ # google→gemini-2.5-flash-lite, xai→grok-4.3, deepseek→deepseek-flash; unmapped providers keep deepseek-flash). Explicit settings always
154
+ # win. "Explicit" is decided by VALUE (.env.defaults loads into process.env, so presence cannot tell): a value equal to the shipped
155
+ # default (deepseek-flash) counts as defaulted — to pin deepseek-flash for a non-DeepSeek action model, leave this off. Routed: every
156
+ # HelperModelMiddleware helper/mentor call (generateGuidance = all mentor surfaces + web summary + wall summary + error guidance; doctrine
157
+ # curation; session title; turn summary/prediction; frame-candidate author). Not routed: compaction / context rejection (already
158
+ # provider-mapped), vision hand-off (VISION_HELPER_MODEL), sub-agent model, orchestrator-side labels. off/unset (default) = byte-identical.
159
+ # [LEDGER 2026-10-02 @4.124.44] DARK — BUILT + unit-tested (helperProviderMatch.test.ts: explicit wins, provider matrix, live model switch,
160
+ # off unchanged). NO bench arm yet. evidence: transport map 10-02 (R217).
161
+ #CORTEX_HELPER_MATCH_PROVIDER=
150
162
 
151
163
  # Model that backs WebSearch / WebFetch tools. Provider auto-detected from ID prefix.
152
164
  # When unset, auto-picks based on available API keys (Gemini > Anthropic > XAI),
@@ -601,6 +613,31 @@ CORTEX_LIFT_PLAN=true
601
613
  #CORTEX_LIFT_PLAN_TIMEOUT_MS=90000
602
614
  #CORTEX_LIFT_PLAN_INTERACTIVE=false
603
615
  #CORTEX_LIFT_PLAN_RECON_TIMEOUT_MS=8000
616
+ # CORTEX_INTERACTIVE_PROFILE — R219 HB-INTERACTIVE-PROFILE (DARK, 2026-10-02). The headless levers behind the TB4.0 gains live only in
617
+ # the bench cell env, so an interactive TUI (neoncortex / fuzzycortex / `cortex` on a terminal) runs without every DARK one. A named
618
+ # profile, resolved in ONE place (packages/core/src/config/interactiveProfile.ts, applied by bootstrapEnv), turns a curated set on for
619
+ # INTERACTIVE sessions only (stdin AND stdout are TTYs — the orchestrator's own test) and only for levers you did not set: it sits
620
+ # ABOVE this shipped file and BELOW the real env, ./.env, <pkg>/.env and ~/.cortex/.env (.env.local still overrides). Filled keys are
621
+ # recorded in CORTEX_INTERACTIVE_PROFILE_APPLIED (harness-set) and show source `profile` in GET /health/config. Applied at launch.
622
+ # off (default; unset = byte-identical) | bench-lite =
623
+ # CORTEX_LOOP_TOOL_BLOCK=true CORTEX_EMPTY_TURN_CONTINUE=true CORTEX_WALL_DROP=on CORTEX_WALL_SUMMARY=on
624
+ # CORTEX_REASONING_EXHAUST_BACKOFF=false CORTEX_STEER_INPUTS=full CORTEX_ORIENT_V2=1
625
+ # (failure-path-only or steering-input levers: no deadline assumption, no task-tree writes, no new pause before the first action).
626
+ # Already ON for every session via this file (not the profile's job): ENDTURN_GATE/REQUIREMENTS/RESOLVER(+ABSTAIN), ORIENT_BOOTSTRAP,
627
+ # SLICE_NUDGE, MENTORSHIP_ENABLED; ENDTURN_TIER=essential and LIFT_PLAN_DOCTRINE=v1 are code defaults.
628
+ # NOT in bench-lite — NEEDS-ADAPTATION (follow-ups): the lift plan in interactive sessions (CORTEX_LIFT_PLAN_INTERACTIVE stays the only
629
+ # opener: silent 30-110 s mentor call after the first tool result with no planning-status event to the TUIs, one-shot per orchestrator
630
+ # so only the first request of a chat is planned, grader-oriented persona); LIFT_PLAN_SCOPE (repair-task edit scope); INVENTORY (whole-tree
631
+ # walk through execSync blocks the TUI event loop); TURN_STATUS (deadline clock; auto is a no-op without a deadline); VERIFY_SCALE and
632
+ # RULE_INPUTS/INTERP/HOLDOUT/INDEP (more EndTurn-judge vetoes against a human who wants to stop); ACTION_EFFORT (the TUIs have their own
633
+ # effort selector). BENCH-ONLY: WORKSPACE_CLEAN (moves project memory out of the project), ORIENT_BASELINE (repair-task revert baseline),
634
+ # PID1_GUARD (container PID 1 assumption), PLATEAU_STOP (optimisation-task measurement).
635
+ # [LEDGER 2026-10-02 @4.124.44] DARK — BUILT + unit-tested (interactiveProfile.test.ts 16/16: name resolution, interactive vs headless,
636
+ # explicit env wins, off byte-identical, bootstrapEnv layering, effective-config `profile` source, lift-plan gate; interactiveLiftPlanGate
637
+ # .integration.test.ts 6/6 both loops: headless plans, interactive + bench-lite does not, explicit CORTEX_LIFT_PLAN_INTERACTIVE=true
638
+ # plans). NO interactive field read yet. evidence: R219.
639
+ #CORTEX_INTERACTIVE_PROFILE=
640
+ #CORTEX_INTERACTIVE_PROFILE_APPLIED=
604
641
  # CORTEX_ENDTURN_RESOLVER — the finish-side twin of the lift planner: AFTER the mechanical EndTurn gate
605
642
  # accepts, a bounded max-reasoning mentor adjudicates "does the work product meet the task's real
606
643
  # requirements?" MEETS finishes; GAP vetoes with a fix plan (the narrow-door model executes it instead of
@@ -1025,6 +1062,10 @@ CORTEX_ENDTURN_GATE=true
1025
1062
  # [LEDGER 2026-10-02 @4.124.42] wording fix after review: instruction limited to continuous objectives (never pass/fail or test counts); reminder adds 'if the task's required checks are not yet passing, this is not a stop signal — keep fixing them' (a flat test-count series would otherwise have pushed an early finish).
1026
1063
  # noisy-line parsing, firing cap, lever-off path, STATUS segment; plateauStop.integration.test.ts: both loops, off = no instruction/
1027
1064
  # reminder/segment, on = instruction + 2 reminders + PLATEAU segment). NO bench arm yet. evidence: R210 v39a layout-config-recreation2 (483 iterations, 5.3 h).
1065
+ # [LEDGER 2026-10-02 @4.124.43] DARK — BUILT + unit-tested: new mode `status` = boot instruction + metric tracking + STATUS score segment ONLY
1066
+ # (segment without the ` — PLATEAU` label); the detector runs on the same cadence (same cap/spacing) but steers NO reminder — each would-be
1067
+ # firing is banked as plateau_detected {name, dir, best, improvementPct, points, firing, iteration, streaming} so a run measures when `on`
1068
+ # would have fired. on / off unchanged (plateauStop.test.ts mode cases). NO bench arm yet. Values: off | on | status.
1028
1069
  #CORTEX_PLATEAU_STOP=
1029
1070
  # [LEDGER 2026-10-02 @4.124.41] DARK — default 0.002 (0.2%) relative; untested on a bench. evidence: R210 v39a layout (840,636 → 851,547 over 5.3 h; per-window gains not yet measured).
1030
1071
  #CORTEX_PLATEAU_REL=
@@ -1136,6 +1177,31 @@ CORTEX_ENDTURN_GATE=true
1136
1177
  # endturn_resolver gains {verifyScale}. Needs CORTEX_ENDTURN_RESOLVER=true.
1137
1178
  # [LEDGER 2026-10-01 @4.124.40] DARK — BUILT + unit-tested (endTurnResolver.test.ts R208 cases). NO bench arm yet.
1138
1179
  #CORTEX_VERIFY_SCALE=
1180
+ # CORTEX_RULE_INPUTS / CORTEX_RULE_INTERP / CORTEX_RULE_HOLDOUT / CORTEX_RULE_INDEP — R211–R214 HB-TASK-RULES (DARK, 2026-10-02). TB4.0
1181
+ # requirement-miss pass over the 16 never-passed tasks that fail ONE identical hidden test every run: an input field ignored or a given
1182
+ # constant altered to make the problem feasible; an ambiguous convention settled by heuristic while the right alternative sat in the
1183
+ # agent's own caveats; passing the visible sample / own oracle while hidden variants fail; producer = verifier with measured discrepancies
1184
+ # left unreconciled. Four general rules, each its own flag (off | on) so they can be A/B'd, each with TWO carriers (training/taskRules.ts):
1185
+ # A planner — one doctrine bullet per active rule in the lift-plan persona (plannerSystem; one combined block just before the output
1186
+ # instruction, after the CORTEX_LIFT_PLAN_SCOPE bullet), so the plan carries the step; B judge — one rubric clause per active rule appended to
1187
+ # the EndTurn judge persona after the R208 scale item (resolverSystemPrompt): evidence that does not establish the rule is a GAP with a
1188
+ # concrete CHECK. All off → both personas byte-identical. The rules only ask for MORE verification. Events: task_rule_plan {rules,
1189
+ # blockChars, planChars, retire} once per session when the delivered plan was written under them; task_rule_judge {surface, rules,
1190
+ # clauseChars, roundsUsed, meets, parsed, confidence} per adjudication; endturn_resolver gains {taskRules}. Carrier A needs
1191
+ # CORTEX_LIFT_PLAN on; carrier B needs CORTEX_ENDTURN_RESOLVER=true.
1192
+ # R211 INPUTS = L1 input-coverage audit: every field/column/parameter of the provided inputs accounted for; given constants never changed.
1193
+ # [LEDGER 2026-10-02 @4.124.43] DARK — BUILT + unit-tested (taskRules.test.ts: off = byte-identical planner + judge personas). NO bench arm yet. evidence: tb4-never-passed-2026-10-02 (cargo-flight-dispatch, data-anonymization, live-database-cutover).
1194
+ #CORTEX_RULE_INPUTS=
1195
+ # R212 INTERP = L2 interpretation enumeration: named alternatives each computed; keep the one consistent with every explicit hint and all data.
1196
+ # [LEDGER 2026-10-02 @4.124.43] DARK — BUILT + unit-tested (taskRules.test.ts). NO bench arm yet. evidence: tb4-never-passed-2026-10-02 (foodstuff-beta-activity, glycan-ms2-elucidation, hof-topology-interpenetration, ontology-kg-querying).
1197
+ #CORTEX_RULE_INTERP=
1198
+ # R213 HOLDOUT = L3 held-out / variant validation: when hidden inputs or generalisation are implied, validate beyond the visible sample.
1199
+ # [LEDGER 2026-10-02 @4.124.43] DARK — BUILT + unit-tested (taskRules.test.ts). NO bench arm yet. evidence: tb4-never-passed-2026-10-02 (bun-sourcemap-leak, sound-change-cascade, session-window-debug).
1200
+ #CORTEX_RULE_HOLDOUT=
1201
+ # R214 INDEP = L4 independent verifier: final check must not reuse the producing logic; unreconciled measured discrepancy blocks the finish;
1202
+ # run the task's own verification commands/limits.
1203
+ # [LEDGER 2026-10-02 @4.124.43] DARK — BUILT + unit-tested (taskRules.test.ts). NO bench arm yet. evidence: tb4-never-passed-2026-10-02 (layout-config-recreation, retro-console-soc, satb-audio-transcription).
1204
+ #CORTEX_RULE_INDEP=
1139
1205
  # CORTEX_TURN_CONTRACT — HB-TURN-CONTRACT (4.115.0, 2026-09-17; Terminus-2 disparity "suppress vs channel"). The boot-minimal door SUPPRESSES
1140
1206
  # deliberation ("Prefer acting over deliberating"; tuned at effort low). At effort high the model fought it: tb4-flash-v3 had 58 turns in
1141
1207
  # 23 sessions reason to the 65536 cap and emit nothing (R153). Terminus 2 CHANNELS deliberation: think freely, then every response must
@@ -1147,6 +1213,16 @@ CORTEX_ENDTURN_GATE=true
1147
1213
  # reasoning counts inside max_tokens and starves the answer) — both harnesses hit the same wall; this lever changes the RECOVERY and the FRAME.
1148
1214
  # [LEDGER 2026-09-17 @4.115.0] BUILT + unit-tested (turnContract.test.ts). Field: PENDING (tb4 pilot-12, channel arm at effort max).
1149
1215
  #CORTEX_TURN_CONTRACT=
1216
+ # CORTEX_FAMILY_PRESETS — R217 (4.124.44, 2026-10-02). promptPreset 'boot-minimal' is set ONLY on the 5 DeepSeek cards, and it is the only
1217
+ # prompt that points the model at the `.cortex/orient` script — Claude/GPT/Grok/Gemini got the full corpus and never the orient pointer, so
1218
+ # the ORIENT_* / baseline levers were unreachable for them. on = a card WITHOUT its own promptPreset gets its family preset; today ONE
1219
+ # generic preset for every family, 'boot-minimal-generic' = the boot-minimal text minus the DeepSeek-tuned "Prefer acting over
1220
+ # deliberating." clause (tuned at DeepSeek effort low; fought at high effort, R153), same minimal mass, same orient pointer, same
1221
+ # delegation-hint / turn-contract levers. DeepSeek cards unchanged; env CORTEX_PROMPT_MASS / CORTEX_SYSTEM_PROMPT_FILE still win.
1222
+ # off/unset (default) = byte-identical (non-DeepSeek cards keep the full corpus).
1223
+ # [LEDGER 2026-10-02 @4.124.44] DARK — BUILT + unit-tested (familyPresets.test.ts: per-family selection on/off, DeepSeek identical on/off,
1224
+ # off byte-identical). NO bench arm yet. evidence: transport map 10-02 (R217).
1225
+ #CORTEX_FAMILY_PRESETS=
1150
1226
  # CORTEX_FINISH_CONFIRM / CORTEX_FINISH_CONFIRM_MIN_REMAINING / CORTEX_FINISH_CONFIRM_MAX — R167 HB-FINISH-CONFIRM (4.116.0, 2026-09-17,
1151
1227
  # pilot-12 hand-curation). The early-finish class is the whole game on the confident-wrong tail: 8/12 first finish attempts per arm
1152
1228
  # had >= 70% of the wall budget left (Terminus 2 too: 8/12 confident-wrong finishes in 15–105 min, its bare "are you sure" changed
@@ -1724,6 +1800,40 @@ MENTORSHIP_ACTIVE_DISCOVERY=false
1724
1800
  # Set to false to opt out (restores the pre-R63 promptless behavior).
1725
1801
  #CORTEX_DELIVER_SYSTEM_PROMPT=false
1726
1802
 
1803
+ # CORTEX_RESPONSES_INLINE_REMINDERS — R215 HB-RESPONSES-REMINDERS (DARK, 2026-10-02). The Responses path cut every
1804
+ # `<system-reminder>` block out of the conversation and merged it into `instructions`; xAI Responses never receives
1805
+ # `instructions` → those reminders were DROPPED there, and on OpenAI they lost their place after the tool output. Levers
1806
+ # delivered this way: lift plan, requirement ledger, PID1 note, plateau instruction, lift nudge, deferred-corpus header.
1807
+ # on: reminders stay IN PLACE as user input_text items (tags unchanged); a user item the adapter emitted before its
1808
+ # function_call_output items is moved after them (tool output first, then the text). `instructions` then carries only
1809
+ # the R63 static system prompt (xAI: system-role item at chain start, unchanged). OpenAI + xAI Responses. off: unchanged.
1810
+ # [LEDGER 2026-10-02 @4.124.44] DARK — BUILT + unit-tested (transportFixes.test.ts: OpenAI/xAI/streaming request shapes,
1811
+ # off = byte-identical). Live probe: DeepSeek /responses accepted function_call → function_call_output → user reminder
1812
+ # item (200, model obeyed the reminder). NO bench arm. evidence: transport map 10-02 (R215/R216/R218).
1813
+ #CORTEX_RESPONSES_INLINE_REMINDERS=
1814
+ # CORTEX_RESPONSES_STOP_REASON — R216 HB-RESPONSES-STOPREASON (DARK, 2026-10-02). extractStopReason returned undefined for
1815
+ # the responses and hf-space patterns, so a max-output-tokens cutoff was never classified `truncated` and the wall levers
1816
+ # (CORTEX_WALL_DROP / CORTEX_WALL_SUMMARY / CORTEX_REASONING_EXHAUST_BACKOFF) and the truncated-continue nudge never fired
1817
+ # there. on: Responses status 'incomplete' + incomplete_details.reason 'max_output_tokens' → 'max_output_tokens' (other
1818
+ # incomplete reasons passed through; else the status, e.g. 'completed'); the streaming finalMessage carries the terminal
1819
+ # event's status + incomplete_details; hf-space → its finish_reason (synthesized 'stop' / 'tool_calls' — the Space exposes
1820
+ # no truncation signal, so hf-space truncation stays invisible). off: unchanged.
1821
+ # [LEDGER 2026-10-02 @4.124.44] DARK — BUILT + unit-tested (transportFixes.test.ts: live shapes → classifier truncated +
1822
+ # reasoning exhaustion; streaming response.incomplete). Live probe: DeepSeek /responses max_output_tokens 8 → status
1823
+ # incomplete, incomplete_details {reason: max_output_tokens}, same in the streaming response.incomplete event.
1824
+ # evidence: transport map 10-02 (R215/R216/R218).
1825
+ #CORTEX_RESPONSES_STOP_REASON=
1826
+ # CORTEX_ANTHROPIC_HISTORY_CACHE — R218 HB-ANTHROPIC-CACHE (DARK, 2026-10-02). Anthropic Messages requests set cache_control
1827
+ # only on the system prompt and the last tool, so the conversation history was never cached on Claude. on (and
1828
+ # ANTHROPIC_PROMPT_CACHING not false): rolling message breakpoints on the last markable block (not thinking, not empty
1829
+ # text) of the previous user message (stable prefix) and the newest user message, within Anthropic's 4-breakpoint cap
1830
+ # (system + tool + existing markers counted; one free slot → the stable prefix only). Anthropic provider only — the xAI
1831
+ # Messages branch is untouched. off: unchanged.
1832
+ # [LEDGER 2026-10-02 @4.124.44] DARK — BUILT + unit-tested (transportFixes.test.ts: placement, cap <= 4, no mutation,
1833
+ # send + stream, xAI untouched). Live probe: DeepSeek /anthropic accepted message-level cache_control (200, cache
1834
+ # fields 0 — it ignores it). No live Claude probe. evidence: transport map 10-02 (R215/R216/R218).
1835
+ #CORTEX_ANTHROPIC_HISTORY_CACHE=
1836
+
1727
1837
  # Prompt-mass composition (BASH_PLUS_SPEC P6): full (default) | minimal (only
1728
1838
  # the core system prompt; guides/CLAUDE.md/memory dropped) | defer (minimal on
1729
1839
  # turn 1, full corpus appended once at the first tool-result boundary).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/cli",
3
- "version": "4.124.42",
3
+ "version": "4.124.44",
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.124.42",
22
+ "@nexus-cortex/core": "4.124.44",
23
23
  "chalk": "^4.1.2",
24
24
  "cli-spinners": "^2.9.0",
25
25
  "commander": "^11.0.0",