@codyswann/lisa 3.64.2 → 3.64.4
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/all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs +115 -4
- package/all/copy-overwrite/scripts/lisa-run-gates.mjs +48 -2
- package/dist/cli/sync-cmd.d.ts +2 -1
- package/dist/cli/sync-cmd.d.ts.map +1 -1
- package/dist/cli/sync-cmd.js +14 -1
- package/dist/cli/sync-cmd.js.map +1 -1
- package/dist/configs/vitest/scratch-setup.d.ts.map +1 -1
- package/dist/configs/vitest/scratch-setup.js +47 -2
- package/dist/configs/vitest/scratch-setup.js.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +2 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +13 -3
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/sync/artifact-sync.d.ts +50 -0
- package/dist/sync/artifact-sync.d.ts.map +1 -0
- package/dist/sync/artifact-sync.js +142 -0
- package/dist/sync/artifact-sync.js.map +1 -0
- package/dist/sync/config-sync.d.ts +2 -16
- package/dist/sync/config-sync.d.ts.map +1 -1
- package/dist/sync/config-sync.js +12 -59
- package/dist/sync/config-sync.js.map +1 -1
- package/dist/sync/stryker-thresholds-ownership.d.ts +111 -0
- package/dist/sync/stryker-thresholds-ownership.d.ts.map +1 -0
- package/dist/sync/stryker-thresholds-ownership.js +227 -0
- package/dist/sync/stryker-thresholds-ownership.js.map +1 -0
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/typescript/create-only/stryker.conf.json +1 -0
|
@@ -40,6 +40,8 @@ export const DIAGNOSIS = Object.freeze({
|
|
|
40
40
|
THRESHOLD: "threshold",
|
|
41
41
|
/** The command was terminated by a signal; nothing it says can be trusted. */
|
|
42
42
|
KILLED: "killed",
|
|
43
|
+
/** Another process destroyed this run's scratch files while it was running. */
|
|
44
|
+
INTERFERENCE: "interference",
|
|
43
45
|
/** Output was read and matched nothing this module knows. */
|
|
44
46
|
UNDIAGNOSED: "undiagnosed",
|
|
45
47
|
/** No output was available to read, so nothing can be said. */
|
|
@@ -59,6 +61,39 @@ const THRESHOLD_PATTERN =
|
|
|
59
61
|
/** vitest's tally line: `Tests 4 failed | 14272 passed (14276)`. */
|
|
60
62
|
const TALLY_PATTERN = /Tests\s+(\d+) failed/;
|
|
61
63
|
|
|
64
|
+
/**
|
|
65
|
+
* A coverage scratch file the run could not open: `coverage/.tmp/coverage-7.json`.
|
|
66
|
+
*
|
|
67
|
+
* Keyed on the FILENAME rather than on the directory, because the directory is
|
|
68
|
+
* configurable (`coverage.reportsDirectory`) and the filename is not — the
|
|
69
|
+
* coverage provider names every scratch file `coverage-<n>.json` and nothing
|
|
70
|
+
* else in a gate transcript is called that.
|
|
71
|
+
*
|
|
72
|
+
* The quotes are how both lines that carry the path print it, measured:
|
|
73
|
+
* `open '/abs/coverage/.tmp/coverage-0.json'` in the error and
|
|
74
|
+
* `path: '/abs/coverage/.tmp/coverage-0.json'` in the serialized copy. A form
|
|
75
|
+
* without them falls through to `undiagnosed`, which now also reports NOT
|
|
76
|
+
* PROVED — so an unmatched shape degrades to a weaker true statement rather
|
|
77
|
+
* than to a false one.
|
|
78
|
+
*
|
|
79
|
+
* Horizontal-only `[^\n]` for the same reason {@link FAIL_PATTERN} uses it:
|
|
80
|
+
* this parses a multi-megabyte transcript inside a git hook.
|
|
81
|
+
*/
|
|
82
|
+
const COVERAGE_SCRATCH_ENOENT =
|
|
83
|
+
/ENOENT[^\n]+?['"]([^'"\n]+coverage-\d+\.json)['"]/g;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The coverage provider's own words for the same event, when it manages to say
|
|
87
|
+
* them: `Something removed the coverage directory "…" Vitest created earlier`.
|
|
88
|
+
*
|
|
89
|
+
* It is a better sentence than anything this module could reconstruct, and it
|
|
90
|
+
* names the cause outright. It is also SUPPRESSED in the case that actually
|
|
91
|
+
* happens — see {@link interferenceVerdict} — which is why the pattern above
|
|
92
|
+
* exists as well.
|
|
93
|
+
*/
|
|
94
|
+
const COVERAGE_DIR_REMOVED =
|
|
95
|
+
/Something removed the coverage directory "([^"\n]+)"/g;
|
|
96
|
+
|
|
62
97
|
/**
|
|
63
98
|
* A failing suite header: ` FAIL tests/unit/foo.test.ts > does a thing`.
|
|
64
99
|
*
|
|
@@ -81,12 +116,18 @@ const FAIL_PATTERN = /^[ \t]*FAIL[ \t]+(\S+)/gm;
|
|
|
81
116
|
* test suite rendered as a coverage regression — and it is also why a real
|
|
82
117
|
* coverage regression could not be told from that flake.
|
|
83
118
|
*
|
|
84
|
-
* `undiagnosed`, `uncaptured` and `
|
|
85
|
-
*
|
|
86
|
-
* `killed` is the most important
|
|
119
|
+
* `undiagnosed`, `uncaptured`, `killed` and `interference` are deliberately
|
|
120
|
+
* absent. Nothing was measured, so nothing may be attributed; the failure stays
|
|
121
|
+
* where it landed. `killed` is the most important to leave out: a terminated
|
|
87
122
|
* command measured NOTHING, so attributing it to `test-correctness` would print
|
|
88
123
|
* a verdict about a property no run ever reached.
|
|
89
124
|
*
|
|
125
|
+
* Absent from here is only half of it. A kind that measured nothing must also
|
|
126
|
+
* not report as FAILED, or the gate still asserts a verdict on a property no
|
|
127
|
+
* run reached — see `MEASURED_NOTHING` in `lisa-run-gates.mjs`, which maps
|
|
128
|
+
* these to NOT PROVED. That gate still blocks; it just stops naming a cause it
|
|
129
|
+
* does not have.
|
|
130
|
+
*
|
|
90
131
|
* The runner applies this only when the named gate is itself declared on the
|
|
91
132
|
* same command at the same moment, so a phrase in some unrelated tool's output
|
|
92
133
|
* can never invent an attribution.
|
|
@@ -205,6 +246,66 @@ function timeoutVerdict(timeouts, suites) {
|
|
|
205
246
|
};
|
|
206
247
|
}
|
|
207
248
|
|
|
249
|
+
/**
|
|
250
|
+
* Every coverage scratch file the run named as missing.
|
|
251
|
+
* @param {string} output The gate command's combined output.
|
|
252
|
+
* @returns {string[]} One path per distinct file, plus any directory the
|
|
253
|
+
* provider named outright.
|
|
254
|
+
*/
|
|
255
|
+
function findInterference(output) {
|
|
256
|
+
return [
|
|
257
|
+
...[...output.matchAll(COVERAGE_DIR_REMOVED)].map(
|
|
258
|
+
match => `${match[1]} (the coverage provider named this directory itself)`
|
|
259
|
+
),
|
|
260
|
+
...[...output.matchAll(COVERAGE_SCRATCH_ENOENT)].map(match => match[1]),
|
|
261
|
+
];
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* The verdict for a run whose own scratch files were deleted underneath it.
|
|
266
|
+
*
|
|
267
|
+
* ## Measured, both arms, 2026-08-23, vitest 4.1.9
|
|
268
|
+
*
|
|
269
|
+
* A coverage run writes one `coverage-<n>.json` per test file as that file
|
|
270
|
+
* finishes and reads them all back at the end, so everything between the first
|
|
271
|
+
* write and the read is a window in which another process can delete them. Two
|
|
272
|
+
* runs, identical except for what was done to the directory at the eight-second
|
|
273
|
+
* mark:
|
|
274
|
+
*
|
|
275
|
+
* | what happened to the scratch directory | what the run printed |
|
|
276
|
+
* |---|---|
|
|
277
|
+
* | removed **and re-created** | `ENOENT … open '…/coverage/.tmp/coverage-0.json'` — nothing else |
|
|
278
|
+
* | removed and **left absent** | `Something removed the coverage directory "…" … not running multiple Vitests with the same "coverage.reportsDirectory" at the same time` |
|
|
279
|
+
*
|
|
280
|
+
* The provider's own explanation is guarded on the directory being ABSENT. A
|
|
281
|
+
* second coverage run in the same directory removes it and re-creates it in
|
|
282
|
+
* consecutive statements, so by the time the first run looks, the directory is
|
|
283
|
+
* back and the guard does not fire. **The one case the message was written for
|
|
284
|
+
* is the one case it cannot reach**, and what reaches the operator instead is a
|
|
285
|
+
* bare `ENOENT` on a path nobody recognises — which is how it arrived at
|
|
286
|
+
* CodySwannGT/lisa#2961 filed as a coverage-gate failure.
|
|
287
|
+
*
|
|
288
|
+
* ## What this is NOT
|
|
289
|
+
*
|
|
290
|
+
* It is not stale debris. Seeded with 798 abandoned scratch files from a killed
|
|
291
|
+
* run — the largest holding measured in the wild — a coverage run completes and
|
|
292
|
+
* reports a verdict, because the provider deletes that directory before every
|
|
293
|
+
* run. `tests/integration/coverage-scratch-debris.test.ts` pins that.
|
|
294
|
+
* @param {string[]} paths What {@link findInterference} found.
|
|
295
|
+
* @returns {Diagnosis} The verdict.
|
|
296
|
+
*/
|
|
297
|
+
function interferenceVerdict(paths) {
|
|
298
|
+
return {
|
|
299
|
+
kind: DIAGNOSIS.INTERFERENCE,
|
|
300
|
+
summary:
|
|
301
|
+
`this run's own coverage scratch files were deleted while it was still ` +
|
|
302
|
+
`running, so it never produced a coverage number — another run sharing ` +
|
|
303
|
+
`the same coverage.reportsDirectory did that, and it is NOT a coverage ` +
|
|
304
|
+
`shortfall. Re-run it on its own`,
|
|
305
|
+
evidence: capped(paths),
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
|
|
208
309
|
/**
|
|
209
310
|
* Exit codes a POSIX shell reports for a command killed by a signal.
|
|
210
311
|
*
|
|
@@ -283,7 +384,8 @@ function killedVerdict(code) {
|
|
|
283
384
|
* Classify why a gate command failed, from the output it produced.
|
|
284
385
|
*
|
|
285
386
|
* Ordered deliberately, and the order is the content of this function: a
|
|
286
|
-
* kill outranks everything, then
|
|
387
|
+
* kill outranks everything, then outside interference with the run's own
|
|
388
|
+
* scratch files, then a timeout outranks an assertion failure
|
|
287
389
|
* outranks a threshold miss, because
|
|
288
390
|
* coverage read off a run that did not finish measures the interruption rather
|
|
289
391
|
* than the code. Getting that backwards is the defect being fixed — it is what
|
|
@@ -307,6 +409,15 @@ function classify(output, code) {
|
|
|
307
409
|
};
|
|
308
410
|
}
|
|
309
411
|
|
|
412
|
+
// Above every content signature, and directly below a kill, for the same
|
|
413
|
+
// reason a kill outranks them: the run was interfered with from outside, so
|
|
414
|
+
// whatever it printed describes the interference rather than the code. A
|
|
415
|
+
// timeout or a failing assertion in such a transcript may well be real, but
|
|
416
|
+
// it is not what stopped the run, and the gate whose verdict is missing is
|
|
417
|
+
// the coverage one either way.
|
|
418
|
+
const interference = findInterference(output);
|
|
419
|
+
if (interference.length > 0) return interferenceVerdict(interference);
|
|
420
|
+
|
|
310
421
|
const timeouts = findTimeouts(output);
|
|
311
422
|
const failures = findFailures(output);
|
|
312
423
|
const misses = findThresholdMisses(output);
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
import { tmpdir } from "node:os";
|
|
53
53
|
import { join } from "node:path";
|
|
54
54
|
|
|
55
|
-
import { diagnoseFailure } from "./lib/gate-failure-diagnosis.mjs";
|
|
55
|
+
import { DIAGNOSIS, diagnoseFailure } from "./lib/gate-failure-diagnosis.mjs";
|
|
56
56
|
import { invokedAsScript } from "./lib/invoked-as-script.mjs";
|
|
57
57
|
import { projectScripts, readGates, resolveMoment } from "./lisa-gates.mjs";
|
|
58
58
|
|
|
@@ -302,6 +302,50 @@ function normaliseExec(raw) {
|
|
|
302
302
|
* @returns {{state: string, detail: string, code: number|null,
|
|
303
303
|
* diagnosis: string|null, evidence: string[]}} The outcome.
|
|
304
304
|
*/
|
|
305
|
+
/**
|
|
306
|
+
* Diagnoses under which the command established nothing about any property.
|
|
307
|
+
*
|
|
308
|
+
* A gate reports FAILED to say "I measured this and it was wanting". Two
|
|
309
|
+
* outcomes cannot support that sentence and were saying it anyway.
|
|
310
|
+
*
|
|
311
|
+
* `undiagnosed` is the one that was measured in the wild
|
|
312
|
+
* (CodySwannGT/lisa#2961). A coverage run lost its own scratch files to a
|
|
313
|
+
* second coverage run in the same directory and died on a bare `ENOENT`. The
|
|
314
|
+
* classifier got it right — it printed **"no recognised failure signature"**,
|
|
315
|
+
* which is an admission — and the runner then rendered that admission as
|
|
316
|
+
* `FAILED required coverage-adequacy`. So the report said, in one line, both
|
|
317
|
+
* "I do not know what happened" and "the coverage floor was not met". The
|
|
318
|
+
* second half was invented, and it is the half an operator acts on.
|
|
319
|
+
*
|
|
320
|
+
* `interference` is the same event as that `undiagnosed` one, now recognised
|
|
321
|
+
* and named rather than merely admitted — recognising it must not silently
|
|
322
|
+
* promote it back to a measurement.
|
|
323
|
+
*
|
|
324
|
+
* ## Two kinds that look eligible and are not
|
|
325
|
+
*
|
|
326
|
+
* `uncaptured` is NOT here, and the attempt to include it is what proves the
|
|
327
|
+
* distinction. Capture is off by default (`LISA_GATES_CAPTURE=1` turns it on),
|
|
328
|
+
* so `uncaptured` is the ORDINARY outcome of an ordinary failing gate — four
|
|
329
|
+
* existing cases went red the moment it was added, every one of them a plain
|
|
330
|
+
* `lint` gate exiting 1. A gate that exited nonzero did measure something; the
|
|
331
|
+
* runner merely did not keep the transcript. Missing evidence about a real
|
|
332
|
+
* failure is not the same claim as a captured transcript that describes no
|
|
333
|
+
* failure at all, which is what `undiagnosed` means.
|
|
334
|
+
*
|
|
335
|
+
* `killed` is NOT here either. A terminated gate has its own vocabulary already
|
|
336
|
+
* (CodySwannGT/lisa#2813) and its own bite test asserting the wording it
|
|
337
|
+
* prints; moving it is that issue's call to make, not this one's.
|
|
338
|
+
*
|
|
339
|
+
* Nothing about blocking changes. UNPROVABLE is counted in `result.failed` and
|
|
340
|
+
* sets `blockedBy` exactly as FAILED does — an unmeasured required property is
|
|
341
|
+
* not a pass. The only thing that changes is that the gate stops naming a cause
|
|
342
|
+
* it does not have.
|
|
343
|
+
*/
|
|
344
|
+
const MEASURED_NOTHING = new Set([
|
|
345
|
+
DIAGNOSIS.UNDIAGNOSED,
|
|
346
|
+
DIAGNOSIS.INTERFERENCE,
|
|
347
|
+
]);
|
|
348
|
+
|
|
305
349
|
function execute(gate, exec) {
|
|
306
350
|
const { code, output } = normaliseExec(exec(gate.command, gate));
|
|
307
351
|
if (code === 0) {
|
|
@@ -322,7 +366,9 @@ function execute(gate, exec) {
|
|
|
322
366
|
// them (CodySwannGT/lisa#2897).
|
|
323
367
|
const diagnosis = diagnoseFailure(output, code);
|
|
324
368
|
return {
|
|
325
|
-
state:
|
|
369
|
+
state: MEASURED_NOTHING.has(diagnosis.kind)
|
|
370
|
+
? STATE.UNPROVABLE
|
|
371
|
+
: STATE.FAILED,
|
|
326
372
|
detail: `${gate.command} (exit ${shown}) — ${diagnosis.summary}`,
|
|
327
373
|
code: typeof code === "number" ? code : null,
|
|
328
374
|
diagnosis: diagnosis.kind,
|
package/dist/cli/sync-cmd.d.ts
CHANGED
|
@@ -15,7 +15,8 @@ export declare function printSyncReport(report: SyncReport): void;
|
|
|
15
15
|
* Run the `lisa sync` command.
|
|
16
16
|
* @param targetPath - Project path argument (defaults to the current directory)
|
|
17
17
|
* @param options - CLI options
|
|
18
|
-
* @returns Exit code (0 on success, 1 when required keys are missing
|
|
18
|
+
* @returns Exit code (0 on success, 1 when required keys are missing or the
|
|
19
|
+
* config-owned mutation floor diverges from stryker.conf.json)
|
|
19
20
|
*/
|
|
20
21
|
export declare function runSync(targetPath: string | undefined, options?: SyncCmdOptions): Promise<number>;
|
|
21
22
|
//# sourceMappingURL=sync-cmd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/sync-cmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/sync-cmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGxE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAaxD;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
|
package/dist/cli/sync-cmd.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as path from "node:path";
|
|
7
7
|
import { runConfigSync } from "../sync/config-sync.js";
|
|
8
|
+
import { MutationFloorDivergenceError } from "../sync/stryker-thresholds-ownership.js";
|
|
8
9
|
/**
|
|
9
10
|
* Print a sync report in human-readable form.
|
|
10
11
|
* @param report - Report returned by the sync engine
|
|
@@ -25,13 +26,25 @@ export function printSyncReport(report) {
|
|
|
25
26
|
* Run the `lisa sync` command.
|
|
26
27
|
* @param targetPath - Project path argument (defaults to the current directory)
|
|
27
28
|
* @param options - CLI options
|
|
28
|
-
* @returns Exit code (0 on success, 1 when required keys are missing
|
|
29
|
+
* @returns Exit code (0 on success, 1 when required keys are missing or the
|
|
30
|
+
* config-owned mutation floor diverges from stryker.conf.json)
|
|
29
31
|
*/
|
|
30
32
|
export async function runSync(targetPath, options = {}) {
|
|
31
33
|
const destDir = path.resolve(targetPath ?? ".");
|
|
34
|
+
// A divergence is a refusal, not a crash: print the diagnosis the way an
|
|
35
|
+
// operator can act on it rather than letting a stack trace reach the user.
|
|
32
36
|
const report = await runConfigSync(destDir, {
|
|
33
37
|
dryRun: options.dryRun === true,
|
|
38
|
+
}).catch((error) => {
|
|
39
|
+
if (error instanceof MutationFloorDivergenceError) {
|
|
40
|
+
console.error(error.message);
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
throw error;
|
|
34
44
|
});
|
|
45
|
+
if (report === undefined) {
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
35
48
|
if (options.json === true) {
|
|
36
49
|
console.log(JSON.stringify(report, null, 2));
|
|
37
50
|
}
|
package/dist/cli/sync-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-cmd.js","sourceRoot":"","sources":["../../src/cli/sync-cmd.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-cmd.js","sourceRoot":"","sources":["../../src/cli/sync-cmd.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAUvF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACvC,OAAO,CAAC,IAAI,CACV,GAAG,MAAM,qBAAqB,OAAO,CAAC,GAAG,+BAA+B,OAAO,CAAC,SAAS,EAAE,CAC5F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAA8B,EAC9B,UAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IAChD,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;KAChC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1B,IAAI,KAAK,YAAY,4BAA4B,EAAE,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scratch-setup.d.ts","sourceRoot":"","sources":["../../../src/configs/vitest/scratch-setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scratch-setup.d.ts","sourceRoot":"","sources":["../../../src/configs/vitest/scratch-setup.ts"],"names":[],"mappings":"AAsEA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAqDrC,CAAC"}
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
* /tmp/probe
|
|
17
17
|
* ```
|
|
18
18
|
*
|
|
19
|
+
* A signalled exit is covered too, which is not obvious and is the whole of
|
|
20
|
+
* CodySwannGT/lisa#2950: see the signal handlers in `installScratchRoot`.
|
|
21
|
+
*
|
|
19
22
|
* Because the assignment mutates the process environment, subprocesses the
|
|
20
23
|
* tests spawn inherit the redirection too — a fixture's `git`, `npm pack` or
|
|
21
24
|
* `tsc` child writes into the same bounded root, so a child that outlives its
|
|
@@ -29,6 +32,24 @@
|
|
|
29
32
|
import * as fs from "node:fs";
|
|
30
33
|
import { env } from "node:process";
|
|
31
34
|
import { SCRATCH_ROOT_ENV, reclaimAndCreateRunRoot, removeScratchDir, scratchBaseDir, scratchNamespaceDir, } from "./scratch.js";
|
|
35
|
+
/**
|
|
36
|
+
* Signals a worker is reaped with, each of which skips `exit` by default.
|
|
37
|
+
*
|
|
38
|
+
* `SIGTERM` is the one measured in this repository — it is how vitest's
|
|
39
|
+
* `forks` pool ends a worker. `SIGINT` and `SIGHUP` are here because they
|
|
40
|
+
* reach the same process by the same route with the same default action: an
|
|
41
|
+
* operator pressing ctrl-C, and a terminal closing on a run left going. A
|
|
42
|
+
* handler that covered only the case that happened to be measured would leave
|
|
43
|
+
* the other two producing exactly the residue this removes.
|
|
44
|
+
*
|
|
45
|
+
* `SIGKILL` is deliberately absent — it cannot be caught, which is precisely
|
|
46
|
+
* why reclaim-on-start exists and is tested separately.
|
|
47
|
+
*/
|
|
48
|
+
const REAPING_SIGNALS = [
|
|
49
|
+
"SIGTERM",
|
|
50
|
+
"SIGINT",
|
|
51
|
+
"SIGHUP",
|
|
52
|
+
];
|
|
32
53
|
/** Key under which the per-process run root is memoised. */
|
|
33
54
|
const RUN_ROOT_KEY = "__lisaScratchRunRoot__";
|
|
34
55
|
/**
|
|
@@ -59,11 +80,35 @@ export const installScratchRoot = () => {
|
|
|
59
80
|
env["TMPDIR"] = root;
|
|
60
81
|
env["TMP"] = root;
|
|
61
82
|
env["TEMP"] = root;
|
|
62
|
-
// Covers an ordinary exit, including one where tests failed.
|
|
63
|
-
// does not run this — nothing can — and is handled by the next run's sweep.
|
|
83
|
+
// Covers an ordinary exit, including one where tests failed.
|
|
64
84
|
process.once("exit", () => {
|
|
65
85
|
removeScratchDir(root);
|
|
66
86
|
});
|
|
87
|
+
// And covers the exit this suite ACTUALLY takes, which is not an ordinary
|
|
88
|
+
// one. Measured on vitest 4.1.9, `forks` pool, by recording every lifecycle
|
|
89
|
+
// event a worker reaches: the pool ends a worker with SIGTERM, and node's
|
|
90
|
+
// default action for SIGTERM terminates the process WITHOUT running `exit`
|
|
91
|
+
// handlers. So the handler above — the only mechanism that removes a run's
|
|
92
|
+
// own root — never ran for any worker, and a completely green run left its
|
|
93
|
+
// root behind every time (CodySwannGT/lisa#2950).
|
|
94
|
+
//
|
|
95
|
+
// That was invisible for the usual reason: the next run's sweep reclaims a
|
|
96
|
+
// root whose pid is dead, so the residue disappeared before anyone looked
|
|
97
|
+
// for it, and the namespace never grew. The behaviour was reported as
|
|
98
|
+
// present because its effect was eventually produced by something else.
|
|
99
|
+
//
|
|
100
|
+
// The same probe shows a worker DOES reach `exit` once a listener for the
|
|
101
|
+
// signal exists, because installing one displaces node's default action.
|
|
102
|
+
// Removing the listener and re-raising restores it, so the process still
|
|
103
|
+
// dies of the signal it was sent, with the status the pool expects — this
|
|
104
|
+
// buys the cleanup, not a different lifecycle.
|
|
105
|
+
for (const signal of REAPING_SIGNALS) {
|
|
106
|
+
process.once(signal, () => {
|
|
107
|
+
removeScratchDir(root);
|
|
108
|
+
process.removeAllListeners(signal);
|
|
109
|
+
process.kill(process.pid, signal);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
67
112
|
return root;
|
|
68
113
|
};
|
|
69
114
|
installScratchRoot();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scratch-setup.js","sourceRoot":"","sources":["../../../src/configs/vitest/scratch-setup.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scratch-setup.js","sourceRoot":"","sources":["../../../src/configs/vitest/scratch-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAA8B;IACjD,SAAS;IACT,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,4DAA4D;AAC5D,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAQ9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE;IAC7C,MAAM,KAAK,GAAG,UAA2B,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,uBAAuB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE5D,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEnB,6DAA6D;IAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACxB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,kDAAkD;IAClD,EAAE;IACF,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,EAAE;IACF,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,+CAA+C;IAC/C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACxB,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAkB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA+gBjC,CAAC"}
|
|
@@ -213,6 +213,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
213
213
|
"eaafd632dacfb181f6c83a22e5086f39586aff023788861d915c7254246d3175",
|
|
214
214
|
]),
|
|
215
215
|
"scripts/lib/gate-failure-diagnosis.mjs": Object.freeze([
|
|
216
|
+
"041094be579c3aefdf9f7b384e24ca23cd860c984c9094ffeb55b1542829bc39",
|
|
216
217
|
"503b51e9239411d07ce6b51dbe2b3079bb12e94bf7c0310e76247af19ff667e6",
|
|
217
218
|
"6b72a6a71078c838fdb0531e74898a5e36d942cad424b20480e2cd370b5264eb",
|
|
218
219
|
"b4a0b1a0df6e944313b4a197925a0003fb9aed517fbd5708deda2a2a67f53faf",
|
|
@@ -442,6 +443,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
|
|
|
442
443
|
"0978ac24f28bf9f11230781d271997384009b1528ed61de523333e52a5a4cf57",
|
|
443
444
|
"235c541534fc0eca510135ac39b9fbd196965fbeb54d42a09fbf052da1c925cd",
|
|
444
445
|
"2d166a07c9809800771c7f41e515bff8d66c23aeeae2838dd52d5f2547037422",
|
|
446
|
+
"5c65c8db73c5465cef810789ef71abe405df4d5d5db64f78923e5050656f13c8",
|
|
445
447
|
"94453bdae8ab3dd2eba0883c4b278027396090e0bdc8e2f102414abc6415912a",
|
|
446
448
|
"a58af06f1d677d82b780a6857916c1684a44649ba742b2b329d408057ae5700d",
|
|
447
449
|
"ba610745a8878bb9a21af249d6ab5b384fcf88e7c530db846f4f8163faba7a8e",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lisa-owned-hash-ledger.js","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAg3EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAg3EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA+9OjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -5,7 +5,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
5
5
|
"all/copy-contents/gitignore": "8104ccd32d7e6137cae706511c5037d11d6b6045b8e2a9bb7b3a48a81c053cfa",
|
|
6
6
|
"all/copy-overwrite/scripts/check-conflict-markers.mjs": "92f4413e8becaf66244b67297acfb223227ac42c2ddb1f715c8bce269708e526",
|
|
7
7
|
"all/copy-overwrite/scripts/check-state-classification.mjs": "a72910f9885629dd6d8a739b900f5603e4b53d68ece64100a2a5647016b58e1e",
|
|
8
|
-
"all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs": "
|
|
8
|
+
"all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs": "041094be579c3aefdf9f7b384e24ca23cd860c984c9094ffeb55b1542829bc39",
|
|
9
9
|
"all/copy-overwrite/scripts/lib/invoked-as-script.mjs": "fbb9b88fc85a3e22f21af39e1c17acf67ff83fc6b5a6cdc8081bde333c48faa7",
|
|
10
10
|
"all/copy-overwrite/scripts/lisa-command-envelope.mjs": "014a94647efc636cbce961364a82f03c1f3c1e54a55e9d21508fded88dce49c4",
|
|
11
11
|
"all/copy-overwrite/scripts/lisa-commit-msg-gates.mjs": "5d587fd849cef02e9706d084ac2b508f3885da0ba59b76311e3b666f4fbff01e",
|
|
@@ -24,7 +24,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
24
24
|
"all/copy-overwrite/scripts/lisa-lint-staged-preflight.mjs": "ce4bc224a102e3ac2bc29d8f2038eefd619129d4639c25954c93f05011f7f977",
|
|
25
25
|
"all/copy-overwrite/scripts/lisa-postinstall.mjs": "98fe3adf3192a72f40eb75757193ce866f0a6123387377f6041e54d938df8d96",
|
|
26
26
|
"all/copy-overwrite/scripts/lisa-reconcile-policy.mjs": "f490aa56b466d961d7372f94c2fb3f0e5deb31e53212a67dd79ac4afee48d4b4",
|
|
27
|
-
"all/copy-overwrite/scripts/lisa-run-gates.mjs": "
|
|
27
|
+
"all/copy-overwrite/scripts/lisa-run-gates.mjs": "5c65c8db73c5465cef810789ef71abe405df4d5d5db64f78923e5050656f13c8",
|
|
28
28
|
"all/copy-overwrite/scripts/lisa-schema-validate.mjs": "08cb25c2c49e0e5fd01e29861bbb8c90f612f9736ca2df86789fa72bd26d271e",
|
|
29
29
|
"all/copy-overwrite/scripts/lisa-test-node.mjs": "31b338144af00e20e3de02202982846d7333433a9bbda76a8c77d50e6fdbc47b",
|
|
30
30
|
"all/copy-overwrite/scripts/lisa-work-item.mjs": "04401ae05bf9464e6929180ffdfff80afc528a1df20733b032a0342252ca1d4a",
|
|
@@ -1197,7 +1197,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
1197
1197
|
"typescript/create-only/jest.config.local.ts": "5d5603e5b79ab0379cda135159ad83aef3ec914fa037c83fc7176363b64c8422",
|
|
1198
1198
|
"typescript/create-only/jest.thresholds.json": "ce04fe30ad6139f734dbc56d92a801c11cfd86a0d9e49c06c1c2d0a137beeffd",
|
|
1199
1199
|
"typescript/create-only/mutation.gate.json": "53adce2f6ef53f4a46d896210828610bf4f9b1f45ebbf6c7cf0addf9982a161a",
|
|
1200
|
-
"typescript/create-only/stryker.conf.json": "
|
|
1200
|
+
"typescript/create-only/stryker.conf.json": "60307e1644b37b73458ecc842199c7efc565f6d2eb3e2a52af9ecb4236ae2014",
|
|
1201
1201
|
"typescript/create-only/tsconfig.local.json": "727931ff950c5606b74040963429407c820743dfd20cb1732656eca963575208",
|
|
1202
1202
|
"typescript/create-only/vitest.config.local.ts": "a70a6d2a4f210304cf84b8017b2c628c0ef689712c4f745ef45e1fcfffac4050",
|
|
1203
1203
|
"typescript/create-only/vitest.thresholds.json": "ce04fe30ad6139f734dbc56d92a801c11cfd86a0d9e49c06c1c2d0a137beeffd",
|
|
@@ -7449,12 +7449,14 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7449
7449
|
"src/strategies/strategy.interface.ts": true,
|
|
7450
7450
|
"src/strategies/tagged-merge-types.ts": true,
|
|
7451
7451
|
"src/strategies/tagged-merge.ts": true,
|
|
7452
|
+
"src/sync/artifact-sync.ts": true,
|
|
7452
7453
|
"src/sync/config-sync.ts": true,
|
|
7453
7454
|
"src/sync/json-path.ts": true,
|
|
7454
7455
|
"src/sync/legacy-aliases.ts": true,
|
|
7455
7456
|
"src/sync/legacy-monitor-thresholds.ts": true,
|
|
7456
7457
|
"src/sync/lifecycle-defaults.ts": true,
|
|
7457
7458
|
"src/sync/registry.ts": true,
|
|
7459
|
+
"src/sync/stryker-thresholds-ownership.ts": true,
|
|
7458
7460
|
"src/sync/sync-population.ts": true,
|
|
7459
7461
|
"src/transaction/backup.ts": true,
|
|
7460
7462
|
"src/transaction/index.ts": true,
|
|
@@ -7574,9 +7576,11 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7574
7576
|
"tests/fixtures/wiki-safety/allowed-contacts.md": true,
|
|
7575
7577
|
"tests/fixtures/wiki-safety/redaction-source.md": true,
|
|
7576
7578
|
"tests/helpers/__fixtures__/margin-guard-case.ts": true,
|
|
7579
|
+
"tests/helpers/__fixtures__/scratch-teardown-case.ts": true,
|
|
7577
7580
|
"tests/helpers/__fixtures__/wiki-status-fixture.ts": true,
|
|
7578
7581
|
"tests/helpers/cpu-budget.ts": true,
|
|
7579
7582
|
"tests/helpers/gate-capture.ts": true,
|
|
7583
|
+
"tests/helpers/hardcoded-temp-path-scan.ts": true,
|
|
7580
7584
|
"tests/helpers/hook-roster.ts": true,
|
|
7581
7585
|
"tests/helpers/io-latency-budget.ts": true,
|
|
7582
7586
|
"tests/helpers/nightly-e2e-gate-harness.ts": true,
|
|
@@ -7600,6 +7604,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7600
7604
|
"tests/integration/apply-reports-unchanged-manifest.test.ts": true,
|
|
7601
7605
|
"tests/integration/bootstrap-keychain.test.ts": true,
|
|
7602
7606
|
"tests/integration/cli-smoke.test.ts": true,
|
|
7607
|
+
"tests/integration/coverage-scratch-debris.test.ts": true,
|
|
7603
7608
|
"tests/integration/deletion-reference-guard.test.ts": true,
|
|
7604
7609
|
"tests/integration/emitted-scripts-survive-shipped-fixer.test.ts": true,
|
|
7605
7610
|
"tests/integration/environment-facade-gates.test.ts": true,
|
|
@@ -7859,6 +7864,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7859
7864
|
"tests/unit/config/gate-task-shipped-to-templates.test.ts": true,
|
|
7860
7865
|
"tests/unit/config/gitleaks-template.test.ts": true,
|
|
7861
7866
|
"tests/unit/config/governed-script-composition-points.test.ts": true,
|
|
7867
|
+
"tests/unit/config/hardcoded-temp-path-detector.test.ts": true,
|
|
7862
7868
|
"tests/unit/config/harper-fabric-template.test.ts": true,
|
|
7863
7869
|
"tests/unit/config/jest-base.test.ts": true,
|
|
7864
7870
|
"tests/unit/config/jest-expo.test.ts": true,
|
|
@@ -7877,6 +7883,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7877
7883
|
"tests/unit/config/postinstall-cloud-session-guard.test.ts": true,
|
|
7878
7884
|
"tests/unit/config/rails-template.test.ts": true,
|
|
7879
7885
|
"tests/unit/config/release-push-retry.test.ts": true,
|
|
7886
|
+
"tests/unit/config/scratch-run-root-teardown.test.ts": true,
|
|
7880
7887
|
"tests/unit/config/security-pin-floors.test.ts": true,
|
|
7881
7888
|
"tests/unit/config/shipped-mjs-roster.test.ts": true,
|
|
7882
7889
|
"tests/unit/config/template-script-toolchain.test.ts": true,
|
|
@@ -8143,6 +8150,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8143
8150
|
"tests/unit/scripts/lisa-run-gates-floor.test.ts": true,
|
|
8144
8151
|
"tests/unit/scripts/lisa-run-gates-shared-prover.test.ts": true,
|
|
8145
8152
|
"tests/unit/scripts/lisa-run-gates-shipped-as.test.ts": true,
|
|
8153
|
+
"tests/unit/scripts/lisa-run-gates-unproved.test.ts": true,
|
|
8146
8154
|
"tests/unit/scripts/lisa-run-gates.test.ts": true,
|
|
8147
8155
|
"tests/unit/scripts/lisa-test-node.test.ts": true,
|
|
8148
8156
|
"tests/unit/scripts/lisa-work-item-complete.test.ts": true,
|
|
@@ -8486,6 +8494,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8486
8494
|
"tests/unit/sync/health-schedule.test.ts": true,
|
|
8487
8495
|
"tests/unit/sync/legacy-monitor-thresholds.test.ts": true,
|
|
8488
8496
|
"tests/unit/sync/linear-workflow-registry.test.ts": true,
|
|
8497
|
+
"tests/unit/sync/mutation-floor-divergence.test.ts": true,
|
|
8498
|
+
"tests/unit/sync/stryker-thresholds-ownership.test.ts": true,
|
|
8489
8499
|
"tests/unit/templates/dependency-decisions-template.test.ts": true,
|
|
8490
8500
|
"tests/unit/templates/lisa-dependency-decisions-seed.test.ts": true,
|
|
8491
8501
|
"tests/unit/templates/project-learnings-template.test.ts": true,
|