@codyswann/lisa 4.33.2 → 4.33.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/dist/configs/repo-scan.d.ts +25 -0
- package/dist/configs/repo-scan.d.ts.map +1 -0
- package/dist/configs/repo-scan.js +83 -0
- package/dist/configs/repo-scan.js.map +1 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +2 -0
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +4 -4
- 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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stryker's sandbox root when a project declares no `tempDirName`.
|
|
3
|
+
*
|
|
4
|
+
* Duplicated from `lisa-mutation.mjs`'s `DEFAULT_TEMP_DIR_NAME` rather than
|
|
5
|
+
* imported: that module is an untyped `.mjs` shipped under `typescript/`, and a
|
|
6
|
+
* `src/` config importing a stack template would invert the dependency
|
|
7
|
+
* direction the package is built on. The value is Stryker's own default and is
|
|
8
|
+
* pinned by a test in both places.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DEFAULT_SANDBOX_ROOT = ".stryker-tmp";
|
|
11
|
+
/**
|
|
12
|
+
* Directory names a repository-wide source scan skips.
|
|
13
|
+
*
|
|
14
|
+
* Names, not paths, because these are matched against a single directory entry
|
|
15
|
+
* during a walk. A project that configures a different `tempDirName` should add
|
|
16
|
+
* it alongside these rather than replacing the list.
|
|
17
|
+
*/
|
|
18
|
+
export declare const REPO_SCAN_EXCLUSIONS: readonly string[];
|
|
19
|
+
/**
|
|
20
|
+
* Whether a walk should skip a directory entry by name.
|
|
21
|
+
* @param name - A single directory entry name, never a path.
|
|
22
|
+
* @returns True when the entry is not source and must not be descended into.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isExcludedFromRepoScan(name: string): boolean;
|
|
25
|
+
//# sourceMappingURL=repo-scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-scan.d.ts","sourceRoot":"","sources":["../../src/configs/repo-scan.ts"],"names":[],"mappings":"AA4CA;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAajD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directory names a repository-wide scan must not descend into.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this is shared rather than hand-rolled per scan
|
|
5
|
+
*
|
|
6
|
+
* A test that walks the repository to assert something about the source — this
|
|
7
|
+
* file is unique by basename, every shipped hook has a companion, no template
|
|
8
|
+
* pins a stale version — is asserting a property of the SOURCE. Several
|
|
9
|
+
* directories under the repository root are not source: they are copies of it,
|
|
10
|
+
* or build output, or another branch entirely.
|
|
11
|
+
*
|
|
12
|
+
* A scratch sandbox is the dangerous one, because it is a **full second copy of
|
|
13
|
+
* the tree**. Measured on this repository: a `stryker` run terminated under
|
|
14
|
+
* fleet saturation left 42 MB at
|
|
15
|
+
* `.stryker-tmp/bite-guard-intact/sandbox-<id>/rails/copy-overwrite/scripts/lisa-scratch-run.sh`,
|
|
16
|
+
* a second copy of a file one scan asserts is unique by basename. That scan
|
|
17
|
+
* failed on the NEXT run, with a clean, specific, entirely plausible message
|
|
18
|
+
* about a duplicate file — and nothing in its output mentioned mutation,
|
|
19
|
+
* saturation, or the run that died minutes earlier
|
|
20
|
+
* (CodySwannGT/lisa#3653, the fourth rendering catalogued in #3630).
|
|
21
|
+
*
|
|
22
|
+
* Measured at the same time: **42 test files walk from the repository root and
|
|
23
|
+
* none of them excluded the sandbox root.** Every one of them is exposed to the
|
|
24
|
+
* same debris; the basename scan is simply the one that happened to trip first.
|
|
25
|
+
* Each had hand-rolled its own skip list, so each could forget a different
|
|
26
|
+
* entry — which is why this list is one importable constant rather than a
|
|
27
|
+
* convention.
|
|
28
|
+
*
|
|
29
|
+
* ## The falsifier, because the obvious reading is wrong
|
|
30
|
+
*
|
|
31
|
+
* `.stryker-tmp/` EXISTING is normal and harmless. The mutation gate recreates
|
|
32
|
+
* it every run and it comes back empty. Only a POPULATED sandbox, left by an
|
|
33
|
+
* interrupted or racing run, is a second copy of the tree. Anyone who reads the
|
|
34
|
+
* directory's presence as the defect will delete it, watch it return empty, and
|
|
35
|
+
* conclude wrongly that the fix did not take.
|
|
36
|
+
*
|
|
37
|
+
* This list is defence in depth, not the cure. The cure is that an interrupted
|
|
38
|
+
* run's sandbox gets reclaimed — see `reclaimAbandonedSandboxes` in
|
|
39
|
+
* `lisa-mutation.mjs`. Both are wanted: reclamation removes the debris, and
|
|
40
|
+
* this stops a scan reading whatever debris reclamation has not reached yet.
|
|
41
|
+
* @module configs/repo-scan
|
|
42
|
+
*/
|
|
43
|
+
import { WORKTREE_ROOTS } from "./worktrees.js";
|
|
44
|
+
/**
|
|
45
|
+
* Stryker's sandbox root when a project declares no `tempDirName`.
|
|
46
|
+
*
|
|
47
|
+
* Duplicated from `lisa-mutation.mjs`'s `DEFAULT_TEMP_DIR_NAME` rather than
|
|
48
|
+
* imported: that module is an untyped `.mjs` shipped under `typescript/`, and a
|
|
49
|
+
* `src/` config importing a stack template would invert the dependency
|
|
50
|
+
* direction the package is built on. The value is Stryker's own default and is
|
|
51
|
+
* pinned by a test in both places.
|
|
52
|
+
*/
|
|
53
|
+
export const DEFAULT_SANDBOX_ROOT = ".stryker-tmp";
|
|
54
|
+
/**
|
|
55
|
+
* Directory names a repository-wide source scan skips.
|
|
56
|
+
*
|
|
57
|
+
* Names, not paths, because these are matched against a single directory entry
|
|
58
|
+
* during a walk. A project that configures a different `tempDirName` should add
|
|
59
|
+
* it alongside these rather than replacing the list.
|
|
60
|
+
*/
|
|
61
|
+
export const REPO_SCAN_EXCLUSIONS = [
|
|
62
|
+
".git",
|
|
63
|
+
"node_modules",
|
|
64
|
+
"dist",
|
|
65
|
+
"coverage",
|
|
66
|
+
".claude",
|
|
67
|
+
"scratchpad",
|
|
68
|
+
// Not source: a full second copy of the tree, and the one that has actually
|
|
69
|
+
// broken a scan on this repository.
|
|
70
|
+
DEFAULT_SANDBOX_ROOT,
|
|
71
|
+
// Not this branch's source: another checkout entirely. One host project
|
|
72
|
+
// measured 13,821 of 14,277 collected files coming from worktrees.
|
|
73
|
+
...WORKTREE_ROOTS.map(root => root.split("/").at(-1)),
|
|
74
|
+
];
|
|
75
|
+
/**
|
|
76
|
+
* Whether a walk should skip a directory entry by name.
|
|
77
|
+
* @param name - A single directory entry name, never a path.
|
|
78
|
+
* @returns True when the entry is not source and must not be descended into.
|
|
79
|
+
*/
|
|
80
|
+
export function isExcludedFromRepoScan(name) {
|
|
81
|
+
return REPO_SCAN_EXCLUSIONS.includes(name);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=repo-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-scan.js","sourceRoot":"","sources":["../../src/configs/repo-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,MAAM;IACN,cAAc;IACd,MAAM;IACN,UAAU;IACV,SAAS;IACT,YAAY;IACZ,4EAA4E;IAC5E,oCAAoC;IACpC,oBAAoB;IACpB,wEAAwE;IACxE,mEAAmE;IACnE,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAW,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -20,9 +20,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
|
|
|
20
20
|
}),
|
|
21
21
|
"312e8962e21be2f3c6c6c0235b0c6159b8dc39425508b4965c7df87fb1333380": Object.freeze({
|
|
22
22
|
contractVersion: "1.9.0",
|
|
23
|
-
packageVersions: Object.freeze(["4.33.
|
|
23
|
+
packageVersions: Object.freeze(["4.33.4"]),
|
|
24
24
|
provenances: Object.freeze([
|
|
25
|
-
"workspace package @codyswann/lisa@4.33.
|
|
25
|
+
"workspace package @codyswann/lisa@4.33.4 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
|
|
26
26
|
]),
|
|
27
27
|
}),
|
|
28
28
|
"898ee0247806c7aa6e98328662d80bcff22ff067999298865462a58daef8bb22": Object.freeze({
|
|
@@ -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,CAo/EpE,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,CAo/EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA2kQjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -7536,6 +7536,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7536
7536
|
"src/configs/jest/index.ts": true,
|
|
7537
7537
|
"src/configs/jest/nestjs.ts": true,
|
|
7538
7538
|
"src/configs/jest/typescript.ts": true,
|
|
7539
|
+
"src/configs/repo-scan.ts": true,
|
|
7539
7540
|
"src/configs/vitest/base.ts": true,
|
|
7540
7541
|
"src/configs/vitest/cdk.ts": true,
|
|
7541
7542
|
"src/configs/vitest/harper-fabric.ts": true,
|
|
@@ -8341,6 +8342,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
8341
8342
|
"tests/unit/config/rails-template.test.ts": true,
|
|
8342
8343
|
"tests/unit/config/release-package-identity-workflows.test.ts": true,
|
|
8343
8344
|
"tests/unit/config/release-push-retry.test.ts": true,
|
|
8345
|
+
"tests/unit/config/repo-scan-exclusions.test.ts": true,
|
|
8344
8346
|
"tests/unit/config/required-checks-declaration.test.ts": true,
|
|
8345
8347
|
"tests/unit/config/scratch-authority.test.ts": true,
|
|
8346
8348
|
"tests/unit/config/scratch-child-authority.test.ts": true,
|