@codyswann/lisa 4.40.0 → 4.40.1
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/lisa-cross-worktree-guard.mjs +57 -0
- package/all/copy-overwrite/scripts/lisa-hooks/block-direct-issue-create.sh +17 -0
- package/all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh +14 -0
- package/all/copy-overwrite/scripts/lisa-hooks/block-no-verify.sh +28 -0
- package/dist/codex/scripts/block-no-verify.sh +21 -0
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +12 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- 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 +11 -10
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/opencode/plugin-templates/block-managed-file-edits.sh +14 -0
- package/dist/opencode/plugin-templates/block-no-verify.sh +28 -0
- 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/hooks/block-direct-issue-create.sh +17 -0
- package/plugins/lisa/hooks/block-managed-file-edits.sh +14 -0
- package/plugins/lisa/hooks/block-no-verify.agy.sh +21 -0
- package/plugins/lisa/hooks/block-no-verify.sh +28 -0
- package/plugins/lisa-agy/hooks/block-direct-issue-create.sh +17 -0
- package/plugins/lisa-agy/hooks/block-managed-file-edits.sh +14 -0
- package/plugins/lisa-agy/hooks/block-no-verify.agy.sh +21 -0
- 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-copilot/hooks/block-direct-issue-create.sh +17 -0
- package/plugins/lisa-copilot/hooks/block-managed-file-edits.sh +14 -0
- package/plugins/lisa-copilot/hooks/block-no-verify.sh +28 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/block-direct-issue-create.sh +17 -0
- package/plugins/lisa-cursor/hooks/block-managed-file-edits.sh +14 -0
- package/plugins/lisa-cursor/hooks/block-no-verify.sh +28 -0
- 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/plugins/src/base/hooks/block-direct-issue-create.sh +17 -0
- package/plugins/src/base/hooks/block-managed-file-edits.sh +14 -0
- package/plugins/src/base/hooks/block-no-verify.agy.sh +21 -0
- package/plugins/src/base/hooks/block-no-verify.sh +28 -0
- package/rails/copy-contents/scripts/lisa-mutation.sh +8 -1
- package/typescript/copy-overwrite/scripts/lisa-mutation.mjs +20 -14
|
@@ -1388,6 +1388,15 @@ export const parseChangedLineRanges = patch => {
|
|
|
1388
1388
|
|
|
1389
1389
|
/**
|
|
1390
1390
|
* Stryker mutation ranges for one changed file.
|
|
1391
|
+
*
|
|
1392
|
+
* The diff runs against the WORKING TREE, not `base...HEAD`. Stryker mutates
|
|
1393
|
+
* the files on disk, so a window derived from committed state describes lines
|
|
1394
|
+
* that may no longer be where it says they are: any uncommitted edit above the
|
|
1395
|
+
* change shifts the numbering out from under the window, and the run then
|
|
1396
|
+
* mutates whatever now occupies those lines — measured once as 37 lines of pure
|
|
1397
|
+
* comment, scored, and reported as a verdict about the change. It could as
|
|
1398
|
+
* easily have produced a pass. Diffing what Stryker actually reads is what
|
|
1399
|
+
* makes the window and the subject the same thing.
|
|
1391
1400
|
* @param {string} cwd - Project root.
|
|
1392
1401
|
* @param {string} base - Merge-base sha.
|
|
1393
1402
|
* @param {string} file - Repository-relative path.
|
|
@@ -1395,14 +1404,7 @@ export const parseChangedLineRanges = patch => {
|
|
|
1395
1404
|
*/
|
|
1396
1405
|
export const selectChangedLineRanges = (cwd, base, file) =>
|
|
1397
1406
|
parseChangedLineRanges(
|
|
1398
|
-
git(cwd, [
|
|
1399
|
-
"diff",
|
|
1400
|
-
"--unified=0",
|
|
1401
|
-
"--diff-filter=ACMR",
|
|
1402
|
-
`${base}...HEAD`,
|
|
1403
|
-
"--",
|
|
1404
|
-
file,
|
|
1405
|
-
])
|
|
1407
|
+
git(cwd, ["diff", "--unified=0", "--diff-filter=ACMR", base, "--", file])
|
|
1406
1408
|
).map(({ start, end }) => `${file}:${start}-${end}`);
|
|
1407
1409
|
|
|
1408
1410
|
/**
|
|
@@ -1416,12 +1418,11 @@ export const selectChangedLineRanges = (cwd, base, file) =>
|
|
|
1416
1418
|
* files no mutation tool here reaches.
|
|
1417
1419
|
*/
|
|
1418
1420
|
export const selectChangedTargets = (cwd, base, patterns) => {
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
])
|
|
1421
|
+
// Working tree, not `base...HEAD`, for the same reason the line ranges are:
|
|
1422
|
+
// a target whose only change is uncommitted is invisible to committed state,
|
|
1423
|
+
// so the gate printed "0 mutate targets" and exited 0 while Stryker, pointed
|
|
1424
|
+
// at the same tree, had a changed target in front of it.
|
|
1425
|
+
const changed = git(cwd, ["diff", "--name-only", "--diff-filter=ACMRD", base])
|
|
1425
1426
|
.split("\n")
|
|
1426
1427
|
.map(file => file.trim())
|
|
1427
1428
|
.filter(Boolean);
|
|
@@ -2115,6 +2116,11 @@ export const reportRun = (cwd, result) => {
|
|
|
2115
2116
|
export const runGate = (cwd = process.cwd(), argv = []) => {
|
|
2116
2117
|
const gate = readGate(cwd);
|
|
2117
2118
|
const enabled = envFlag("MUTATION_ENABLED") ?? gate.enabled === true;
|
|
2119
|
+
// Reads like the LOCAL branch and is not: `resolveDiffBase` probes
|
|
2120
|
+
// `origin/<since>` first and only falls back to the local name, so a stale
|
|
2121
|
+
// local `main` does not drag every commit it is missing into the diff. Said
|
|
2122
|
+
// here because the line alone has already been read the other way and filed
|
|
2123
|
+
// as a defect; the behaviour is pinned by a test rather than by this note.
|
|
2118
2124
|
const since = process.env.MUTATION_SINCE || gate.since || "main";
|
|
2119
2125
|
|
|
2120
2126
|
if (!enabled) {
|