@nexus-cortex/cli 4.44.2 → 4.46.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/autoresearch-agent.md +2 -0
- package/.cortex/skills/autoresearch/SKILL.md +4 -2
- package/.cortex/skills/cortex-bench/SKILL.md +2 -0
- package/dist/commands/autoresearch/armPlan.d.ts +32 -0
- package/dist/commands/autoresearch/armPlan.d.ts.map +1 -0
- package/dist/commands/autoresearch/armPlan.js +171 -0
- package/dist/commands/autoresearch/armPlan.js.map +1 -0
- package/dist/commands/autoresearch/backlog.d.ts +44 -0
- package/dist/commands/autoresearch/backlog.d.ts.map +1 -0
- package/dist/commands/autoresearch/backlog.js +222 -0
- package/dist/commands/autoresearch/backlog.js.map +1 -0
- package/dist/commands/autoresearch/experiment.d.ts.map +1 -1
- package/dist/commands/autoresearch/experiment.js +5 -2
- package/dist/commands/autoresearch/experiment.js.map +1 -1
- package/dist/commands/autoresearch/loop.d.ts +9 -0
- package/dist/commands/autoresearch/loop.d.ts.map +1 -1
- package/dist/commands/autoresearch/loop.js +266 -140
- package/dist/commands/autoresearch/loop.js.map +1 -1
- package/dist/index.js +79 -2
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/OrchestratorClient.d.ts +5 -0
- package/dist/orchestrator/OrchestratorClient.d.ts.map +1 -1
- package/dist/orchestrator/OrchestratorClient.js +8 -0
- package/dist/orchestrator/OrchestratorClient.js.map +1 -1
- package/package.json +2 -2
|
@@ -17,6 +17,8 @@ model: inherit
|
|
|
17
17
|
|
|
18
18
|
You are ONE of several auto-research agents the PM spawned on the **same** backlog deficiency. Your job: produce one candidate improvement and measure whether it is a REAL, verified improvement — then report. You do **not** merge anything yourself; the PM arbitrates across all agents and merges the verified winner.
|
|
19
19
|
|
|
20
|
+
The same is true when the LOOP spawned you: `cortex autoresearch loop --width N` (4.45+) fans each round into N parallel Fixer arms — different models, same goal, own worktree each. If you are the Fixer in such a round, other arms are attacking the same deficiency concurrently; the gate compares every arm at FWER-adjusted significance and only the best accepted candidate merges. Same rules apply: smallest real fix, no eval-gaming — you win by merit, not by volume.
|
|
21
|
+
|
|
20
22
|
## Read your task first
|
|
21
23
|
Your prompt contains:
|
|
22
24
|
- The **deficiency** (what to improve) and how it's measured (task-set / metric).
|
|
@@ -44,9 +44,11 @@ Identical agents on identical prompts waste the parallelism — they trace the s
|
|
|
44
44
|
|
|
45
45
|
**Diversify the SEARCH; keep the EVALUATION identical** — every arm is judged by the *same* metric + the *same* gate (one shared judge). Letting arms pick their own metric is reward-hacking. Keep N small with **sharp** distinctions (4–5 genuinely different approaches beat many near-duplicates) — N arms ≈ N× the spend, so buy breadth, not duplicates.
|
|
46
46
|
|
|
47
|
+
**The loop AUTOMATES this doctrine (4.45+).** `cortex autoresearch loop --width N` fans each round into N parallel arms natively — one worktree + one Fixer model per arm, per-arm `fixer:<model>` strategy labels recorded into the matrix, the gate FWER-adjusted to the true family width, best accepted arm merges (judge reviews accepted arms in effect order). Pick the arm pool with `--arm-models a,b,c` (explicit) or `--providers deepseek,anthropic,…` (flagship model per provider; auto-detected from funded keys when omitted), and set `--missing-provider-key-policy platform_fallback|omit|redistribute` for arms whose provider key isn't funded. Manual Task-dispatch arms (above) remain the right tool when arms need distinct PERSONAS/prompts, not just distinct models — the loop's arms share one goal prompt.
|
|
48
|
+
|
|
47
49
|
## 3. DELEGATE (pick the execution path by how you're accessed)
|
|
48
|
-
- **Local cortex harness** (you're driving cortex, or inside it): set `AUTORESEARCH_AGENTS=native` and delegate via the **Task tool** (`subagent_type: autoresearch-agent`), one per strategy, each prompt = the plan + that arm's persona/strategy + `EXECUTION MODE: native`. Or drive the CLI directly: `cortex autoresearch fix` / `experiment` / `loop
|
|
49
|
-
- **Hosted at scale** (external agent): the hosted **`nexus-autoresearch` MCP** is LIVE. Relay the plan to its tools (`start_autoresearch_campaign` / `autoresearch_experiment` / `autoresearch_fix`) — `EXECUTION MODE: mcp`. Hosted campaigns run the **LLM judge gate ON by default** (see §4); pass `requireJudge:false` to disable or `judgeRubric` to customize.
|
|
50
|
+
- **Local cortex harness** (you're driving cortex, or inside it): set `AUTORESEARCH_AGENTS=native` and delegate via the **Task tool** (`subagent_type: autoresearch-agent`), one per strategy, each prompt = the plan + that arm's persona/strategy + `EXECUTION MODE: native`. Or drive the CLI directly: `cortex autoresearch fix` / `experiment` / `loop` — for a multi-provider swarm campaign, `loop --width N --arm-models/--providers …` runs the fan-out natively (§2).
|
|
51
|
+
- **Hosted at scale** (external agent): the hosted **`nexus-autoresearch` MCP** is LIVE. Relay the plan to its tools (`start_autoresearch_campaign` / `autoresearch_experiment` / `autoresearch_fix`) — `EXECUTION MODE: mcp`. Campaigns take `width` (1–8), `armModels`, `providers`, and `missingProviderKeyPolicy` for the multi-provider swarm fan-out. Hosted campaigns run the **LLM judge gate ON by default** (see §4); pass `requireJudge:false` to disable or `judgeRubric` to customize.
|
|
50
52
|
|
|
51
53
|
The agents EXPLORE; they do not merge. They each return a candidate + its verdict.
|
|
52
54
|
|
|
@@ -290,6 +290,8 @@ cortex autoresearch experiment --experiment-tag <id> \
|
|
|
290
290
|
```
|
|
291
291
|
`--json` → `{verdict, holdoutVerdict, regressedTasks, mergeEligible, benchSummaries, cortexDir, jsonlPaths}`. Owns the "two builds not one relabel" correctness (each arm served from its OWN built code; refuses `baseRef===candidateRef`). `--cortex-dir` is the per-experiment **artifact** (all 3 `.cortex/*.jsonl`). `mergeEligible` = keep ∧ fwerAdjusted ∧ holdout-keep (FALSE without holdout). Validated live end-to-end (both a real **discard** and a real **keep** with `mergeEligible:true`).
|
|
292
292
|
|
|
293
|
+
**The multi-arm campaign runner — `cortex autoresearch loop --width N` (4.45+).** The swarm-width family is now AUTOMATED: `loop --width N` fans each round into N parallel Fixer arms (own worktree + own model each, pool via `--arm-models`/`--providers`, `--missing-provider-key-policy` for unfunded arms), passes `--n-family <width>` to every arm's experiment so the FWER bar is honest, records per-arm `fixer:<model>` strategy labels into the matrix, and merges only the best gate-accepted (and judge-approved, if required) arm. This IS the N-of-this-experiment machinery — don't hand-orchestrate N `experiment` calls when a width'd loop round does it with correct family statistics.
|
|
294
|
+
|
|
293
295
|
### Hard-won benchmarking gotchas (from the first live runs, 2026-06-08)
|
|
294
296
|
- **Server returns `model` as an OBJECT** `{id, provider}`, not a string — any recorder must extract `.id` (fixed in serverRunner/estimateCost, `a4097aaf8`).
|
|
295
297
|
- **`PROJECT_PATH`, not `PROJECT_ROOT`**, controls the orchestrator's project context (system messages, CORTEX.md, agents) — set it when spawning a harness for a specific checkout (fixed in startServer, `3f549daa5`).
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type MissingKeyPolicy = 'platform_fallback' | 'omit' | 'redistribute';
|
|
2
|
+
export declare const MISSING_KEY_POLICIES: MissingKeyPolicy[];
|
|
3
|
+
export interface ArmAssignment {
|
|
4
|
+
/** 1-based arm index within the round's family. */
|
|
5
|
+
arm: number;
|
|
6
|
+
/** Fixer model for this arm; undefined = harness default (DEFAULT_MODEL_ID). */
|
|
7
|
+
model?: string;
|
|
8
|
+
/** Effectiveness-arm label recorded with the arm's scored runs (matrix attribution). */
|
|
9
|
+
strategy?: string;
|
|
10
|
+
/** Whether the model's provider key was present in the environment at plan time. */
|
|
11
|
+
funded: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ArmPlanInput {
|
|
14
|
+
width: number;
|
|
15
|
+
/** The loop's --model (arm 1 baseline; also the single-arm model). */
|
|
16
|
+
baseModel?: string;
|
|
17
|
+
/** Explicit --arm-models list (comma-split upstream). */
|
|
18
|
+
armModels?: string[];
|
|
19
|
+
/** --providers list (comma-split upstream). */
|
|
20
|
+
providers?: string[];
|
|
21
|
+
/** Global --strategy label; when set it overrides the per-arm fixer:<model> label. */
|
|
22
|
+
strategy?: string;
|
|
23
|
+
policy: MissingKeyPolicy;
|
|
24
|
+
}
|
|
25
|
+
export interface ArmPlan {
|
|
26
|
+
arms: ArmAssignment[];
|
|
27
|
+
/** Human-readable planning decisions (dropped arms, redistributions, empty pools). */
|
|
28
|
+
notes: string[];
|
|
29
|
+
}
|
|
30
|
+
export declare function planArms(input: ArmPlanInput): ArmPlan;
|
|
31
|
+
export declare function parseMissingKeyPolicy(raw: string | undefined): MissingKeyPolicy;
|
|
32
|
+
//# sourceMappingURL=armPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"armPlan.d.ts","sourceRoot":"","sources":["../../../src/commands/autoresearch/armPlan.ts"],"names":[],"mappings":"AA8BA,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,MAAM,GAAG,cAAc,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EAAkD,CAAC;AAEtG,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,sFAAsF;IACtF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA8CD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAkFrD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAO/E"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arm planning for the multi-provider autoresearch loop (`--width` > 1).
|
|
3
|
+
*
|
|
4
|
+
* A "round" of the loop can fan out into N parallel candidate ARMS — each arm gets its
|
|
5
|
+
* own worktree and its own Fixer model, so provider/model diversity competes on the SAME
|
|
6
|
+
* deficiency and the statistical gate (FWER-adjusted with family width N) picks the
|
|
7
|
+
* winner. This module decides WHICH model each arm runs:
|
|
8
|
+
*
|
|
9
|
+
* pool resolution (first match wins):
|
|
10
|
+
* 1. --arm-models a,b,c explicit model ids, rotated across arms
|
|
11
|
+
* 2. --providers x,y each provider contributes its most capable
|
|
12
|
+
* tool-supporting model (highest combined cost —
|
|
13
|
+
* the inverse of the registry's helper-model pick)
|
|
14
|
+
* 3. neither (width > 1) every provider with a configured API key contributes
|
|
15
|
+
* its most capable model (env-scan via the model cards'
|
|
16
|
+
* declared apiKeyEnvVar)
|
|
17
|
+
* arm 1 always keeps the loop's --model when given (baseline continuity).
|
|
18
|
+
*
|
|
19
|
+
* Missing-key policy (`--missing-provider-key-policy`) decides what happens to an arm
|
|
20
|
+
* whose model's provider key is NOT present in the environment:
|
|
21
|
+
* - platform_fallback (default): keep the arm — in the container/proxy world the key
|
|
22
|
+
* may be funded upstream (job-token proxy, platform fallback), and locally a failed
|
|
23
|
+
* arm surfaces as a no-verdict skip with the captured reason.
|
|
24
|
+
* - omit: drop the arm (the family shrinks; logged in plan notes).
|
|
25
|
+
* - redistribute: reassign the arm to the next funded model in the pool.
|
|
26
|
+
*
|
|
27
|
+
* Pure planning — no processes are spawned here; the loop consumes the plan.
|
|
28
|
+
*/
|
|
29
|
+
import { ModularModelRegistry, hasApiKeyForModel } from '@nexus-cortex/core';
|
|
30
|
+
export const MISSING_KEY_POLICIES = ['platform_fallback', 'omit', 'redistribute'];
|
|
31
|
+
/** True when SOME model of the provider declares an API-key env var that is set.
|
|
32
|
+
* Stricter than hasApiKeyForModel (which is permissive for undeclared keys) so that
|
|
33
|
+
* keyless/local providers don't masquerade as configured. */
|
|
34
|
+
function providerHasKey(registry, provider) {
|
|
35
|
+
try {
|
|
36
|
+
return registry.getModelsByProvider(provider).some((m) => {
|
|
37
|
+
const envVar = m.api?.apiKeyEnvVar;
|
|
38
|
+
return !!(envVar && process.env[envVar] && process.env[envVar].trim());
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** The provider's most capable tool-supporting model (highest combined per-million cost —
|
|
46
|
+
* the deliberate inverse of the registry's cheapest-helper pick). */
|
|
47
|
+
function flagshipModel(registry, provider) {
|
|
48
|
+
try {
|
|
49
|
+
const models = registry
|
|
50
|
+
.getModelsByProvider(provider)
|
|
51
|
+
.filter((m) => m.tools?.supported);
|
|
52
|
+
if (!models.length)
|
|
53
|
+
return undefined;
|
|
54
|
+
const scored = models
|
|
55
|
+
.map((m) => {
|
|
56
|
+
const cost = m.cost;
|
|
57
|
+
return { id: m.id, cost: (cost?.inputPerMillion ?? 0) + (cost?.outputPerMillion ?? 0) };
|
|
58
|
+
})
|
|
59
|
+
.sort((a, b) => b.cost - a.cost);
|
|
60
|
+
return scored[0]?.id;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** All card providers that currently have a configured key, in registry order. */
|
|
67
|
+
function configuredProviders(registry) {
|
|
68
|
+
const seen = new Set();
|
|
69
|
+
for (const m of registry.getAllModels()) {
|
|
70
|
+
const provider = m.provider;
|
|
71
|
+
if (provider && !seen.has(provider) && providerHasKey(registry, provider))
|
|
72
|
+
seen.add(provider);
|
|
73
|
+
}
|
|
74
|
+
return [...seen];
|
|
75
|
+
}
|
|
76
|
+
export function planArms(input) {
|
|
77
|
+
const notes = [];
|
|
78
|
+
const width = Math.max(1, Math.floor(input.width || 1));
|
|
79
|
+
const registry = new ModularModelRegistry();
|
|
80
|
+
// ---- Resolve the model pool ------------------------------------------------
|
|
81
|
+
let pool;
|
|
82
|
+
if (input.armModels?.length) {
|
|
83
|
+
pool = [...input.armModels];
|
|
84
|
+
}
|
|
85
|
+
else if (input.providers?.length) {
|
|
86
|
+
pool = input.providers.map((p) => {
|
|
87
|
+
const m = flagshipModel(registry, p.trim());
|
|
88
|
+
if (!m)
|
|
89
|
+
notes.push(`provider '${p.trim()}' has no tool-supporting model in the registry — skipped`);
|
|
90
|
+
return m;
|
|
91
|
+
}).filter(Boolean);
|
|
92
|
+
}
|
|
93
|
+
else if (width > 1) {
|
|
94
|
+
const providers = configuredProviders(registry);
|
|
95
|
+
pool = providers.map((p) => flagshipModel(registry, p)).filter(Boolean);
|
|
96
|
+
// The AUTO-derived pool honors the router ban list (MODEL_ROUTER_EXCLUDE — exact ids
|
|
97
|
+
// or 'prefix*' wildcards, default grok*). Explicit --arm-models/--providers override it.
|
|
98
|
+
const exclude = (process.env.MODEL_ROUTER_EXCLUDE ?? 'grok*')
|
|
99
|
+
.split(',').map((s) => s.trim()).filter(Boolean);
|
|
100
|
+
const banned = (id) => exclude.some((e) => e.endsWith('*') ? id.startsWith(e.slice(0, -1)) : id === e);
|
|
101
|
+
const before = pool.length;
|
|
102
|
+
pool = pool.filter((m) => m && !banned(m));
|
|
103
|
+
if (pool.length < before)
|
|
104
|
+
notes.push(`auto-pool: excluded ${before - pool.length} model(s) via MODEL_ROUTER_EXCLUDE`);
|
|
105
|
+
if (!pool.length) {
|
|
106
|
+
notes.push('no configured providers detected — all arms use the default model');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
pool = [];
|
|
111
|
+
}
|
|
112
|
+
// Baseline continuity: the loop's --model leads the rotation (dedup keeps one copy).
|
|
113
|
+
if (input.baseModel)
|
|
114
|
+
pool = [input.baseModel, ...pool.filter((m) => m !== input.baseModel)];
|
|
115
|
+
// Dedup while preserving order.
|
|
116
|
+
pool = [...new Set(pool.filter(Boolean))];
|
|
117
|
+
// ---- Missing-key policy ------------------------------------------------------
|
|
118
|
+
const funded = (m) => (m ? hasApiKeyForModel(m) : true);
|
|
119
|
+
if (pool.length && input.policy === 'redistribute') {
|
|
120
|
+
const fundedPool = pool.filter((m) => funded(m));
|
|
121
|
+
if (fundedPool.length) {
|
|
122
|
+
let i = 0;
|
|
123
|
+
pool = pool.map((m) => {
|
|
124
|
+
if (funded(m))
|
|
125
|
+
return m;
|
|
126
|
+
const sub = fundedPool[i++ % fundedPool.length];
|
|
127
|
+
notes.push(`redistribute: '${m}' has no key → arm reassigned to '${sub}'`);
|
|
128
|
+
return sub;
|
|
129
|
+
});
|
|
130
|
+
pool = [...new Set(pool)];
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
notes.push('redistribute: no funded model in the pool — arms kept as planned (platform may fund)');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// ---- Cycle the pool across the family width ---------------------------------
|
|
137
|
+
// Assign first, THEN apply omit — omit drops only UNFUNDED arms; a fully-funded
|
|
138
|
+
// pool smaller than the width still cycles to fill every requested arm.
|
|
139
|
+
let arms = [];
|
|
140
|
+
for (let k = 0; k < width; k++) {
|
|
141
|
+
const model = pool.length ? pool[k % pool.length] : input.baseModel;
|
|
142
|
+
arms.push({
|
|
143
|
+
arm: k + 1,
|
|
144
|
+
model,
|
|
145
|
+
strategy: input.strategy ?? (model && width > 1 ? `fixer:${model}` : undefined),
|
|
146
|
+
funded: funded(model),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (input.policy === 'omit') {
|
|
150
|
+
const dropped = arms.filter((a) => !a.funded);
|
|
151
|
+
if (dropped.length) {
|
|
152
|
+
notes.push(`omit: dropped ${dropped.length} unfunded arm(s): ${dropped.map((a) => a.model).join(', ')}`);
|
|
153
|
+
arms = arms.filter((a) => a.funded).map((a, k) => ({ ...a, arm: k + 1 }));
|
|
154
|
+
if (!arms.length) {
|
|
155
|
+
notes.push('omit: every arm was unfunded — keeping one default-model arm');
|
|
156
|
+
arms = [{ arm: 1, model: input.baseModel, strategy: input.strategy, funded: true }];
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return { arms, notes };
|
|
161
|
+
}
|
|
162
|
+
export function parseMissingKeyPolicy(raw) {
|
|
163
|
+
if (!raw)
|
|
164
|
+
return 'platform_fallback';
|
|
165
|
+
const v = raw.trim().toLowerCase().replace(/-/g, '_');
|
|
166
|
+
if (!MISSING_KEY_POLICIES.includes(v)) {
|
|
167
|
+
throw new Error(`invalid --missing-provider-key-policy '${raw}' (expected ${MISSING_KEY_POLICIES.join(' | ')})`);
|
|
168
|
+
}
|
|
169
|
+
return v;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=armPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"armPlan.js","sourceRoot":"","sources":["../../../src/commands/autoresearch/armPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface BacklogListOptions {
|
|
2
|
+
repo?: string;
|
|
3
|
+
status?: string;
|
|
4
|
+
all?: boolean;
|
|
5
|
+
json?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function autoResearchBacklogList(options: BacklogListOptions): Promise<void>;
|
|
8
|
+
export interface BacklogShowOptions {
|
|
9
|
+
repo?: string;
|
|
10
|
+
json?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function autoResearchBacklogShow(id: string, options: BacklogShowOptions): Promise<void>;
|
|
13
|
+
export interface BacklogNextOptions {
|
|
14
|
+
repo?: string;
|
|
15
|
+
json?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function autoResearchBacklogNext(options: BacklogNextOptions): Promise<void>;
|
|
18
|
+
export interface BacklogResolveOptions {
|
|
19
|
+
repo?: string;
|
|
20
|
+
verified?: boolean;
|
|
21
|
+
wontFix?: string;
|
|
22
|
+
close?: boolean;
|
|
23
|
+
fixed?: string;
|
|
24
|
+
round?: string;
|
|
25
|
+
json?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function autoResearchBacklogResolve(id: string, options: BacklogResolveOptions): Promise<void>;
|
|
28
|
+
export interface BacklogClaimOptions {
|
|
29
|
+
repo?: string;
|
|
30
|
+
owner?: string;
|
|
31
|
+
ttl?: string;
|
|
32
|
+
json?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare function autoResearchBacklogClaim(id: string, options: BacklogClaimOptions): Promise<void>;
|
|
35
|
+
export declare function autoResearchBacklogClaimNext(options: BacklogClaimOptions): Promise<void>;
|
|
36
|
+
export interface BacklogReleaseOptions {
|
|
37
|
+
repo?: string;
|
|
38
|
+
owner?: string;
|
|
39
|
+
json?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare function autoResearchBacklogRelease(id: string | undefined, options: BacklogReleaseOptions & {
|
|
42
|
+
expired?: boolean;
|
|
43
|
+
}): Promise<void>;
|
|
44
|
+
//# sourceMappingURL=backlog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../../src/commands/autoresearch/backlog.ts"],"names":[],"mappings":"AAwDA,MAAM,WAAW,kBAAkB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAErG,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxF;AAED,MAAM,WAAW,kBAAkB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAErE,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpG;AAED,MAAM,WAAW,kBAAkB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAErE,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;AAED,MAAM,WAAW,qBAAqB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1G;AAID,MAAM,WAAW,mBAAmB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAOpG,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtG;AAED,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9F;AAED,MAAM,WAAW,qBAAqB;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAExF,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,qBAAqB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9I"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cortex autoresearch backlog` — view + manage the DEFICIENCY POOL
|
|
3
|
+
* (`.cortex/research-backlog.jsonl`): the prioritized task board the auto-research
|
|
4
|
+
* loop pulls from (`loop` uses `backlog.next()` as its default goal). Producers
|
|
5
|
+
* (bench/experiment/gate) append deficiencies; this surfaces them for humans.
|
|
6
|
+
*
|
|
7
|
+
* backlog list [--status s] [--all] [--json] — prioritized list
|
|
8
|
+
* backlog show <id> [--json] — one item, full detail
|
|
9
|
+
* backlog next [--json] — the top workable item
|
|
10
|
+
* backlog resolve <id> [--verified|--wont-fix <reason>|--close|--fixed <ref>]
|
|
11
|
+
* backlog claim <id> / claim-next / release (work-swarm lease with TTL)
|
|
12
|
+
*
|
|
13
|
+
* TODO (TUI): these are the headless CLI verbs. An INTERACTIVE backlog menu still
|
|
14
|
+
* needs building in the neoncortex TUI (`packages/tui`, e.g. alongside
|
|
15
|
+
* `ink-ui/components/MenuRenderer.tsx`) — a browsable/filterable deficiency list
|
|
16
|
+
* with keyboard claim/resolve/next actions over the same ResearchBacklog API, and
|
|
17
|
+
* (when the SPA hosts the TUI) the origin-scoped public/private/platform views.
|
|
18
|
+
* See modules/database-ai/DEFICIENCY_VISIBILITY_WORKSWARM_PLAN.md §3.3.
|
|
19
|
+
*/
|
|
20
|
+
import { ResearchBacklog } from '@nexus-cortex/core';
|
|
21
|
+
import { ThemeManager } from '../../themes/ThemeManager.js';
|
|
22
|
+
import { findProjectRoot } from '../config/utils.js';
|
|
23
|
+
/** Which project's pool to operate on. Explicit --repo wins so a worker (or the
|
|
24
|
+
* user) can target ANY repo's .cortex/research-backlog.jsonl — findProjectRoot()
|
|
25
|
+
* otherwise resolves to the CLI's own install location, not the user's cwd. */
|
|
26
|
+
function resolveRoot(opts) {
|
|
27
|
+
return opts.repo || process.env.CORTEX_ROOT || findProjectRoot();
|
|
28
|
+
}
|
|
29
|
+
function statusColored(theme, s) {
|
|
30
|
+
const label = s.toUpperCase().padEnd(11);
|
|
31
|
+
switch (s) {
|
|
32
|
+
case 'verified':
|
|
33
|
+
case 'closed':
|
|
34
|
+
return theme.colors.success(label);
|
|
35
|
+
case 'in_progress':
|
|
36
|
+
case 'fixed':
|
|
37
|
+
return theme.colors.highlight(label);
|
|
38
|
+
case 'wont_fix':
|
|
39
|
+
case 'regressed':
|
|
40
|
+
return theme.colors.error(label);
|
|
41
|
+
default:
|
|
42
|
+
return theme.colors.muted(label); // open / triaged
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function row(theme, d) {
|
|
46
|
+
const pri = String(d.priorityScore).padStart(6);
|
|
47
|
+
const sev = d.severity.padEnd(8);
|
|
48
|
+
return (` ${theme.colors.highlight(pri)} ${statusColored(theme, d.status)} ` +
|
|
49
|
+
`${theme.colors.muted(d.id.padEnd(16))} ${theme.colors.muted(sev)} ${d.title}`);
|
|
50
|
+
}
|
|
51
|
+
export async function autoResearchBacklogList(options) {
|
|
52
|
+
const theme = ThemeManager.getTheme();
|
|
53
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
54
|
+
const status = options.status
|
|
55
|
+
? options.status.split(',').map((s) => s.trim())
|
|
56
|
+
: undefined;
|
|
57
|
+
let records = backlog.list({ status, sortByPriority: true });
|
|
58
|
+
// Default view hides resolved noise unless a status filter or --all is given.
|
|
59
|
+
if (!status && !options.all) {
|
|
60
|
+
records = records.filter((d) => d.status !== 'closed' && d.status !== 'wont_fix');
|
|
61
|
+
}
|
|
62
|
+
if (options.json) {
|
|
63
|
+
console.log(JSON.stringify(records, null, 2));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (records.length === 0) {
|
|
67
|
+
console.log(theme.colors.muted(' Backlog empty (no matching deficiencies).'));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
console.log();
|
|
71
|
+
console.log(theme.colors.muted(` ${records.length} deficiency(ies) · .cortex/research-backlog.jsonl · sorted by priority`));
|
|
72
|
+
console.log(theme.colors.muted(' PRIORITY STATUS ID SEVERITY TITLE'));
|
|
73
|
+
for (const d of records)
|
|
74
|
+
console.log(row(theme, d));
|
|
75
|
+
console.log();
|
|
76
|
+
}
|
|
77
|
+
export async function autoResearchBacklogShow(id, options) {
|
|
78
|
+
const theme = ThemeManager.getTheme();
|
|
79
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
80
|
+
const d = backlog.get(id);
|
|
81
|
+
if (!d) {
|
|
82
|
+
console.error(theme.colors.error(` No deficiency with id '${id}'.`));
|
|
83
|
+
process.exitCode = 1;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (options.json) {
|
|
87
|
+
console.log(JSON.stringify(d, null, 2));
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
console.log();
|
|
91
|
+
console.log(` ${theme.colors.highlight(d.id)} ${statusColored(theme, d.status)} priority ${theme.colors.highlight(String(d.priorityScore))}`);
|
|
92
|
+
console.log(` ${theme.colors.highlight(d.title)}`);
|
|
93
|
+
console.log();
|
|
94
|
+
console.log(theme.colors.muted(` class `) + d.bugClass);
|
|
95
|
+
console.log(theme.colors.muted(` triage `) + `severity=${d.severity} impact=${d.impact} effort=${d.effort} confidence=${d.confidence}`);
|
|
96
|
+
if (d.experimentTag)
|
|
97
|
+
console.log(theme.colors.muted(` experiment `) + d.experimentTag);
|
|
98
|
+
if (d.fixedRef)
|
|
99
|
+
console.log(theme.colors.muted(` fixed@ `) + d.fixedRef);
|
|
100
|
+
if (d.verifiedRound)
|
|
101
|
+
console.log(theme.colors.muted(` verified@ `) + d.verifiedRound);
|
|
102
|
+
if (d.affectedModels?.length)
|
|
103
|
+
console.log(theme.colors.muted(` models `) + d.affectedModels.join(', '));
|
|
104
|
+
if (d.discoveredRound)
|
|
105
|
+
console.log(theme.colors.muted(` found `) + `round ${d.discoveredRound}${d.discoveredRef ? ` @ ${d.discoveredRef}` : ''}`);
|
|
106
|
+
console.log(theme.colors.muted(` created `) + d.createdAt + theme.colors.muted(` updated `) + d.updatedAt);
|
|
107
|
+
console.log();
|
|
108
|
+
console.log(d.description);
|
|
109
|
+
if (d.notes) {
|
|
110
|
+
console.log();
|
|
111
|
+
console.log(theme.colors.muted(' notes: ') + d.notes);
|
|
112
|
+
}
|
|
113
|
+
console.log();
|
|
114
|
+
}
|
|
115
|
+
export async function autoResearchBacklogNext(options) {
|
|
116
|
+
const theme = ThemeManager.getTheme();
|
|
117
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
118
|
+
const d = backlog.next();
|
|
119
|
+
if (!d) {
|
|
120
|
+
if (options.json) {
|
|
121
|
+
console.log('null');
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log(theme.colors.muted(' Backlog dry — no workable (open/triaged) deficiency.'));
|
|
125
|
+
}
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
await autoResearchBacklogShow(d.id, options);
|
|
129
|
+
}
|
|
130
|
+
export async function autoResearchBacklogResolve(id, options) {
|
|
131
|
+
const theme = ThemeManager.getTheme();
|
|
132
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
133
|
+
const existing = backlog.get(id);
|
|
134
|
+
if (!existing) {
|
|
135
|
+
console.error(theme.colors.error(` No deficiency with id '${id}'.`));
|
|
136
|
+
process.exitCode = 1;
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
let updated;
|
|
140
|
+
if (options.wontFix !== undefined)
|
|
141
|
+
updated = backlog.wontFix(id, options.wontFix || 'manually marked wont_fix');
|
|
142
|
+
else if (options.close)
|
|
143
|
+
updated = backlog.close(id);
|
|
144
|
+
else if (options.fixed !== undefined)
|
|
145
|
+
updated = backlog.markFixed(id, options.fixed || 'manual');
|
|
146
|
+
else
|
|
147
|
+
updated = backlog.markVerified(id, options.round || 'manual'); // default: mark verified (PM keep)
|
|
148
|
+
if (!updated) {
|
|
149
|
+
console.error(theme.colors.error(` Failed to update '${id}'.`));
|
|
150
|
+
process.exitCode = 1;
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (options.json) {
|
|
154
|
+
console.log(JSON.stringify(updated, null, 2));
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
console.log(` ${theme.colors.success('updated')} ${theme.colors.highlight(updated.id)} → ${statusColored(theme, updated.status).trim()}`);
|
|
158
|
+
}
|
|
159
|
+
function ttlMs(opts) {
|
|
160
|
+
const mins = opts.ttl ? Number(opts.ttl) : 15;
|
|
161
|
+
return (Number.isFinite(mins) && mins > 0 ? mins : 15) * 60 * 1000;
|
|
162
|
+
}
|
|
163
|
+
export async function autoResearchBacklogClaim(id, options) {
|
|
164
|
+
const theme = ThemeManager.getTheme();
|
|
165
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
166
|
+
const owner = options.owner || `cli-${process.pid}`;
|
|
167
|
+
const claimed = backlog.claim(id, owner, ttlMs(options));
|
|
168
|
+
if (!claimed) {
|
|
169
|
+
console.error(theme.colors.error(` Could not claim '${id}' — missing, resolved, or held by another worker.`));
|
|
170
|
+
process.exitCode = 1;
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (options.json) {
|
|
174
|
+
console.log(JSON.stringify(claimed, null, 2));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
console.log(` ${theme.colors.success('claimed')} ${theme.colors.highlight(claimed.id)} by ${owner} · lease → ${claimed.leaseExpiresAt}`);
|
|
178
|
+
}
|
|
179
|
+
export async function autoResearchBacklogClaimNext(options) {
|
|
180
|
+
const theme = ThemeManager.getTheme();
|
|
181
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
182
|
+
const owner = options.owner || `cli-${process.pid}`;
|
|
183
|
+
const claimed = backlog.claimNext(owner, ttlMs(options));
|
|
184
|
+
if (!claimed) {
|
|
185
|
+
if (options.json)
|
|
186
|
+
console.log('null');
|
|
187
|
+
else
|
|
188
|
+
console.log(theme.colors.muted(' No unclaimed workable deficiency to claim.'));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (options.json) {
|
|
192
|
+
console.log(JSON.stringify(claimed, null, 2));
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
console.log(` ${theme.colors.success('claimed')} ${theme.colors.highlight(claimed.id)} by ${owner} · lease → ${claimed.leaseExpiresAt}`);
|
|
196
|
+
await autoResearchBacklogShow(claimed.id, {});
|
|
197
|
+
}
|
|
198
|
+
export async function autoResearchBacklogRelease(id, options) {
|
|
199
|
+
const theme = ThemeManager.getTheme();
|
|
200
|
+
const backlog = new ResearchBacklog(resolveRoot(options));
|
|
201
|
+
if (options.expired || !id) {
|
|
202
|
+
const released = backlog.releaseExpired();
|
|
203
|
+
if (options.json) {
|
|
204
|
+
console.log(JSON.stringify(released, null, 2));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
console.log(` ${theme.colors.success('released')} ${released.length} expired lease(s)${released.length ? ': ' + released.map((r) => r.id).join(', ') : ''}`);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const rel = backlog.release(id, options.owner);
|
|
211
|
+
if (!rel) {
|
|
212
|
+
console.error(theme.colors.error(` Could not release '${id}' (not found or not owned by ${options.owner}).`));
|
|
213
|
+
process.exitCode = 1;
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
if (options.json) {
|
|
217
|
+
console.log(JSON.stringify(rel, null, 2));
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
console.log(` ${theme.colors.success('released')} ${theme.colors.highlight(rel.id)} → ${statusColored(theme, rel.status).trim()}`);
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=backlog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../../src/commands/autoresearch/backlog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiment.d.ts","sourceRoot":"","sources":["../../../src/commands/autoresearch/experiment.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;yEAEqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;oFAEgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkBD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"experiment.d.ts","sourceRoot":"","sources":["../../../src/commands/autoresearch/experiment.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;yEAEqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;oFAEgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkBD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+HlG"}
|
|
@@ -159,10 +159,13 @@ export async function autoResearchExperiment(options) {
|
|
|
159
159
|
console.log();
|
|
160
160
|
}
|
|
161
161
|
catch (error) {
|
|
162
|
+
// AUTORESEARCH_DEBUG=1 includes the stack — a swallowed stack turns a one-line fix
|
|
163
|
+
// into a bisection hunt when an arm reports only "Cannot read properties of undefined".
|
|
164
|
+
const debug = process.env.AUTORESEARCH_DEBUG === '1';
|
|
162
165
|
if (json)
|
|
163
|
-
console.log(JSON.stringify({ error: error.message }, null, 2));
|
|
166
|
+
console.log(JSON.stringify({ error: error.message, ...(debug ? { stack: error.stack } : {}) }, null, 2));
|
|
164
167
|
else
|
|
165
|
-
console.error(theme.colors.error(`Error: ${error.message}`));
|
|
168
|
+
console.error(theme.colors.error(`Error: ${error.message}${debug ? `\n${error.stack}` : ''}`));
|
|
166
169
|
process.exitCode = 1;
|
|
167
170
|
}
|
|
168
171
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiment.js","sourceRoot":"","sources":["../../../src/commands/autoresearch/experiment.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"experiment.js","sourceRoot":"","sources":["../../../src/commands/autoresearch/experiment.ts"],"names":[],"mappings":"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"}
|