autor3search-typescript 0.1.6 → 0.2.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 +5 -1
- package/dist/benchrun/invoke.js +12 -1
- package/dist/benchrun/invoke.js.map +1 -1
- package/dist/cli/cmd-baseline.js +31 -12
- package/dist/cli/cmd-baseline.js.map +1 -1
- package/dist/pipeline/eval.js +103 -36
- package/dist/pipeline/eval.js.map +1 -1
- package/dist/runner/exec.d.ts +6 -13
- package/dist/runner/exec.js +118 -2
- package/dist/runner/exec.js.map +1 -1
- package/dist/state/runnaming.d.ts +16 -0
- package/dist/state/runnaming.js +16 -0
- package/dist/state/runnaming.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -127,7 +127,7 @@ npx autor3search-typescript stop -tag <tag> -clear # cancel a pending stop
|
|
|
127
127
|
|---|---|
|
|
128
128
|
| `init` | Discover benchmarks and write `.autor3search/config.yaml` and `program.md` |
|
|
129
129
|
| `doctor` | Report whether this machine can measure reliably (informational, always exits 0) |
|
|
130
|
-
| `baseline` | Freeze tests/benchmarks, pin
|
|
130
|
+
| `baseline` | Freeze tests/benchmarks, pin two worktrees at HEAD, install and prove it can measure |
|
|
131
131
|
| `eval` | Run one experiment through the gate chain and report a verdict (0 KEEP, 1 DISCARD, 2 FAIL, 3 CRASH) |
|
|
132
132
|
| `status` | Report where a run is: branch, commits, worktree, experiment counts, in-flight eval, pending stop |
|
|
133
133
|
| `stop` | Ask the agent to stop after its current experiment; `-clear` cancels, `-force` also signals the running eval |
|
|
@@ -141,6 +141,10 @@ Every command accepts a leading `-C <dir>` to run as if invoked from `<dir>` (it
|
|
|
141
141
|
|
|
142
142
|
Everything the verdict depends on — the frozen manifest, the baseline record, the eval lock, stop requests — lives under the OS cache directory (`~/Library/Caches` on macOS, `$XDG_CACHE_HOME` or `~/.cache` on Linux, `%LOCALAPPDATA%` on Windows), keyed by the repository's own canonical path and the `-tag` you chose, never inside the repository itself. `results.tsv` and `run.log` also live in the repository but are gitignored and untracked — plain, human-readable output, not gated artifacts. `.autor3search/config.yaml` is the one exception: `init` writes `.autor3search/*` to `.gitignore` with a `!.autor3search/config.yaml` negation, so the run configuration itself is committed to version history (a KEEP has to stay reproducible and auditable later), while only its hash — not its content — is what the gate chain actually trusts; a hand-edit to it fails the next `eval` rather than silently loosening it.
|
|
143
143
|
|
|
144
|
+
Two git worktrees live there too, both detached and both pinned by the harness: `baseline-worktree` holds the side every candidate is compared against, and `candidate-worktree` is checked out to the commit currently under evaluation. Each has its own installed `node_modules`, so one side's dependencies can never decide the other side's timings — which is the reason for the main cost of a run: dependencies are installed twice, once per worktree, when `baseline` runs. That is sound for the whole run because `package.json` and the lockfile are immutable while it lasts, so no commit the agent makes can invalidate either install.
|
|
145
|
+
|
|
146
|
+
**Your own checkout is never written to.** `eval` restores the frozen test and benchmark files into the candidate worktree, not into your working tree, so a change the agent committed to a bench file stays visible on disk where you can review it while the frozen bytes are what actually get measured. Measuring a detached checkout rather than the live tree is also what makes the measurement and the commit it is credited to the same thing by construction: nothing can edit the measured directory midway through a timing round.
|
|
147
|
+
|
|
144
148
|
## Worked example
|
|
145
149
|
|
|
146
150
|
This is one real, unmodified run of this tool against the demo fixture shipped in `testdata/demo/`: a `countWords` function whose hot loop rebuilds a whole new array on every character —
|
package/dist/benchrun/invoke.js
CHANGED
|
@@ -142,7 +142,18 @@ export async function runChild(o) {
|
|
|
142
142
|
// than left to propagate out of `finally` and clobber the return value
|
|
143
143
|
// (or the rejection) above.
|
|
144
144
|
try {
|
|
145
|
-
|
|
145
|
+
// maxRetries/retryDelay are insurance for Windows, where killing a
|
|
146
|
+
// timed-out child means `taskkill /T /F` and the OS can briefly hold
|
|
147
|
+
// the dead process's handles on this directory -- long enough for an
|
|
148
|
+
// immediate rm to fail with EBUSY/EPERM and, because the failure is
|
|
149
|
+
// (correctly) swallowed below, leak it silently.
|
|
150
|
+
//
|
|
151
|
+
// Kept as defence, NOT as a fix for anything observed: the leak this
|
|
152
|
+
// was first added for turned out not to be a leak at all, but a test
|
|
153
|
+
// helper that failed to isolate on Windows (it set TMPDIR, which
|
|
154
|
+
// `os.tmpdir()` ignores there). Node retries these errno values when
|
|
155
|
+
// asked, and the cost when there is nothing to retry is zero.
|
|
156
|
+
await rm(dir, { recursive: true, force: true, maxRetries: 10, retryDelay: 100 });
|
|
146
157
|
}
|
|
147
158
|
catch {
|
|
148
159
|
/* leak the directory rather than discard the result */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/benchrun/invoke.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/benchrun/invoke.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/cmd-baseline.js
CHANGED
|
@@ -13,7 +13,7 @@ import { detect } from '../pm/detect.js';
|
|
|
13
13
|
import { ok, run, runShell, tail } from '../runner/exec.js';
|
|
14
14
|
import { writeBaseline } from '../state/baseline.js';
|
|
15
15
|
import { runDir } from '../state/home.js';
|
|
16
|
-
import { BRANCH_PREFIX, FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
|
|
16
|
+
import { BRANCH_PREFIX, CANDIDATE_WORKTREE_DIRNAME, FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
|
|
17
17
|
const CHECKOUT_TIMEOUT_MS = 60_000;
|
|
18
18
|
/**
|
|
19
19
|
* Duration of the smoke measurement run in the worktree. This is
|
|
@@ -125,10 +125,12 @@ export async function cmdBaseline(ctx, argv) {
|
|
|
125
125
|
// With -force, tear down whatever the earlier run left behind before
|
|
126
126
|
// anything new is created: removeWorktree first, or git keeps a
|
|
127
127
|
// stale worktree registration and addWorktree below fails.
|
|
128
|
-
const
|
|
129
|
-
|
|
128
|
+
for (const name of [WORKTREE_DIRNAME, CANDIDATE_WORKTREE_DIRNAME]) {
|
|
129
|
+
const wt = path.join(dir, name);
|
|
130
|
+
if (!(await exists(wt)))
|
|
131
|
+
continue;
|
|
130
132
|
try {
|
|
131
|
-
await removeWorktree(ctx.repoRoot,
|
|
133
|
+
await removeWorktree(ctx.repoRoot, wt);
|
|
132
134
|
}
|
|
133
135
|
catch {
|
|
134
136
|
// Not a registered worktree (e.g. a previous attempt failed
|
|
@@ -208,8 +210,9 @@ export async function cmdBaseline(ctx, argv) {
|
|
|
208
210
|
createdBranch = true;
|
|
209
211
|
}
|
|
210
212
|
const worktreeDir = path.join(dir, WORKTREE_DIRNAME);
|
|
213
|
+
const candidateWorktreeDir = path.join(dir, CANDIDATE_WORKTREE_DIRNAME);
|
|
211
214
|
const frozenDir = path.join(dir, FROZEN_DIRNAME);
|
|
212
|
-
|
|
215
|
+
const addedWorktrees = [];
|
|
213
216
|
try {
|
|
214
217
|
const head = await headCommit(ctx.repoRoot);
|
|
215
218
|
// `config.unfreeze` names test/bench files deliberately exempted from
|
|
@@ -221,12 +224,24 @@ export async function cmdBaseline(ctx, argv) {
|
|
|
221
224
|
const freezable = (await freezableFiles(ctx.repoRoot)).filter((f) => !unfreeze.has(f));
|
|
222
225
|
const manifest = await snapshot(ctx.repoRoot, freezable, frozenDir);
|
|
223
226
|
await addWorktree(ctx.repoRoot, worktreeDir, head);
|
|
224
|
-
|
|
227
|
+
addedWorktrees.push(worktreeDir);
|
|
228
|
+
// The candidate side gets its own worktree, created here rather than
|
|
229
|
+
// per-eval so its dependencies are installed exactly once. That is
|
|
230
|
+
// sound because `package.json` and the lockfile are immutable for the
|
|
231
|
+
// life of a run (IMMUTABLE_FILES), so no commit the agent makes can
|
|
232
|
+
// invalidate this install. It costs a second node_modules on disk;
|
|
233
|
+
// the alternative -- measuring the candidate in the user's live
|
|
234
|
+
// working tree -- is what let a measurement and the commit it was
|
|
235
|
+
// credited to disagree.
|
|
236
|
+
await addWorktree(ctx.repoRoot, candidateWorktreeDir, head);
|
|
237
|
+
addedWorktrees.push(candidateWorktreeDir);
|
|
225
238
|
const timeoutMs = parseDuration(config.timeout);
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
239
|
+
for (const wt of [worktreeDir, candidateWorktreeDir]) {
|
|
240
|
+
const install = await runShell(detected.installCommand, { cwd: wt, timeoutMs });
|
|
241
|
+
if (!ok(install)) {
|
|
242
|
+
throw new Error(`installing dependencies in ${path.basename(wt)} failed (${detected.installCommand}, exit ` +
|
|
243
|
+
`${install.exitCode}): ${tail(install.stderr || install.stdout, 40)}`);
|
|
244
|
+
}
|
|
230
245
|
}
|
|
231
246
|
// The smoke run: prove every declared benchmark actually runs in the
|
|
232
247
|
// worktree before this baseline is declared successful. Without
|
|
@@ -275,9 +290,13 @@ export async function cmdBaseline(ctx, argv) {
|
|
|
275
290
|
}
|
|
276
291
|
catch (e) {
|
|
277
292
|
const reason = messageOf(e);
|
|
278
|
-
|
|
293
|
+
// Unwind every worktree this invocation actually registered, in
|
|
294
|
+
// reverse order. Tracked as a list rather than a boolean because
|
|
295
|
+
// there are now two, and a failure between the two `addWorktree`
|
|
296
|
+
// calls must not leave the first one registered with git.
|
|
297
|
+
for (const wt of [...addedWorktrees].reverse()) {
|
|
279
298
|
try {
|
|
280
|
-
await removeWorktree(ctx.repoRoot,
|
|
299
|
+
await removeWorktree(ctx.repoRoot, wt);
|
|
281
300
|
}
|
|
282
301
|
catch {
|
|
283
302
|
// Best effort -- the directory removal below still gets rid of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-baseline.js","sourceRoot":"","sources":["../../src/cli/cmd-baseline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmd-baseline.js","sourceRoot":"","sources":["../../src/cli/cmd-baseline.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/eval.js
CHANGED
|
@@ -42,16 +42,17 @@ import { loadConfig, parseDuration } from '../config/load.js';
|
|
|
42
42
|
import { freezableFiles } from '../discover/files.js';
|
|
43
43
|
import { findUnmanifested, restore } from '../freeze/freeze.js';
|
|
44
44
|
import { hashString } from '../freeze/manifest.js';
|
|
45
|
-
import { changedFiles, headCommit, repointWorktree } from '../gitx/git.js';
|
|
45
|
+
import { addWorktree, changedFiles, headCommit, repointWorktree } from '../gitx/git.js';
|
|
46
46
|
import { interleave } from '../measure/interleave.js';
|
|
47
47
|
import { appendRow, loadRows } from '../results/results.js';
|
|
48
|
+
import { detect } from '../pm/detect.js';
|
|
48
49
|
import { checkScope } from '../scope/scope.js';
|
|
49
50
|
import { ALPHA, compareAll } from '../stats/delta.js';
|
|
50
51
|
import { readBaseline, writeBaseline } from '../state/baseline.js';
|
|
51
52
|
import { acquireEvalLock } from '../state/lock.js';
|
|
52
53
|
import { runDir } from '../state/home.js';
|
|
53
54
|
import { readStop } from '../state/stop.js';
|
|
54
|
-
import { FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
|
|
55
|
+
import { CANDIDATE_WORKTREE_DIRNAME, FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
|
|
55
56
|
import { ok, runShell, tail } from '../runner/exec.js';
|
|
56
57
|
import { decide } from '../verdict/verdict.js';
|
|
57
58
|
function messageOf(e) {
|
|
@@ -99,9 +100,39 @@ export async function runEval(opts) {
|
|
|
99
100
|
await release();
|
|
100
101
|
}
|
|
101
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* One shell-command gate (typecheck, build, test).
|
|
105
|
+
*
|
|
106
|
+
* These were three near-identical blocks differing only in the command, the
|
|
107
|
+
* gate name, and whether an empty command means "skip". Sharing them means a
|
|
108
|
+
* fix to one -- the message, the timeout, which stream gets reported --
|
|
109
|
+
* cannot silently miss the other two.
|
|
110
|
+
*
|
|
111
|
+
* `required` is not cosmetic. typecheck and build are legitimately optional,
|
|
112
|
+
* and an empty command skips them. The test command must always run: config
|
|
113
|
+
* validation refuses an empty one, and folding all three into a single
|
|
114
|
+
* "skip when empty" rule would quietly turn any future gap in that
|
|
115
|
+
* validation into a SKIPPED test gate -- the one gate the entire verdict
|
|
116
|
+
* depends on. Stated as a flag so the difference survives the merge.
|
|
117
|
+
*
|
|
118
|
+
* Returns null when the gate passes or is skipped, otherwise the failure to
|
|
119
|
+
* report; the caller owns `finish` and the exit code.
|
|
120
|
+
*/
|
|
121
|
+
async function runCommandGate(o) {
|
|
122
|
+
if (!o.required && o.command.trim() === '')
|
|
123
|
+
return null;
|
|
124
|
+
const r = await runShell(o.command, { cwd: o.cwd, timeoutMs: o.timeoutMs, log: o.log });
|
|
125
|
+
if (ok(r))
|
|
126
|
+
return null;
|
|
127
|
+
return {
|
|
128
|
+
gate: o.name,
|
|
129
|
+
message: `${o.name} command failed (${o.command}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
102
132
|
async function evaluate(opts, dir) {
|
|
103
133
|
const log = opts.log ?? (() => { });
|
|
104
134
|
const worktreeDir = path.join(dir, WORKTREE_DIRNAME);
|
|
135
|
+
const candidateWorktreeDir = path.join(dir, CANDIDATE_WORKTREE_DIRNAME);
|
|
105
136
|
const frozenDir = path.join(dir, FROZEN_DIRNAME);
|
|
106
137
|
const stopRequested = (await readStop(dir)) !== null;
|
|
107
138
|
let candidateCommit = 'unknown';
|
|
@@ -214,14 +245,14 @@ async function evaluate(opts, dir) {
|
|
|
214
245
|
if (hashString(configText) !== baseline.configHash) {
|
|
215
246
|
return finish(noVerdict('fail'), [], 'config-integrity', `${path.basename(opts.ctx.configPath)} has changed since baseline: the run configuration is frozen`);
|
|
216
247
|
}
|
|
217
|
-
//
|
|
218
|
-
//
|
|
219
|
-
//
|
|
220
|
-
//
|
|
221
|
-
//
|
|
222
|
-
//
|
|
223
|
-
//
|
|
224
|
-
//
|
|
248
|
+
// Gate 3 no longer writes into the user's working tree -- the restore
|
|
249
|
+
// lands in the candidate worktree -- so this no longer has to be captured
|
|
250
|
+
// before it to avoid misreading a legitimate restore as an uncommitted
|
|
251
|
+
// change. It is still taken here, and still matters, for a different
|
|
252
|
+
// reason: uncommitted work is NOT what gets measured any more (the
|
|
253
|
+
// candidate worktree is a checkout of the commit), so an agent that
|
|
254
|
+
// forgot to commit would otherwise have its edit silently ignored rather
|
|
255
|
+
// than evaluated. Telling it so is the point.
|
|
225
256
|
//
|
|
226
257
|
// Deliberately `changedFiles(repoRoot, candidateCommit)` (HEAD), NOT
|
|
227
258
|
// `isClean` (`git status --porcelain`): `isClean` respects whatever
|
|
@@ -236,20 +267,65 @@ async function evaluate(opts, dir) {
|
|
|
236
267
|
// `changedFiles` is already immune to this (see its own doc comment) --
|
|
237
268
|
// reusing it here means gate 8 inherits that immunity by construction,
|
|
238
269
|
// not by remembering to reimplement it a second time.
|
|
239
|
-
let
|
|
270
|
+
let treeWasClean = true;
|
|
240
271
|
try {
|
|
241
|
-
|
|
272
|
+
treeWasClean = (await changedFiles(opts.ctx.repoRoot, candidateCommit)).length === 0;
|
|
242
273
|
}
|
|
243
274
|
catch (e) {
|
|
244
275
|
return finish(noVerdict('crash'), [], 'worktree-integrity', `could not check working tree cleanliness: ${messageOf(e)}`);
|
|
245
276
|
}
|
|
277
|
+
// Hoisted above gate 3a, which may have to run an install of its own.
|
|
278
|
+
const timeoutMs = parseDuration(config.timeout);
|
|
279
|
+
// --- Gate 3a: prepare the candidate worktree.
|
|
280
|
+
//
|
|
281
|
+
// The candidate is measured in its own detached checkout of
|
|
282
|
+
// `candidateCommit`, not in the user's working tree. Both sides are then
|
|
283
|
+
// the same kind of thing: a worktree pinned to a commit, with frozen
|
|
284
|
+
// files restored over it. What that buys, concretely --
|
|
285
|
+
//
|
|
286
|
+
// * the measurement can no longer disagree with the commit it is
|
|
287
|
+
// credited to, because there is no window in which the measured
|
|
288
|
+
// directory can change under us;
|
|
289
|
+
// * `eval` stops writing into the checkout the human and the agent are
|
|
290
|
+
// both using -- the frozen-file restore lands here instead;
|
|
291
|
+
// * the agent may keep editing while a measurement runs.
|
|
292
|
+
//
|
|
293
|
+
// A baseline created before this existed has no candidate worktree.
|
|
294
|
+
// Rather than demand `baseline -force` -- which re-derives the freeze
|
|
295
|
+
// manifest from whatever is at HEAD by then, silently adopting the
|
|
296
|
+
// agent's own commits as the correctness contract -- it is created here,
|
|
297
|
+
// once, and the run continues.
|
|
298
|
+
try {
|
|
299
|
+
if (!(await exists(candidateWorktreeDir))) {
|
|
300
|
+
await addWorktree(opts.ctx.repoRoot, candidateWorktreeDir, candidateCommit);
|
|
301
|
+
const detected = await detect(opts.ctx.repoRoot);
|
|
302
|
+
const install = await runShell(detected.installCommand, {
|
|
303
|
+
cwd: candidateWorktreeDir,
|
|
304
|
+
timeoutMs,
|
|
305
|
+
log,
|
|
306
|
+
});
|
|
307
|
+
if (!ok(install)) {
|
|
308
|
+
throw new Error(`installing dependencies in the candidate worktree failed ` +
|
|
309
|
+
`(${detected.installCommand}, exit ${install.exitCode}): ` +
|
|
310
|
+
`${tail(install.stderr || install.stdout, 40)}`);
|
|
311
|
+
}
|
|
312
|
+
warnings.push('created the candidate worktree for a baseline that predates it; ' +
|
|
313
|
+
'no re-baseline was needed');
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
await repointWorktree(candidateWorktreeDir, candidateCommit);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch (e) {
|
|
320
|
+
return finish(noVerdict('crash'), [], 'worktree-integrity', `could not prepare the candidate worktree: ${messageOf(e)}`);
|
|
321
|
+
}
|
|
246
322
|
// --- Gate 3: restore. Frozen files are put back exactly as they were,
|
|
247
323
|
// whether or not the agent's edit to them was "in scope" -- a test file
|
|
248
324
|
// edit is legal to make, but its content is not legal to keep. A failure
|
|
249
325
|
// here (e.g. the frozen snapshot itself is missing or unreadable) is a
|
|
250
326
|
// harness-state problem, not something the agent's change did -- CRASH.
|
|
251
327
|
try {
|
|
252
|
-
const changedByRestore = await restore(
|
|
328
|
+
const changedByRestore = await restore(candidateWorktreeDir, frozenDir, baseline.manifest);
|
|
253
329
|
restoredFiles.push(...changedByRestore);
|
|
254
330
|
if (changedByRestore.length > 0) {
|
|
255
331
|
warnings.push(`restored ${changedByRestore.length} frozen file(s) modified since baseline: ${changedByRestore.join(', ')}`);
|
|
@@ -273,27 +349,18 @@ async function evaluate(opts, dir) {
|
|
|
273
349
|
if (extra.length > 0) {
|
|
274
350
|
return finish(noVerdict('fail'), [], 'unmanifested', `new test/bench/runner-config file(s) not present at baseline: ${extra.join(', ')}`);
|
|
275
351
|
}
|
|
276
|
-
|
|
277
|
-
//
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
return finish(noVerdict('fail'), [], 'build', `build command failed (${config.buildCommand}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
// --- Gate 7: test (never empty -- enforced by config validation).
|
|
292
|
-
{
|
|
293
|
-
const r = await runShell(config.testCommand, { cwd: opts.ctx.repoRoot, timeoutMs, log });
|
|
294
|
-
if (!ok(r)) {
|
|
295
|
-
return finish(noVerdict('fail'), [], 'test', `test command failed (${config.testCommand}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`);
|
|
296
|
-
}
|
|
352
|
+
// --- Gates 5, 6, 7: typecheck, build, test. Order is load-bearing: a
|
|
353
|
+
// change that does not compile should be reported as a typecheck failure,
|
|
354
|
+
// not as whatever the test command makes of it.
|
|
355
|
+
const commandGates = [
|
|
356
|
+
{ name: 'typecheck', command: config.typecheckCommand, required: false },
|
|
357
|
+
{ name: 'build', command: config.buildCommand, required: false },
|
|
358
|
+
{ name: 'test', command: config.testCommand, required: true },
|
|
359
|
+
];
|
|
360
|
+
for (const gate of commandGates) {
|
|
361
|
+
const failure = await runCommandGate({ ...gate, cwd: candidateWorktreeDir, timeoutMs, log });
|
|
362
|
+
if (failure !== null)
|
|
363
|
+
return finish(noVerdict('fail'), [], failure.gate, failure.message);
|
|
297
364
|
}
|
|
298
365
|
// --- Gate 8: worktree integrity.
|
|
299
366
|
//
|
|
@@ -305,7 +372,7 @@ async function evaluate(opts, dir) {
|
|
|
305
372
|
// same uncommitted edit can be measured and credited indefinitely. Both
|
|
306
373
|
// checks below are FAIL, not CRASH: they describe the agent's own change
|
|
307
374
|
// (or lack of one), not a harness malfunction.
|
|
308
|
-
if (!
|
|
375
|
+
if (!treeWasClean) {
|
|
309
376
|
return finish(noVerdict('fail'), [], 'worktree-integrity', 'the working tree is not clean (uncommitted changes or untracked files): the candidate is ' +
|
|
310
377
|
'measured from this working tree, and crediting an uncommitted edit to a commit that never ' +
|
|
311
378
|
'contained it would let the same edit be measured and kept forever without ever landing. ' +
|
|
@@ -351,7 +418,7 @@ async function evaluate(opts, dir) {
|
|
|
351
418
|
rounds: config.count,
|
|
352
419
|
benchmarks,
|
|
353
420
|
baseDir: worktreeDir,
|
|
354
|
-
candDir:
|
|
421
|
+
candDir: candidateWorktreeDir,
|
|
355
422
|
measureOne,
|
|
356
423
|
}));
|
|
357
424
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/pipeline/eval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/pipeline/eval.ts"],"names":[],"mappings":"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"}
|
package/dist/runner/exec.d.ts
CHANGED
|
@@ -46,21 +46,14 @@ export declare class Capture {
|
|
|
46
46
|
toString(): string;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* Quotes one argument for a Windows command line.
|
|
50
50
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* Exported: `cli/cmd-stop.ts`'s `stop -force` needs this exact same refusal
|
|
56
|
-
* to signal the pid recorded in `eval.lock`. That is the same function, not
|
|
57
|
-
* two views of one enumeration (contrast the lockfile `switch` in
|
|
58
|
-
* `pm/detect.ts`, which genuinely cannot be imported across a `switch`) --
|
|
59
|
-
* so the duplication is eliminated by importing this rather than guarded by
|
|
60
|
-
* a second copy plus a comment. A future edit to the pid-1 refusal (e.g.
|
|
61
|
-
* hardening it for a new edge case) now cannot diverge between the two call
|
|
62
|
-
* sites by simply being forgotten in one of them.
|
|
51
|
+
* Windows does not pass an argv array to a process: it passes ONE string,
|
|
52
|
+
* and each program parses it. These are the rules the C runtime documents
|
|
53
|
+
* and that `CommandLineToArgvW` implements -- backslashes are literal
|
|
54
|
+
* except when they precede a quote, where they must be doubled.
|
|
63
55
|
*/
|
|
56
|
+
export declare function quoteForWindows(arg: string): string;
|
|
64
57
|
export declare function killGroup(pid: number | undefined, signal: NodeJS.Signals): void;
|
|
65
58
|
/** Signals every currently-active child's process group, best effort. */
|
|
66
59
|
export declare function killActiveChildren(signal: NodeJS.Signals): void;
|
package/dist/runner/exec.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
1
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
+
import { statSync } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
2
4
|
/**
|
|
3
5
|
* Largest output we retain per stream, in characters (UTF-16 code units),
|
|
4
6
|
* not bytes. The cap exists to bound retained *memory*, and these are
|
|
@@ -75,9 +77,116 @@ export class Capture {
|
|
|
75
77
|
* hardening it for a new edge case) now cannot diverge between the two call
|
|
76
78
|
* sites by simply being forgotten in one of them.
|
|
77
79
|
*/
|
|
80
|
+
/**
|
|
81
|
+
* The executable to hand `spawn`, resolved for Windows.
|
|
82
|
+
*
|
|
83
|
+
* On Windows `npm` is `npm.cmd`, and CreateProcess does not consult PATHEXT
|
|
84
|
+
* the way a shell does -- so `spawn('npm', args)` fails with ENOENT and the
|
|
85
|
+
* tool could not install, build, typecheck or detect a package manager
|
|
86
|
+
* there at all. The README documented Windows support the whole time; a CI
|
|
87
|
+
* matrix covering it is what finally said otherwise.
|
|
88
|
+
*
|
|
89
|
+
* Resolved by searching PATH ourselves rather than by passing
|
|
90
|
+
* `shell: true`. A shell would fix the ENOENT and simultaneously undo the
|
|
91
|
+
* reason `run` takes an argv ARRAY: with a shell, every argument is
|
|
92
|
+
* re-parsed as shell syntax, and arguments here include repository paths
|
|
93
|
+
* and benchmark ids. `runShell` exists for the config-supplied command
|
|
94
|
+
* strings that are meant to be shell syntax; this path must stay literal.
|
|
95
|
+
*
|
|
96
|
+
* A no-op on POSIX, and on any command already carrying a path or an
|
|
97
|
+
* extension.
|
|
98
|
+
*/
|
|
99
|
+
function resolveExecutable(cmd) {
|
|
100
|
+
if (process.platform !== 'win32')
|
|
101
|
+
return cmd;
|
|
102
|
+
if (cmd.includes('/') || cmd.includes('\\') || path.extname(cmd) !== '')
|
|
103
|
+
return cmd;
|
|
104
|
+
const exts = (process.env['PATHEXT'] ?? '.COM;.EXE;.BAT;.CMD')
|
|
105
|
+
.split(';')
|
|
106
|
+
.map((e) => e.trim())
|
|
107
|
+
.filter((e) => e !== '');
|
|
108
|
+
for (const dir of (process.env['PATH'] ?? '').split(path.delimiter).filter((d) => d !== '')) {
|
|
109
|
+
for (const ext of exts) {
|
|
110
|
+
const candidate = path.join(dir, cmd + ext);
|
|
111
|
+
try {
|
|
112
|
+
if (statSync(candidate).isFile())
|
|
113
|
+
return candidate;
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Not here; keep looking. A PATH entry that does not exist is
|
|
117
|
+
// ordinary on Windows, not an error worth surfacing.
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Unresolved: hand back the original so spawn reports its own ENOENT,
|
|
122
|
+
// which names the command the caller asked for.
|
|
123
|
+
return cmd;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Quotes one argument for a Windows command line.
|
|
127
|
+
*
|
|
128
|
+
* Windows does not pass an argv array to a process: it passes ONE string,
|
|
129
|
+
* and each program parses it. These are the rules the C runtime documents
|
|
130
|
+
* and that `CommandLineToArgvW` implements -- backslashes are literal
|
|
131
|
+
* except when they precede a quote, where they must be doubled.
|
|
132
|
+
*/
|
|
133
|
+
export function quoteForWindows(arg) {
|
|
134
|
+
if (arg !== '' && !/[\s"^&|<>()%!]/.test(arg))
|
|
135
|
+
return arg;
|
|
136
|
+
// Double only the backslashes that run up against a quote (or the end),
|
|
137
|
+
// then wrap. Doubling every backslash would corrupt ordinary paths.
|
|
138
|
+
const escaped = arg.replace(/(\\*)("|$)/g, (_m, slashes, quote) => quote === '"' ? `${slashes}${slashes}\\"` : `${slashes}${slashes}`);
|
|
139
|
+
return `"${escaped}"`;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* How to actually launch `cmd` with `args` on this platform.
|
|
143
|
+
*
|
|
144
|
+
* The awkward case is Windows batch wrappers. npm, npx, yarn and pnpm are
|
|
145
|
+
* all `.cmd` files there, and since CVE-2024-27980 Node REFUSES to spawn a
|
|
146
|
+
* `.cmd` or `.bat` without a shell -- `spawn` fails with EINVAL. So they
|
|
147
|
+
* must go through `cmd.exe` explicitly.
|
|
148
|
+
*
|
|
149
|
+
* Not `shell: true`, which would be the one-line version: with that option
|
|
150
|
+
* Node concatenates the command and arguments into one string with no
|
|
151
|
+
* quoting at all, so any argument containing a space, a quote or a cmd
|
|
152
|
+
* metacharacter is re-parsed as syntax. Arguments here are repository
|
|
153
|
+
* paths, benchmark ids and config-derived strings; "C:\\Users\\Some One\\repo"
|
|
154
|
+
* alone would break, and `&` in a path would execute. Instead each argument
|
|
155
|
+
* is quoted for the Windows convention and handed to `cmd.exe /d /s /c`
|
|
156
|
+
* with `windowsVerbatimArguments`, which tells Node to pass the line
|
|
157
|
+
* through exactly as built rather than re-quoting it.
|
|
158
|
+
*
|
|
159
|
+
* `/d` skips AutoRun commands from the registry -- otherwise whatever a
|
|
160
|
+
* machine has configured there runs before every measurement.
|
|
161
|
+
*/
|
|
162
|
+
function launchSpec(cmd, args) {
|
|
163
|
+
const resolved = resolveExecutable(cmd);
|
|
164
|
+
const isBatch = process.platform === 'win32' && /\.(cmd|bat)$/i.test(resolved);
|
|
165
|
+
if (!isBatch)
|
|
166
|
+
return { file: resolved, args: [...args], verbatim: false };
|
|
167
|
+
const line = [resolved, ...args].map(quoteForWindows).join(' ');
|
|
168
|
+
return {
|
|
169
|
+
file: process.env['ComSpec'] ?? 'cmd.exe',
|
|
170
|
+
// The outer quotes around the whole line are cmd's own convention for
|
|
171
|
+
// /c: with them, cmd strips them and runs the rest verbatim.
|
|
172
|
+
args: ['/d', '/s', '/c', `"${line}"`],
|
|
173
|
+
verbatim: true,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
78
176
|
export function killGroup(pid, signal) {
|
|
79
177
|
if (pid === undefined || pid <= 1)
|
|
80
178
|
return;
|
|
179
|
+
// Windows has no process groups and no POSIX signals: `process.kill(-pid)`
|
|
180
|
+
// throws, and the single-process fallback below would leave every
|
|
181
|
+
// grandchild running -- a benchmark spawned by a test runner surviving a
|
|
182
|
+
// timeout is precisely the orphan that corrupts later measurements.
|
|
183
|
+
// `taskkill /T` walks the tree; `/F` is required because there is no
|
|
184
|
+
// graceful signal to send. Synchronous so it completes before the caller
|
|
185
|
+
// moves on, matching `process.kill`'s semantics on POSIX.
|
|
186
|
+
if (process.platform === 'win32') {
|
|
187
|
+
spawnSync('taskkill', ['/pid', String(pid), '/T', '/F'], { stdio: 'ignore' });
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
81
190
|
try {
|
|
82
191
|
process.kill(-pid, signal);
|
|
83
192
|
}
|
|
@@ -114,10 +223,17 @@ function exec(cmd, args, opts, useShell) {
|
|
|
114
223
|
const stderr = new Capture();
|
|
115
224
|
let timedOut = false;
|
|
116
225
|
let settled = false;
|
|
117
|
-
|
|
226
|
+
// `useShell` commands are shell syntax by contract and must not be
|
|
227
|
+
// path-resolved or quoted; everything else is a literal executable
|
|
228
|
+
// name with a literal argv.
|
|
229
|
+
const spec = useShell
|
|
230
|
+
? { file: cmd, args: [...args], verbatim: false }
|
|
231
|
+
: launchSpec(cmd, args);
|
|
232
|
+
const child = spawn(spec.file, spec.args, {
|
|
118
233
|
cwd: opts.cwd,
|
|
119
234
|
env: opts.env ?? process.env,
|
|
120
235
|
shell: useShell,
|
|
236
|
+
windowsVerbatimArguments: spec.verbatim,
|
|
121
237
|
// A new process group is what makes killGroup able to reach
|
|
122
238
|
// grandchildren. Without it, a benchmark spawned by a test runner
|
|
123
239
|
// survives the timeout and corrupts every later measurement.
|
package/dist/runner/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/runner/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/runner/exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,22 @@
|
|
|
16
16
|
export declare const BRANCH_PREFIX = "autor3search-typescript/";
|
|
17
17
|
/** Directory name, under the per-run state dir, of the pinned baseline worktree. */
|
|
18
18
|
export declare const WORKTREE_DIRNAME = "baseline-worktree";
|
|
19
|
+
/**
|
|
20
|
+
* The candidate side's own worktree, sibling to the baseline's.
|
|
21
|
+
*
|
|
22
|
+
* `eval` used to measure the candidate in the USER'S working tree while the
|
|
23
|
+
* baseline side measured an isolated worktree. That asymmetry is what made
|
|
24
|
+
* a clean-tree gate necessary at all (a working tree can change between the
|
|
25
|
+
* check and the measurement), what forced the frozen-file restore to write
|
|
26
|
+
* into the user's own checkout, and what let one uncommitted edit be
|
|
27
|
+
* measured while a different commit was credited. Giving the candidate its
|
|
28
|
+
* own detached worktree makes both sides the same kind of thing.
|
|
29
|
+
*
|
|
30
|
+
* Its dependencies are installed once, by `baseline`, and stay valid for
|
|
31
|
+
* the whole run: `package.json` and the lockfile are immutable (see
|
|
32
|
+
* IMMUTABLE_FILES), so no commit the agent makes can change them.
|
|
33
|
+
*/
|
|
34
|
+
export declare const CANDIDATE_WORKTREE_DIRNAME = "candidate-worktree";
|
|
19
35
|
/** Directory name, under the per-run state dir, of the frozen test/bench snapshot. */
|
|
20
36
|
export declare const FROZEN_DIRNAME = "frozen";
|
|
21
37
|
/**
|
package/dist/state/runnaming.js
CHANGED
|
@@ -17,6 +17,22 @@ import { currentBranch } from '../gitx/git.js';
|
|
|
17
17
|
export const BRANCH_PREFIX = 'autor3search-typescript/';
|
|
18
18
|
/** Directory name, under the per-run state dir, of the pinned baseline worktree. */
|
|
19
19
|
export const WORKTREE_DIRNAME = 'baseline-worktree';
|
|
20
|
+
/**
|
|
21
|
+
* The candidate side's own worktree, sibling to the baseline's.
|
|
22
|
+
*
|
|
23
|
+
* `eval` used to measure the candidate in the USER'S working tree while the
|
|
24
|
+
* baseline side measured an isolated worktree. That asymmetry is what made
|
|
25
|
+
* a clean-tree gate necessary at all (a working tree can change between the
|
|
26
|
+
* check and the measurement), what forced the frozen-file restore to write
|
|
27
|
+
* into the user's own checkout, and what let one uncommitted edit be
|
|
28
|
+
* measured while a different commit was credited. Giving the candidate its
|
|
29
|
+
* own detached worktree makes both sides the same kind of thing.
|
|
30
|
+
*
|
|
31
|
+
* Its dependencies are installed once, by `baseline`, and stay valid for
|
|
32
|
+
* the whole run: `package.json` and the lockfile are immutable (see
|
|
33
|
+
* IMMUTABLE_FILES), so no commit the agent makes can change them.
|
|
34
|
+
*/
|
|
35
|
+
export const CANDIDATE_WORKTREE_DIRNAME = 'candidate-worktree';
|
|
20
36
|
/** Directory name, under the per-run state dir, of the frozen test/bench snapshot. */
|
|
21
37
|
export const FROZEN_DIRNAME = 'frozen';
|
|
22
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnaming.js","sourceRoot":"","sources":["../../src/state/runnaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;GAaG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,0BAA0B,CAAA;AAEvD,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAEnD,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,OAAO,EAAE,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB;YAC3F,cAAc,aAAa,sCAAsC,CACpE,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"runnaming.js","sourceRoot":"","sources":["../../src/state/runnaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;GAaG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,0BAA0B,CAAA;AAEvD,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAA;AAE9D,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,OAAO,EAAE,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB;YAC3F,cAAc,aAAa,sCAAsC,CACpE,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|