@bradtaylorsf/alpha-loop 1.4.1 → 1.4.3
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/README.md +122 -1
- package/dist/cli.js +43 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/eval.d.ts +59 -4
- package/dist/commands/eval.js +370 -55
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/evolve.d.ts +43 -4
- package/dist/commands/evolve.js +444 -66
- package/dist/commands/evolve.js.map +1 -1
- package/dist/lib/config.d.ts +20 -0
- package/dist/lib/config.js +55 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/eval-checks.d.ts +11 -1
- package/dist/lib/eval-checks.js +39 -0
- package/dist/lib/eval-checks.js.map +1 -1
- package/dist/lib/eval-fixtures.d.ts +55 -0
- package/dist/lib/eval-fixtures.js +172 -0
- package/dist/lib/eval-fixtures.js.map +1 -0
- package/dist/lib/eval-runner.d.ts +26 -2
- package/dist/lib/eval-runner.js +202 -17
- package/dist/lib/eval-runner.js.map +1 -1
- package/dist/lib/eval-skill-bridge.d.ts +53 -0
- package/dist/lib/eval-skill-bridge.js +121 -0
- package/dist/lib/eval-skill-bridge.js.map +1 -0
- package/dist/lib/eval-swebench.d.ts +68 -0
- package/dist/lib/eval-swebench.js +274 -0
- package/dist/lib/eval-swebench.js.map +1 -0
- package/dist/lib/eval.d.ts +9 -1
- package/dist/lib/eval.js +27 -7
- package/dist/lib/eval.js.map +1 -1
- package/dist/lib/prompts.js +1 -1
- package/dist/lib/prompts.js.map +1 -1
- package/dist/lib/score.d.ts +24 -2
- package/dist/lib/score.js +162 -3
- package/dist/lib/score.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/reviewer.md +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval-skill-bridge.js","sourceRoot":"","sources":["../../src/lib/eval-skill-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** Raw SWE-bench entry as provided by HuggingFace datasets. */
|
|
2
|
+
export type SwebenchEntry = {
|
|
3
|
+
instance_id: string;
|
|
4
|
+
repo: string;
|
|
5
|
+
base_commit: string;
|
|
6
|
+
problem_statement: string;
|
|
7
|
+
patch: string;
|
|
8
|
+
test_patch: string;
|
|
9
|
+
FAIL_TO_PASS: string;
|
|
10
|
+
PASS_TO_PASS: string;
|
|
11
|
+
version: string;
|
|
12
|
+
environment_setup_commit?: string;
|
|
13
|
+
};
|
|
14
|
+
/** Options for importing SWE-bench entries. */
|
|
15
|
+
export type ImportOptions = {
|
|
16
|
+
/** Path to a downloaded JSONL file. If not provided, auto-downloads. */
|
|
17
|
+
dataset?: string;
|
|
18
|
+
/** HuggingFace dataset ID (default: princeton-nlp/SWE-bench_Lite). */
|
|
19
|
+
datasetId?: string;
|
|
20
|
+
/** Maximum number of entries to import. */
|
|
21
|
+
count?: number;
|
|
22
|
+
/** Filter by repo (e.g. 'django/django'). */
|
|
23
|
+
repo?: string;
|
|
24
|
+
/** Import specific instance IDs (comma-separated). */
|
|
25
|
+
ids?: string;
|
|
26
|
+
/** Pipeline step to target (default: 'implement'). */
|
|
27
|
+
step?: string;
|
|
28
|
+
/** Project directory. */
|
|
29
|
+
projectDir?: string;
|
|
30
|
+
/** Eval directory override. */
|
|
31
|
+
evalDir?: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Download a SWE-bench dataset from HuggingFace and save as JSONL.
|
|
35
|
+
* Requires Python with the `datasets` library installed.
|
|
36
|
+
*/
|
|
37
|
+
export declare function downloadDataset(datasetId: string, outputPath: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Read a JSONL file and parse SWE-bench entries.
|
|
40
|
+
* Supports filtering by repo, instance IDs, and count.
|
|
41
|
+
*/
|
|
42
|
+
export declare function importFromJsonl(datasetPath: string, options?: Pick<ImportOptions, 'count' | 'repo' | 'ids'>): SwebenchEntry[];
|
|
43
|
+
/**
|
|
44
|
+
* Convert a SWE-bench entry into a directory-based eval case.
|
|
45
|
+
*
|
|
46
|
+
* Creates:
|
|
47
|
+
* .alpha-loop/evals/cases/e2e/swe-{sanitized-id}/
|
|
48
|
+
* ├── issue.md # From problem_statement
|
|
49
|
+
* ├── checks.yaml # FAIL_TO_PASS tests as acceptance criteria
|
|
50
|
+
* ├── metadata.yaml # repo, base_commit, instance_id, source: swe-bench
|
|
51
|
+
* └── reference.patch # The validated fix (for comparison, not shown to agent)
|
|
52
|
+
*
|
|
53
|
+
* Returns the path to the created case directory.
|
|
54
|
+
*/
|
|
55
|
+
export declare function convertToEvalCase(entry: SwebenchEntry, projectDir?: string, evalDirOverride?: string, step?: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Update eval config.yaml with SWE-bench repo base commits.
|
|
58
|
+
*/
|
|
59
|
+
export declare function updateEvalConfig(evalDirPath: string, entries: SwebenchEntry[]): void;
|
|
60
|
+
/**
|
|
61
|
+
* Run the full SWE-bench import pipeline.
|
|
62
|
+
* Returns the number of cases imported.
|
|
63
|
+
*/
|
|
64
|
+
export declare function importSwebench(options: ImportOptions): number;
|
|
65
|
+
/**
|
|
66
|
+
* List available SWE-bench cases that have been imported.
|
|
67
|
+
*/
|
|
68
|
+
export declare function listImportedSwebenchCases(projectDir?: string, evalDirOverride?: string): string[];
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SWE-bench Importer — download and convert SWE-bench entries to eval cases.
|
|
3
|
+
*
|
|
4
|
+
* SWE-bench provides real GitHub issues from real Python repos, frozen at the
|
|
5
|
+
* exact commit where the bug existed. Each entry includes a validated fix (patch)
|
|
6
|
+
* and tests that verify the fix (FAIL_TO_PASS).
|
|
7
|
+
*
|
|
8
|
+
* Supported datasets:
|
|
9
|
+
* - princeton-nlp/SWE-bench_Lite (300 curated issues)
|
|
10
|
+
* - princeton-nlp/SWE-bench_Verified (500 human-verified issues)
|
|
11
|
+
*/
|
|
12
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, rmSync } from 'node:fs';
|
|
13
|
+
import { join, basename } from 'node:path';
|
|
14
|
+
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
|
|
15
|
+
import { exec } from './shell.js';
|
|
16
|
+
import { log } from './logger.js';
|
|
17
|
+
import { evalsDir } from './eval.js';
|
|
18
|
+
import { loadEvalConfig } from './eval-fixtures.js';
|
|
19
|
+
/**
|
|
20
|
+
* Download a SWE-bench dataset from HuggingFace and save as JSONL.
|
|
21
|
+
* Requires Python with the `datasets` library installed.
|
|
22
|
+
*/
|
|
23
|
+
export function downloadDataset(datasetId, outputPath) {
|
|
24
|
+
const dir = join(outputPath, '..');
|
|
25
|
+
mkdirSync(dir, { recursive: true });
|
|
26
|
+
// Validate datasetId to prevent injection (must be owner/dataset format)
|
|
27
|
+
if (!/^[\w.-]+\/[\w._-]+$/.test(datasetId)) {
|
|
28
|
+
throw new Error(`Invalid dataset ID: ${datasetId}. Expected format: owner/dataset-name`);
|
|
29
|
+
}
|
|
30
|
+
// Use a temp Python script file instead of inline -c to avoid shell escaping issues
|
|
31
|
+
const scriptPath = join(dir, '_download_dataset.py');
|
|
32
|
+
const scriptContent = [
|
|
33
|
+
'import json, sys, os',
|
|
34
|
+
'from datasets import load_dataset',
|
|
35
|
+
`ds = load_dataset(${JSON.stringify(datasetId)}, split="test")`,
|
|
36
|
+
`output_path = ${JSON.stringify(outputPath)}`,
|
|
37
|
+
'with open(output_path, "w") as f:',
|
|
38
|
+
' for entry in ds:',
|
|
39
|
+
' f.write(json.dumps(entry) + "\\n")',
|
|
40
|
+
'print(f"Downloaded {len(ds)} entries to {output_path}")',
|
|
41
|
+
].join('\n');
|
|
42
|
+
writeFileSync(scriptPath, scriptContent);
|
|
43
|
+
log.info(`Downloading ${datasetId} from HuggingFace...`);
|
|
44
|
+
const result = exec(`python3 "${scriptPath}"`, { timeout: 300_000 });
|
|
45
|
+
// Clean up temp script
|
|
46
|
+
try {
|
|
47
|
+
rmSync(scriptPath);
|
|
48
|
+
}
|
|
49
|
+
catch { /* non-fatal */ }
|
|
50
|
+
if (result.exitCode !== 0) {
|
|
51
|
+
throw new Error(`Failed to download dataset. Ensure Python and 'datasets' are installed:\n` +
|
|
52
|
+
` pip install datasets\n\n${result.stderr}`);
|
|
53
|
+
}
|
|
54
|
+
log.info(result.stdout);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Read a JSONL file and parse SWE-bench entries.
|
|
58
|
+
* Supports filtering by repo, instance IDs, and count.
|
|
59
|
+
*/
|
|
60
|
+
export function importFromJsonl(datasetPath, options) {
|
|
61
|
+
if (!existsSync(datasetPath)) {
|
|
62
|
+
throw new Error(`Dataset file not found: ${datasetPath}`);
|
|
63
|
+
}
|
|
64
|
+
const content = readFileSync(datasetPath, 'utf-8');
|
|
65
|
+
const lines = content.trim().split('\n').filter(Boolean);
|
|
66
|
+
let entries = lines.map((line) => {
|
|
67
|
+
const parsed = JSON.parse(line);
|
|
68
|
+
return parsed;
|
|
69
|
+
});
|
|
70
|
+
// Filter by specific instance IDs
|
|
71
|
+
if (options?.ids) {
|
|
72
|
+
const idSet = new Set(options.ids.split(',').map((s) => s.trim()));
|
|
73
|
+
entries = entries.filter((e) => idSet.has(e.instance_id));
|
|
74
|
+
}
|
|
75
|
+
// Filter by repo
|
|
76
|
+
if (options?.repo) {
|
|
77
|
+
entries = entries.filter((e) => e.repo === options.repo);
|
|
78
|
+
}
|
|
79
|
+
// Limit count
|
|
80
|
+
if (options?.count && options.count > 0) {
|
|
81
|
+
entries = entries.slice(0, options.count);
|
|
82
|
+
}
|
|
83
|
+
return entries;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Convert a SWE-bench entry into a directory-based eval case.
|
|
87
|
+
*
|
|
88
|
+
* Creates:
|
|
89
|
+
* .alpha-loop/evals/cases/e2e/swe-{sanitized-id}/
|
|
90
|
+
* ├── issue.md # From problem_statement
|
|
91
|
+
* ├── checks.yaml # FAIL_TO_PASS tests as acceptance criteria
|
|
92
|
+
* ├── metadata.yaml # repo, base_commit, instance_id, source: swe-bench
|
|
93
|
+
* └── reference.patch # The validated fix (for comparison, not shown to agent)
|
|
94
|
+
*
|
|
95
|
+
* Returns the path to the created case directory.
|
|
96
|
+
*/
|
|
97
|
+
export function convertToEvalCase(entry, projectDir, evalDirOverride, step) {
|
|
98
|
+
const dir = evalsDir(projectDir, evalDirOverride);
|
|
99
|
+
const sanitizedId = entry.instance_id.replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
|
|
100
|
+
const caseId = `swe-${sanitizedId}`;
|
|
101
|
+
const targetStep = step ?? 'implement';
|
|
102
|
+
// e2e cases go under cases/e2e/
|
|
103
|
+
const casePath = join(dir, 'cases', 'e2e', caseId);
|
|
104
|
+
mkdirSync(casePath, { recursive: true });
|
|
105
|
+
// Parse FAIL_TO_PASS — it's a JSON string containing a list of test identifiers
|
|
106
|
+
let failToPass = [];
|
|
107
|
+
try {
|
|
108
|
+
failToPass = JSON.parse(entry.FAIL_TO_PASS);
|
|
109
|
+
if (!Array.isArray(failToPass))
|
|
110
|
+
failToPass = [String(entry.FAIL_TO_PASS)];
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
failToPass = entry.FAIL_TO_PASS ? [entry.FAIL_TO_PASS] : [];
|
|
114
|
+
}
|
|
115
|
+
// Parse PASS_TO_PASS
|
|
116
|
+
let passToPass = [];
|
|
117
|
+
try {
|
|
118
|
+
passToPass = JSON.parse(entry.PASS_TO_PASS);
|
|
119
|
+
if (!Array.isArray(passToPass))
|
|
120
|
+
passToPass = [];
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
passToPass = [];
|
|
124
|
+
}
|
|
125
|
+
// metadata.yaml
|
|
126
|
+
const metadata = stringifyYaml({
|
|
127
|
+
id: caseId,
|
|
128
|
+
description: `SWE-bench: ${entry.instance_id}`,
|
|
129
|
+
tags: ['swe-bench', entry.repo.replace('/', '-'), targetStep],
|
|
130
|
+
source: 'swe-bench',
|
|
131
|
+
swebench: {
|
|
132
|
+
instance_id: entry.instance_id,
|
|
133
|
+
repo: entry.repo,
|
|
134
|
+
base_commit: entry.base_commit,
|
|
135
|
+
version: entry.version || undefined,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
writeFileSync(join(casePath, 'metadata.yaml'), metadata);
|
|
139
|
+
// checks.yaml — FAIL_TO_PASS tests as test_pass checks
|
|
140
|
+
const checks = [];
|
|
141
|
+
// Primary check: the tests that must go from failing to passing
|
|
142
|
+
if (failToPass.length > 0) {
|
|
143
|
+
checks.push({
|
|
144
|
+
type: 'test_pass',
|
|
145
|
+
command: buildTestCommand(entry.repo, failToPass),
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// Keyword checks: ensure key test identifiers appear in output
|
|
149
|
+
if (failToPass.length > 0) {
|
|
150
|
+
checks.push({
|
|
151
|
+
type: 'keyword_present',
|
|
152
|
+
keywords: failToPass.slice(0, 5), // Limit to avoid overly long checks
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
const checksYaml = stringifyYaml({
|
|
156
|
+
type: 'full',
|
|
157
|
+
step: targetStep,
|
|
158
|
+
eval_method: 'checks',
|
|
159
|
+
status: 'ready',
|
|
160
|
+
repo: entry.repo,
|
|
161
|
+
fixture_ref: entry.base_commit,
|
|
162
|
+
fail_to_pass: failToPass,
|
|
163
|
+
pass_to_pass: passToPass.slice(0, 10), // Keep manageable
|
|
164
|
+
checks,
|
|
165
|
+
});
|
|
166
|
+
writeFileSync(join(casePath, 'checks.yaml'), checksYaml);
|
|
167
|
+
// issue.md — the problem statement
|
|
168
|
+
const title = extractTitle(entry.instance_id, entry.problem_statement);
|
|
169
|
+
const issueContent = `# ${title}\n\n${entry.problem_statement}\n`;
|
|
170
|
+
writeFileSync(join(casePath, 'issue.md'), issueContent);
|
|
171
|
+
// reference.patch — validated fix for comparison
|
|
172
|
+
if (entry.patch) {
|
|
173
|
+
writeFileSync(join(casePath, 'reference.patch'), entry.patch);
|
|
174
|
+
}
|
|
175
|
+
// test.patch — test changes for verification
|
|
176
|
+
if (entry.test_patch) {
|
|
177
|
+
writeFileSync(join(casePath, 'test.patch'), entry.test_patch);
|
|
178
|
+
}
|
|
179
|
+
return casePath;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Update eval config.yaml with SWE-bench repo base commits.
|
|
183
|
+
*/
|
|
184
|
+
export function updateEvalConfig(evalDirPath, entries) {
|
|
185
|
+
const config = loadEvalConfig(evalDirPath);
|
|
186
|
+
const repos = config.swebench_repos ?? {};
|
|
187
|
+
for (const entry of entries) {
|
|
188
|
+
if (!repos[entry.repo]) {
|
|
189
|
+
repos[entry.repo] = { base_commits: {} };
|
|
190
|
+
}
|
|
191
|
+
repos[entry.repo].base_commits[entry.instance_id] = entry.base_commit;
|
|
192
|
+
}
|
|
193
|
+
// Read existing config and update swebench_repos section
|
|
194
|
+
const configPath = join(evalDirPath, 'config.yaml');
|
|
195
|
+
let existing = {};
|
|
196
|
+
if (existsSync(configPath)) {
|
|
197
|
+
try {
|
|
198
|
+
existing = parseYaml(readFileSync(configPath, 'utf-8'));
|
|
199
|
+
}
|
|
200
|
+
catch { /* start fresh */ }
|
|
201
|
+
}
|
|
202
|
+
existing.swebench_repos = repos;
|
|
203
|
+
writeFileSync(configPath, stringifyYaml(existing));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Run the full SWE-bench import pipeline.
|
|
207
|
+
* Returns the number of cases imported.
|
|
208
|
+
*/
|
|
209
|
+
export function importSwebench(options) {
|
|
210
|
+
const projectDir = options.projectDir ?? process.cwd();
|
|
211
|
+
const evalDirPath = evalsDir(projectDir, options.evalDir);
|
|
212
|
+
// Determine dataset path
|
|
213
|
+
let datasetPath = options.dataset;
|
|
214
|
+
if (!datasetPath) {
|
|
215
|
+
const datasetId = options.datasetId ?? 'princeton-nlp/SWE-bench_Lite';
|
|
216
|
+
datasetPath = join(evalDirPath, 'datasets', `${datasetId.replace(/\//g, '_')}.jsonl`);
|
|
217
|
+
if (!existsSync(datasetPath)) {
|
|
218
|
+
downloadDataset(datasetId, datasetPath);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
log.info(`Using cached dataset: ${datasetPath}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Parse and filter entries
|
|
225
|
+
const entries = importFromJsonl(datasetPath, {
|
|
226
|
+
count: options.count,
|
|
227
|
+
repo: options.repo,
|
|
228
|
+
ids: options.ids,
|
|
229
|
+
});
|
|
230
|
+
if (entries.length === 0) {
|
|
231
|
+
log.warn('No matching SWE-bench entries found.');
|
|
232
|
+
return 0;
|
|
233
|
+
}
|
|
234
|
+
log.info(`Importing ${entries.length} SWE-bench case(s)...`);
|
|
235
|
+
// Convert each entry to an eval case
|
|
236
|
+
const created = [];
|
|
237
|
+
for (const entry of entries) {
|
|
238
|
+
const casePath = convertToEvalCase(entry, projectDir, options.evalDir, options.step);
|
|
239
|
+
created.push(casePath);
|
|
240
|
+
log.info(` Created: ${basename(casePath)}`);
|
|
241
|
+
}
|
|
242
|
+
// Update config.yaml with repo mappings
|
|
243
|
+
updateEvalConfig(evalDirPath, entries);
|
|
244
|
+
return created.length;
|
|
245
|
+
}
|
|
246
|
+
/** Extract a title from instance_id or first line of problem_statement. */
|
|
247
|
+
function extractTitle(instanceId, problemStatement) {
|
|
248
|
+
// Try to extract from first line of problem statement
|
|
249
|
+
const firstLine = problemStatement.split('\n')[0].trim();
|
|
250
|
+
if (firstLine && firstLine.length > 10 && firstLine.length < 200) {
|
|
251
|
+
return firstLine;
|
|
252
|
+
}
|
|
253
|
+
// Fall back to instance_id formatted as title
|
|
254
|
+
return instanceId.replace(/__/g, ': ').replace(/-/g, ' ');
|
|
255
|
+
}
|
|
256
|
+
/** Build a test command for a SWE-bench repo. */
|
|
257
|
+
function buildTestCommand(repo, tests) {
|
|
258
|
+
// Most SWE-bench repos are Python — use pytest
|
|
259
|
+
const testArgs = tests.slice(0, 3).join(' ');
|
|
260
|
+
return `python -m pytest ${testArgs}`;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* List available SWE-bench cases that have been imported.
|
|
264
|
+
*/
|
|
265
|
+
export function listImportedSwebenchCases(projectDir, evalDirOverride) {
|
|
266
|
+
const dir = evalsDir(projectDir, evalDirOverride);
|
|
267
|
+
const e2eDir = join(dir, 'cases', 'e2e');
|
|
268
|
+
if (!existsSync(e2eDir))
|
|
269
|
+
return [];
|
|
270
|
+
return readdirSync(e2eDir, { withFileTypes: true })
|
|
271
|
+
.filter((d) => d.isDirectory() && d.name.startsWith('swe-'))
|
|
272
|
+
.map((d) => d.name);
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=eval-swebench.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval-swebench.js","sourceRoot":"","sources":["../../src/lib/eval-swebench.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/eval.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { CheckDefinition } from './eval-checks.js';
|
|
|
4
4
|
/** Status of a captured eval case. */
|
|
5
5
|
export type CapturedCaseStatus = 'needs-annotation' | 'ready';
|
|
6
6
|
/** The pipeline step that a step-level eval targets. */
|
|
7
|
-
export type PipelineStep = 'plan' | 'implement' | 'test' | 'review' | 'verify';
|
|
7
|
+
export type PipelineStep = 'plan' | 'implement' | 'test' | 'review' | 'verify' | 'learn' | 'skill' | 'test-fix';
|
|
8
8
|
/** Expected outcome for an eval case. */
|
|
9
9
|
export type ExpectedOutcome = {
|
|
10
10
|
/** Should the pipeline succeed? */
|
|
@@ -61,6 +61,12 @@ export type EvalResult = {
|
|
|
61
61
|
retries: number;
|
|
62
62
|
duration: number;
|
|
63
63
|
error?: string;
|
|
64
|
+
/** Cost in USD for this case (from agent token usage). */
|
|
65
|
+
costUsd?: number;
|
|
66
|
+
/** Input tokens consumed by this case. */
|
|
67
|
+
inputTokens?: number;
|
|
68
|
+
/** Output tokens generated by this case. */
|
|
69
|
+
outputTokens?: number;
|
|
64
70
|
details: {
|
|
65
71
|
successMatch: boolean;
|
|
66
72
|
filesMatch: boolean;
|
|
@@ -74,6 +80,8 @@ export type EvalSuiteResult = {
|
|
|
74
80
|
cases: EvalResult[];
|
|
75
81
|
composite: number;
|
|
76
82
|
totalDuration: number;
|
|
83
|
+
/** Total cost in USD across all cases (from agent token usage). */
|
|
84
|
+
totalCost: number;
|
|
77
85
|
passCount: number;
|
|
78
86
|
failCount: number;
|
|
79
87
|
};
|
package/dist/lib/eval.js
CHANGED
|
@@ -97,13 +97,23 @@ export function loadEvalCaseDir(dirPath) {
|
|
|
97
97
|
const captureStatus = checksRaw.status === 'needs-annotation' ? 'needs-annotation'
|
|
98
98
|
: checksRaw.status === 'ready' ? 'ready'
|
|
99
99
|
: undefined;
|
|
100
|
+
// Resolve fixture repo — support SWE-bench metadata with nested swebench.repo
|
|
101
|
+
const swebench = metadata.swebench;
|
|
102
|
+
let fixtureRepo = String(checksRaw.repo ?? metadata.repo ?? '');
|
|
103
|
+
let fixtureRef = String(checksRaw.fixture_ref ?? metadata.fixture_ref ?? 'main');
|
|
104
|
+
if (swebench && typeof swebench === 'object') {
|
|
105
|
+
if (!fixtureRepo && swebench.repo)
|
|
106
|
+
fixtureRepo = String(swebench.repo);
|
|
107
|
+
if (fixtureRef === 'main' && swebench.base_commit)
|
|
108
|
+
fixtureRef = String(swebench.base_commit);
|
|
109
|
+
}
|
|
100
110
|
return {
|
|
101
111
|
id,
|
|
102
112
|
description: String(metadata.description ?? (issueTitle || id)),
|
|
103
113
|
type: evalType,
|
|
104
114
|
step: checksRaw.step ? String(checksRaw.step) : undefined,
|
|
105
|
-
fixtureRepo
|
|
106
|
-
fixtureRef
|
|
115
|
+
fixtureRepo,
|
|
116
|
+
fixtureRef,
|
|
107
117
|
issueTitle,
|
|
108
118
|
issueBody: issueBody || inputText || '',
|
|
109
119
|
expected: {
|
|
@@ -323,7 +333,7 @@ export function recordEvalResults(results, config, cost, projectDir) {
|
|
|
323
333
|
const passCount = results.filter((r) => r.passed).length;
|
|
324
334
|
const failCount = results.length - passCount;
|
|
325
335
|
const totalDuration = results.reduce((sum, r) => sum + r.duration, 0);
|
|
326
|
-
return { cases: results, composite, totalDuration, passCount, failCount };
|
|
336
|
+
return { cases: results, composite, totalDuration, totalCost: cost, passCount, failCount };
|
|
327
337
|
}
|
|
328
338
|
/**
|
|
329
339
|
* Format eval case for display.
|
|
@@ -493,15 +503,25 @@ export function annotateCapturedCase(casePath, annotation) {
|
|
|
493
503
|
}
|
|
494
504
|
}
|
|
495
505
|
}
|
|
506
|
+
/** Common stopwords to exclude from keyword extraction. */
|
|
507
|
+
const STOPWORDS = new Set([
|
|
508
|
+
'should', 'would', 'could', 'have', 'been', 'were', 'they', 'them',
|
|
509
|
+
'their', 'this', 'that', 'with', 'from', 'into', 'also', 'then',
|
|
510
|
+
'than', 'when', 'what', 'which', 'where', 'there', 'here', 'some',
|
|
511
|
+
'will', 'does', 'done', 'each', 'make', 'made', 'like', 'just',
|
|
512
|
+
'only', 'very', 'more', 'most', 'such', 'other', 'about', 'after',
|
|
513
|
+
'before', 'being', 'between', 'both', 'same', 'because', 'need',
|
|
514
|
+
'needs', 'instead', 'still', 'already',
|
|
515
|
+
]);
|
|
496
516
|
/**
|
|
497
517
|
* Extract meaningful keywords from annotation text for keyword_present checks.
|
|
518
|
+
* Filters common stopwords to produce higher-quality check terms.
|
|
498
519
|
*/
|
|
499
520
|
function extractKeywords(text) {
|
|
500
|
-
// Split on common delimiters and take meaningful words (>3 chars)
|
|
501
521
|
return text
|
|
502
|
-
.split(/[\s,;.!?]+/)
|
|
503
|
-
.
|
|
504
|
-
.
|
|
522
|
+
.split(/[\s,;.!?()[\]{}:]+/)
|
|
523
|
+
.map((w) => w.toLowerCase().replace(/[^a-z0-9_-]/g, ''))
|
|
524
|
+
.filter((w) => w.length > 3 && !STOPWORDS.has(w))
|
|
505
525
|
.slice(0, 5);
|
|
506
526
|
}
|
|
507
527
|
//# sourceMappingURL=eval.js.map
|
package/dist/lib/eval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/lib/eval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/lib/eval.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/prompts.js
CHANGED
|
@@ -46,7 +46,7 @@ export function buildReviewPrompt(options) {
|
|
|
46
46
|
if (visionContext) {
|
|
47
47
|
sections.push('', '', '## Product Vision (guide your review decisions)', visionContext);
|
|
48
48
|
}
|
|
49
|
-
sections.push('', '## Review Checklist', '', '### 1. Functional Completeness (MOST IMPORTANT)', '- Does the implementation FULLY address the issue requirements?', '- Are there any acceptance criteria that were NOT implemented?', '- If backend API endpoints were created, are they called from the frontend?', '- If frontend components were created, do they have working backend endpoints?', '- Are there any dead code paths (created but never wired in)?', '- Does the feature work end-to-end (data flows from UI → API → database → back to UI)?', '', '### 2. Integration Gaps', '- Are new routes/endpoints registered in the server entry point?', '- Are new components imported and rendered in the app?', '- Are new database tables/columns used by the API?', '- Are there missing imports, missing route registrations, or orphaned files?', '', '### 3. Code Quality', '- Security issues (injection, XSS, auth bypass)', '- Missing error handling for user-facing operations', '- Missing tests for new functionality', '- Code follows project conventions', '', '### 4. UX Review', '- Do UI changes match the target user profile?', '- Are error states handled (loading, empty, error)?', '- Is the feature discoverable (can users find it)?', '', '## Actions', '', 'For any issues you find:', `- CRITICAL (gaps, missing wiring, broken features): FIX THEM directly, run tests, commit with "fix: address review findings for #${issueNum}"`, '- WARNING (quality, security): FIX THEM directly if possible', '- INFO (suggestions, minor improvements): Note them in your report but don\'t block', '', `## Gate Result (REQUIRED)`, '', `After your review, write a JSON file to: review-issue-${issueNum}.json`, '', 'The file must contain ONLY valid JSON with this exact schema:', '', '{', ' "passed": true,', ' "summary": "One-line summary of review outcome",', ' "findings": [', ' {', ' "severity": "critical",', ' "description": "What the issue is",', ' "fixed": true,', ' "file": "path/to/affected/file.ts"', ' }', ' ]', '}', '', 'Rules:', '- passed: true if all critical/warning issues were fixed. false if any remain unfixed.', '- findings: list ALL issues found, with fixed=true for ones you fixed, fixed=false for ones you could not fix.', '- severity: "critical" for blockers, "warning" for should-fix, "info" for notes.', '- If you fixed everything and the code is clean, set passed=true with an empty findings array.', '- If there are unfixed critical/warning issues, set passed=false — the implementer will be sent back to fix them.');
|
|
49
|
+
sections.push('', '## Review Checklist', '', '### 1. Functional Completeness (MOST IMPORTANT)', '- Does the implementation FULLY address the issue requirements?', '- Are there any acceptance criteria that were NOT implemented?', '- If backend API endpoints were created, are they called from the frontend?', '- If frontend components were created, do they have working backend endpoints?', '- Are there any dead code paths (created but never wired in)?', '- Does the feature work end-to-end (data flows from UI → API → database → back to UI)?', '', '### 2. Integration Gaps', '- Are new routes/endpoints registered in the server entry point?', '- Are new components imported and rendered in the app?', '- Are new database tables/columns used by the API?', '- Are there missing imports, missing route registrations, or orphaned files?', '', '### 3. Code Quality', '- Security issues (injection, XSS, auth bypass)', '- Missing error handling for user-facing operations', '- Missing tests for new functionality', '- Code follows project conventions', '', '### 4. Documentation Sync', '- If CLI commands were added/changed: is README.md updated? CLAUDE.md? --help text in cli.ts?', '- If config options were added/changed: is README.md Configuration Reference updated?', '- If directory structure changed: is CLAUDE.md Directory Structure updated?', '- Never leave docs referencing commands, options, or paths that no longer exist.', '', '### 5. UX Review', '- Do UI changes match the target user profile?', '- Are error states handled (loading, empty, error)?', '- Is the feature discoverable (can users find it)?', '', '## Actions', '', 'For any issues you find:', `- CRITICAL (gaps, missing wiring, broken features): FIX THEM directly, run tests, commit with "fix: address review findings for #${issueNum}"`, '- WARNING (quality, security): FIX THEM directly if possible', '- INFO (suggestions, minor improvements): Note them in your report but don\'t block', '', `## Gate Result (REQUIRED)`, '', `After your review, write a JSON file to: review-issue-${issueNum}.json`, '', 'The file must contain ONLY valid JSON with this exact schema:', '', '{', ' "passed": true,', ' "summary": "One-line summary of review outcome",', ' "findings": [', ' {', ' "severity": "critical",', ' "description": "What the issue is",', ' "fixed": true,', ' "file": "path/to/affected/file.ts"', ' }', ' ]', '}', '', 'Rules:', '- passed: true if all critical/warning issues were fixed. false if any remain unfixed.', '- findings: list ALL issues found, with fixed=true for ones you fixed, fixed=false for ones you could not fix.', '- severity: "critical" for blockers, "warning" for should-fix, "info" for notes.', '- If you fixed everything and the code is clean, set passed=true with an empty findings array.', '- If there are unfixed critical/warning issues, set passed=false — the implementer will be sent back to fix them.');
|
|
50
50
|
return sections.join('\n');
|
|
51
51
|
}
|
|
52
52
|
/**
|
package/dist/lib/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
|