@codyswann/lisa 3.11.6 → 3.11.8
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/check-state-classification.mjs +3 -0
- package/all/copy-overwrite/scripts/lisa-command-envelope.mjs +3 -0
- package/all/copy-overwrite/scripts/lisa-floor-collisions.mjs +3 -0
- package/all/copy-overwrite/scripts/lisa-schema-validate.mjs +3 -0
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +3 -0
- package/cdk/copy-overwrite/eslint.cdk.ts +2 -2
- package/cdk/copy-overwrite/eslint.config.ts +2 -2
- package/cdk/copy-overwrite/eslint.slow.config.ts +2 -2
- package/cdk/copy-overwrite/vitest.cdk.ts +2 -2
- package/cdk/copy-overwrite/vitest.config.ts +2 -2
- package/cdk/create-only/.github/workflows/ci.yml +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +87 -86
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/expo/copy-overwrite/eslint.config.ts +2 -2
- package/expo/copy-overwrite/eslint.expo.ts +2 -2
- package/expo/copy-overwrite/eslint.slow.config.ts +2 -2
- package/expo/copy-overwrite/jest.config.ts +2 -2
- package/expo/copy-overwrite/jest.expo.ts +2 -2
- package/expo/copy-overwrite/jest.setup.pre.js +2 -2
- package/expo/copy-overwrite/jest.setup.ts +2 -2
- package/expo/copy-overwrite/scripts/bdd/baseline.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/contract.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/discover.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/envelope.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/parse.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/render.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/report.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/validate.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd/waivers.mjs +3 -0
- package/expo/copy-overwrite/scripts/bdd-matrix.mjs +3 -0
- package/expo/copy-overwrite/scripts/check-bdd-coverage.mjs +3 -0
- package/expo/copy-overwrite/scripts/check-e2e-coverage.mjs +3 -0
- package/expo/copy-overwrite/scripts/classify-maestro-failures.mjs +3 -0
- package/expo/create-only/lighthouserc.js +2 -2
- package/harper-fabric/copy-overwrite/.github/dependabot.yml +2 -2
- package/harper-fabric/copy-overwrite/.github/workflows/ci.yml +2 -2
- package/harper-fabric/copy-overwrite/ast-grep/rules/harper/no-early-return-in-search-loop.yml +2 -2
- package/harper-fabric/copy-overwrite/ast-grep/rules/harper/no-empty-conditions-with-sort.yml +2 -2
- package/harper-fabric/copy-overwrite/ast-grep/rules/harper/no-full-table-scan.yml +2 -2
- package/harper-fabric/copy-overwrite/ast-grep/rules/harper/require-statuscode-on-thrown-error.yml +2 -2
- package/harper-fabric/copy-overwrite/eslint.config.ts +2 -2
- package/harper-fabric/copy-overwrite/vitest.config.ts +2 -2
- package/nestjs/copy-overwrite/eslint.config.ts +2 -2
- package/nestjs/copy-overwrite/eslint.nestjs.ts +2 -2
- package/nestjs/copy-overwrite/eslint.slow.config.ts +2 -2
- package/nestjs/copy-overwrite/vitest.config.ts +2 -2
- package/nestjs/copy-overwrite/vitest.nestjs.ts +2 -2
- package/nestjs/create-only/.github/k6/examples/customer-deploy-integration.yml +2 -2
- package/nestjs/create-only/.github/k6/examples/data-driven-test.js +2 -2
- package/nestjs/create-only/.github/k6/scenarios/load.js +2 -2
- package/nestjs/create-only/.github/k6/scenarios/smoke.js +2 -2
- package/nestjs/create-only/.github/k6/scenarios/soak.js +2 -2
- package/nestjs/create-only/.github/k6/scenarios/spike.js +2 -2
- package/nestjs/create-only/.github/k6/scenarios/stress.js +2 -2
- package/nestjs/create-only/.github/k6/scripts/api-test.js +2 -2
- package/nestjs/create-only/.github/k6/scripts/default-test.js +2 -2
- package/nestjs/create-only/.github/workflows/ci.yml +2 -2
- package/package.json +1 -1
- package/phaser/copy-overwrite/.github/workflows/ci.yml +2 -2
- package/phaser/copy-overwrite/.husky/pre-push.verify +2 -2
- package/phaser/copy-overwrite/ast-grep/rules/phaser/no-canvas-renderer.yml +2 -2
- package/phaser/copy-overwrite/ast-grep/rules/phaser/no-raw-webgl-context.yml +2 -2
- package/phaser/copy-overwrite/eslint.config.ts +2 -2
- package/phaser/copy-overwrite/sgconfig.yml +2 -2
- package/phaser/copy-overwrite/vitest.config.ts +2 -2
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-parity-safety-net-rules/SKILL.md +18 -3
- package/plugins/lisa/skills/lisa-parity-safety-net-rules/SKILL.md +18 -3
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-parity-safety-net-rules/SKILL.md +18 -3
- 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/skills/lisa-parity-safety-net-rules/SKILL.md +18 -3
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-parity-safety-net-rules/SKILL.md +18 -3
- 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/skills/lisa-parity-safety-net-rules/SKILL.md +18 -3
- package/rails/copy-overwrite/Gemfile.lisa +2 -2
- package/rails/copy-overwrite/scripts/lisa-clean-git-env.sh +2 -0
- package/rails/copy-overwrite/sgconfig.yml +2 -2
- package/rails/create-only/.github/workflows/ci.yml +2 -2
- package/rails/create-only/.rubocop.local.yml +2 -1
- package/scripts/check-required-check-promotions.mjs +93 -0
- package/typescript/copy-overwrite/.claude/hooks/worktree-create.sh +2 -2
- package/typescript/copy-overwrite/.github/dependabot.yml +2 -2
- package/typescript/copy-overwrite/.gitleaksignore.local +2 -2
- package/typescript/copy-overwrite/.prettierignore +2 -2
- package/typescript/copy-overwrite/.yamllint +2 -2
- package/typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml +2 -2
- package/typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member.yml +2 -2
- package/typescript/copy-overwrite/commitlint.config.cjs +2 -2
- package/typescript/copy-overwrite/eslint.config.ts +2 -2
- package/typescript/copy-overwrite/eslint.slow.config.ts +2 -2
- package/typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs +3 -0
- package/typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs +3 -0
- package/typescript/copy-overwrite/scripts/check-verification-coverage.mjs +3 -0
- package/typescript/copy-overwrite/scripts/lisa-mutation.mjs +2 -1
- package/typescript/copy-overwrite/sgconfig.yml +2 -2
- package/typescript/copy-overwrite/vitest.config.ts +2 -2
- package/typescript/create-only/.github/workflows/ci.yml +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
|
|
4
4
|
# ast-grep configuration
|
|
5
5
|
# See: https://ast-grep.github.io/reference/sgconfig.html
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Project-specific RuboCop overrides.
|
|
2
|
-
#
|
|
2
|
+
# Seeded by Lisa on first setup — this file is YOURS.
|
|
3
|
+
# Lisa will not overwrite it. (copy-overwrite assets ARE replaced each run.)
|
|
3
4
|
# Add or override any RuboCop cops below.
|
|
4
5
|
|
|
5
6
|
# Align with Reek's UncommunicativeVariableName (which rejects single-char names)
|
|
@@ -69,6 +69,48 @@
|
|
|
69
69
|
* `measured_on_subject` separately makes that mechanically visible instead
|
|
70
70
|
* of a footnote in a report.
|
|
71
71
|
*
|
|
72
|
+
* 6. **A worst case must come from a run that COMPLETED, and must be below the
|
|
73
|
+
* budget it justifies** (#2528). Two clauses, one rule:
|
|
74
|
+
*
|
|
75
|
+
* *Do not size a budget from the duration of a run that failed on time.*
|
|
76
|
+
* This is the mirror of clause 3. #2509 says do not size from runs that
|
|
77
|
+
* passed, because the sample excludes the failure mode; the mirror says do
|
|
78
|
+
* not size from the DURATION of a run the budget terminated, because that
|
|
79
|
+
* duration is the starvation, not the work. The failing-run version is
|
|
80
|
+
* strictly worse: it does not merely omit information, it INVERTS the
|
|
81
|
+
* ratio — the more contended the box was, the safer the resulting budget
|
|
82
|
+
* looks. So `observed_on` must say `"pass"`, meaning the measured run
|
|
83
|
+
* completed inside its budget. (That is a statement about TIME, not about
|
|
84
|
+
* the check's verdict: a run that reproduces a real violation and exits 1
|
|
85
|
+
* in 30s completed, and is `"pass"` here.)
|
|
86
|
+
*
|
|
87
|
+
* *And an entry claiming a worst case at or above its own budget refuses
|
|
88
|
+
* itself*, needing no knowledge of the test, the machine, or the workload.
|
|
89
|
+
* #2523 cited 60,245ms while setting the budget to 60,000ms. The ratio in
|
|
90
|
+
* clause 4 already rejects that arithmetically at 0.996x, but it reports a
|
|
91
|
+
* THIN MARGIN when the defect is an IMPOSSIBLE CLAIM, and a message that
|
|
92
|
+
* misnames the defect sends the reader off to re-measure when they should
|
|
93
|
+
* be re-reading. The tell was on the face of the number: a test cannot run
|
|
94
|
+
* 60s against a 10s budget, so 60,245ms was wall clock spent waiting.
|
|
95
|
+
* Re-measured in isolation at load 31 the same test takes 2,499ms — 24x,
|
|
96
|
+
* not 0.996x, a 24-fold error in the unsafe direction.
|
|
97
|
+
*
|
|
98
|
+
* The class is not specific to test timeouts. #2520 chased an actionlint
|
|
99
|
+
* invocation reported as taking "25 minutes". It was not slow: a
|
|
100
|
+
* 3,490-line workflow returns in 0s while a 217-line one hangs, and the
|
|
101
|
+
* minimal repro is 28 lines. It is a spin inside actionlint's shellcheck
|
|
102
|
+
* integration — ~850% CPU across 37 threads, zero children — so it never
|
|
103
|
+
* terminates. The 25 minutes was the observer's patience, not the
|
|
104
|
+
* command's cost, and NO budget would have been generous enough. That is
|
|
105
|
+
* what `observed_on` refuses: a number produced by a run that did not
|
|
106
|
+
* finish is not a measurement of how long the work takes.
|
|
107
|
+
*
|
|
108
|
+
* A missing `observed_on` is refused rather than grandfathered. Every
|
|
109
|
+
* `proven` entry in the ledger when this clause shipped had already
|
|
110
|
+
* recorded, in prose, that its worst case came from runs that completed, so
|
|
111
|
+
* backfilling the field only restates what was already proved. Exempting
|
|
112
|
+
* them would have exempted the only entries the clause could bind on.
|
|
113
|
+
*
|
|
72
114
|
* ## The ratchet, and why incumbents are not simply exempted
|
|
73
115
|
*
|
|
74
116
|
* Contexts already required when this guard shipped may declare
|
|
@@ -315,9 +357,47 @@ function budgetProblems(budget) {
|
|
|
315
357
|
},
|
|
316
358
|
];
|
|
317
359
|
}
|
|
360
|
+
// A budgets[] entry publishes its OWN observed_worst_ms, so it can be a
|
|
361
|
+
// starved figure exactly as the block-level one can. Checking provenance
|
|
362
|
+
// first: a ratio computed from a duration that measures contention is
|
|
363
|
+
// arithmetic on the wrong number, so the reader needs the provenance before
|
|
364
|
+
// the margin.
|
|
365
|
+
const provenance = provenanceProblems(budget.observed_on);
|
|
366
|
+
if (provenance.length > 0) return provenance;
|
|
318
367
|
return ratioProblems(budget.budget_ms, budget.observed_worst_ms);
|
|
319
368
|
}
|
|
320
369
|
|
|
370
|
+
/**
|
|
371
|
+
* Validate where an observed worst case was measured (#2528).
|
|
372
|
+
*
|
|
373
|
+
* `observed_on` records whether the run that produced `observed_worst_ms`
|
|
374
|
+
* COMPLETED within its budget (`"pass"`) or was terminated by it (`"fail"`).
|
|
375
|
+
* That is a claim about time, not about the check's verdict — a run that
|
|
376
|
+
* reproduces a real violation and exits 1 well inside its budget completed.
|
|
377
|
+
*
|
|
378
|
+
* @param {unknown} observedOn - the declared provenance.
|
|
379
|
+
* @returns {{ rule: string, detail: string }[]} problems, empty when sound.
|
|
380
|
+
*/
|
|
381
|
+
function provenanceProblems(observedOn) {
|
|
382
|
+
if (observedOn === "pass") return [];
|
|
383
|
+
if (observedOn === "fail") {
|
|
384
|
+
return [
|
|
385
|
+
{
|
|
386
|
+
rule: "headroom-measured-on-failing-run",
|
|
387
|
+
detail:
|
|
388
|
+
'observed_worst_ms was taken from a run the budget terminated ("observed_on": "fail"); that duration is the starvation, not the work, and the more contended the box was the safer the budget looks — re-measure on a run that completed, in isolation',
|
|
389
|
+
},
|
|
390
|
+
];
|
|
391
|
+
}
|
|
392
|
+
return [
|
|
393
|
+
{
|
|
394
|
+
rule: "headroom-evidence-missing",
|
|
395
|
+
detail:
|
|
396
|
+
'headroom.observed_on must be "pass": the run that produced observed_worst_ms must have COMPLETED within its budget, because a duration reported alongside a timeout measures contention, not cost',
|
|
397
|
+
},
|
|
398
|
+
];
|
|
399
|
+
}
|
|
400
|
+
|
|
321
401
|
/**
|
|
322
402
|
* Compare an observed worst case against its budget.
|
|
323
403
|
*
|
|
@@ -340,6 +420,17 @@ function ratioProblems(budgetMs, observedMs) {
|
|
|
340
420
|
},
|
|
341
421
|
];
|
|
342
422
|
}
|
|
423
|
+
// Checked before the ratio, and reported as its own defect: an entry whose
|
|
424
|
+
// worst case is not below the budget it justifies can never be valid, and
|
|
425
|
+
// "thin margin" would misname it. See clause 6 in the module preamble.
|
|
426
|
+
if (observedMs >= budgetMs) {
|
|
427
|
+
return [
|
|
428
|
+
{
|
|
429
|
+
rule: "headroom-worst-case-exceeds-budget",
|
|
430
|
+
detail: `observed worst ${observedMs}ms is not below the ${budgetMs}ms budget it justifies, so the entry disproves itself; a worst case at or above its own budget is usually elapsed time from a run the budget terminated, which measures contention rather than cost (#2528)`,
|
|
431
|
+
},
|
|
432
|
+
];
|
|
433
|
+
}
|
|
343
434
|
const ratio = budgetMs / observedMs;
|
|
344
435
|
if (ratio < MIN_HEADROOM_RATIO) {
|
|
345
436
|
return [
|
|
@@ -394,6 +485,8 @@ export function headroomProblems(headroom) {
|
|
|
394
485
|
}
|
|
395
486
|
}
|
|
396
487
|
if (problems.length > 0) return problems;
|
|
488
|
+
problems.push(...provenanceProblems(headroom.observed_on));
|
|
489
|
+
if (problems.length > 0) return problems;
|
|
397
490
|
problems.push(
|
|
398
491
|
...ratioProblems(headroom.budget_ms, headroom.observed_worst_ms)
|
|
399
492
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
# This file is managed by Lisa.
|
|
3
|
-
# Do not edit directly — changes
|
|
2
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
4
4
|
#
|
|
5
5
|
# WorktreeCreate hook — fast-path setup for `claude -w` / `isolation: worktree`.
|
|
6
6
|
#
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
|
|
4
4
|
version: 2
|
|
5
5
|
updates:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
|
|
4
4
|
# CDK snapshot files contain asset hashes that can trigger false positives
|
|
5
5
|
__tests__/infra/__snapshots__/sse-stream-stack.test.ts.snap:generic-api-key:380
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
|
|
4
4
|
node_modules/**/*
|
|
5
5
|
.serverless/**/*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
---
|
|
4
4
|
extends: default
|
|
5
5
|
|
package/typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
#
|
|
4
4
|
# JavaScript-language twin of `no-missing-fs-extra-namespace-member.yml`.
|
|
5
5
|
#
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
#
|
|
4
4
|
# Bans `fs-extra` namespace members that do not exist under real Node ESM.
|
|
5
5
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file is managed by Lisa.
|
|
3
|
-
* Do not edit directly — changes
|
|
2
|
+
* This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
* Do not edit directly — durable changes belong upstream in Lisa.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file is managed by Lisa.
|
|
3
|
-
* Do not edit directly — changes
|
|
2
|
+
* This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
* Do not edit directly — durable changes belong upstream in Lisa.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file is managed by Lisa.
|
|
3
|
-
* Do not edit directly — changes
|
|
2
|
+
* This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
* Do not edit directly — durable changes belong upstream in Lisa.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
// Do not edit directly — durable changes belong upstream in Lisa.
|
|
4
|
+
|
|
2
5
|
/**
|
|
3
6
|
* check-skipped-required-checks — refuse a required status check that satisfies
|
|
4
7
|
* without proving anything.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// This file is managed by Lisa.
|
|
2
|
+
// This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
// Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
4
|
// -----------------------------------------------------------------------------
|
|
4
5
|
// Mutation-testing gate (StrykerJS)
|
|
5
6
|
// -----------------------------------------------------------------------------
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes
|
|
1
|
+
# This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
2
|
+
# Do not edit directly — durable changes belong upstream in Lisa.
|
|
3
3
|
|
|
4
4
|
# ast-grep configuration
|
|
5
5
|
# See: https://ast-grep.github.io/reference/sgconfig.html
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file is managed by Lisa.
|
|
3
|
-
* Do not edit directly — changes
|
|
2
|
+
* This file is managed by Lisa and IS replaced on each `lisa` run.
|
|
3
|
+
* Do not edit directly — durable changes belong upstream in Lisa.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
1
|
+
# Seeded by Lisa on first setup — this file is YOURS.
|
|
2
|
+
# Lisa will not overwrite it. (copy-overwrite assets ARE replaced each run.)
|
|
3
3
|
|
|
4
4
|
name: 🔍 CI Quality Checks
|
|
5
5
|
|