@enderfga/claw-orchestrator 7.4.0 → 7.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 +5 -5
- package/dist/src/concurrency.d.ts +9 -0
- package/dist/src/concurrency.js +22 -0
- package/dist/src/concurrency.js.map +1 -0
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.js +2 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/council.d.ts +3 -0
- package/dist/src/council.js +17 -7
- package/dist/src/council.js.map +1 -1
- package/dist/src/fanout.d.ts +8 -0
- package/dist/src/fanout.js +23 -4
- package/dist/src/fanout.js.map +1 -1
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/kernel/engine.d.ts +7 -0
- package/dist/src/kernel/engine.js +11 -1
- package/dist/src/kernel/engine.js.map +1 -1
- package/dist/src/kernel/exec.js +16 -3
- package/dist/src/kernel/exec.js.map +1 -1
- package/dist/src/kernel/nodes/council.js +3 -1
- package/dist/src/kernel/nodes/council.js.map +1 -1
- package/dist/src/kernel/nodes/fanout.js +4 -1
- package/dist/src/kernel/nodes/fanout.js.map +1 -1
- package/dist/src/kernel/nodes/subflow.js +6 -1
- package/dist/src/kernel/nodes/subflow.js.map +1 -1
- package/dist/src/kernel/nodes/verifier.js +4 -0
- package/dist/src/kernel/nodes/verifier.js.map +1 -1
- package/dist/src/kernel/templates/index.d.ts +8 -0
- package/dist/src/kernel/templates/index.js +39 -2
- package/dist/src/kernel/templates/index.js.map +1 -1
- package/dist/src/kernel/types.d.ts +14 -0
- package/dist/src/kernel/types.js.map +1 -1
- package/dist/src/models.d.ts +0 -1
- package/dist/src/models.js +24 -3
- package/dist/src/models.js.map +1 -1
- package/dist/src/persistent-custom-session.js +3 -15
- package/dist/src/persistent-custom-session.js.map +1 -1
- package/dist/src/persistent-session.d.ts +18 -2
- package/dist/src/persistent-session.js +102 -23
- package/dist/src/persistent-session.js.map +1 -1
- package/dist/src/run-ledger.d.ts +1 -1
- package/dist/src/session-manager.d.ts +10 -0
- package/dist/src/session-manager.js +44 -4
- package/dist/src/session-manager.js.map +1 -1
- package/dist/src/types.d.ts +30 -7
- package/dist/src/ultraapp/council-adapter.d.ts +4 -0
- package/dist/src/ultraapp/council-adapter.js +1 -1
- package/dist/src/ultraapp/council-adapter.js.map +1 -1
- package/dist/src/ultraapp/manager.js +2 -1
- package/dist/src/ultraapp/manager.js.map +1 -1
- package/dist/src/verify/contract.d.ts +6 -0
- package/dist/src/verify/contract.js +1 -0
- package/dist/src/verify/contract.js.map +1 -1
- package/dist/src/verify/protected-tests.d.ts +27 -0
- package/dist/src/verify/protected-tests.js +279 -0
- package/dist/src/verify/protected-tests.js.map +1 -0
- package/dist/src/verify/runner.d.ts +7 -0
- package/dist/src/verify/runner.js +9 -0
- package/dist/src/verify/runner.js.map +1 -1
- package/package.json +1 -1
- package/skills/SKILL.md +11 -11
- package/skills/references/claude-cli-tracking.md +6 -4
- package/skills/references/observability.md +2 -2
- package/skills/references/sessions.md +10 -1
- package/skills/references/tools.md +39 -34
- package/skills/references/verification.md +48 -0
- package/skills/references/workflow.md +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/ultraapp/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/ultraapp/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,6 +87,12 @@ export interface AcceptanceContract {
|
|
|
87
87
|
* Ported from ultraapp's fix-on-failure loop. 0 disables.
|
|
88
88
|
*/
|
|
89
89
|
fixOnFailureRounds?: number;
|
|
90
|
+
/**
|
|
91
|
+
* Refute the run when a test file or test configuration that existed at the
|
|
92
|
+
* baseline was modified or deleted (see `protected-tests.ts`). On by default for
|
|
93
|
+
* a contract with a command check; set `false` when changing tests is the task.
|
|
94
|
+
*/
|
|
95
|
+
protectTests?: boolean;
|
|
90
96
|
}
|
|
91
97
|
export interface CheckResult {
|
|
92
98
|
id: string;
|
|
@@ -133,6 +133,7 @@ export function normalizeContract(raw) {
|
|
|
133
133
|
id: str(r.id),
|
|
134
134
|
checks,
|
|
135
135
|
fixOnFailureRounds: num(r.fixOnFailureRounds),
|
|
136
|
+
...(r.protectTests === false ? { protectTests: false } : {}),
|
|
136
137
|
};
|
|
137
138
|
}
|
|
138
139
|
/** True when every required check passed. Non-required failures are recorded, not fatal. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/verify/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/verify/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AcceptanceContract, CheckResult } from './contract.js';
|
|
2
|
+
/** True for a path that holds tests or configures how they run. */
|
|
3
|
+
export declare function isTestPath(file: string): boolean;
|
|
4
|
+
/** The tests as a run found them: repository root, and each protected path's state (`null` = absent). */
|
|
5
|
+
export interface TestSnapshot {
|
|
6
|
+
root: string;
|
|
7
|
+
files: Record<string, string | null>;
|
|
8
|
+
}
|
|
9
|
+
/** The scripts a contract's command checks run by name. */
|
|
10
|
+
export declare function contractScripts(contract: AcceptanceContract): string[];
|
|
11
|
+
/** Record the tests as the run finds them. Undefined when there is no repository to read. */
|
|
12
|
+
export declare function snapshotTests(cwd: string): Promise<TestSnapshot | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* The `protected-tests` check against a run's snapshot. `null` means the run has
|
|
15
|
+
* no snapshot — it predates them, or git could not take one — and is reported as
|
|
16
|
+
* not checked rather than guessed at. `scriptRoots` are the npm scripts the
|
|
17
|
+
* contract runs by name (`contractScripts`).
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkProtectedTests(cwd: string, atStart: TestSnapshot | null, scriptRoots?: string[]): Promise<CheckResult>;
|
|
20
|
+
/** Whether a spec's checks could need the snapshot: a command check that protects tests, or a subflow. */
|
|
21
|
+
export declare function needsTestSnapshot(spec: {
|
|
22
|
+
contract?: AcceptanceContract;
|
|
23
|
+
nodes: Array<{
|
|
24
|
+
kind: string;
|
|
25
|
+
contract?: unknown;
|
|
26
|
+
}>;
|
|
27
|
+
}): boolean;
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests the contract runs are not the agent's to change.
|
|
3
|
+
*
|
|
4
|
+
* A command check executes in the tree the agent just worked in. Without this,
|
|
5
|
+
* an agent that rewrites a failing assertion to `expect(true)`, deletes the test,
|
|
6
|
+
* or points `scripts.test` somewhere harmless turns a refuted run into a verified
|
|
7
|
+
* one — the checks still exit 0, they just no longer check anything. Published
|
|
8
|
+
* measurements put that behaviour at half of the attempts on unsolvable tasks for
|
|
9
|
+
* several frontier models (ImpossibleBench, arXiv 2510.20270).
|
|
10
|
+
*
|
|
11
|
+
* The rule: when a kernel run starts, every test file and test configuration in
|
|
12
|
+
* the tree is recorded as it is — bytes hashed here, not through git, so clean
|
|
13
|
+
* filters, attributes, line-ending conversion and the index have no say. Before
|
|
14
|
+
* the checks run, each must still be exactly that. What may change is what cannot
|
|
15
|
+
* alter an existing test: new test files, new packages, unrelated npm scripts,
|
|
16
|
+
* and new configuration that governs no test the run started with.
|
|
17
|
+
*
|
|
18
|
+
* It runs before the checks, so it judges the tree the agent handed over rather
|
|
19
|
+
* than one a test command may have rewritten.
|
|
20
|
+
*
|
|
21
|
+
* What this does not catch, stated so nobody reads it as tamper-proof: tests
|
|
22
|
+
* inside source files (Rust `#[cfg(test)]`), test settings inside general config
|
|
23
|
+
* (`vite.config.*`, `pyproject.toml`, `setup.cfg`), files hidden by `.gitignore`,
|
|
24
|
+
* and source code that special-cases the test environment.
|
|
25
|
+
*/
|
|
26
|
+
import crypto from 'node:crypto';
|
|
27
|
+
import fs from 'node:fs';
|
|
28
|
+
import path from 'node:path';
|
|
29
|
+
import { exec } from '../kernel/exec.js';
|
|
30
|
+
import { mapBounded } from '../concurrency.js';
|
|
31
|
+
const GIT_TIMEOUT_MS = 60_000;
|
|
32
|
+
/** Listings of a large repository run far past exec's default capture. */
|
|
33
|
+
const GIT_CAPTURE_BYTES = 64 * 1024 * 1024;
|
|
34
|
+
const READ_CONCURRENCY = 32;
|
|
35
|
+
const TEST_DIR = /(^|\/)(__tests__|__snapshots__|tests?)\//;
|
|
36
|
+
const TEST_FILE = [
|
|
37
|
+
/\.(test|spec)\.[cm]?[jt]sx?$/,
|
|
38
|
+
/(^|\/)test_[^/]*\.py$/,
|
|
39
|
+
/_test\.(py|go)$/,
|
|
40
|
+
/_spec\.rb$/,
|
|
41
|
+
/Tests?\.(java|kt|cs)$/,
|
|
42
|
+
/(^|\/)spec\/(spec_helper|rails_helper)\.rb$/,
|
|
43
|
+
/(^|\/)spec\/support\//,
|
|
44
|
+
];
|
|
45
|
+
const TEST_CONFIG = [
|
|
46
|
+
/(^|\/)(vitest|jest|playwright|cypress)\.config\.(json|[cm]?[jt]s)$/,
|
|
47
|
+
/(^|\/)karma\.conf\.([cm]?[jt]s|coffee)$/,
|
|
48
|
+
/(^|\/)(vitest|jest)\.setup\.[cm]?[jt]sx?$/,
|
|
49
|
+
/(^|\/)setupTests\.[cm]?[jt]sx?$/,
|
|
50
|
+
/(^|\/)vitest\.workspace\.[cm]?[jt]s$/,
|
|
51
|
+
/(^|\/)\.mocharc(\.[a-z]+)?$/,
|
|
52
|
+
/(^|\/)\.rspec$/,
|
|
53
|
+
/(^|\/)(pytest\.ini|conftest\.py|tox\.ini)$/,
|
|
54
|
+
/(^|\/)phpunit\.xml(\.dist)?$/,
|
|
55
|
+
];
|
|
56
|
+
const MANIFEST = /(^|\/)package\.json$/;
|
|
57
|
+
/** Installed dependencies ship their own tests and configs; they are not this repository's. */
|
|
58
|
+
const DEPENDENCY_DIR = /(^|\/)(node_modules|vendor|site-packages|\.venv)\//;
|
|
59
|
+
const RUNNER_KEYS = ['jest', 'mocha', 'ava', 'vitest', 'c8', 'nyc'];
|
|
60
|
+
const isTestConfig = (file) => TEST_CONFIG.some((re) => re.test(file));
|
|
61
|
+
/** True for a path that holds tests or configures how they run. */
|
|
62
|
+
export function isTestPath(file) {
|
|
63
|
+
return TEST_DIR.test(file) || TEST_FILE.some((re) => re.test(file)) || isTestConfig(file);
|
|
64
|
+
}
|
|
65
|
+
const isManifest = (file) => MANIFEST.test(file) && !isTestPath(file);
|
|
66
|
+
const isProtected = (file) => !DEPENDENCY_DIR.test(file) && (MANIFEST.test(file) || isTestPath(file));
|
|
67
|
+
/** Stable JSON: object keys sorted, so reordering a package.json is not a change. */
|
|
68
|
+
function canonical(value) {
|
|
69
|
+
if (Array.isArray(value))
|
|
70
|
+
return `[${value.map(canonical).join(',')}]`;
|
|
71
|
+
if (value && typeof value === 'object') {
|
|
72
|
+
const obj = value;
|
|
73
|
+
return `{${Object.keys(obj)
|
|
74
|
+
.sort()
|
|
75
|
+
.map((k) => `${JSON.stringify(k)}:${canonical(obj[k])}`)
|
|
76
|
+
.join(',')}}`;
|
|
77
|
+
}
|
|
78
|
+
return JSON.stringify(value ?? null);
|
|
79
|
+
}
|
|
80
|
+
const digest = (data) => crypto.createHash('sha256').update(data).digest('hex').slice(0, 32);
|
|
81
|
+
/**
|
|
82
|
+
* A protected path's state: absent, a symlink's target, unreadable, the file's bytes —
|
|
83
|
+
* or, for a package.json outside a test directory, its scripts (kept verbatim, so
|
|
84
|
+
* references between them can be followed) and a digest of its test-runner keys.
|
|
85
|
+
*/
|
|
86
|
+
async function stateOf(root, file) {
|
|
87
|
+
const abs = path.join(root, file);
|
|
88
|
+
try {
|
|
89
|
+
const stat = await fs.promises.lstat(abs);
|
|
90
|
+
if (stat.isSymbolicLink())
|
|
91
|
+
return `link:${await fs.promises.readlink(abs)}`;
|
|
92
|
+
if (!stat.isFile())
|
|
93
|
+
return null;
|
|
94
|
+
const body = await fs.promises.readFile(abs);
|
|
95
|
+
if (!isManifest(file))
|
|
96
|
+
return digest(body);
|
|
97
|
+
try {
|
|
98
|
+
const pkg = JSON.parse(body.toString('utf8'));
|
|
99
|
+
const scripts = pkg.scripts && typeof pkg.scripts === 'object' ? pkg.scripts : {};
|
|
100
|
+
const state = {
|
|
101
|
+
runners: digest(canonical(Object.fromEntries(RUNNER_KEYS.map((k) => [k, pkg[k] ?? null])))),
|
|
102
|
+
scripts: Object.fromEntries(Object.entries(scripts).map(([k, v]) => [k, String(v)])),
|
|
103
|
+
};
|
|
104
|
+
return `pkg:${canonical(state)}`;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return `pkg-unparseable:${digest(body)}`;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
const code = e.code;
|
|
112
|
+
return code === 'ENOENT' ? null : `unreadable:${code ?? 'error'}`;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function parseManifest(state) {
|
|
116
|
+
if (!state?.startsWith('pkg:'))
|
|
117
|
+
return undefined;
|
|
118
|
+
try {
|
|
119
|
+
return JSON.parse(state.slice(4));
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const SCRIPT_REF = /\b(?:npm|pnpm|yarn|bun)\s+(?:run(?:-script)?\s+)?([A-Za-z0-9:._-]+)|\b(?:npm-run-all|run-s|run-p)\s+((?:[A-Za-z0-9:._*-]+\s*)+)/g;
|
|
126
|
+
/** Script names a command line runs through a package manager. */
|
|
127
|
+
function referencedScripts(command) {
|
|
128
|
+
const names = [];
|
|
129
|
+
for (const m of command.matchAll(SCRIPT_REF)) {
|
|
130
|
+
if (m[1])
|
|
131
|
+
names.push(m[1] === 't' ? 'test' : m[1]);
|
|
132
|
+
if (m[2])
|
|
133
|
+
names.push(...m[2]
|
|
134
|
+
.trim()
|
|
135
|
+
.split(/\s+/)
|
|
136
|
+
.filter((n) => !n.startsWith('-')));
|
|
137
|
+
}
|
|
138
|
+
return names;
|
|
139
|
+
}
|
|
140
|
+
/** The scripts a contract's command checks run by name. */
|
|
141
|
+
export function contractScripts(contract) {
|
|
142
|
+
return contract.checks.flatMap((c) => c.spec.type === 'command' ? referencedScripts([c.spec.cmd, ...(c.spec.args ?? [])].join(' ')) : []);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Whether a package.json changed in a way a check could run into: its test-runner
|
|
146
|
+
* keys, or any script reachable from the test scripts or the contract's own —
|
|
147
|
+
* following references and pre/post hooks in both versions.
|
|
148
|
+
*/
|
|
149
|
+
function manifestChanged(before, after, roots) {
|
|
150
|
+
const a = parseManifest(before);
|
|
151
|
+
const b = parseManifest(after);
|
|
152
|
+
if (!a || !b)
|
|
153
|
+
return before !== after;
|
|
154
|
+
if (a.runners !== b.runners)
|
|
155
|
+
return true;
|
|
156
|
+
const names = new Set([...Object.keys(a.scripts), ...Object.keys(b.scripts)]);
|
|
157
|
+
const queue = [...roots, ...[...names].filter((n) => /^(pre|post)?test(:|$)/.test(n))];
|
|
158
|
+
const reachable = new Set();
|
|
159
|
+
while (queue.length > 0) {
|
|
160
|
+
const name = queue.pop();
|
|
161
|
+
// Only names that exist in either version: a hook of a hook of a hook is a
|
|
162
|
+
// different string every time, and following those never ends.
|
|
163
|
+
if (reachable.has(name) || !names.has(name))
|
|
164
|
+
continue;
|
|
165
|
+
reachable.add(name);
|
|
166
|
+
queue.push(`pre${name}`, `post${name}`);
|
|
167
|
+
for (const body of [a.scripts[name], b.scripts[name]])
|
|
168
|
+
if (body)
|
|
169
|
+
queue.push(...referencedScripts(body));
|
|
170
|
+
}
|
|
171
|
+
return [...reachable].some((n) => a.scripts[n] !== b.scripts[n]);
|
|
172
|
+
}
|
|
173
|
+
async function listProtected(cwd) {
|
|
174
|
+
const top = await exec('git', ['-C', cwd, 'rev-parse', '--show-toplevel'], { timeoutMs: GIT_TIMEOUT_MS });
|
|
175
|
+
if (top.code !== 0)
|
|
176
|
+
throw new Error(`${cwd} is not inside a git repository`);
|
|
177
|
+
const root = top.out.trim();
|
|
178
|
+
const listed = await exec('git', ['-C', root, 'ls-files', '-z', '--cached', '--others', '--exclude-standard'], {
|
|
179
|
+
timeoutMs: GIT_TIMEOUT_MS,
|
|
180
|
+
maxCaptureBytes: GIT_CAPTURE_BYTES,
|
|
181
|
+
});
|
|
182
|
+
// exec keeps the tail of an oversized stream; a listing missing its head would
|
|
183
|
+
// silently drop files from the comparison.
|
|
184
|
+
if (listed.code !== 0 || Buffer.byteLength(listed.out) >= GIT_CAPTURE_BYTES) {
|
|
185
|
+
throw new Error('git could not list the files in the repository');
|
|
186
|
+
}
|
|
187
|
+
return { root, files: [...new Set(listed.out.split('\0').filter((f) => f && isProtected(f)))] };
|
|
188
|
+
}
|
|
189
|
+
/** Record the tests as the run finds them. Undefined when there is no repository to read. */
|
|
190
|
+
export async function snapshotTests(cwd) {
|
|
191
|
+
try {
|
|
192
|
+
const { root, files } = await listProtected(cwd);
|
|
193
|
+
const states = await mapBounded(files, READ_CONCURRENCY, (f) => stateOf(root, f));
|
|
194
|
+
return { root, files: Object.fromEntries(files.map((f, i) => [f, states[i]])) };
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/** Whether a configuration file added during the run sits over a test the run started with. */
|
|
201
|
+
function governsRecordedTests(config, atStart) {
|
|
202
|
+
const dir = path.posix.dirname(config);
|
|
203
|
+
return Object.entries(atStart.files).some(([f, state]) => state !== null && isTestPath(f) && !isTestConfig(f) && (dir === '.' || f.startsWith(`${dir}/`)));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* The `protected-tests` check against a run's snapshot. `null` means the run has
|
|
207
|
+
* no snapshot — it predates them, or git could not take one — and is reported as
|
|
208
|
+
* not checked rather than guessed at. `scriptRoots` are the npm scripts the
|
|
209
|
+
* contract runs by name (`contractScripts`).
|
|
210
|
+
*/
|
|
211
|
+
export async function checkProtectedTests(cwd, atStart, scriptRoots = []) {
|
|
212
|
+
const startedAt = Date.now();
|
|
213
|
+
const result = (passed, detail, extra = {}) => ({
|
|
214
|
+
id: 'protected-tests',
|
|
215
|
+
type: 'diff_policy',
|
|
216
|
+
required: true,
|
|
217
|
+
passed,
|
|
218
|
+
durationMs: Date.now() - startedAt,
|
|
219
|
+
detail,
|
|
220
|
+
...extra,
|
|
221
|
+
});
|
|
222
|
+
const notChecked = (why) => result(false, `not checked: ${why}`, { required: false });
|
|
223
|
+
if (!atStart)
|
|
224
|
+
return notChecked('there is no record of the tests as the run found them');
|
|
225
|
+
// A verifier with its own cwd may be checking a tree the snapshot never saw.
|
|
226
|
+
let real;
|
|
227
|
+
try {
|
|
228
|
+
real = fs.realpathSync(cwd);
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
real = cwd;
|
|
232
|
+
}
|
|
233
|
+
const rel = path.relative(atStart.root, real);
|
|
234
|
+
if (rel.startsWith('..') || path.isAbsolute(rel)) {
|
|
235
|
+
return notChecked('the checks run outside the repository recorded when the run started');
|
|
236
|
+
}
|
|
237
|
+
// Inside that repository a listing failure fails the check: deleting `.git` must
|
|
238
|
+
// not be a way around it.
|
|
239
|
+
let now;
|
|
240
|
+
try {
|
|
241
|
+
now = await listProtected(cwd);
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
return result(false, `could not check the tests: ${e.message}`);
|
|
245
|
+
}
|
|
246
|
+
const candidates = [...new Set([...Object.keys(atStart.files), ...now.files])].filter((file) => {
|
|
247
|
+
if (file in atStart.files)
|
|
248
|
+
return true;
|
|
249
|
+
// Added during the run: only configuration over a test the run started with can matter.
|
|
250
|
+
return isTestConfig(file) && governsRecordedTests(file, atStart);
|
|
251
|
+
});
|
|
252
|
+
const states = await mapBounded(candidates, READ_CONCURRENCY, (f) => stateOf(now.root, f));
|
|
253
|
+
const touched = [];
|
|
254
|
+
candidates.forEach((file, i) => {
|
|
255
|
+
const expected = file in atStart.files ? atStart.files[file] : null;
|
|
256
|
+
const current = states[i];
|
|
257
|
+
const changed = isManifest(file) ? manifestChanged(expected, current, scriptRoots) : current !== expected;
|
|
258
|
+
if (changed)
|
|
259
|
+
touched.push(isManifest(file) ? `${file} (a script the checks run, or test settings)` : file);
|
|
260
|
+
});
|
|
261
|
+
if (touched.length === 0)
|
|
262
|
+
return result(true, 'no test file or test configuration changed during the run');
|
|
263
|
+
return result(false, `tests changed during the run, so the checks no longer test what they tested: ` +
|
|
264
|
+
`${touched.slice(0, 10).join(', ')}. Set protectTests: false if changing them is the task.`, { tail: touched.length > 10 ? touched.join('\n') : undefined });
|
|
265
|
+
}
|
|
266
|
+
/** Whether a spec's checks could need the snapshot: a command check that protects tests, or a subflow. */
|
|
267
|
+
export function needsTestSnapshot(spec) {
|
|
268
|
+
const protects = (c) => {
|
|
269
|
+
const contract = c;
|
|
270
|
+
return (!!contract &&
|
|
271
|
+
Array.isArray(contract.checks) &&
|
|
272
|
+
contract.protectTests !== false &&
|
|
273
|
+
contract.checks.some((check) => check?.spec?.type === 'command'));
|
|
274
|
+
};
|
|
275
|
+
if (protects(spec.contract))
|
|
276
|
+
return true;
|
|
277
|
+
return spec.nodes.some((n) => n.kind === 'subflow' || (n.kind === 'verifier' && protects(n.contract)));
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=protected-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-tests.js","sourceRoot":"","sources":["../../../src/verify/protected-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import type { Logger } from '../logger.js';
|
|
16
16
|
import { type ExecResult } from '../kernel/exec.js';
|
|
17
|
+
import { type TestSnapshot } from './protected-tests.js';
|
|
17
18
|
import { type AcceptanceContract, type CheckResult } from './contract.js';
|
|
18
19
|
export type ExecFn = (cmd: string, args: string[], opts: {
|
|
19
20
|
cwd?: string;
|
|
@@ -31,6 +32,12 @@ export interface VerifyContext {
|
|
|
31
32
|
/** Directory for check-produced files (screenshots). Created on demand. */
|
|
32
33
|
artifactDir: string;
|
|
33
34
|
baseSha?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The tests as a kernel run found them (`snapshotTests`), which turns on the
|
|
37
|
+
* protected-tests check. `null`: the run has no snapshot, reported as not checked.
|
|
38
|
+
* Omitted (`verify_run`, autoloop, ultraapp): the check does not apply.
|
|
39
|
+
*/
|
|
40
|
+
baseTests?: TestSnapshot | null;
|
|
34
41
|
exec?: ExecFn;
|
|
35
42
|
fetchFn?: typeof fetch;
|
|
36
43
|
logger?: Logger;
|
|
@@ -16,6 +16,7 @@ import fs from 'node:fs';
|
|
|
16
16
|
import path from 'node:path';
|
|
17
17
|
import { exec as realExec, lastLines } from '../kernel/exec.js';
|
|
18
18
|
import { changedFilesSince, isUnder, resolveIn } from './baseline.js';
|
|
19
|
+
import { checkProtectedTests, contractScripts } from './protected-tests.js';
|
|
19
20
|
import { contractPassed, DEFAULT_CHECK_TIMEOUT_MS, DEFAULT_HTTP_TIMEOUT_MS, DEFAULT_SCREENSHOT_TIMEOUT_MS, } from './contract.js';
|
|
20
21
|
const TAIL_LINES = 200;
|
|
21
22
|
/** How often an in-flight HTTP check re-checks the run's cancellation flag. */
|
|
@@ -288,6 +289,14 @@ async function runOne(check, index, ctx) {
|
|
|
288
289
|
*/
|
|
289
290
|
export async function runChecks(contract, ctx, opts = {}) {
|
|
290
291
|
const results = [];
|
|
292
|
+
// First, so it judges the tree the agent handed over rather than one a test
|
|
293
|
+
// command may have rewritten. Only a command check runs the repository's tests,
|
|
294
|
+
// so only then can editing them change the verdict.
|
|
295
|
+
if (contract.protectTests !== false &&
|
|
296
|
+
ctx.baseTests !== undefined &&
|
|
297
|
+
contract.checks.some((c) => c.spec.type === 'command')) {
|
|
298
|
+
results.push(await checkProtectedTests(ctx.cwd, ctx.baseTests, contractScripts(contract)));
|
|
299
|
+
}
|
|
291
300
|
for (let i = 0; i < contract.checks.length; i++) {
|
|
292
301
|
if (ctx.signal?.aborted)
|
|
293
302
|
break;
|