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,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fail-fast preflight for the `gondolin` execution sandbox.
|
|
3
|
+
*
|
|
4
|
+
* gondolin boots a QEMU micro-VM per task to isolate the agent's bash/file
|
|
5
|
+
* tools from the host. QEMU needs hardware acceleration, and its worst failure
|
|
6
|
+
* mode is a **silent hang** (upstream #51): without acceleration the guest CPU
|
|
7
|
+
* never finishes booting and the run wedges instead of erroring. So we probe the
|
|
8
|
+
* two documented traps up front and abort with actionable guidance rather than
|
|
9
|
+
* trusting the VM's "ready" signal:
|
|
10
|
+
*
|
|
11
|
+
* - **macOS** uses Apple's Hypervisor.framework (HVF) automatically — no
|
|
12
|
+
* `/dev/kvm`. The only trap is running the orchestrator *inside* a container
|
|
13
|
+
* (Colima / Docker Desktop expose no `/dev/kvm`, so gondolin hangs).
|
|
14
|
+
* - **Linux** uses KVM: an accessible `/dev/kvm` is required.
|
|
15
|
+
*
|
|
16
|
+
* This is best-effort: it can't prove the guest will boot without actually
|
|
17
|
+
* booting one (the ~13s cost we're avoiding here), but it catches the misconfigs
|
|
18
|
+
* that otherwise present as a hang. See `~/work/agentic-pi/SPIKE-gondolin.md`.
|
|
19
|
+
*/
|
|
20
|
+
import { existsSync, accessSync, readFileSync, constants } from "node:fs";
|
|
21
|
+
import { execFileSync } from "node:child_process";
|
|
22
|
+
import { arch, platform } from "node:process";
|
|
23
|
+
/** QEMU's system binary is named per target arch; gondolin boots a guest
|
|
24
|
+
* matching the host arch. */
|
|
25
|
+
function qemuBinaryForArch() {
|
|
26
|
+
return arch === "arm64" ? "qemu-system-aarch64" : "qemu-system-x86_64";
|
|
27
|
+
}
|
|
28
|
+
function onPath(bin) {
|
|
29
|
+
try {
|
|
30
|
+
execFileSync(platform === "win32" ? "where" : "which", [bin], { stdio: "ignore" });
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Best-effort: are we running inside a container (where macOS/Colima exposes no
|
|
38
|
+
* `/dev/kvm` and gondolin hangs)? */
|
|
39
|
+
function looksContainerized() {
|
|
40
|
+
if (existsSync("/.dockerenv"))
|
|
41
|
+
return true;
|
|
42
|
+
try {
|
|
43
|
+
const cgroup = readFileSync("/proc/1/cgroup", "utf8");
|
|
44
|
+
return /docker|containerd|kubepods|lxc/.test(cgroup);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// No /proc (e.g. native macOS) → not containerized.
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Verify the host can run the requested sandbox backend. Only `gondolin` needs
|
|
53
|
+
* checking; every other backend (including `none`) returns ok. Call once, before
|
|
54
|
+
* launching any instance.
|
|
55
|
+
*/
|
|
56
|
+
export function preflightSandbox(backend) {
|
|
57
|
+
if (backend !== "gondolin")
|
|
58
|
+
return { ok: true, message: "" };
|
|
59
|
+
const qemu = qemuBinaryForArch();
|
|
60
|
+
if (!onPath(qemu)) {
|
|
61
|
+
return {
|
|
62
|
+
ok: false,
|
|
63
|
+
message: `--sandbox gondolin needs QEMU (${qemu}) on PATH, but it wasn't found. ` +
|
|
64
|
+
`Install it: 'brew install qemu' (macOS) or 'apt-get install qemu-system' (Linux). ` +
|
|
65
|
+
`Or run with --sandbox none.`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (platform === "darwin") {
|
|
69
|
+
// Native macOS uses HVF automatically. The trap is running inside a
|
|
70
|
+
// container on macOS — no /dev/kvm is exposed and gondolin hangs silently.
|
|
71
|
+
if (looksContainerized()) {
|
|
72
|
+
return {
|
|
73
|
+
ok: false,
|
|
74
|
+
message: `--sandbox gondolin: running inside a container on macOS exposes no /dev/kvm, ` +
|
|
75
|
+
`so gondolin hangs silently rather than erroring. Run the eval natively on the ` +
|
|
76
|
+
`macOS host, or use --sandbox none.`,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return { ok: true, message: "" };
|
|
80
|
+
}
|
|
81
|
+
if (platform === "linux") {
|
|
82
|
+
if (!existsSync("/dev/kvm")) {
|
|
83
|
+
return {
|
|
84
|
+
ok: false,
|
|
85
|
+
message: `--sandbox gondolin needs /dev/kvm (KVM hardware acceleration), but it's missing. ` +
|
|
86
|
+
`Without it the VM hangs silently instead of erroring. Run on a KVM-capable host ` +
|
|
87
|
+
`(managed container hosts like Fargate/Cloud Run don't expose it), or use --sandbox none.`,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
accessSync("/dev/kvm", constants.R_OK | constants.W_OK);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return {
|
|
95
|
+
ok: false,
|
|
96
|
+
message: `--sandbox gondolin: /dev/kvm exists but isn't readable/writable by this user. ` +
|
|
97
|
+
`Add your user to the 'kvm' group (or grant access), or use --sandbox none.`,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return { ok: true, message: "" };
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
ok: false,
|
|
104
|
+
message: `--sandbox gondolin isn't supported on platform "${platform}". Use --sandbox none.`,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=sandbox-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-preflight.js","sourceRoot":"","sources":["../src/sandbox-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQ9C;6BAC6B;AAC7B,SAAS,iBAAiB;IACxB,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACzE,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC;QACH,YAAY,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;qCACqC;AACrC,SAAS,kBAAkB;IACzB,IAAI,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAE7D,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,kCAAkC,IAAI,kCAAkC;gBACxE,oFAAoF;gBACpF,6BAA6B;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,oEAAoE;QACpE,2EAA2E;QAC3E,IAAI,kBAAkB,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,+EAA+E;oBAC/E,gFAAgF;oBAChF,oCAAoC;aACvC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,mFAAmF;oBACnF,kFAAkF;oBAClF,0FAA0F;aAC7F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EACL,gFAAgF;oBAChF,4EAA4E;aAC/E,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,mDAAmD,QAAQ,wBAAwB;KAC7F,CAAC;AACJ,CAAC"}
|
package/dist/seed.js
CHANGED
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* still operates on a pre-seeded dir with an offline `file://` origin.
|
|
20
20
|
*/
|
|
21
21
|
import { execFileSync } from "node:child_process";
|
|
22
|
-
import { mkdirSync, cpSync, existsSync } from "node:fs";
|
|
23
|
-
import { resolve, dirname } from "node:path";
|
|
22
|
+
import { mkdirSync, cpSync, existsSync, appendFileSync } from "node:fs";
|
|
23
|
+
import { resolve, dirname, join } from "node:path";
|
|
24
24
|
const FIXED = "2026-01-01T00:00:00 +0000";
|
|
25
25
|
const GIT_ENV = {
|
|
26
26
|
...process.env,
|
|
@@ -34,6 +34,98 @@ const GIT_ENV = {
|
|
|
34
34
|
function git(cwd, args) {
|
|
35
35
|
return execFileSync("git", args, { cwd, env: GIT_ENV, stdio: ["ignore", "pipe", "pipe"] }).toString();
|
|
36
36
|
}
|
|
37
|
+
const FILE_STATUS = { A: "added", D: "removed", M: "modified" };
|
|
38
|
+
/** Build GitHub's `GET /pulls/:n/files` payload from `git diff base..head` in the
|
|
39
|
+
* seeded workspace, so the fake GitHub can serve a review agent that lists PR
|
|
40
|
+
* files via the API. Rename detection is OFF (`-M` omitted) so a rename shows as
|
|
41
|
+
* a delete + add with plain paths — a faithful-enough view for review and far
|
|
42
|
+
* simpler to parse than git's rename-pair path syntax. Binary files carry no
|
|
43
|
+
* `patch`. Returns `[]` if the range can't be diffed (never throws). */
|
|
44
|
+
export function prFilesFromGit(workDir, base, head) {
|
|
45
|
+
const range = `${base}..${head}`;
|
|
46
|
+
let nameStatus = "";
|
|
47
|
+
let numstat = "";
|
|
48
|
+
let fullDiff = "";
|
|
49
|
+
try {
|
|
50
|
+
nameStatus = git(workDir, ["diff", "--no-color", "--name-status", range]);
|
|
51
|
+
numstat = git(workDir, ["diff", "--no-color", "--numstat", range]);
|
|
52
|
+
fullDiff = git(workDir, ["diff", "--no-color", range]);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
// additions/deletions per file (numstat: "<adds>\t<dels>\t<path>"; "-" = binary).
|
|
58
|
+
const stats = new Map();
|
|
59
|
+
for (const line of numstat.split("\n")) {
|
|
60
|
+
if (!line.trim())
|
|
61
|
+
continue;
|
|
62
|
+
const [adds, dels, ...rest] = line.split("\t");
|
|
63
|
+
const file = rest.join("\t");
|
|
64
|
+
if (!file)
|
|
65
|
+
continue;
|
|
66
|
+
stats.set(file, {
|
|
67
|
+
additions: adds === "-" ? 0 : Number(adds) || 0,
|
|
68
|
+
deletions: dels === "-" ? 0 : Number(dels) || 0,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// per-file patch: split the full diff on the `diff --git ` file boundary and
|
|
72
|
+
// keep the hunks (from the first `@@`), matching GitHub's `patch` field.
|
|
73
|
+
const patches = new Map();
|
|
74
|
+
const MARKER = "diff --git ";
|
|
75
|
+
for (let chunk of fullDiff.split(new RegExp(`\\n(?=${MARKER})`))) {
|
|
76
|
+
if (!chunk.startsWith(MARKER))
|
|
77
|
+
continue;
|
|
78
|
+
chunk = chunk.slice(MARKER.length);
|
|
79
|
+
const header = chunk.split("\n", 1)[0];
|
|
80
|
+
const m = header.match(/^a\/(.*) b\/(.*)$/);
|
|
81
|
+
const file = m?.[2];
|
|
82
|
+
if (!file)
|
|
83
|
+
continue;
|
|
84
|
+
const at = chunk.indexOf("\n@@");
|
|
85
|
+
if (at >= 0)
|
|
86
|
+
patches.set(file, chunk.slice(at + 1));
|
|
87
|
+
}
|
|
88
|
+
const files = [];
|
|
89
|
+
for (const line of nameStatus.split("\n")) {
|
|
90
|
+
if (!line.trim())
|
|
91
|
+
continue;
|
|
92
|
+
const [code, ...rest] = line.split("\t");
|
|
93
|
+
const file = rest.join("\t");
|
|
94
|
+
if (!file)
|
|
95
|
+
continue;
|
|
96
|
+
const s = stats.get(file) ?? { additions: 0, deletions: 0 };
|
|
97
|
+
files.push({
|
|
98
|
+
sha: "0".repeat(40),
|
|
99
|
+
filename: file,
|
|
100
|
+
status: FILE_STATUS[code[0]] ?? "modified",
|
|
101
|
+
additions: s.additions,
|
|
102
|
+
deletions: s.deletions,
|
|
103
|
+
changes: s.additions + s.deletions,
|
|
104
|
+
patch: patches.get(file),
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return files;
|
|
108
|
+
}
|
|
109
|
+
/** Where to seed the repo: `<stateDir>/sandboxes/<taskId>[/<repoSubdir>]`. With a
|
|
110
|
+
* subdir the repo is a CHILD of the workspace root (matching production's nested
|
|
111
|
+
* layout, where AGENTS.md/.lastlight-skills are siblings outside the repo). */
|
|
112
|
+
function workDirFor(stateDir, taskId, repoSubdir) {
|
|
113
|
+
const base = resolve(stateDir, "sandboxes", taskId);
|
|
114
|
+
return repoSubdir ? resolve(base, repoSubdir) : base;
|
|
115
|
+
}
|
|
116
|
+
/** Git-native ignore (repo-local, NOT a committed file) so the agent's
|
|
117
|
+
* `npm install` artifacts never enter the repo's git tree or the captured diff —
|
|
118
|
+
* exactly what a real repo's `.gitignore` does. Belt-and-suspenders for
|
|
119
|
+
* git-source repos (which already ignore it) and essential for vendored fixtures
|
|
120
|
+
* that ship without a `.gitignore`. Must run after `git init`/`clone`. */
|
|
121
|
+
function ignoreBuildArtifacts(workDir) {
|
|
122
|
+
try {
|
|
123
|
+
appendFileSync(join(workDir, ".git", "info", "exclude"), "\nnode_modules/\n");
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
/* best-effort: a missing exclude just means node_modules may show in the diff */
|
|
127
|
+
}
|
|
128
|
+
}
|
|
37
129
|
/** Where git-source repos are mirrored. Repo-local (NOT `~`), gitignored —
|
|
38
130
|
* overridable with `LASTLIGHT_EVALS_CACHE`. */
|
|
39
131
|
export function resolveCacheDir(override) {
|
|
@@ -60,11 +152,11 @@ function setupOfflineOrigin(workDir, stateDir, taskId, def) {
|
|
|
60
152
|
}
|
|
61
153
|
export function seedWorkspace(opts) {
|
|
62
154
|
const def = opts.defaultBranch ?? "main";
|
|
63
|
-
const
|
|
64
|
-
const workDir = resolve(sandboxBase, opts.taskId);
|
|
155
|
+
const workDir = workDirFor(opts.stateDir, opts.taskId, opts.repoSubdir);
|
|
65
156
|
mkdirSync(workDir, { recursive: true });
|
|
66
157
|
cpSync(opts.fixtureDir, workDir, { recursive: true });
|
|
67
158
|
git(workDir, ["init", "-q", "-b", def]);
|
|
159
|
+
ignoreBuildArtifacts(workDir);
|
|
68
160
|
git(workDir, ["add", "-A"]);
|
|
69
161
|
git(workDir, ["commit", "-q", "-m", "base"]);
|
|
70
162
|
const baseCommit = git(workDir, ["rev-parse", "HEAD"]).trim();
|
|
@@ -78,6 +170,101 @@ export function seedWorkspace(opts) {
|
|
|
78
170
|
export function isRealSha(sha) {
|
|
79
171
|
return !!sha && /^[0-9a-f]{40}$/i.test(sha) && !/^0+$/.test(sha);
|
|
80
172
|
}
|
|
173
|
+
/** True if `mirror` already contains `sha` as a commit. */
|
|
174
|
+
function mirrorHasCommit(mirror, sha) {
|
|
175
|
+
try {
|
|
176
|
+
git(mirror, ["cat-file", "-e", `${sha}^{commit}`]);
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Ensure a repo-local bare mirror contains BOTH a PR's base and head commits,
|
|
185
|
+
* for the `pr-review` tier. Beyond {@link ensureRepoCache}: a squash/rebase-merged
|
|
186
|
+
* PR's head commit is not reachable from any branch, so we fetch the immutable
|
|
187
|
+
* `refs/pull/<n>/head` ref (which GitHub always exposes) when the head is absent.
|
|
188
|
+
* Run SERIALLY per repo before a parallel batch (concurrent fetches race).
|
|
189
|
+
*/
|
|
190
|
+
export function ensurePrCommitsInCache(opts) {
|
|
191
|
+
const [owner, name] = opts.repo.split("/");
|
|
192
|
+
if (!owner || !name)
|
|
193
|
+
throw new Error(`ensurePrCommitsInCache: repo must be "owner/name", got "${opts.repo}"`);
|
|
194
|
+
const cacheDir = resolveCacheDir(opts.cacheDir);
|
|
195
|
+
const mirror = resolve(cacheDir, `${owner}__${name}.git`);
|
|
196
|
+
if (!existsSync(mirror)) {
|
|
197
|
+
mkdirSync(dirname(mirror), { recursive: true });
|
|
198
|
+
git(dirname(mirror), ["clone", "--bare", "--quiet", `https://github.com/${owner}/${name}.git`, mirror]);
|
|
199
|
+
}
|
|
200
|
+
// Base is usually on a branch — a heads fetch covers it.
|
|
201
|
+
if (!mirrorHasCommit(mirror, opts.baseCommit)) {
|
|
202
|
+
git(mirror, ["fetch", "--quiet", "origin", "+refs/heads/*:refs/heads/*"]);
|
|
203
|
+
}
|
|
204
|
+
// Head may be off-branch (squash/rebase merge) — fetch GitHub's immutable
|
|
205
|
+
// `refs/pull/<n>/head` when the head commit is absent.
|
|
206
|
+
if (!mirrorHasCommit(mirror, opts.headCommit)) {
|
|
207
|
+
try {
|
|
208
|
+
git(mirror, ["fetch", "--quiet", "origin", `refs/pull/${opts.pullNumber}/head`]);
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
/* fall through — the presence check below reports a clear error */
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
for (const [label, sha] of [["base", opts.baseCommit], ["head", opts.headCommit]]) {
|
|
215
|
+
if (!mirrorHasCommit(mirror, sha)) {
|
|
216
|
+
throw new Error(`ensurePrCommitsInCache: ${label} commit ${sha} for PR #${opts.pullNumber} of ${opts.repo} is not reachable ` +
|
|
217
|
+
`(not on a branch and refs/pull/${opts.pullNumber}/head didn't provide it).`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// Anchor the head on a real branch in the mirror. `git clone file://mirror`
|
|
221
|
+
// (in seedWorkspacePrReview) only transfers refs/heads/* — a head fetched into
|
|
222
|
+
// FETCH_HEAD alone stays unreachable, so the clone drops its tree objects and
|
|
223
|
+
// `git checkout <headCommit>` fails with "fatal: unable to read tree". A
|
|
224
|
+
// dedicated branch guarantees the commit rides along. (Base is already on a
|
|
225
|
+
// fetched head ref; force-pointing head is idempotent when it is too.)
|
|
226
|
+
git(mirror, ["branch", "-f", `eval-pr-${opts.pullNumber}-head`, opts.headCommit]);
|
|
227
|
+
return mirror;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Seed the workspace for the `pr-review` tier: check out the PR HEAD commit into
|
|
231
|
+
* a `<repo>/` subdir (matching production's pre-clone contract in
|
|
232
|
+
* skills/pr-review), with `origin` pointing at a local bare repo that carries
|
|
233
|
+
* the base + head branches — so the skill's `git fetch origin <baseRef>` and
|
|
234
|
+
* `git diff origin/<baseRef>...HEAD` work fully offline. No push happens
|
|
235
|
+
* (pr-review is review-only), but a real origin keeps the git plumbing honest.
|
|
236
|
+
*/
|
|
237
|
+
export function seedWorkspacePrReview(opts) {
|
|
238
|
+
const mirror = ensurePrCommitsInCache({
|
|
239
|
+
repo: opts.repo,
|
|
240
|
+
pullNumber: opts.pullNumber,
|
|
241
|
+
baseCommit: opts.baseCommit,
|
|
242
|
+
headCommit: opts.headCommit,
|
|
243
|
+
cacheDir: opts.cacheDir,
|
|
244
|
+
});
|
|
245
|
+
const workDir = workDirFor(opts.stateDir, opts.taskId, opts.repoSubdir);
|
|
246
|
+
mkdirSync(dirname(workDir), { recursive: true });
|
|
247
|
+
git(dirname(workDir), ["clone", "--quiet", `file://${mirror}`, workDir]);
|
|
248
|
+
// Check out the PR head on a branch named for the head ref (what the skill sees).
|
|
249
|
+
git(workDir, ["checkout", "--quiet", "-B", opts.headRef, opts.headCommit]);
|
|
250
|
+
ignoreBuildArtifacts(workDir);
|
|
251
|
+
// Point origin at a fresh bare repo carrying both the base and head branches,
|
|
252
|
+
// so `git fetch origin <baseRef>` resolves offline.
|
|
253
|
+
const originsDir = resolve(opts.stateDir, "origins");
|
|
254
|
+
mkdirSync(originsDir, { recursive: true });
|
|
255
|
+
const originDir = resolve(originsDir, `${opts.taskId}.git`);
|
|
256
|
+
git(workDir, ["init", "--bare", "-q", originDir]);
|
|
257
|
+
try {
|
|
258
|
+
git(workDir, ["remote", "remove", "origin"]);
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
/* the clone's origin (the cache) — replace it */
|
|
262
|
+
}
|
|
263
|
+
git(workDir, ["remote", "add", "origin", `file://${originDir}`]);
|
|
264
|
+
git(workDir, ["push", "-q", "origin", `${opts.baseCommit}:refs/heads/${opts.baseRef}`]);
|
|
265
|
+
git(workDir, ["push", "-q", "origin", `${opts.headCommit}:refs/heads/${opts.headRef}`]);
|
|
266
|
+
return { workDir, originDir, baseCommit: opts.baseCommit, branch: opts.headRef };
|
|
267
|
+
}
|
|
81
268
|
/** Ensure a repo-local bare mirror of `repo` exists and contains `baseCommit`
|
|
82
269
|
* (clone on miss, fetch if the commit is absent). Returns the cache dir. Run
|
|
83
270
|
* this SERIALLY per repo before a parallel batch — concurrent clones of the same
|
|
@@ -117,13 +304,13 @@ export function ensureRepoCache(opts) {
|
|
|
117
304
|
export function seedWorkspaceFromGit(opts) {
|
|
118
305
|
const def = opts.defaultBranch ?? "main";
|
|
119
306
|
const mirror = ensureRepoCache({ repo: opts.repo, baseCommit: opts.baseCommit, cacheDir: opts.cacheDir });
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
mkdirSync(sandboxBase, { recursive: true });
|
|
307
|
+
const workDir = workDirFor(opts.stateDir, opts.taskId, opts.repoSubdir);
|
|
308
|
+
mkdirSync(dirname(workDir), { recursive: true });
|
|
123
309
|
// Plain local clone (not --shared) so the sandbox owns its objects/refs and
|
|
124
310
|
// parallel runs never touch the cache's object store.
|
|
125
|
-
git(
|
|
311
|
+
git(dirname(workDir), ["clone", "--quiet", `file://${mirror}`, workDir]);
|
|
126
312
|
git(workDir, ["checkout", "--quiet", "--detach", opts.baseCommit]);
|
|
313
|
+
ignoreBuildArtifacts(workDir);
|
|
127
314
|
const originDir = setupOfflineOrigin(workDir, opts.stateDir, opts.taskId, def);
|
|
128
315
|
const branch = opts.branch ?? def;
|
|
129
316
|
if (branch !== def)
|
package/dist/seed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.js
CHANGED
|
@@ -26,6 +26,8 @@ const MIME = {
|
|
|
26
26
|
".css": "text/css; charset=utf-8",
|
|
27
27
|
".json": "application/json; charset=utf-8",
|
|
28
28
|
".jsonl": "application/x-ndjson; charset=utf-8",
|
|
29
|
+
".log": "text/plain; charset=utf-8",
|
|
30
|
+
".txt": "text/plain; charset=utf-8",
|
|
29
31
|
".svg": "image/svg+xml",
|
|
30
32
|
".png": "image/png",
|
|
31
33
|
".jpg": "image/jpeg",
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
package/models.json
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
{ "id": "openai/gpt-5.3-codex", "label": "GPT-5.3 Codex", "provider": "OpenAI", "envKey": "OPENAI_API_KEY" },
|
|
8
8
|
|
|
9
9
|
{ "id": "anthropic/claude-opus-4-8", "label": "Claude Opus 4.8", "provider": "Anthropic", "envKey": "ANTHROPIC_API_KEY" },
|
|
10
|
+
{ "id": "anthropic/claude-sonnet-5", "label": "Claude Sonnet 5", "provider": "Anthropic", "envKey": "ANTHROPIC_API_KEY" },
|
|
10
11
|
{ "id": "anthropic/claude-sonnet-4-6", "label": "Claude Sonnet 4.6", "provider": "Anthropic", "envKey": "ANTHROPIC_API_KEY" },
|
|
11
12
|
{ "id": "anthropic/claude-haiku-4-5", "label": "Claude Haiku 4.5", "provider": "Anthropic", "envKey": "ANTHROPIC_API_KEY" },
|
|
12
13
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lastlight-evals",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Eval harness for Last Light workflows — drives the real production workflows against a mocked GitHub and grades deterministically (SWE-bench compatible).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@clack/prompts": "^1.2.0",
|
|
45
45
|
"chalk": "^5.6.2",
|
|
46
|
-
"lastlight": "^0.7.
|
|
46
|
+
"lastlight": "^0.7.8",
|
|
47
47
|
"yaml": "^2.5.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|