@nexus-cortex/server 4.51.0 → 4.52.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/.cortex/agents/AGENT_PROFILE_GUIDE.md +2 -2
- package/.cortex/agents/a-frontend-landing-page-designer.md +7 -7
- package/.cortex/agents/autoresearch-agent.md +8 -8
- package/.cortex/agents/code-reviewer.md +3 -3
- package/.cortex/agents/context-research.md +5 -5
- package/.cortex/agents/doc-writer.md +5 -5
- package/.cortex/agents/explore.md +3 -3
- package/.cortex/agents/new-model-api-integrator-analyst.md +7 -7
- package/.cortex/agents/pr-architecture-reviewer.md +4 -4
- package/.cortex/agents/pr-code-quality.md +3 -3
- package/.cortex/agents/pr-implementer.md +6 -6
- package/.cortex/agents/pr-security-auditor.md +3 -3
- package/.cortex/agents/pr-test-writer.md +6 -6
- package/.cortex/agents/refactor.md +6 -6
- package/.cortex/agents/test-writer.md +5 -5
- package/.cortex/agents/web-researcher.md +7 -7
- package/.cortex/memory/recall-eval-probe.md +7 -0
- package/.cortex/permissions.example.json +7 -8
- package/.cortex/skills/autoresearch/SKILL.md +1 -1
- package/.cortex/skills/cortex/SKILL.md +4 -5
- package/.cortex/skills/cortex-bench/SKILL.md +64 -25
- package/dist/routes/messages.js +8 -2
- package/dist/routes/messages.js.map +1 -1
- package/package.json +3 -3
|
@@ -97,7 +97,7 @@ Core file operations:
|
|
|
97
97
|
- `Glob` - Find files by pattern
|
|
98
98
|
- `Grep` - Search file contents
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
Execution:
|
|
101
101
|
- `Bash` - Execute shell commands
|
|
102
102
|
- `BashOutput` - Get output from background shells
|
|
103
103
|
- `KillShell` - Terminate shells
|
|
@@ -107,7 +107,7 @@ Web operations:
|
|
|
107
107
|
- `WebFetch` - Fetch web pages
|
|
108
108
|
|
|
109
109
|
Planning and UI:
|
|
110
|
-
- `
|
|
110
|
+
- `TodoCreate` / `TodoUpdate` / `TodoList` - Manage task lists
|
|
111
111
|
- `AskUserQuestion` - Ask user questions
|
|
112
112
|
- `ExitPlanMode` - Exit plan mode
|
|
113
113
|
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
name: landing-page-designer
|
|
3
3
|
description: A frontend landing page designer for rich beautiful landing pages
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Bash
|
|
11
|
+
- WebFetch
|
|
12
12
|
model: inherit
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
name: autoresearch-agent
|
|
3
3
|
description: Runs one auto-research experiment cycle on a single backlog deficiency — fix in an isolated worktree, measure base-vs-candidate through the statistical gate, and report a verified candidate. One of N the PM spawns per deficiency.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Bash
|
|
11
|
+
- ResearchBacklog
|
|
12
|
+
- WorkspaceManager
|
|
13
13
|
model: inherit
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
name: code-reviewer
|
|
3
3
|
description: Performs thorough code reviews focusing on bugs, security issues, performance problems, and code quality. Use when you need a second opinion on code changes.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
8
|
model: inherit
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: context-research
|
|
3
3
|
description: Context Research - an agent that leverages its large context window to research the user context in preparation for a task
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
|
+
- Write
|
|
9
|
+
- Edit
|
|
10
10
|
model: inherit
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: doc-writer
|
|
3
3
|
description: Creates and maintains documentation including READMEs, API docs, guides, and code comments. Analyzes code to generate accurate, helpful documentation.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
10
|
model: inherit
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
name: explore
|
|
3
3
|
description: Fast agent for exploring codebases. Use for finding files, searching code, understanding project structure, and answering questions about the codebase.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
8
|
model: inherit
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
name: new-model-api-integrator-analyst
|
|
3
3
|
description: New model API integrator analyst. When this agent is used it's role is to use web serach and web fetch, and the web scraper plugin to bypass cloudflare if necessary and get api documentation for all p
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Bash
|
|
11
|
+
- WebFetch
|
|
12
12
|
model: inherit
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
name: pr-architecture-reviewer
|
|
3
3
|
description: Evaluates architectural impact of PR changes — breaking changes, API surface, dependency impact, and design patterns.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Bash
|
|
9
9
|
model: inherit
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
name: pr-implementer
|
|
3
3
|
description: Implements code changes in a git worktree. Writes production code, follows existing patterns, and creates commits.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Edit
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
11
|
model: inherit
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
name: pr-security-auditor
|
|
3
3
|
description: Scans pull request diffs for security vulnerabilities, malicious code patterns, prompt injection, and supply chain risks. Use for security-focused PR review.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- Grep
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
8
|
model: inherit
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
name: pr-test-writer
|
|
3
3
|
description: Writes tests for code changes — unit tests, integration tests, and edge case coverage.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
11
|
model: inherit
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
name: refactor
|
|
3
3
|
description: Refactors code to improve quality, performance, or maintainability while preserving functionality. Performs safe transformations with verification.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Bash
|
|
11
11
|
model: inherit
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: test-writer
|
|
3
3
|
description: Writes comprehensive unit tests and integration tests for code. Analyzes existing code to create test suites covering edge cases, error handling, and happy paths.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Bash
|
|
10
10
|
model: inherit
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-researcher
|
|
3
|
-
description: Research agent that gathers competitive intelligence, visual references, and design patterns from live websites. Equipped with
|
|
3
|
+
description: Research agent that gathers competitive intelligence, visual references, and design patterns from live websites. Equipped with Browse, WebSearch, WebFetch, and screenshot tools.
|
|
4
4
|
tools:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
5
|
+
- Browse
|
|
6
|
+
- WebSearch
|
|
7
|
+
- WebFetch
|
|
8
|
+
- Read
|
|
9
|
+
- Write
|
|
10
|
+
- Bash
|
|
11
11
|
model: inherit
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -9,14 +9,13 @@
|
|
|
9
9
|
"enabled": true,
|
|
10
10
|
"config": {
|
|
11
11
|
"allowedTools": [
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"create_artifact",
|
|
12
|
+
"Read",
|
|
13
|
+
"Write",
|
|
14
|
+
"Edit",
|
|
15
|
+
"Bash",
|
|
16
|
+
"Glob",
|
|
17
|
+
"Grep",
|
|
18
|
+
"CreateArtifactTool",
|
|
20
19
|
"MemoryWrite",
|
|
21
20
|
"MemoryRecall"
|
|
22
21
|
]
|
|
@@ -22,7 +22,7 @@ triggers:
|
|
|
22
22
|
|
|
23
23
|
## 1. PLAN FIRST (the gate)
|
|
24
24
|
Before delegating anything, produce a concrete **experiment plan**. The cortex harness *enforces* this — it blocks the launch until you have:
|
|
25
|
-
- **Interactive (a human is present):** draft the plan in **plan mode** (
|
|
25
|
+
- **Interactive (a human is present):** draft the plan in **plan mode** (present it via ExitPlanMode) and get it approved.
|
|
26
26
|
- **Headless (no human):** create a **TodoCreate** planning checklist.
|
|
27
27
|
|
|
28
28
|
The plan must define:
|
|
@@ -142,7 +142,7 @@ Run `cortex --list-tools` (or `GET /tools`) for the authoritative registered lis
|
|
|
142
142
|
file ops (Read/Write/Edit/Glob/Grep), execution (Bash/BashOutput/KillShell/TmuxSession),
|
|
143
143
|
web (WebSearch/WebFetch), agents (Task/WorkspaceManager/PRAgent), session history
|
|
144
144
|
(ListSessions/LoadSession/SearchConversationHistory/...), sandbox/artifacts, planning
|
|
145
|
-
(
|
|
145
|
+
(TodoCreate/TodoUpdate/TodoList/ExitPlanMode), extensions (Skill/SlashCommand), and auto-research
|
|
146
146
|
(ResearchBacklog + the `cortex autoresearch` CLI).
|
|
147
147
|
|
|
148
148
|
## .env Configuration
|
|
@@ -187,9 +187,8 @@ MENTORSHIP_PATTERN_DETECTION=true
|
|
|
187
187
|
MENTORSHIP_PATTERN_THRESHOLD=3
|
|
188
188
|
|
|
189
189
|
# CONTEXT MANAGEMENT
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
REASONING_KEEP_RECENT_TURNS=3
|
|
190
|
+
THINKING_AS_TEXT_FALLBACK=false # render prior thinking as <prior_reasoning> text (chat/completions recall)
|
|
191
|
+
# (context selection strategy is model-card derived; the old REASONING_* stripper was removed as harmful)
|
|
193
192
|
|
|
194
193
|
# SESSION
|
|
195
194
|
SESSION_STORAGE_DIR=.cortex/sessions
|
|
@@ -216,7 +215,7 @@ All subsystems accessible via natural language prompts. Control via `.env` or ru
|
|
|
216
215
|
| Subsystem | Control | What It Does |
|
|
217
216
|
|-----------|---------|--------------|
|
|
218
217
|
| **Reactive Mentorship** | `MENTORSHIP_*` (11 vars) | AI-to-AI self-improvement. Helper model reviews on errors, keywords (`@ultrathink`, `@analyze`, `@rethink`), or every N turns. Pattern detection for repeated failures. |
|
|
219
|
-
| **Context Management** |
|
|
218
|
+
| **Context Management** | model-card derived (`compaction.behavior`) | Auto-compaction via helper model when context fills. Selection strategy comes from the model card (preserve-critical vs sliding-window); thinking blocks are NEVER stripped from history. |
|
|
220
219
|
| **Loop Control** | `MAX_TOOL_ITERATIONS`, `MAX_CONSECUTIVE_ERRORS`, `TOOL_TIMEOUT_MS`, `MAX_LOOP_REPETITIONS` | Identical-call detection (hash name+input), circuit breaker on consecutive errors, configurable timeout per tool. |
|
|
221
220
|
| **Prompt Caching** | `ANTHROPIC_PROMPT_CACHING` | Caches system messages and tools. Tracks cache creation/read tokens, hit rate, cost savings ratio. |
|
|
222
221
|
| **Sessions** | `SESSION_STORAGE_DIR` | JSONL append-only history. Tools: ListSessions, LoadSession, SearchConversationHistory, GetConversationSegment, RequestHistoricalContext, ListCompactionBoundaries. |
|
|
@@ -23,13 +23,17 @@ triggers:
|
|
|
23
23
|
|
|
24
24
|
# Cortex-Bench — Multi-Model Benchmark Methodology
|
|
25
25
|
|
|
26
|
+
> **SURFACE**: benchmarking the **nexus-cortex harness** (omniclaude-v4 — skill:
|
|
27
|
+
> `nexus-cortex-harness`). NOT the Nexus Terminal CORTEX browser agent. Full map:
|
|
28
|
+
> `docs/SURFACES.md`.
|
|
29
|
+
|
|
26
30
|
Cross-provider benchmark technique for auditing the CORTEX harness and driving recursive iterative self-improvement. The core insight: **many apparent "model quality gaps" between providers are harness-side bugs, not model-side**. Only a side-by-side comparison catches them.
|
|
27
31
|
|
|
28
|
-
Proven to surface 7+ classes of harness bugs (
|
|
32
|
+
Proven to surface 7+ classes of harness bugs (R18a/b/c, R19a-d, R20a/b/c, R27, R28a-f, R29a) — see `omniclaude-v4-harness-deficiencies` memory for the full trail.
|
|
29
33
|
|
|
30
34
|
> ## ⚑ THREE NON-NEGOTIABLE OPERATING RULES (read before any benchmark)
|
|
31
35
|
>
|
|
32
|
-
> 1. **Every benchmark must produce a DEFICIENCY LEDGER, not a pass/fail.** Any agent benchmarking in the CORTEX harness runs tasks *in order to find and fix what's wrong with the harness*. The deliverable of every run is a structured list of (a) harness deficiencies found + their fix, (b) model-disposition gaps to address via prompts/tool-defs/system-msgs, and (c) what was verified clean. A run that ends "all arms agree, looks good" is a wasted run — the task wasn't hard enough or wasn't real-work. Mine every run for deltas.
|
|
36
|
+
> 1. **Every benchmark must produce a DEFICIENCY LEDGER, not a pass/fail.** Any agent benchmarking in the omniclaude-v4 CORTEX harness runs tasks *in order to find and fix what's wrong with the harness*. The deliverable of every run is a structured list of (a) harness deficiencies found + their fix, (b) model-disposition gaps to address via prompts/tool-defs/system-msgs, and (c) what was verified clean. A run that ends "all arms agree, looks good" is a wasted run — the task wasn't hard enough or wasn't real-work. Mine every run for deltas.
|
|
33
37
|
>
|
|
34
38
|
> 2. **NEVER use `model='auto'` / the model router when benchmarking models.** Benchmarking *measures a specific model*, so you must PIN it (`cortex -m <model>` / `Task model='<exact-id>'`). `'auto'` routes to a possibly-different model per task type, silently swapping the variable you're measuring and destroying the comparison. Worse, the router *learns from these runs* (`MODEL_ROUTER_RECORD`), so an auto-routed benchmark poisons the matrix with mislabeled data. The router is for production dispatch; the bench is for controlled measurement. Keep them apart.
|
|
35
39
|
>
|
|
@@ -68,10 +72,10 @@ Same exact prompt
|
|
|
68
72
|
1. **n ≥ 2, different tasks.** One task agreeing three ways is a false positive. Run at least two different tasks in fresh sessions.
|
|
69
73
|
2. **Ground-truth against the real artifact, not an agent.** The parallel sub-agent is a reference that fails differently, not an oracle. The only truth is direct shell/grep/python on actual files. **Existence/resolution claims need a behavioral probe**: an agent asserting "X is registered / X resolves / the alias works" must demonstrate it (run the lookup, hit the endpoint) — in a live audit, 2 of 6 agents asserted a nonexistent alias from a comment they'd read, and only the probe refuted it (which then exposed a real bug).
|
|
70
74
|
3. **Fresh server + fresh session per model probe.** `--new` on every prompt; restart the server between models. Prompt cache and debug logs bleed across models.
|
|
71
|
-
4. **Discard confounded runs.** After every run: `grep -nE "429|capacity|exhausted|rate.?limit|overloaded|quota" /tmp/
|
|
75
|
+
4. **Discard confounded runs.** After every run: `grep -nE "429|capacity|exhausted|rate.?limit|overloaded|quota" /tmp/omniclaude-server.log`. If it hits, the model was throttled, not benchmarked. Throw it away.
|
|
72
76
|
5. **Real work surface, not toy prompts.** The task must (a) move the harness/platform forward AND (b) have an independently verifiable answer. "Count imports in file X" is verifiable but worthless; "refactor module Z" is real but unverifiable. Find tasks that are BOTH.
|
|
73
77
|
6. **Pin the model — never `auto`.** See operating rule #2. When the variable under test IS the model, routing must be off and the model explicit. Auto-routing during a model benchmark is a methodology error that also corrupts the router matrix.
|
|
74
|
-
7. **Output is a deficiency ledger.** See operating rule #1. End every run by writing the findings to `.cortex/bench/<round>-<tag>.md` AND appending durable harness deficiencies to the `
|
|
78
|
+
7. **Output is a deficiency ledger.** See operating rule #1. End every run by writing the findings to `.cortex/bench/<round>-<tag>.md` AND appending durable harness deficiencies to the `omniclaude-v4-harness-deficiencies` memory. No ledger → the run didn't happen.
|
|
75
79
|
|
|
76
80
|
## Server Setup for Benchmarking
|
|
77
81
|
|
|
@@ -81,13 +85,13 @@ pkill -9 -f "node dist/index.js" 2>/dev/null; sleep 2
|
|
|
81
85
|
ps -eo pid,args | grep "[d]ist/index.js" && echo "ZOMBIE — kill -9" || echo "clean"
|
|
82
86
|
|
|
83
87
|
# Start stateless (CRITICAL — persistent mode leaks context across probes)
|
|
84
|
-
cd packages/server && \
|
|
88
|
+
cd /home/runner/workspace/omniclaude-v4/packages/server && \
|
|
85
89
|
DEBUG=true \
|
|
86
90
|
MENTORSHIP_ENABLED=false \
|
|
87
91
|
ENABLE_SERVER_SIDE_TOOLS=true \
|
|
88
92
|
XAI_API_MODE=messages \
|
|
89
93
|
CORTEX_MODE=stateless \
|
|
90
|
-
setsid nohup node dist/index.js > /tmp/
|
|
94
|
+
setsid nohup node dist/index.js > /tmp/omniclaude-server.log 2>&1 < /dev/null &
|
|
91
95
|
|
|
92
96
|
# Poll for boot (~20s cold, not 5s)
|
|
93
97
|
for i in $(seq 1 30); do sleep 2; curl -sf http://localhost:4000/health >/dev/null && break; done
|
|
@@ -183,7 +187,7 @@ The harness is now mature enough to **research and improve its own library, auto
|
|
|
183
187
|
| `prepare.py` — fixed, read-only eval (the ground truth metric) | the cortex-bench task + ground-truth control. **Never modify the check to pass** (operating rule #3) |
|
|
184
188
|
| `program.md` — human-tuned instructions ("a super lightweight skill") | **THIS skill** + the system messages. The human iterates HERE; the agent iterates on the code |
|
|
185
189
|
| `val_bpb` — one comparable metric | the per-run score: correctness-vs-control + deficiency count + the perf fields (input/output tokens, cache hit rate, tool iterations, latency) |
|
|
186
|
-
| `results.tsv` — append-only experiment ledger | `.cortex/bench/<round>-<tag>.md` + `
|
|
190
|
+
| `results.tsv` — append-only experiment ledger | `.cortex/bench/<round>-<tag>.md` + the `omniclaude-v4-harness-deficiencies` memory + `router-matrix.jsonl` |
|
|
187
191
|
| keep/discard via `git reset` | merge the worktree if the re-bench improves + no regression; else drop the worktree |
|
|
188
192
|
| **simplicity criterion** | a harness fix that *deletes* code/complexity and still holds the benchmark is a top-tier win. Weigh complexity cost vs. improvement; reject ugly hacks for tiny gains |
|
|
189
193
|
| **NEVER STOP** (run until interrupted) | run round after round; do not pause to ask "should I continue?" — escalate task difficulty and keep mining (consistent with the operator's `execute, don't defer` rule) |
|
|
@@ -228,7 +232,7 @@ autoresearch isolates by editing one file; we isolate by **one git worktree per
|
|
|
228
232
|
|
|
229
233
|
Experiment loop with the tool:
|
|
230
234
|
1. `WorkspaceManager create` (branch `cortex-exp/<round>`) → isolated `worktreePath`.
|
|
231
|
-
2. **build INSIDE that worktree** (`cd <worktreePath
|
|
235
|
+
2. **build INSIDE that worktree** (`cd <worktreePath>/omniclaude-v4 && npm install && npm run build`) — each worktree is its own checkout with its own `dist/`; never share `dist/`.
|
|
232
236
|
3. run the experiment server on a **non-default port** (4100, 4101, …) so it doesn't collide with the operator's live :4000.
|
|
233
237
|
4. bench against the experiment port, mine deficiencies, apply **one** coherent fix, rebuild, re-bench. Use `WorkspaceManager diff` to review the experiment's full change set before deciding.
|
|
234
238
|
5. **KEEP** (improved + no regression) → merge the branch to main, then `WorkspaceManager cleanup`. **DISCARD** → `WorkspaceManager cleanup` + delete the branch (cheap revert — the autoresearch keep/discard step).
|
|
@@ -245,6 +249,8 @@ The deficiency ledger (operating rule #1) is now a **tracked, triaged task lifec
|
|
|
245
249
|
- **Lifecycle**: `open → triaged → in_progress → fixed → verified → closed` (+ `wont_fix`, `regressed`). `action:next` returns the top-priority open item — the recursion's "what to fix next."
|
|
246
250
|
- **OVERFITTING GUARD in the status model**: `action:fixed` = passes the task that *surfaced* it; `action:verified` = ALSO holds on **held-out** tasks. **Never `verified` without held-out confirmation** — `fixed` is not done.
|
|
247
251
|
- Store: `.cortex/research-backlog.jsonl` (append-only, two-agent safe). The matrix (`router-matrix.jsonl`) holds the *scores*; the backlog holds the *work items*; they share `harnessRef`/`taskFingerprint` provenance.
|
|
252
|
+
- **View + drive it from the CLI (nexus-cortex 4.46+):** `cortex autoresearch backlog list / show <id> / next` to see the pool; `resolve <id> [--wont-fix|--close|--fixed]` for the PM keep/discard. `--repo <path>`/`CORTEX_ROOT` targets a specific pool. This is the same JSONL the `ResearchBacklog` tool writes — just a human/CLI surface over it.
|
|
253
|
+
- **Work-swarm mode (divide-and-conquer):** when many INDEPENDENT deficiencies should be worked in parallel by different workers (vs `loop`'s competitive same-goal arms), `cortex autoresearch backlog claim-next --owner <id>` gives each worker a DIFFERENT item under a TTL lease (no double-claim); `release [id] [--expired]` frees leases. The per-item `resolve` is the merge. Don't route a divide-and-conquer job through the competitive `loop` gate.
|
|
248
254
|
|
|
249
255
|
### Overfitting guards (the recursion's immune system)
|
|
250
256
|
|
|
@@ -262,7 +268,7 @@ The pipeline is **benchmark-source-agnostic**: `BenchmarkRecord.benchmarkSource`
|
|
|
262
268
|
|
|
263
269
|
### North-star: a public verifiable record (SpacetimeDB)
|
|
264
270
|
|
|
265
|
-
The three local append-only stores — `router-matrix.jsonl` (scores), `research-backlog.jsonl` (work items), and `experiments.jsonl` (keep/discard decisions) — are **deliberately shaped to map onto STDB tables**: each is an append-only event stream keyed by `(taskFingerprint, modelId, harnessRef)` / `deficiency id` / `experimentTag`. Promoting them to a SpacetimeDB module would give a **public, verifiable, tamper-evident record** of the harness's self-improvement — every score, deficiency, and keep/discard decision auditable with commit provenance. (That
|
|
271
|
+
The three local append-only stores — `router-matrix.jsonl` (scores), `research-backlog.jsonl` (work items), and `experiments.jsonl` (keep/discard decisions) — are **deliberately shaped to map onto STDB tables**: each is an append-only event stream keyed by `(taskFingerprint, modelId, harnessRef)` / `deficiency id` / `experimentTag`. Promoting them to a SpacetimeDB module would give a **public, verifiable, tamper-evident record** of the harness's self-improvement — every score, deficiency, and keep/discard decision auditable with commit provenance. (That module lives on the nexus/DBAI side, not in omniclaude-v4; the JSONL schemas here are the local mirror that ports up.)
|
|
266
272
|
|
|
267
273
|
### The decision layer is BUILT — call it, don't hand-judge keep/discard
|
|
268
274
|
|
|
@@ -279,8 +285,6 @@ cortex autoresearch bench --task-set <file|dir of *.json> --experiment-tag <id>
|
|
|
279
285
|
```
|
|
280
286
|
Task = `{id, prompt, verifier, taskType?}`; verifier ∈ `exact|regex|contains|llm-judge`. **Prefer `contains` (partial credit → continuous score) or graded rubrics** over binary exact/regex — the bootstrap/permutation gate separates arms far better on continuous scores. Sample: `.cortex/bench/tasks/sample-tasks.json`. Run it in the base build and the candidate build (different `--harness-ref`/worktree), then `cortex autoresearch evaluate`. Keep holdout task FILES out of any fixing agent's context (overfitting guard).
|
|
281
287
|
|
|
282
|
-
> **Two different "judges" — don't conflate them.** The `llm-judge` *verifier* above is **task-level**: it scores one task's OUTPUT against a rubric, producing a number that feeds the statistical gate. The autoresearch **judge gate** (`cortex autoresearch judge`, `loop --require-judge`) is **candidate-level**: it reads the whole candidate *diff* and approves/vetoes the MERGE (`accept = mergeEligible ∧ judge-approve`), catching eval-gaming and unsafe code the per-task scores cannot see. Orthogonal roles: one grades outputs, the other gates merges.
|
|
283
|
-
|
|
284
288
|
**The one-shot runner — `cortex autoresearch experiment` (v4.7.0).** Does the whole single-experiment loop in one call (build+serve both arms → bench train+holdout → gate → `verifyOnHoldout` → teardown), so you don't orchestrate `bench`×2 + `evaluate` by hand:
|
|
285
289
|
```
|
|
286
290
|
cortex autoresearch experiment --experiment-tag <id> \
|
|
@@ -313,7 +317,7 @@ Most benchmarks compare JSON from `/v1/messages` — but that **cannot see what
|
|
|
313
317
|
**Use the native `TmuxSession` tool** (proven method — same one used during the earlier active-improvement rounds; it wraps `TmuxCapture.ts`/`TmuxManager.ts`, stores metadata in `.cortex/tmux-sessions/`, binary via `TMUX_BIN`). The tool exposes **create → send commands → capture output → list → kill**. The agentic flow:
|
|
314
318
|
|
|
315
319
|
1. `TmuxSession create` — a persistent session sized like a real terminal (e.g. 200×50; also test 80×24 — different widths expose different wrapping/overflow bugs).
|
|
316
|
-
2. `TmuxSession send` →
|
|
320
|
+
2. `TmuxSession send` → `cd /home/runner/workspace/omniclaude-v4 && neoncortex` (Ink UI; or `cortex-cli`). Wait for boot.
|
|
317
321
|
3. `TmuxSession send` → the prompt that exercises the rendering under test (e.g. *"Show a markdown table of the 5 cheapest models with a fenced code example"*). Wait for the stream to finish.
|
|
318
322
|
4. `TmuxSession capture` — **this captured pane IS the metric.** It's the human-visible truth; the raw model text is NOT (a model can emit perfect markdown the TUI then mangles — only the capture shows it).
|
|
319
323
|
5. Evaluate the capture for **frontend-design deficiencies**, treating the render as a real UI surface (hierarchy, alignment, contrast, density — not just "did text appear"):
|
|
@@ -321,7 +325,7 @@ Most benchmarks compare JSON from `/v1/messages` — but that **cannot see what
|
|
|
321
325
|
- wrapping at the pane width, or overflow / truncation?
|
|
322
326
|
- colors readable, spacing/padding sane, no doubled/garbled lines?
|
|
323
327
|
- thinking & tool-call panes legible and not stealing the answer's space?
|
|
324
|
-
6. Fix the
|
|
328
|
+
6. Fix the renderer (`packages/tui/src/ink-ui/...`), rebuild, **re-capture, diff before/after** — same keep/discard discipline as the code loop. `TmuxSession kill` when done.
|
|
325
329
|
|
|
326
330
|
*(Direct shell equivalent without the tool: `tmux new-session -d -s T -x 200 -y 50` → `tmux send-keys -t T '…' Enter` → `tmux capture-pane -p -e -t T > render.txt` (`-e` keeps ANSI color) → inspect → `tmux kill-session -t T`.)*
|
|
327
331
|
|
|
@@ -330,7 +334,7 @@ Most benchmarks compare JSON from `/v1/messages` — but that **cannot see what
|
|
|
330
334
|
```
|
|
331
335
|
I need a multi-model benchmark. Pick a specific task:
|
|
332
336
|
|
|
333
|
-
TASK: "In
|
|
337
|
+
TASK: "In omniclaude-v4, find [specific file/function]. Report: (a) path,
|
|
334
338
|
(b) complete implementation, (c) [specific detail], (d) [edge case behavior].
|
|
335
339
|
Be precise, cite line numbers."
|
|
336
340
|
|
|
@@ -345,14 +349,49 @@ Then compare all 4 answers side-by-side and report discrepancies.
|
|
|
345
349
|
|
|
346
350
|
## Location Reference
|
|
347
351
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
-
|
|
351
|
-
-
|
|
352
|
-
-
|
|
353
|
-
-
|
|
354
|
-
-
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
|
|
358
|
-
|
|
352
|
+
- Server: `/home/runner/workspace/omniclaude-v4/packages/server/dist/index.js`
|
|
353
|
+
- Server log: `/tmp/omniclaude-server.log`
|
|
354
|
+
- Bench results / deficiency ledgers: `/home/runner/workspace/omniclaude-v4/.cortex/bench/`
|
|
355
|
+
- Routing matrix (the metric store): `/home/runner/workspace/omniclaude-v4/.cortex/router-matrix.jsonl`
|
|
356
|
+
- **Cortex skill (load it — full tool/subsystem reference incl. `TmuxSession`, `WorkspaceManager`):** `.agents/skills/cortex/SKILL.md`
|
|
357
|
+
- **Worktree/team proven pattern:** `WorkspaceManagerTool` (core: `tools/definitions/`, executor: `executors/.../execution/`) + memory `agent-team-workspace`
|
|
358
|
+
- **TUI capture proven pattern:** `TmuxSession` tool, `TmuxCapture.ts` / `TmuxManager.ts`, sessions in `.cortex/tmux-sessions/`
|
|
359
|
+
- Harness deficiency trail (the running ledger): `.claude/projects/-home-runner-workspace/memory/omniclaude-v4-harness-deficiencies.md`
|
|
360
|
+
- Auto-research source/inspiration: `github.com/karpathy/autoresearch` — `program.md` is the "lightweight skill" analog of THIS file; `prepare.py` (fixed eval) ≙ our ground-truth control; `train.py` (mutable) ≙ the harness code (worktree-isolated).
|
|
361
|
+
|
|
362
|
+
## DELTA 2026-07-28 — env-flag benchmarking, zombie definitive check, receipt promotion
|
|
363
|
+
|
|
364
|
+
**Scope reminder (operator-ratified):** this skill is a GUIDE for driving nexus-cortex
|
|
365
|
+
as a headless subagent — pin model, run task, report. The heavy machinery (worktrees,
|
|
366
|
+
autoresearch gates, ledger ceremony) is for deliberate harness-improvement rounds,
|
|
367
|
+
not every run.
|
|
368
|
+
|
|
369
|
+
- **Env-flag arms MUST verify the flag reached the server** — the definitive check is
|
|
370
|
+
`tr '\0' '\n' < /proc/<serverpid>/environ | grep <FLAG>`, run AFTER identifying the
|
|
371
|
+
pid that actually owns :4000. A 2026-07-28 A/B lost THREE arms to a stale flagless
|
|
372
|
+
server: even the bracketed full-path pkill (`node [p]ackages/server/dist/index.js`)
|
|
373
|
+
misses relative-argv instances (`node dist/index.js`, CLI-spawned with cwd inside
|
|
374
|
+
packages/server). Kill by PID after `ps -eo pid,args | grep "[d]ist/index.js"`,
|
|
375
|
+
never trust the pattern alone.
|
|
376
|
+
- **`cortex --env KEY=VALUE` delivery to an auto-spawned server is UNVERIFIED** (first
|
|
377
|
+
probe was confounded by the zombie above). Until verified with a clean /proc check,
|
|
378
|
+
launch flagged servers manually.
|
|
379
|
+
- **Render-path questions: test the adapter IN-PROCESS before server A/Bs.** Import the
|
|
380
|
+
built adapter from `packages/core/dist/adapters/`, feed it the REAL session records +
|
|
381
|
+
a real modelConfig, inspect output. Minutes vs hours; separates "code wrong" from
|
|
382
|
+
"env/plumbing wrong". A disposable `console.error` sed-patched into dist (rebuilt
|
|
383
|
+
clean after) resolves the remaining live-path questions.
|
|
384
|
+
- **Recall probes need discriminators.** Facts derivable from visible prompts
|
|
385
|
+
invalidate a recall probe (the model re-derives). Use exact-string forms only the
|
|
386
|
+
hidden channel contains (stored `yellowsix` vs re-derivable `yellow6`) + a
|
|
387
|
+
tag-visibility question as the mechanism check.
|
|
388
|
+
- **Model cards can silently reroute your test path**: both deepseek v4 cards are
|
|
389
|
+
HYBRID (`reasoning.supported: true`) — a branch keyed on "non-reasoning model"
|
|
390
|
+
never fires for them. Read the card (`packages/core/src/models/cards/...`) before
|
|
391
|
+
designing a branch-coverage A/B. Related provider fact: DeepSeek REQUIRES
|
|
392
|
+
`reasoning_content` on assistant messages yet IGNORES it as prior-turn context —
|
|
393
|
+
a reasoning-replay channel is not a recall channel.
|
|
394
|
+
- **Publishing results:** promotion to the public proofs is SELECTIVE — one command,
|
|
395
|
+
`npx tsx scripts/canon/canon-receipt.ts <ledger.md> --claim "..."` (secret-scan
|
|
396
|
+
refusal, append-only, auto-indexes `nexus-canon-store/receipts/`). Future CLI face:
|
|
397
|
+
`cortex autoresearch bench --public-benchmark`. Routine runs stay local ledgers.
|
package/dist/routes/messages.js
CHANGED
|
@@ -19,7 +19,7 @@ export function getServerOrchestrator() {
|
|
|
19
19
|
export const messagesRouter = Router();
|
|
20
20
|
messagesRouter.post('/v1/messages', async (req, res, next) => {
|
|
21
21
|
try {
|
|
22
|
-
const { model: requestModel, messages, system, tools, max_tokens, temperature, top_p, stream } = req.body;
|
|
22
|
+
const { model: requestModel, messages, system, tools, max_tokens, temperature, top_p, stream, json_schema } = req.body;
|
|
23
23
|
// Model resolution order:
|
|
24
24
|
// 1. Explicit request.model (client override)
|
|
25
25
|
// 2. Persistent orchestrator's currentModelId (session's effective model
|
|
@@ -95,7 +95,13 @@ messagesRouter.post('/v1/messages', async (req, res, next) => {
|
|
|
95
95
|
modelId: model,
|
|
96
96
|
system,
|
|
97
97
|
...(toolsToUse !== undefined && { tools: toolsToUse }),
|
|
98
|
-
...(Object.keys(parameters).length > 0 && { parameters })
|
|
98
|
+
...(Object.keys(parameters).length > 0 && { parameters }),
|
|
99
|
+
// StructuredOutput (grok-build port): schema-constrained JSON output via
|
|
100
|
+
// a request-scoped synthetic tool. The captured result comes back as
|
|
101
|
+
// metadata.structuredOutput (non-streaming) / message_stop data (streaming).
|
|
102
|
+
...(json_schema !== undefined && typeof json_schema === 'object' && json_schema !== null
|
|
103
|
+
? { jsonSchema: json_schema }
|
|
104
|
+
: {})
|
|
99
105
|
};
|
|
100
106
|
// Handle streaming vs non-streaming
|
|
101
107
|
if (stream) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/routes/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAiE,MAAM,oBAAoB,CAAC;AAEzI,iFAAiF;AACjF,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACnD,CAAC;AAED,iEAAiE;AACjE,IAAI,kBAAkB,GAA8B,IAAI,CAAC;AAEzD,MAAM,UAAU,qBAAqB,CAAC,YAAgC;IACpE,kBAAkB,GAAG,YAAY,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC;AAEvC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAI,EAAE,EAAE;IAC9E,IAAI,CAAC;QACH,MAAM,EACJ,KAAK,EAAE,YAAY,EACnB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/routes/messages.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cortex/server",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.52.0",
|
|
4
4
|
"description": "Thin Express server wrapper for Nexus Cortex core library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"prepack": "node ../../scripts/copy-pkg-cortex-scaffold.mjs"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@nexus-cortex/core": "4.
|
|
24
|
-
"@nexus-cortex/executors": "4.
|
|
23
|
+
"@nexus-cortex/core": "4.52.0",
|
|
24
|
+
"@nexus-cortex/executors": "4.52.0",
|
|
25
25
|
"chalk": "^5.3.0",
|
|
26
26
|
"cors": "^2.8.5",
|
|
27
27
|
"dotenv": "^16.4.5",
|