lastlight-evals 0.3.0 → 0.5.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/README.md +117 -8
- package/dashboard/dist/assets/index-DbWEwzO3.css +1 -0
- package/dashboard/dist/assets/index-GvQi4Peq.js +264 -0
- package/dashboard/dist/index.html +2 -2
- package/datasets/pr-review/README.md +58 -0
- package/datasets/pr-review/martian-leaderboard.json +5785 -0
- package/datasets/pr-review/tier.json +5 -0
- package/dist/add-case.js +295 -31
- package/dist/add-case.js.map +1 -1
- package/dist/clean.js +127 -0
- package/dist/clean.js.map +1 -0
- package/dist/discovery.js +10 -4
- package/dist/discovery.js.map +1 -1
- package/dist/fake-github.js +187 -6
- package/dist/fake-github.js.map +1 -1
- package/dist/grade.js +266 -2
- package/dist/grade.js.map +1 -1
- package/dist/judge.js +145 -0
- package/dist/judge.js.map +1 -0
- package/dist/mechanism.test.js +350 -2
- package/dist/mechanism.test.js.map +1 -1
- package/dist/report.js +157 -10
- package/dist/report.js.map +1 -1
- package/dist/run-instance.js +192 -25
- package/dist/run-instance.js.map +1 -1
- package/dist/run.js +216 -38
- package/dist/run.js.map +1 -1
- package/dist/sandbox-preflight.js +107 -0
- package/dist/sandbox-preflight.js.map +1 -0
- package/dist/seed.js +195 -8
- package/dist/seed.js.map +1 -1
- package/dist/serve.js +2 -0
- package/dist/serve.js.map +1 -1
- package/models.json +1 -0
- package/package.json +2 -2
- package/dashboard/dist/assets/index-YwScAAxm.js +0 -238
- package/dashboard/dist/assets/index-uU9Sj3M4.css +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pr-review",
|
|
3
|
+
"defaultWorkflow": "pr-review",
|
|
4
|
+
"description": "PR review precision — the posted review scored against a gold set via LLM judge (precision/recall/F0.5). Import cases with `scripts/import-martian.ts` (Martian Code Review Bench). Heavy: clones real repos + calls a judge model."
|
|
5
|
+
}
|
package/dist/add-case.js
CHANGED
|
@@ -26,24 +26,40 @@ import { tmpdir } from "node:os";
|
|
|
26
26
|
import { join, resolve } from "node:path";
|
|
27
27
|
import chalk from "chalk";
|
|
28
28
|
import { ensureRepoCache } from "./seed.js";
|
|
29
|
-
const ADD_CASE_USAGE = `lastlight-evals add-case --pr <url> | --issue <url> [options]
|
|
29
|
+
const ADD_CASE_USAGE = `lastlight-evals add-case --pr <url> --review|--code-fix | --issue <url> [options]
|
|
30
30
|
|
|
31
|
-
Scaffold an eval instance from a real GitHub PR (code-fix) or issue (triage).
|
|
31
|
+
Scaffold an eval instance from a real GitHub PR (pr-review / code-fix) or issue (triage).
|
|
32
|
+
|
|
33
|
+
A PR can seed two different evals, so --pr requires a kind:
|
|
34
|
+
--pr <url> --review PR-review case: the human review is the gold set (pr-review tier)
|
|
35
|
+
--pr <url> --code-fix Code-fix case: hide the fix, the agent must reproduce it (build)
|
|
36
|
+
--issue <url> Triage case (issue-triage)
|
|
32
37
|
|
|
33
38
|
Options:
|
|
34
|
-
--pr <url> GitHub PR url
|
|
39
|
+
--pr <url> GitHub PR url (pick --review or --code-fix)
|
|
40
|
+
--review With --pr → a pr-review case (gold = the PR's human review)
|
|
41
|
+
--code-fix With --pr → a code-fix (build) case
|
|
35
42
|
--issue <url> GitHub issue url → a triage case
|
|
36
|
-
--tier <name> Target tier dir (default: code-fix for --pr, triage for --issue)
|
|
43
|
+
--tier <name> Target tier dir (default: pr-review/code-fix for --pr, triage for --issue)
|
|
37
44
|
--id <slug> instance_id (default: derived from repo + number)
|
|
38
45
|
--datasets <dir> Datasets root to write into (a <tier>/ subdir)
|
|
39
46
|
--overlay <dir> Write into <dir>/evals/datasets instead
|
|
40
|
-
--
|
|
41
|
-
|
|
42
|
-
--
|
|
47
|
+
--severity <level> (--review) default severity for candidate gold comments
|
|
48
|
+
(low|medium|high|critical; default medium — refine after).
|
|
49
|
+
--include-bots (--review) keep review comments from bots (default: skipped)
|
|
50
|
+
--test-cmd "<cmd>" (--code-fix) Held-out test command (default: node --test). Stored as test_cmd.
|
|
51
|
+
--setup-cmd "<cmd>" (--code-fix) Install/build run before tests (e.g. "npm ci"). Stored as setup_cmd.
|
|
52
|
+
--hold-out (--code-fix) SWE-bench style: hold the PR's test files out of the
|
|
53
|
+
agent's repo and apply them only at grade time, scored by named
|
|
54
|
+
FAIL_TO_PASS. Default is SUITE mode — grade on the repo's own
|
|
55
|
+
test_cmd run against the agent's final tree (nothing held out).
|
|
56
|
+
--pass-list (--code-fix, hold-out only) Enumerate every green test in PASS_TO_PASS.
|
|
57
|
+
Default is PASS_TO_PASS=["*"] (the whole suite must stay green).
|
|
58
|
+
--no-validate (--code-fix) Don't run the repo's tests to validate the case (just scaffold)
|
|
43
59
|
--dry-run Print the proposed instance JSON; don't write
|
|
44
60
|
-h, --help Show this help
|
|
45
61
|
|
|
46
|
-
|
|
62
|
+
--code-fix runs the repo's tests/setup (real code) — only use trusted repos.`;
|
|
47
63
|
// ── small shells ────────────────────────────────────────────────────────────
|
|
48
64
|
function sh(bin, args, cwd) {
|
|
49
65
|
return execFileSync(bin, args, { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "pipe"], maxBuffer: 64 * 1024 * 1024 });
|
|
@@ -82,6 +98,17 @@ function parseRepoFromUrl(url) {
|
|
|
82
98
|
function slugify(s) {
|
|
83
99
|
return s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60);
|
|
84
100
|
}
|
|
101
|
+
/** The `prreview__<slug>-<n>` id slug — case-preserving, keeps `_`/`-`. Matches
|
|
102
|
+
* `scripts/import-martian.ts`'s `slug` so authored + imported ids are identical. */
|
|
103
|
+
function reviewSlug(s) {
|
|
104
|
+
return s.replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60);
|
|
105
|
+
}
|
|
106
|
+
/** Trim to n chars with an ellipsis marker (port of import-martian's `truncate`,
|
|
107
|
+
* so `pr.body`/gold descriptions match the imported dataset's bounds). */
|
|
108
|
+
function truncate(s, n) {
|
|
109
|
+
const t = (s ?? "").trim();
|
|
110
|
+
return t.length > n ? t.slice(0, n) + "\n\n[…truncated]" : t;
|
|
111
|
+
}
|
|
85
112
|
const TEST_PATH = /(^|\/)(tests?|__tests__|spec)\/|[._-](test|spec)\.[a-z0-9]+$/i;
|
|
86
113
|
function isTestPath(p) {
|
|
87
114
|
return TEST_PATH.test(p);
|
|
@@ -124,6 +151,22 @@ function writeInstance(root, tier, defaultWorkflow, inst) {
|
|
|
124
151
|
writeFileSync(instancesPath, JSON.stringify(arr, null, 2) + "\n");
|
|
125
152
|
return instancesPath;
|
|
126
153
|
}
|
|
154
|
+
/** Fetch a linked closing issue's title/body. `gh pr view`'s
|
|
155
|
+
* `closingIssuesReferences` omits them (it returns only number/url/id/repository),
|
|
156
|
+
* so a bare interpolation of `linked.title`/`linked.body` would yield the literal
|
|
157
|
+
* string "undefined". Returns undefined if the issue can't be read (private/gone),
|
|
158
|
+
* letting the caller fall back to the PR's own title/body. */
|
|
159
|
+
function fetchLinkedIssue(repo, number) {
|
|
160
|
+
try {
|
|
161
|
+
const iss = ghJson([
|
|
162
|
+
"issue", "view", String(number), "--repo", repo, "--json", "number,title,body",
|
|
163
|
+
]);
|
|
164
|
+
return { number: iss.number, title: iss.title, body: iss.body ?? "" };
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return undefined;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
127
170
|
async function fromPr(url, o) {
|
|
128
171
|
const { owner, name } = parseRepoFromUrl(url);
|
|
129
172
|
const repo = `${owner}/${name}`;
|
|
@@ -139,32 +182,64 @@ async function fromPr(url, o) {
|
|
|
139
182
|
const head = pr.headRefOid || sh("git", ["rev-parse", headRef], mirror).trim();
|
|
140
183
|
// Make sure the base branch is present (default mirror has refs/heads/*).
|
|
141
184
|
const base = sh("git", ["merge-base", `refs/heads/${pr.baseRefName}`, head], mirror).trim();
|
|
142
|
-
//
|
|
185
|
+
// The non-test code change is the gold patch (reference only) in both modes.
|
|
143
186
|
const changed = sh("git", ["diff", "--name-only", base, head], mirror).split("\n").map((s) => s.trim()).filter(Boolean);
|
|
144
187
|
const testFiles = changed.filter(isTestPath);
|
|
145
188
|
const codeFiles = changed.filter((f) => !isTestPath(f));
|
|
146
|
-
const testPatch = testFiles.length ? sh("git", ["diff", base, head, "--", ...testFiles], mirror) : "";
|
|
147
189
|
const goldPatch = codeFiles.length ? sh("git", ["diff", base, head, "--", ...codeFiles], mirror) : "";
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
190
|
+
// Grading fields differ by mode:
|
|
191
|
+
// - default (suite): nothing held out — grade on the repo's own `test_cmd`
|
|
192
|
+
// run against the agent's final tree (resolved iff it exits 0).
|
|
193
|
+
// - `--hold-out`: SWE-bench — the PR's test files are held out and applied
|
|
194
|
+
// only at grade time, scored by named FAIL_TO_PASS / PASS_TO_PASS.
|
|
195
|
+
let gradeFields = {};
|
|
196
|
+
if (o.holdOut) {
|
|
197
|
+
const testPatch = testFiles.length ? sh("git", ["diff", base, head, "--", ...testFiles], mirror) : "";
|
|
198
|
+
if (!testFiles.length) {
|
|
199
|
+
console.log(chalk.yellow("⚠ --hold-out but no test files detected in the PR diff — set test_patch by hand or rely on --test-cmd."));
|
|
200
|
+
}
|
|
201
|
+
let failToPass = [];
|
|
202
|
+
let passToPass = ["*"];
|
|
203
|
+
if (o.validate) {
|
|
204
|
+
const verdicts = validate({ mirror, base, head, testPatch, testCmd: o.testCmd, setupCmd: o.setupCmd });
|
|
205
|
+
failToPass = verdicts.failToPass;
|
|
206
|
+
if (o.passList)
|
|
207
|
+
passToPass = verdicts.passToPass;
|
|
208
|
+
if (verdicts.note)
|
|
209
|
+
console.log(chalk.yellow(`⚠ ${verdicts.note}`));
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
console.log(chalk.dim("Skipping validation (--no-validate) — FAIL_TO_PASS left empty."));
|
|
213
|
+
}
|
|
214
|
+
console.log(chalk.dim(o.passList ? "PASS_TO_PASS enumerated." : 'PASS_TO_PASS = ["*"] (whole suite must stay green; --pass-list to enumerate).'));
|
|
215
|
+
gradeFields = {
|
|
216
|
+
hold_out_tests: true,
|
|
217
|
+
...(testPatch ? { test_patch: testPatch } : {}),
|
|
218
|
+
FAIL_TO_PASS: failToPass,
|
|
219
|
+
PASS_TO_PASS: passToPass,
|
|
220
|
+
};
|
|
162
221
|
}
|
|
163
222
|
else {
|
|
164
|
-
console.log(chalk.dim("
|
|
223
|
+
console.log(chalk.dim("Suite mode (default): grade on the repo's own test_cmd at the agent's final tree — nothing held out. (--hold-out for SWE-bench style.)"));
|
|
224
|
+
if (o.validate) {
|
|
225
|
+
const probe = probeSuite({ mirror, base, head, testCmd: o.testCmd, setupCmd: o.setupCmd });
|
|
226
|
+
if (probe.headGreen)
|
|
227
|
+
console.log(chalk.dim("✓ Reference suite passes at head."));
|
|
228
|
+
else
|
|
229
|
+
console.log(chalk.yellow("⚠ The reference solution's suite did NOT pass at head (test_cmd exit ≠ 0) — check --test-cmd / --setup-cmd; the case may be ungradeable."));
|
|
230
|
+
if (probe.baseGreen) {
|
|
231
|
+
console.log(chalk.yellow("⚠ The suite is ALREADY green at base — a no-op solution would resolve this case. Consider --hold-out, or a case whose failing test already exists at base."));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// No test_patch / FAIL_TO_PASS / PASS_TO_PASS — pure suite-exit-code grading.
|
|
165
235
|
}
|
|
166
236
|
// Issue fixture: the linked issue if the PR closes one, else the PR itself.
|
|
167
|
-
|
|
237
|
+
// `closingIssuesReferences` carries only the issue number, so fetch title/body.
|
|
238
|
+
const linkedRef = pr.closingIssuesReferences?.[0];
|
|
239
|
+
const linked = linkedRef ? fetchLinkedIssue(repo, linkedRef.number) : undefined;
|
|
240
|
+
if (linkedRef && !linked) {
|
|
241
|
+
console.log(chalk.yellow(`⚠ PR closes #${linkedRef.number} but its title/body couldn't be read — falling back to the PR's own title/body.`));
|
|
242
|
+
}
|
|
168
243
|
const issueNumber = linked?.number ?? pr.number;
|
|
169
244
|
const issue = {
|
|
170
245
|
number: issueNumber,
|
|
@@ -182,9 +257,7 @@ async function fromPr(url, o) {
|
|
|
182
257
|
head_commit: head,
|
|
183
258
|
problem_statement: linked ? `${linked.title}\n\n${linked.body ?? ""}`.trim() : `${pr.title}\n\n${pr.body ?? ""}`.trim(),
|
|
184
259
|
...(goldPatch ? { patch: goldPatch } : {}),
|
|
185
|
-
...
|
|
186
|
-
FAIL_TO_PASS: failToPass,
|
|
187
|
-
PASS_TO_PASS: passToPass,
|
|
260
|
+
...gradeFields,
|
|
188
261
|
...(o.testCmd ? { test_cmd: o.testCmd } : {}),
|
|
189
262
|
...(o.setupCmd ? { setup_cmd: o.setupCmd } : {}),
|
|
190
263
|
issue,
|
|
@@ -192,6 +265,130 @@ async function fromPr(url, o) {
|
|
|
192
265
|
};
|
|
193
266
|
return emit(inst, "code-fix", "build", o);
|
|
194
267
|
}
|
|
268
|
+
/** Approve/LGTM/empty-class noise we don't want as gold findings. */
|
|
269
|
+
const NOISE = /^\s*(lgtm|looks good(?: to me)?|approved?|ship it|\+1|👍|:\+1:|nit)?\s*[.!]?\s*$/i;
|
|
270
|
+
function isNoise(body) {
|
|
271
|
+
return NOISE.test((body ?? "").trim());
|
|
272
|
+
}
|
|
273
|
+
const BOT_LOGIN = /\[bot\]$|^(coderabbitai|github-actions|dependabot|codecov|sonarcloud|renovate|greptile)/i;
|
|
274
|
+
function isBot(user) {
|
|
275
|
+
return user?.type === "Bot" || BOT_LOGIN.test(user?.login ?? "");
|
|
276
|
+
}
|
|
277
|
+
/** Build candidate `review_gold` from the PR's human review — inline comments
|
|
278
|
+
* (the substance) + substantive top-level review bodies. Skips reply threads,
|
|
279
|
+
* approve/LGTM noise, and (unless --include-bots) bot comments; keeps outdated
|
|
280
|
+
* comments (via `original_line`) but flags them for the curator. Dedups by
|
|
281
|
+
* file + the comment's first 120 chars. */
|
|
282
|
+
function candidateGold(comments, reviews, o) {
|
|
283
|
+
const sev = o.severity ?? "medium";
|
|
284
|
+
const out = [];
|
|
285
|
+
const seen = new Set();
|
|
286
|
+
const push = (c) => {
|
|
287
|
+
const key = `${c.file ?? ""}::${c.description.slice(0, 120)}`;
|
|
288
|
+
if (seen.has(key))
|
|
289
|
+
return;
|
|
290
|
+
seen.add(key);
|
|
291
|
+
out.push(c);
|
|
292
|
+
};
|
|
293
|
+
for (const c of comments) {
|
|
294
|
+
if (c.in_reply_to_id != null)
|
|
295
|
+
continue; // keep only thread roots
|
|
296
|
+
const bot = isBot(c.user);
|
|
297
|
+
if (bot && !o.includeBots)
|
|
298
|
+
continue;
|
|
299
|
+
const body = (c.body ?? "").trim();
|
|
300
|
+
if (!body || isNoise(body))
|
|
301
|
+
continue;
|
|
302
|
+
const outdated = c.line == null && c.original_line != null;
|
|
303
|
+
const line = c.line ?? c.original_line ?? undefined;
|
|
304
|
+
push({
|
|
305
|
+
...(c.path ? { file: c.path } : {}),
|
|
306
|
+
...(line != null ? { line } : {}),
|
|
307
|
+
severity: sev,
|
|
308
|
+
description: truncate(body, 2000),
|
|
309
|
+
who: c.user?.login ?? "?",
|
|
310
|
+
outdated,
|
|
311
|
+
bot,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
for (const r of reviews ?? []) {
|
|
315
|
+
if ((r.state ?? "").toUpperCase() === "APPROVED")
|
|
316
|
+
continue; // approve summaries aren't findings
|
|
317
|
+
const bot = isBot(r.author);
|
|
318
|
+
if (bot && !o.includeBots)
|
|
319
|
+
continue;
|
|
320
|
+
const body = (r.body ?? "").trim();
|
|
321
|
+
if (!body || isNoise(body))
|
|
322
|
+
continue;
|
|
323
|
+
push({ severity: sev, description: truncate(body, 2000), who: r.author?.login ?? "?", outdated: false, bot });
|
|
324
|
+
}
|
|
325
|
+
return out;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Author a `pr-review` case from a real PR: the PR's human review is the gold
|
|
329
|
+
* set. Pure metadata extraction — no clone/worktree/test run (there's nothing to
|
|
330
|
+
* validate). Byte-compatible with `scripts/import-martian.ts`: the `pr` seed uses
|
|
331
|
+
* `baseRefOid`/`headRefOid` (not a merge-base) and the id uses `reviewSlug`.
|
|
332
|
+
*
|
|
333
|
+
* Anti-spoil: the review goes ONLY into `review_gold`. We never populate
|
|
334
|
+
* `pr.reviews`/`pr.review_comments` — the fake GitHub would serve those to the
|
|
335
|
+
* agent (see `seedWorkspacePrReview`), handing it the answer.
|
|
336
|
+
*/
|
|
337
|
+
async function fromPrReview(url, o) {
|
|
338
|
+
const { owner, name, number } = parseRepoFromUrl(url);
|
|
339
|
+
const repo = `${owner}/${name}`;
|
|
340
|
+
console.log(chalk.dim(`Resolving PR ${repo}#${number} (pr-review)…`));
|
|
341
|
+
const view = ghJson([
|
|
342
|
+
"pr", "view", url,
|
|
343
|
+
"--json", "number,title,body,baseRefName,headRefName,baseRefOid,headRefOid,author,reviews",
|
|
344
|
+
]);
|
|
345
|
+
const pr = {
|
|
346
|
+
number: view.number ?? number,
|
|
347
|
+
title: view.title ?? "",
|
|
348
|
+
body: truncate(view.body, 6000),
|
|
349
|
+
base_ref: view.baseRefName,
|
|
350
|
+
head_ref: view.headRefName,
|
|
351
|
+
base_commit: view.baseRefOid,
|
|
352
|
+
head_commit: view.headRefOid,
|
|
353
|
+
user: view.author?.login,
|
|
354
|
+
};
|
|
355
|
+
const comments = ghJson([
|
|
356
|
+
"api", "--paginate", `repos/${owner}/${name}/pulls/${pr.number}/comments`,
|
|
357
|
+
]);
|
|
358
|
+
const candidates = candidateGold(comments, view.reviews, o);
|
|
359
|
+
// Evidence block — the raw review signal the skill/human turns into curated
|
|
360
|
+
// review_gold (assign severity, prune bot/nit/outdated noise). Mirrors the
|
|
361
|
+
// triage evidence block.
|
|
362
|
+
console.log(chalk.bold(`\n# PR-review evidence for ${repo}#${pr.number}`));
|
|
363
|
+
if (candidates.length) {
|
|
364
|
+
console.log(chalk.dim(`\nCandidate review_gold (${candidates.length}) — refine severity + prune non-actionable:`));
|
|
365
|
+
for (const c of candidates) {
|
|
366
|
+
const loc = c.file ? `${c.file}${c.line != null ? `:${c.line}` : ""}` : "(summary)";
|
|
367
|
+
const tags = [c.outdated ? "outdated" : "", c.bot ? "bot" : ""].filter(Boolean).join(",");
|
|
368
|
+
const first = c.description.split("\n")[0].slice(0, 100);
|
|
369
|
+
console.log(` ${chalk.cyan(c.who)} · ${loc} ${chalk.dim(`[${c.severity}]`)} ${first}${tags ? chalk.yellow(` (${tags})`) : ""}`);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
console.log(chalk.yellow("\n⚠ No usable human review comments — review_gold is EMPTY. Author it by hand from the PR diff " +
|
|
374
|
+
"before running, or the case can't be judged."));
|
|
375
|
+
}
|
|
376
|
+
console.log(chalk.yellow("\n⚠ Severity is a default guess (GitHub comments carry none) — set it per real impact, and drop " +
|
|
377
|
+
"comments that aren't concrete findings, before running."));
|
|
378
|
+
// Strip the evidence-only fields to leave clean GoldComment entries.
|
|
379
|
+
const review_gold = candidates.map(({ who, outdated, bot, ...g }) => g);
|
|
380
|
+
const id = o.id ?? `prreview__${reviewSlug(name)}-${pr.number}`;
|
|
381
|
+
const inst = {
|
|
382
|
+
instance_id: id,
|
|
383
|
+
repo,
|
|
384
|
+
workflow: "pr-review",
|
|
385
|
+
problem_statement: pr.title,
|
|
386
|
+
pr,
|
|
387
|
+
review_gold,
|
|
388
|
+
expect_github: { review_submitted: {} },
|
|
389
|
+
};
|
|
390
|
+
return emit(inst, "pr-review", "pr-review", o);
|
|
391
|
+
}
|
|
195
392
|
/** Run the held-out tests at base (red) and head (green); diff TAP to verdicts. */
|
|
196
393
|
function validate(opts) {
|
|
197
394
|
const tmp = mkdtempSync(join(tmpdir(), "ll-addcase-"));
|
|
@@ -228,7 +425,8 @@ function validate(opts) {
|
|
|
228
425
|
failToPass: [],
|
|
229
426
|
passToPass: [],
|
|
230
427
|
note: headRun.ok
|
|
231
|
-
? "No TAP test names parsed — case will use suite mode (graded on the test command's exit code)."
|
|
428
|
+
? "No TAP test names parsed — case will use suite mode (graded on the test command's exit code). " +
|
|
429
|
+
"For per-test FAIL_TO_PASS grading, point --test-cmd at a TAP-emitting runner (e.g. \"npx vitest run --reporter=tap\", \"npx mocha --reporter tap\")."
|
|
232
430
|
: "Tests did not pass at head and emitted no TAP — check the test command / setup; case left in suite mode.",
|
|
233
431
|
};
|
|
234
432
|
}
|
|
@@ -260,6 +458,39 @@ function validate(opts) {
|
|
|
260
458
|
rmSync(tmp, { recursive: true, force: true });
|
|
261
459
|
}
|
|
262
460
|
}
|
|
461
|
+
/** Suite-mode sanity probe: run the repo's own `test_cmd` at base and head. A
|
|
462
|
+
* green head means the reference solution's suite passes (case is gradeable); a
|
|
463
|
+
* green base means a no-op would already resolve it (the author should reconsider). */
|
|
464
|
+
function probeSuite(opts) {
|
|
465
|
+
const tmp = mkdtempSync(join(tmpdir(), "ll-addcase-suite-"));
|
|
466
|
+
const wt = join(tmp, "wt");
|
|
467
|
+
console.log(chalk.dim("Probing the repo suite at base and head…"));
|
|
468
|
+
try {
|
|
469
|
+
sh("git", ["worktree", "add", "--quiet", "--detach", wt, opts.base], opts.mirror);
|
|
470
|
+
const run = () => {
|
|
471
|
+
if (opts.setupCmd)
|
|
472
|
+
runCmd(opts.setupCmd, wt);
|
|
473
|
+
const argv = opts.testCmd ?? defaultTestArgv(wt);
|
|
474
|
+
return runCmd(argv, wt).ok;
|
|
475
|
+
};
|
|
476
|
+
const baseGreen = run();
|
|
477
|
+
sh("git", ["checkout", "--quiet", "--force", opts.head], wt);
|
|
478
|
+
const headGreen = run();
|
|
479
|
+
return { baseGreen, headGreen };
|
|
480
|
+
}
|
|
481
|
+
catch {
|
|
482
|
+
return { baseGreen: false, headGreen: false };
|
|
483
|
+
}
|
|
484
|
+
finally {
|
|
485
|
+
try {
|
|
486
|
+
sh("git", ["worktree", "remove", "--force", wt], opts.mirror);
|
|
487
|
+
}
|
|
488
|
+
catch {
|
|
489
|
+
/* best effort */
|
|
490
|
+
}
|
|
491
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
492
|
+
}
|
|
493
|
+
}
|
|
263
494
|
function defaultTestArgv(dir) {
|
|
264
495
|
const files = listTestFiles(dir);
|
|
265
496
|
return [process.execPath, "--test", "--test-reporter=tap", "--experimental-strip-types", ...files];
|
|
@@ -401,13 +632,24 @@ export async function runAddCase(args = []) {
|
|
|
401
632
|
};
|
|
402
633
|
const pr = val("--pr");
|
|
403
634
|
const issue = val("--issue");
|
|
635
|
+
const severityArg = val("--severity");
|
|
636
|
+
if (severityArg && !["low", "medium", "high", "critical"].includes(severityArg)) {
|
|
637
|
+
console.error(`add-case: --severity must be one of low|medium|high|critical (got "${severityArg}").`);
|
|
638
|
+
return 2;
|
|
639
|
+
}
|
|
404
640
|
const o = {
|
|
405
641
|
tier: val("--tier"),
|
|
406
642
|
id: val("--id"),
|
|
407
643
|
datasets: val("--datasets"),
|
|
408
644
|
overlay: val("--overlay"),
|
|
645
|
+
review: args.includes("--review"),
|
|
646
|
+
codeFix: args.includes("--code-fix"),
|
|
647
|
+
severity: severityArg,
|
|
648
|
+
includeBots: args.includes("--include-bots"),
|
|
409
649
|
testCmd: parseCmd(val("--test-cmd")),
|
|
410
650
|
setupCmd: parseCmd(val("--setup-cmd")),
|
|
651
|
+
holdOut: args.includes("--hold-out"),
|
|
652
|
+
passList: args.includes("--pass-list"),
|
|
411
653
|
validate: !args.includes("--no-validate"),
|
|
412
654
|
dryRun: args.includes("--dry-run"),
|
|
413
655
|
};
|
|
@@ -416,6 +658,26 @@ export async function runAddCase(args = []) {
|
|
|
416
658
|
console.error(ADD_CASE_USAGE);
|
|
417
659
|
return 2;
|
|
418
660
|
}
|
|
661
|
+
// A PR seeds two different evals (pr-review vs code-fix) — require an explicit
|
|
662
|
+
// kind so an old `--pr`-only command fails loudly, never silently emitting the
|
|
663
|
+
// wrong case type.
|
|
664
|
+
if (pr) {
|
|
665
|
+
if (o.review && o.codeFix) {
|
|
666
|
+
console.error("add-case: pass only one of --review or --code-fix with --pr.\n");
|
|
667
|
+
console.error(ADD_CASE_USAGE);
|
|
668
|
+
return 2;
|
|
669
|
+
}
|
|
670
|
+
if (!o.review && !o.codeFix) {
|
|
671
|
+
console.error("add-case: --pr needs a kind — pass --review (pr-review) or --code-fix (build).\n");
|
|
672
|
+
console.error(ADD_CASE_USAGE);
|
|
673
|
+
return 2;
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
if (issue && (o.review || o.codeFix)) {
|
|
677
|
+
console.error("add-case: --review / --code-fix apply to --pr, not --issue.\n");
|
|
678
|
+
console.error(ADD_CASE_USAGE);
|
|
679
|
+
return 2;
|
|
680
|
+
}
|
|
419
681
|
// `gh` is required for PR/issue metadata — check presence AND auth up front so
|
|
420
682
|
// a missing/unauthenticated setup fails cleanly before any work, rather than
|
|
421
683
|
// partway through with a raw "Command failed" from the first API call.
|
|
@@ -434,7 +696,9 @@ export async function runAddCase(args = []) {
|
|
|
434
696
|
return 2;
|
|
435
697
|
}
|
|
436
698
|
try {
|
|
437
|
-
|
|
699
|
+
if (pr)
|
|
700
|
+
return o.review ? await fromPrReview(pr, o) : await fromPr(pr, o);
|
|
701
|
+
return await fromIssue(issue, o);
|
|
438
702
|
}
|
|
439
703
|
catch (err) {
|
|
440
704
|
console.error(chalk.red(`add-case failed: ${err.message}`));
|
package/dist/add-case.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-case.js","sourceRoot":"","sources":["../src/add-case.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add-case.js","sourceRoot":"","sources":["../src/add-case.ts"],"names":[],"mappings":"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"}
|