@claude-flow/cli 3.11.0 → 3.12.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/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +175 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/eject.d.ts +33 -0
- package/dist/src/commands/eject.d.ts.map +1 -0
- package/dist/src/commands/eject.js +195 -0
- package/dist/src/commands/eject.js.map +1 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +2 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +4 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +3 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/metaharness.d.ts +39 -0
- package/dist/src/commands/metaharness.d.ts.map +1 -0
- package/dist/src/commands/metaharness.js +194 -0
- package/dist/src/commands/metaharness.js.map +1 -0
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +4 -0
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +1 -0
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +2 -0
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/metaharness-tools.d.ts +31 -0
- package/dist/src/mcp-tools/metaharness-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/metaharness-tools.js +372 -0
- package/dist/src/mcp-tools/metaharness-tools.js.map +1 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +3 -0
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/types.d.ts +6 -1
- package/dist/src/plugins/store/types.d.ts.map +1 -1
- package/dist/src/ruvector/model-router.d.ts.map +1 -1
- package/dist/src/ruvector/model-router.js +37 -0
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/router-parallel-recorder.d.ts +127 -0
- package/dist/src/ruvector/router-parallel-recorder.d.ts.map +1 -0
- package/dist/src/ruvector/router-parallel-recorder.js +183 -0
- package/dist/src/ruvector/router-parallel-recorder.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -9
- package/dist/src/benchmarks/capability-tasks.d.ts +0 -126
- package/dist/src/benchmarks/capability-tasks.d.ts.map +0 -1
- package/dist/src/benchmarks/capability-tasks.js +0 -147
- package/dist/src/benchmarks/capability-tasks.js.map +0 -1
- package/dist/src/benchmarks/gaia-agent-contrastive.d.ts +0 -53
- package/dist/src/benchmarks/gaia-agent-contrastive.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-agent-contrastive.js +0 -177
- package/dist/src/benchmarks/gaia-agent-contrastive.js.map +0 -1
- package/dist/src/benchmarks/gaia-agent-gemini.d.ts +0 -51
- package/dist/src/benchmarks/gaia-agent-gemini.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-agent-gemini.js +0 -352
- package/dist/src/benchmarks/gaia-agent-gemini.js.map +0 -1
- package/dist/src/benchmarks/gaia-claude-p.d.ts +0 -105
- package/dist/src/benchmarks/gaia-claude-p.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-claude-p.js +0 -269
- package/dist/src/benchmarks/gaia-claude-p.js.map +0 -1
- package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts +0 -20
- package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-claude-p.smoke.js +0 -168
- package/dist/src/benchmarks/gaia-claude-p.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-codeagent-runner.py +0 -556
- package/dist/src/benchmarks/gaia-codeagent.d.ts +0 -129
- package/dist/src/benchmarks/gaia-codeagent.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-codeagent.js +0 -590
- package/dist/src/benchmarks/gaia-codeagent.js.map +0 -1
- package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts +0 -33
- package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-codeagent.smoke.js +0 -241
- package/dist/src/benchmarks/gaia-codeagent.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-dag-pilot.d.ts +0 -22
- package/dist/src/benchmarks/gaia-dag-pilot.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-dag-pilot.js +0 -158
- package/dist/src/benchmarks/gaia-dag-pilot.js.map +0 -1
- package/dist/src/benchmarks/gaia-dag.d.ts +0 -110
- package/dist/src/benchmarks/gaia-dag.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-dag.js +0 -658
- package/dist/src/benchmarks/gaia-dag.js.map +0 -1
- package/dist/src/benchmarks/gaia-dag.smoke.d.ts +0 -21
- package/dist/src/benchmarks/gaia-dag.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-dag.smoke.js +0 -290
- package/dist/src/benchmarks/gaia-dag.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts +0 -17
- package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-ensemble-pilot.js +0 -106
- package/dist/src/benchmarks/gaia-ensemble-pilot.js.map +0 -1
- package/dist/src/benchmarks/gaia-ensemble.d.ts +0 -103
- package/dist/src/benchmarks/gaia-ensemble.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-ensemble.js +0 -462
- package/dist/src/benchmarks/gaia-ensemble.js.map +0 -1
- package/dist/src/benchmarks/gaia-gemini-pilot.d.ts +0 -17
- package/dist/src/benchmarks/gaia-gemini-pilot.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-gemini-pilot.js +0 -168
- package/dist/src/benchmarks/gaia-gemini-pilot.js.map +0 -1
- package/dist/src/benchmarks/gaia-mode-router.d.ts +0 -67
- package/dist/src/benchmarks/gaia-mode-router.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-mode-router.js +0 -126
- package/dist/src/benchmarks/gaia-mode-router.js.map +0 -1
- package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts +0 -15
- package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-mode-router.smoke.js +0 -131
- package/dist/src/benchmarks/gaia-mode-router.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts +0 -24
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js +0 -276
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/image_describe.d.ts +0 -45
- package/dist/src/benchmarks/gaia-tools/image_describe.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/image_describe.js +0 -222
- package/dist/src/benchmarks/gaia-tools/image_describe.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts +0 -24
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js +0 -169
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts +0 -27
- package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/pdf_read.js +0 -226
- package/dist/src/benchmarks/gaia-tools/pdf_read.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/python_exec.d.ts +0 -31
- package/dist/src/benchmarks/gaia-tools/python_exec.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/python_exec.js +0 -94
- package/dist/src/benchmarks/gaia-tools/python_exec.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts +0 -13
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js +0 -98
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts +0 -52
- package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/visit_webpage.js +0 -304
- package/dist/src/benchmarks/gaia-tools/visit_webpage.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/web_browse.d.ts +0 -61
- package/dist/src/benchmarks/gaia-tools/web_browse.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/web_browse.js +0 -217
- package/dist/src/benchmarks/gaia-tools/web_browse.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts +0 -26
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js +0 -152
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts +0 -24
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.js +0 -311
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.js.map +0 -1
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts +0 -25
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts.map +0 -1
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.js +0 -304
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.js.map +0 -1
- package/dist/src/commands/performance-capability.d.ts +0 -30
- package/dist/src/commands/performance-capability.d.ts.map +0 -1
- package/dist/src/commands/performance-capability.js +0 -349
- package/dist/src/commands/performance-capability.js.map +0 -1
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GAIA CodeAgent Smoke Tests — ADR-138 iter 54 (FINAL design)
|
|
3
|
-
*
|
|
4
|
-
* 5 tests validating the CodeAgent harness end-to-end.
|
|
5
|
-
* Tests 1-4 are unit-level (no API calls). Test 5 uses 1 API call.
|
|
6
|
-
*
|
|
7
|
-
* Tests:
|
|
8
|
-
* T1: Code block extraction — parser correctness (no subprocess)
|
|
9
|
-
* T2: Python runner — simple math (subprocess, no API)
|
|
10
|
-
* T3: Python runner — file read via ATTACHMENT_PATH
|
|
11
|
-
* T4: Python runner — code error recovery (traceback returned as obs)
|
|
12
|
-
* T5: End-to-end — simple factual question (1 API call, ~$0.01)
|
|
13
|
-
*
|
|
14
|
-
* Pass criteria: 5/5. Gate before iter 55 5Q run.
|
|
15
|
-
*
|
|
16
|
-
* Run: npx tsx gaia-codeagent.smoke.ts
|
|
17
|
-
* or: node dist/src/benchmarks/gaia-codeagent.smoke.js
|
|
18
|
-
*
|
|
19
|
-
* Refs: ADR-138, #2156, iter 54
|
|
20
|
-
*/
|
|
21
|
-
// ---------------------------------------------------------------------------
|
|
22
|
-
// Imports
|
|
23
|
-
// ---------------------------------------------------------------------------
|
|
24
|
-
import * as fs from 'node:fs';
|
|
25
|
-
import * as os from 'node:os';
|
|
26
|
-
import * as path from 'node:path';
|
|
27
|
-
import { extractCodeBlock, runCodeAgentStep, runGaiaCodeAgent, } from './gaia-codeagent.js';
|
|
28
|
-
import { resolveAnthropicApiKey } from './gaia-agent.js';
|
|
29
|
-
function makeQ(overrides = {}) {
|
|
30
|
-
return {
|
|
31
|
-
task_id: 'smoke-test',
|
|
32
|
-
level: 1,
|
|
33
|
-
question: 'What is 2 + 2?',
|
|
34
|
-
final_answer: '4',
|
|
35
|
-
file_name: null,
|
|
36
|
-
file_path: null,
|
|
37
|
-
...overrides,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
// ---------------------------------------------------------------------------
|
|
41
|
-
// T1: Code block extraction (no subprocess, no API)
|
|
42
|
-
// ---------------------------------------------------------------------------
|
|
43
|
-
function testCodeBlockExtraction() {
|
|
44
|
-
const name = 'T1: Code block extraction';
|
|
45
|
-
const start = Date.now();
|
|
46
|
-
const cases = [
|
|
47
|
-
{ input: '```python\nprint(2+2)\n```', expected: 'print(2+2)' },
|
|
48
|
-
{ input: '```py\nresult = 42\n```', expected: 'result = 42' },
|
|
49
|
-
{ input: '```\nfinal_answer("test")\n```', expected: 'final_answer("test")' },
|
|
50
|
-
{ input: 'No code block here', expected: null },
|
|
51
|
-
{
|
|
52
|
-
input: 'Reasoning...\n```python\nweb_search("q")\nprint(r)\n```\nMore',
|
|
53
|
-
expected: 'web_search("q")\nprint(r)',
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
for (const { input, expected } of cases) {
|
|
57
|
-
const result = extractCodeBlock(input);
|
|
58
|
-
if (result !== expected) {
|
|
59
|
-
return {
|
|
60
|
-
name,
|
|
61
|
-
passed: false,
|
|
62
|
-
message: `Case "${input.slice(0, 40)}": got "${result}", expected "${expected}"`,
|
|
63
|
-
durationMs: Date.now() - start,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return { name, passed: true, message: `${cases.length}/5 cases passed`, durationMs: Date.now() - start };
|
|
68
|
-
}
|
|
69
|
-
// ---------------------------------------------------------------------------
|
|
70
|
-
// T2: Python runner — simple math (subprocess, no API)
|
|
71
|
-
// ---------------------------------------------------------------------------
|
|
72
|
-
function testPythonRunnerMath() {
|
|
73
|
-
const name = 'T2: Python runner — simple math';
|
|
74
|
-
const start = Date.now();
|
|
75
|
-
const apiKey = process.env.ANTHROPIC_API_KEY ?? 'test-key';
|
|
76
|
-
const code = `result = 2 + 2\nprint(result)\nfinal_answer(str(result))`;
|
|
77
|
-
const stepResult = runCodeAgentStep(code, null, 15_000, apiKey);
|
|
78
|
-
if (stepResult.finalAnswer !== '4') {
|
|
79
|
-
return {
|
|
80
|
-
name,
|
|
81
|
-
passed: false,
|
|
82
|
-
message: `Expected finalAnswer "4", got "${stepResult.finalAnswer ?? 'null'}". Obs: ${stepResult.observation.slice(0, 200)}`,
|
|
83
|
-
durationMs: Date.now() - start,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
return { name, passed: true, message: `finalAnswer="4" as expected`, durationMs: Date.now() - start };
|
|
87
|
-
}
|
|
88
|
-
// ---------------------------------------------------------------------------
|
|
89
|
-
// T3: Python runner — file read via ATTACHMENT_PATH
|
|
90
|
-
// ---------------------------------------------------------------------------
|
|
91
|
-
function testPythonRunnerFileRead() {
|
|
92
|
-
const name = 'T3: Python runner — file read';
|
|
93
|
-
const start = Date.now();
|
|
94
|
-
const tmpFile = path.join(os.tmpdir(), `gaia-smoke-${Date.now()}.txt`);
|
|
95
|
-
fs.writeFileSync(tmpFile, 'The magic number is forty-two (42).', 'utf-8');
|
|
96
|
-
try {
|
|
97
|
-
const apiKey = process.env.ANTHROPIC_API_KEY ?? 'test-key';
|
|
98
|
-
const code = `content = read_file(ATTACHMENT_PATH)\nprint("Read:", content[:80])\nfinal_answer("42")`;
|
|
99
|
-
const stepResult = runCodeAgentStep(code, tmpFile, 15_000, apiKey);
|
|
100
|
-
if (stepResult.finalAnswer !== '42') {
|
|
101
|
-
return {
|
|
102
|
-
name, passed: false,
|
|
103
|
-
message: `Expected finalAnswer "42", got "${stepResult.finalAnswer ?? 'null'}". Obs: ${stepResult.observation.slice(0, 200)}`,
|
|
104
|
-
durationMs: Date.now() - start,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
if (!stepResult.observation.includes('forty-two') && !stepResult.observation.includes('42')) {
|
|
108
|
-
return {
|
|
109
|
-
name, passed: false,
|
|
110
|
-
message: `File content not in observation. Obs: ${stepResult.observation.slice(0, 200)}`,
|
|
111
|
-
durationMs: Date.now() - start,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
return { name, passed: true, message: `File read OK, finalAnswer="42"`, durationMs: Date.now() - start };
|
|
115
|
-
}
|
|
116
|
-
finally {
|
|
117
|
-
try {
|
|
118
|
-
fs.unlinkSync(tmpFile);
|
|
119
|
-
}
|
|
120
|
-
catch { /* ignore */ }
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// ---------------------------------------------------------------------------
|
|
124
|
-
// T4: Python runner — code error recovery
|
|
125
|
-
// ---------------------------------------------------------------------------
|
|
126
|
-
function testPythonRunnerErrorRecovery() {
|
|
127
|
-
const name = 'T4: Python runner — error recovery';
|
|
128
|
-
const start = Date.now();
|
|
129
|
-
const apiKey = process.env.ANTHROPIC_API_KEY ?? 'test-key';
|
|
130
|
-
const badCode = `result = undefined_variable_xyz + 1\nprint(result)`;
|
|
131
|
-
const stepResult = runCodeAgentStep(badCode, null, 15_000, apiKey);
|
|
132
|
-
if (stepResult.finalAnswer !== null) {
|
|
133
|
-
return {
|
|
134
|
-
name, passed: false,
|
|
135
|
-
message: `Expected no finalAnswer from errored code, got "${stepResult.finalAnswer}"`,
|
|
136
|
-
durationMs: Date.now() - start,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
const obs = stepResult.observation.toLowerCase();
|
|
140
|
-
if (!obs.includes('error') && !obs.includes('nameerror')) {
|
|
141
|
-
return {
|
|
142
|
-
name, passed: false,
|
|
143
|
-
message: `Observation should contain error info, got: ${stepResult.observation.slice(0, 200)}`,
|
|
144
|
-
durationMs: Date.now() - start,
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
name, passed: true,
|
|
149
|
-
message: `Error returned as observation: "${stepResult.observation.slice(0, 60)}..."`,
|
|
150
|
-
durationMs: Date.now() - start,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
// ---------------------------------------------------------------------------
|
|
154
|
-
// T5: End-to-end — simple factual question (1 API call)
|
|
155
|
-
// ---------------------------------------------------------------------------
|
|
156
|
-
async function testEndToEndSimple() {
|
|
157
|
-
const name = 'T5: End-to-end — simple factual (1 API call)';
|
|
158
|
-
const start = Date.now();
|
|
159
|
-
let apiKey;
|
|
160
|
-
try {
|
|
161
|
-
apiKey = resolveAnthropicApiKey();
|
|
162
|
-
}
|
|
163
|
-
catch (err) {
|
|
164
|
-
return {
|
|
165
|
-
name, passed: false,
|
|
166
|
-
message: `No API key: ${String(err)}`,
|
|
167
|
-
durationMs: Date.now() - start,
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
const q = makeQ({
|
|
171
|
-
task_id: 'smoke-e2e-01',
|
|
172
|
-
question: 'What is 6 multiplied by 7? Answer as a number.',
|
|
173
|
-
final_answer: '42',
|
|
174
|
-
});
|
|
175
|
-
try {
|
|
176
|
-
const result = await runGaiaCodeAgent(q, {
|
|
177
|
-
model: 'claude-sonnet-4-6',
|
|
178
|
-
maxTurns: 5,
|
|
179
|
-
apiKey,
|
|
180
|
-
});
|
|
181
|
-
if (result.error && !result.finalAnswer) {
|
|
182
|
-
return { name, passed: false, message: `Agent error: ${result.error}`, durationMs: Date.now() - start };
|
|
183
|
-
}
|
|
184
|
-
if (result.finalAnswer === null) {
|
|
185
|
-
return { name, passed: false, message: `No final answer (timedOut=${result.timedOut})`, durationMs: Date.now() - start };
|
|
186
|
-
}
|
|
187
|
-
const num = parseFloat(result.finalAnswer.replace(/,/g, ''));
|
|
188
|
-
if (Math.abs(num - 42) > 0.01) {
|
|
189
|
-
return {
|
|
190
|
-
name, passed: false,
|
|
191
|
-
message: `Expected "42", got "${result.finalAnswer}" (turns=${result.turns})`,
|
|
192
|
-
durationMs: Date.now() - start,
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
const estCost = (result.totalInputTokens / 1e6) * 3.0 + (result.totalOutputTokens / 1e6) * 15.0;
|
|
196
|
-
return {
|
|
197
|
-
name, passed: true,
|
|
198
|
-
message: `finalAnswer="${result.finalAnswer}" turns=${result.turns} cost~=$${estCost.toFixed(4)}`,
|
|
199
|
-
durationMs: Date.now() - start,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
catch (err) {
|
|
203
|
-
return { name, passed: false, message: `Exception: ${String(err)}`, durationMs: Date.now() - start };
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
// ---------------------------------------------------------------------------
|
|
207
|
-
// Main
|
|
208
|
-
// ---------------------------------------------------------------------------
|
|
209
|
-
async function main() {
|
|
210
|
-
console.log('\n=== GAIA CodeAgent Smoke Tests (ADR-138 iter 54) ===\n');
|
|
211
|
-
const results = [
|
|
212
|
-
testCodeBlockExtraction(),
|
|
213
|
-
testPythonRunnerMath(),
|
|
214
|
-
testPythonRunnerFileRead(),
|
|
215
|
-
testPythonRunnerErrorRecovery(),
|
|
216
|
-
await testEndToEndSimple(),
|
|
217
|
-
];
|
|
218
|
-
let passed = 0;
|
|
219
|
-
for (const r of results) {
|
|
220
|
-
const status = r.passed ? 'PASS' : 'FAIL';
|
|
221
|
-
console.log(`[${status}] ${r.name} (${r.durationMs}ms)`);
|
|
222
|
-
console.log(` ${r.message}`);
|
|
223
|
-
if (r.passed)
|
|
224
|
-
passed++;
|
|
225
|
-
}
|
|
226
|
-
console.log(`\n=== ${passed}/${results.length} passed ===`);
|
|
227
|
-
if (passed === results.length) {
|
|
228
|
-
console.log('All smoke tests passed. CodeAgent harness ready for 1Q sanity check.\n');
|
|
229
|
-
process.exit(0);
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
console.log(`SMOKE FAILED — ${results.length - passed} test(s) failed.\n`);
|
|
233
|
-
process.exit(1);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
main().catch((err) => {
|
|
237
|
-
console.error('Smoke test crashed:', err);
|
|
238
|
-
process.exit(2);
|
|
239
|
-
});
|
|
240
|
-
export { testCodeBlockExtraction, testPythonRunnerMath, testPythonRunnerFileRead, testPythonRunnerErrorRecovery, testEndToEndSimple, };
|
|
241
|
-
//# sourceMappingURL=gaia-codeagent.smoke.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gaia-codeagent.smoke.js","sourceRoot":"","sources":["../../../src/benchmarks/gaia-codeagent.smoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GAIA DAG 5-Question Pilot Runner — iter 64
|
|
3
|
-
*
|
|
4
|
-
* Runs 5 specific GAIA L1 questions through the Co-Sight DAG harness
|
|
5
|
-
* and compares results against single-Sonnet baseline (from iter 63b).
|
|
6
|
-
*
|
|
7
|
-
* Pilot question mix (selected from iter 63b failures):
|
|
8
|
-
* 1. 5d0080cb — calculation (fish bag volume from academic paper, multi-hop)
|
|
9
|
-
* 2. cffe0e32 — reasoning puzzle (Secret Santa assignment chain)
|
|
10
|
-
* 3. ec09fa32 — riddle (game show, requires careful reasoning)
|
|
11
|
-
* 4. 46719c30 — retrieval (paper authors -> their other publications)
|
|
12
|
-
* 5. b816bfce — retrieval+reasoning (journal name from Norse mythology)
|
|
13
|
-
*
|
|
14
|
-
* Cost cap: $2.00
|
|
15
|
-
*
|
|
16
|
-
* Usage:
|
|
17
|
-
* node dist/src/benchmarks/gaia-dag-pilot.js
|
|
18
|
-
*
|
|
19
|
-
* Refs: ADR-139, iter 64, #2156
|
|
20
|
-
*/
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=gaia-dag-pilot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gaia-dag-pilot.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/gaia-dag-pilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GAIA DAG 5-Question Pilot Runner — iter 64
|
|
3
|
-
*
|
|
4
|
-
* Runs 5 specific GAIA L1 questions through the Co-Sight DAG harness
|
|
5
|
-
* and compares results against single-Sonnet baseline (from iter 63b).
|
|
6
|
-
*
|
|
7
|
-
* Pilot question mix (selected from iter 63b failures):
|
|
8
|
-
* 1. 5d0080cb — calculation (fish bag volume from academic paper, multi-hop)
|
|
9
|
-
* 2. cffe0e32 — reasoning puzzle (Secret Santa assignment chain)
|
|
10
|
-
* 3. ec09fa32 — riddle (game show, requires careful reasoning)
|
|
11
|
-
* 4. 46719c30 — retrieval (paper authors -> their other publications)
|
|
12
|
-
* 5. b816bfce — retrieval+reasoning (journal name from Norse mythology)
|
|
13
|
-
*
|
|
14
|
-
* Cost cap: $2.00
|
|
15
|
-
*
|
|
16
|
-
* Usage:
|
|
17
|
-
* node dist/src/benchmarks/gaia-dag-pilot.js
|
|
18
|
-
*
|
|
19
|
-
* Refs: ADR-139, iter 64, #2156
|
|
20
|
-
*/
|
|
21
|
-
import { loadGaia } from './gaia-loader.js';
|
|
22
|
-
import { runDagPilot } from './gaia-dag.js';
|
|
23
|
-
// ---------------------------------------------------------------------------
|
|
24
|
-
// Pilot question IDs (5 questions from iter 63b failures)
|
|
25
|
-
// ---------------------------------------------------------------------------
|
|
26
|
-
const PILOT_TASK_IDS = [
|
|
27
|
-
'5d0080cb-90d7-4712-bc33-848150e917d3', // calculation: fish bag volume
|
|
28
|
-
'cffe0e32-c9a6-4c52-9877-78ceb4aaa9fb', // reasoning: Secret Santa
|
|
29
|
-
'ec09fa32-d03f-4bf8-84b0-1f16922c3ae4', // riddle: game show bees
|
|
30
|
-
'46719c30-f4c3-4cad-be07-d5cb21eee6bb', // retrieval: paper authors + their work
|
|
31
|
-
'b816bfce-3d80-4913-a07d-69b752ce6377', // retrieval: journal from Norse mythology
|
|
32
|
-
];
|
|
33
|
-
// Baseline: single-Sonnet results from iter 63b
|
|
34
|
-
const BASELINE = {
|
|
35
|
-
'5d0080cb-90d7-4712-bc33-848150e917d3': { correct: false, answer: null },
|
|
36
|
-
'cffe0e32-c9a6-4c52-9877-78ceb4aaa9fb': { correct: false, answer: null },
|
|
37
|
-
'ec09fa32-d03f-4bf8-84b0-1f16922c3ae4': { correct: false, answer: null },
|
|
38
|
-
'46719c30-f4c3-4cad-be07-d5cb21eee6bb': { correct: false, answer: null },
|
|
39
|
-
'b816bfce-3d80-4913-a07d-69b752ce6377': { correct: false, answer: 'cuddly' }, // close but wrong
|
|
40
|
-
};
|
|
41
|
-
const COST_CAP_USD = 2.00;
|
|
42
|
-
async function main() {
|
|
43
|
-
console.log('\n=== GAIA DAG 5-Question Pilot (iter 64) ===\n');
|
|
44
|
-
console.log('Questions: 5 (from iter 63b failures)');
|
|
45
|
-
console.log(`Planner: ${process.env['PLAN_MODEL'] ?? 'claude-sonnet-4-6'}`);
|
|
46
|
-
console.log(`Actor: ${process.env['ACT_MODEL'] ?? 'gemini-2.5-pro'}`);
|
|
47
|
-
console.log(`Cost cap: $${COST_CAP_USD}\n`);
|
|
48
|
-
// Load full GAIA L1 dataset and filter to pilot questions
|
|
49
|
-
console.log('Loading GAIA L1 dataset...');
|
|
50
|
-
let allQuestions;
|
|
51
|
-
try {
|
|
52
|
-
allQuestions = await loadGaia({ level: 1 });
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
console.error('Failed to load GAIA dataset:', err instanceof Error ? err.message : String(err));
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
const pilotQuestions = PILOT_TASK_IDS.map((id) => {
|
|
59
|
-
const q = allQuestions.find((q) => q.task_id === id);
|
|
60
|
-
if (!q) {
|
|
61
|
-
console.warn(`WARNING: Question ${id} not found in dataset`);
|
|
62
|
-
}
|
|
63
|
-
return q;
|
|
64
|
-
}).filter(Boolean);
|
|
65
|
-
if (pilotQuestions.length === 0) {
|
|
66
|
-
console.error('No pilot questions found. Check HF token and dataset availability.');
|
|
67
|
-
process.exit(1);
|
|
68
|
-
}
|
|
69
|
-
console.log(`Loaded ${pilotQuestions.length} pilot questions\n`);
|
|
70
|
-
for (const q of pilotQuestions) {
|
|
71
|
-
console.log(` ${q.task_id.slice(0, 8)}: ${q.question.slice(0, 70)}...`);
|
|
72
|
-
console.log(` expected: "${q.final_answer}"`);
|
|
73
|
-
if (q.file_path)
|
|
74
|
-
console.log(` file: ${q.file_path}`);
|
|
75
|
-
}
|
|
76
|
-
console.log('');
|
|
77
|
-
// Run DAG pilot
|
|
78
|
-
const result = await runDagPilot(pilotQuestions, {});
|
|
79
|
-
// Check cost cap
|
|
80
|
-
if (result.totalCostUsd > COST_CAP_USD) {
|
|
81
|
-
console.warn(`\nWARNING: Cost $${result.totalCostUsd.toFixed(4)} exceeded cap $${COST_CAP_USD}\n`);
|
|
82
|
-
}
|
|
83
|
-
// Report results
|
|
84
|
-
console.log('\n=== DAG Pilot Results ===\n');
|
|
85
|
-
console.log(`Score: ${result.correct}/${result.total} (${(result.accuracy * 100).toFixed(1)}%)`);
|
|
86
|
-
console.log(`Avg steps/question: ${result.avgStepsPerQuestion.toFixed(1)}`);
|
|
87
|
-
console.log(`Total cost: $${result.totalCostUsd.toFixed(4)}`);
|
|
88
|
-
console.log(`Projected 53Q cost: $${result.projectedCost53Q.toFixed(2)}`);
|
|
89
|
-
console.log(`Mean wall time: ${(result.meanWallMs / 1000).toFixed(1)}s\n`);
|
|
90
|
-
console.log('Per-question breakdown:');
|
|
91
|
-
const baselineCorrect = Object.values(BASELINE).filter((b) => b.correct).length;
|
|
92
|
-
let dagBetter = 0;
|
|
93
|
-
let dagWorse = 0;
|
|
94
|
-
for (const q of result.perQuestion) {
|
|
95
|
-
const baseline = BASELINE[q.taskId];
|
|
96
|
-
const baselineResult = baseline?.correct ? 'PASS' : 'FAIL';
|
|
97
|
-
const dagResult = q.correct ? 'PASS' : 'FAIL';
|
|
98
|
-
const change = !baseline?.correct && q.correct ? ' (+RECOVERED)' :
|
|
99
|
-
baseline?.correct && !q.correct ? ' (-REGRESSED)' : '';
|
|
100
|
-
if (!baseline?.correct && q.correct)
|
|
101
|
-
dagBetter++;
|
|
102
|
-
if (baseline?.correct && !q.correct)
|
|
103
|
-
dagWorse++;
|
|
104
|
-
console.log(` ${dagResult} [was ${baselineResult}]${change} ${q.taskId.slice(0, 8)}: got="${q.got?.slice(0, 40) ?? 'null'}" expected="${q.expected.slice(0, 40)}"`);
|
|
105
|
-
console.log(` steps=${q.steps} (completed=${q.completedSteps}, blocked=${q.blockedSteps}) plannerCycles=${q.plannerCycles} cost=$${q.costUsd.toFixed(4)} wall=${(q.wallMs / 1000).toFixed(1)}s`);
|
|
106
|
-
}
|
|
107
|
-
console.log(`\nComparison vs single-Sonnet (iter 63b):`);
|
|
108
|
-
console.log(` Baseline: ${baselineCorrect}/5 (${(baselineCorrect * 20).toFixed(0)}%)`);
|
|
109
|
-
console.log(` DAG: ${result.correct}/5 (${(result.accuracy * 100).toFixed(1)}%)`);
|
|
110
|
-
console.log(` Recovered: ${dagBetter} questions (single-Sonnet failed, DAG solved)`);
|
|
111
|
-
console.log(` Regressed: ${dagWorse} questions (single-Sonnet passed, DAG failed)`);
|
|
112
|
-
console.log('\n=== Gate Verdict ===');
|
|
113
|
-
const multiStepExecuted = result.perQuestion.some((q) => q.steps > 1);
|
|
114
|
-
const avgSteps = result.avgStepsPerQuestion;
|
|
115
|
-
if (result.correct >= 4 && multiStepExecuted) {
|
|
116
|
-
console.log(`PROCEED to iter 65 full 53Q run.`);
|
|
117
|
-
console.log(` Reason: DAG ${result.correct}/5, avg ${avgSteps.toFixed(1)} steps/Q, multi-step plans executing.`);
|
|
118
|
-
}
|
|
119
|
-
else if (result.correct >= 3 && avgSteps >= 2) {
|
|
120
|
-
console.log(`PROCEED with CAUTION to iter 65 — diagnose blocking first.`);
|
|
121
|
-
console.log(` Reason: DAG ${result.correct}/5, avg ${avgSteps.toFixed(1)} steps/Q.`);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
console.log(`DIAGNOSE before iter 65.`);
|
|
125
|
-
console.log(` Reason: DAG ${result.correct}/5, avg ${avgSteps.toFixed(1)} steps/Q.`);
|
|
126
|
-
if (!multiStepExecuted) {
|
|
127
|
-
console.log(` Issue: Plans collapsed to single step — check planner prompt.`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// Write JSON result
|
|
131
|
-
const jsonOut = {
|
|
132
|
-
run_type: 'dag-5q-pilot',
|
|
133
|
-
iter: 64,
|
|
134
|
-
timestamp: new Date().toISOString(),
|
|
135
|
-
planModel: process.env['PLAN_MODEL'] ?? 'claude-sonnet-4-6',
|
|
136
|
-
actModel: process.env['ACT_MODEL'] ?? 'gemini-2.5-pro',
|
|
137
|
-
summary: {
|
|
138
|
-
total: result.total,
|
|
139
|
-
correct: result.correct,
|
|
140
|
-
accuracy: result.accuracy,
|
|
141
|
-
avgStepsPerQuestion: result.avgStepsPerQuestion,
|
|
142
|
-
totalCostUsd: result.totalCostUsd,
|
|
143
|
-
projectedCost53Q: result.projectedCost53Q,
|
|
144
|
-
meanWallMs: result.meanWallMs,
|
|
145
|
-
},
|
|
146
|
-
baseline: { correct: baselineCorrect, total: 5, source: 'iter-63b' },
|
|
147
|
-
perQuestion: result.perQuestion,
|
|
148
|
-
};
|
|
149
|
-
const outPath = `/Users/cohen/Projects/ruflo/docs/benchmarks/runs/gaia-l1-iter64-dag-5q-pilot.json`;
|
|
150
|
-
const fs = await import('node:fs');
|
|
151
|
-
fs.writeFileSync(outPath, JSON.stringify(jsonOut, null, 2));
|
|
152
|
-
console.log(`\nResults written to: ${outPath}\n`);
|
|
153
|
-
}
|
|
154
|
-
main().catch((err) => {
|
|
155
|
-
console.error('Pilot failed:', err);
|
|
156
|
-
process.exit(1);
|
|
157
|
-
});
|
|
158
|
-
//# sourceMappingURL=gaia-dag-pilot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gaia-dag-pilot.js","sourceRoot":"","sources":["../../../src/benchmarks/gaia-dag-pilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAG5D,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,MAAM,cAAc,GAAG;IACrB,sCAAsC,EAAE,+BAA+B;IACvE,sCAAsC,EAAE,0BAA0B;IAClE,sCAAsC,EAAE,yBAAyB;IACjE,sCAAsC,EAAE,wCAAwC;IAChF,sCAAsC,EAAE,0CAA0C;CACnF,CAAC;AAEF,gDAAgD;AAChD,MAAM,QAAQ,GAAgE;IAC5E,sCAAsC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IACxE,sCAAsC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IACxE,sCAAsC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IACxE,sCAAsC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IACxE,sCAAsC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,kBAAkB;CACjG,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,IAAI,CAAC,CAAC;IAE5C,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,IAAI,YAAY,CAAC;IACjB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/C,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAwB,CAAC;IAE1C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,UAAU,cAAc,CAAC,MAAM,oBAAoB,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,gBAAgB;IAChB,MAAM,MAAM,GAAmB,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAErE,iBAAiB;IACjB,IAAI,MAAM,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,YAAY,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE3E,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAChF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACnD,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS,EAAE,CAAC;QACjD,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,QAAQ,EAAE,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,SAAS,cAAc,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACrK,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,cAAc,aAAa,CAAC,CAAC,YAAY,mBAAmB,CAAC,CAAC,aAAa,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3M,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAe,eAAe,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,+CAA+C,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,+CAA+C,CAAC,CAAC;IAErF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAE5C,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC;IACpH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,mBAAmB;QAC3D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,gBAAgB;QACtD,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;QACpE,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;IAEF,MAAM,OAAO,GAAG,mFAAmF,CAAC;IACpG,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GAIA DAG Harness — Co-Sight Architecture Port (ADR-139 Addendum)
|
|
3
|
-
*
|
|
4
|
-
* Ports the ZTE-AICloud/Co-Sight DAG orchestration pattern (Apache 2.0,
|
|
5
|
-
* arXiv 2510.21557) into the ruflo GAIA harness.
|
|
6
|
-
*
|
|
7
|
-
* Architecture:
|
|
8
|
-
* 1. PLAN — Claude Sonnet 4.6 reads the question and emits a DAG of 3-7
|
|
9
|
-
* steps: {id, description, depends_on: [], suggested_tool}.
|
|
10
|
-
* Claude-aware prompt: "3-5 steps max, direct answer when clear."
|
|
11
|
-
* 2. EXECUTE — Loop while ready steps exist (deps satisfied).
|
|
12
|
-
* Run all ready steps in PARALLEL (Promise.all, cap ≤5).
|
|
13
|
-
* Each step = a Gemini 2.5 Pro actor with the full tool suite.
|
|
14
|
-
* Actor marks step completed/blocked + writes step_notes.
|
|
15
|
-
* Blocked steps trigger planner re_plan before next cycle.
|
|
16
|
-
* 3. FINALIZE — Planner reads all step_notes → produces final answer
|
|
17
|
-
* using T2 extraction cascade from gaia-agent.ts.
|
|
18
|
-
* 4. CAMV — Async credibility labeling per step (stubbed, iter 65).
|
|
19
|
-
*
|
|
20
|
-
* Role assignment (env-configurable):
|
|
21
|
-
* PLAN_MODEL = claude-sonnet-4-6 (default)
|
|
22
|
-
* ACT_MODEL = gemini-2.5-pro (default)
|
|
23
|
-
* VISION_MODEL = gemini-2.5-pro (default, same as act)
|
|
24
|
-
*
|
|
25
|
-
* CLI:
|
|
26
|
-
* gaia-bench run --mode=dag --model claude-sonnet-4-6
|
|
27
|
-
*
|
|
28
|
-
* Cost: planner ~$0.02/Q + actors ~$0.03/Q = ~$0.05/Q (vs single-Sonnet ~$0.075)
|
|
29
|
-
*
|
|
30
|
-
* Refs: ADR-139, github.com/ZTE-AICloud/Co-Sight, arXiv 2510.21557, #2156
|
|
31
|
-
*/
|
|
32
|
-
import { GaiaQuestion } from './gaia-loader.js';
|
|
33
|
-
import { GaiaToolCatalogue } from './gaia-tools/index.js';
|
|
34
|
-
export interface DagStep {
|
|
35
|
-
id: number;
|
|
36
|
-
description: string;
|
|
37
|
-
depends_on: number[];
|
|
38
|
-
suggested_tool?: string;
|
|
39
|
-
status: 'not_started' | 'in_progress' | 'completed' | 'blocked';
|
|
40
|
-
step_notes: string;
|
|
41
|
-
}
|
|
42
|
-
export interface DagPlan {
|
|
43
|
-
title: string;
|
|
44
|
-
question: string;
|
|
45
|
-
steps: DagStep[];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Get all steps whose dependencies are fully satisfied (completed).
|
|
49
|
-
* Mirrors Co-Sight's Plan.get_ready_steps().
|
|
50
|
-
*/
|
|
51
|
-
export declare function getReadySteps(plan: DagPlan): DagStep[];
|
|
52
|
-
export interface DagResult {
|
|
53
|
-
questionId: string;
|
|
54
|
-
finalAnswer: string | null;
|
|
55
|
-
normalisedAnswer: string;
|
|
56
|
-
plan: DagPlan;
|
|
57
|
-
totalSteps: number;
|
|
58
|
-
completedSteps: number;
|
|
59
|
-
blockedSteps: number;
|
|
60
|
-
plannerCycles: number;
|
|
61
|
-
totalInputTokens: number;
|
|
62
|
-
totalOutputTokens: number;
|
|
63
|
-
estimatedCostUsd: number;
|
|
64
|
-
wallMs: number;
|
|
65
|
-
timedOut?: boolean;
|
|
66
|
-
error?: string;
|
|
67
|
-
}
|
|
68
|
-
export interface DagOptions {
|
|
69
|
-
planModel?: string;
|
|
70
|
-
actModel?: string;
|
|
71
|
-
anthropicApiKey?: string;
|
|
72
|
-
geminiApiKey?: string;
|
|
73
|
-
catalogue?: GaiaToolCatalogue;
|
|
74
|
-
/** Disable CAMV stub (default: false — stub is always disabled in this iter). */
|
|
75
|
-
enableCamv?: boolean;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Run a GAIA question through the Co-Sight DAG harness.
|
|
79
|
-
*
|
|
80
|
-
* Steps:
|
|
81
|
-
* 1. Planner (Claude Sonnet) creates a DAG plan.
|
|
82
|
-
* 2. Execute loop: parallel actors (Gemini 2.5 Pro) run ready steps.
|
|
83
|
-
* 3. Blocked steps trigger replan (up to MAX_REPLAN_CYCLES).
|
|
84
|
-
* 4. Finalizer (Claude Sonnet) reads all step notes → final answer.
|
|
85
|
-
*/
|
|
86
|
-
export declare function runGaiaDAG(question: GaiaQuestion, options?: DagOptions): Promise<DagResult>;
|
|
87
|
-
export interface DagPilotResult {
|
|
88
|
-
correct: number;
|
|
89
|
-
total: number;
|
|
90
|
-
accuracy: number;
|
|
91
|
-
avgStepsPerQuestion: number;
|
|
92
|
-
perQuestion: Array<{
|
|
93
|
-
taskId: string;
|
|
94
|
-
question: string;
|
|
95
|
-
expected: string;
|
|
96
|
-
got: string | null;
|
|
97
|
-
correct: boolean;
|
|
98
|
-
steps: number;
|
|
99
|
-
completedSteps: number;
|
|
100
|
-
blockedSteps: number;
|
|
101
|
-
plannerCycles: number;
|
|
102
|
-
costUsd: number;
|
|
103
|
-
wallMs: number;
|
|
104
|
-
}>;
|
|
105
|
-
totalCostUsd: number;
|
|
106
|
-
projectedCost53Q: number;
|
|
107
|
-
meanWallMs: number;
|
|
108
|
-
}
|
|
109
|
-
export declare function runDagPilot(questions: GaiaQuestion[], options?: DagOptions): Promise<DagPilotResult>;
|
|
110
|
-
//# sourceMappingURL=gaia-dag.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gaia-dag.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/gaia-dag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,iBAAiB,EAKlB,MAAM,uBAAuB,CAAC;AAiD/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAQtD;AAygBD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CA6IpB;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CA6CzB"}
|