@codyswann/lisa 4.21.5 → 4.22.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/all/copy-overwrite/scripts/lisa-environment-prepare.mjs +28 -12
- package/dist/cli/doctor-nightly-e2e-guard-command-files.d.ts +19 -0
- package/dist/cli/doctor-nightly-e2e-guard-command-files.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-command-files.js +221 -0
- package/dist/cli/doctor-nightly-e2e-guard-command-files.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.d.ts +113 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.js +87 -0
- package/dist/cli/doctor-nightly-e2e-guard-contract.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.d.ts +61 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.js +97 -0
- package/dist/cli/doctor-nightly-e2e-guard-deadline.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.d.ts +52 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.js +68 -0
- package/dist/cli/doctor-nightly-e2e-guard-evidence.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.d.ts +14 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.js +130 -0
- package/dist/cli/doctor-nightly-e2e-guard-graph.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.d.ts +41 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.js +239 -0
- package/dist/cli/doctor-nightly-e2e-guard-io.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.d.ts +31 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.js +156 -0
- package/dist/cli/doctor-nightly-e2e-guard-job.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.d.ts +42 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.js +57 -0
- package/dist/cli/doctor-nightly-e2e-guard-proof.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.d.ts +32 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.js +55 -0
- package/dist/cli/doctor-nightly-e2e-guard-remediation.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.d.ts +34 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.js +93 -0
- package/dist/cli/doctor-nightly-e2e-guard-runtime.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.d.ts +17 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.js +86 -0
- package/dist/cli/doctor-nightly-e2e-guard-scan.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.d.ts +38 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.js +160 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.d.ts +40 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.js +201 -0
- package/dist/cli/doctor-nightly-e2e-guard-shell.js.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard.d.ts +36 -0
- package/dist/cli/doctor-nightly-e2e-guard.d.ts.map +1 -0
- package/dist/cli/doctor-nightly-e2e-guard.js +186 -0
- package/dist/cli/doctor-nightly-e2e-guard.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +7 -0
- package/dist/cli/doctor.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/nightly-e2e-guard-behavior-certificate.d.ts +25 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.d.ts.map +1 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +30 -0
- package/dist/core/nightly-e2e-guard-behavior-certificate.js.map +1 -0
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +32 -5
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/migrations/ensure-playwright-dedicated-caller.d.ts +0 -2
- package/dist/migrations/ensure-playwright-dedicated-caller.d.ts.map +1 -1
- package/dist/migrations/ensure-playwright-dedicated-caller.js +12 -40
- package/dist/migrations/ensure-playwright-dedicated-caller.js.map +1 -1
- package/expo/create-only/.github/workflows/maestro-e2e.yml +6 -0
- package/expo/create-only/.github/workflows/playwright-e2e.yml +5 -5
- package/package.json +5 -3
- 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/scripts/check-derived-artifacts.mjs +32 -5
- package/scripts/generate-nightly-e2e-guard-certificate.mjs +370 -0
- package/scripts/two-channel-couplings.json +16 -4
|
@@ -62,14 +62,12 @@ export declare class EnsurePlaywrightDedicatedCallerMigration implements Migrati
|
|
|
62
62
|
/**
|
|
63
63
|
* Produce the rewritten caller lines.
|
|
64
64
|
* @param plan - The classification of the current file
|
|
65
|
-
* @param verbs - Facade verbs the project declares
|
|
66
65
|
* @returns The new file contents, line by line
|
|
67
66
|
*/
|
|
68
67
|
private rewrite;
|
|
69
68
|
/**
|
|
70
69
|
* Summarize the rewrite for the operator standing outside the factory.
|
|
71
70
|
* @param plan - The classification of the current file
|
|
72
|
-
* @param verbs - Facade verbs the project declares
|
|
73
71
|
* @returns A one-line summary a non-technical reader can act on
|
|
74
72
|
*/
|
|
75
73
|
private describe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-playwright-dedicated-caller.d.ts","sourceRoot":"","sources":["../../src/migrations/ensure-playwright-dedicated-caller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ensure-playwright-dedicated-caller.d.ts","sourceRoot":"","sources":["../../src/migrations/ensure-playwright-dedicated-caller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AA2BlC;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAa9C,CAAC;AA8OH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,wCAAyC,YAAW,SAAS;IACxE,QAAQ,CAAC,IAAI,wCAAwC;IACrD,QAAQ,CAAC,WAAW,8FACyE;IAE7F;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtD;;;;OAIG;IACG,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA8B5D;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAMd;;;;OAIG;IACH,OAAO,CAAC,OAAO;IA4Bf;;;;OAIG;IACH,OAAO,CAAC,QAAQ;CAQjB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import * as fse from "fs-extra";
|
|
4
|
-
import { readJsonOrNull } from "../utils/json-utils.js";
|
|
5
4
|
/** The seeded caller this migration repairs. */
|
|
6
5
|
const CALLER_FILE = path.join(".github", "workflows", "playwright-e2e.yml");
|
|
7
6
|
/** Any job-level caller pointing at a Lisa reusable workflow. */
|
|
@@ -41,11 +40,6 @@ export const DECLARED_INPUTS = new Set([
|
|
|
41
40
|
"prepare_setup_command",
|
|
42
41
|
"prepare_timeout_minutes",
|
|
43
42
|
]);
|
|
44
|
-
/** Facade verbs the retrofit may request, and the script each one requires. */
|
|
45
|
-
const PREPARE_VERBS = [
|
|
46
|
-
["reset", "environment:reset"],
|
|
47
|
-
["reseed", "environment:reseed"],
|
|
48
|
-
];
|
|
49
43
|
const EMPTY = {
|
|
50
44
|
verdict: "not-applicable",
|
|
51
45
|
reason: "",
|
|
@@ -203,21 +197,6 @@ function environmentFor(moment) {
|
|
|
203
197
|
const environment = moment.split(":")[1]?.trim() ?? "";
|
|
204
198
|
return environment === "" ? "development" : environment;
|
|
205
199
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Read the facade verbs the project actually declares.
|
|
208
|
-
*
|
|
209
|
-
* A verb named in `prepare_verbs` that the project does not declare FAILS the
|
|
210
|
-
* run rather than skipping, so the retrofit asks only for verbs it can prove
|
|
211
|
-
* exist. A project with neither gets no `prepare_*` inputs at all, which leaves
|
|
212
|
-
* its nightly behaving exactly as it did.
|
|
213
|
-
* @param projectDir - Destination project directory
|
|
214
|
-
* @returns Declared verb names, in reset-then-reseed order
|
|
215
|
-
*/
|
|
216
|
-
async function declaredVerbs(projectDir) {
|
|
217
|
-
const pkg = await readJsonOrNull(path.join(projectDir, "package.json"));
|
|
218
|
-
const scripts = pkg?.scripts ?? {};
|
|
219
|
-
return PREPARE_VERBS.filter(([, script]) => script in scripts).map(([verb]) => verb);
|
|
220
|
-
}
|
|
221
200
|
/**
|
|
222
201
|
* First line of the contiguous comment block immediately above `at`.
|
|
223
202
|
*
|
|
@@ -290,8 +269,7 @@ export class EnsurePlaywrightDedicatedCallerMigration {
|
|
|
290
269
|
return this.report(ctx, plan);
|
|
291
270
|
if (plan.verdict !== "stale")
|
|
292
271
|
return { name: this.name, action: "noop" };
|
|
293
|
-
const
|
|
294
|
-
const message = this.describe(plan, verbs);
|
|
272
|
+
const message = this.describe(plan);
|
|
295
273
|
if (ctx.dryRun) {
|
|
296
274
|
ctx.logger.dry(`Would update ${CALLER_FILE}: ${message}`);
|
|
297
275
|
return {
|
|
@@ -301,7 +279,7 @@ export class EnsurePlaywrightDedicatedCallerMigration {
|
|
|
301
279
|
message,
|
|
302
280
|
};
|
|
303
281
|
}
|
|
304
|
-
await writeFile(path.join(ctx.projectDir, CALLER_FILE), this.rewrite(plan
|
|
282
|
+
await writeFile(path.join(ctx.projectDir, CALLER_FILE), this.rewrite(plan).join("\n"));
|
|
305
283
|
ctx.logger.success(message);
|
|
306
284
|
return {
|
|
307
285
|
name: this.name,
|
|
@@ -324,24 +302,21 @@ export class EnsurePlaywrightDedicatedCallerMigration {
|
|
|
324
302
|
/**
|
|
325
303
|
* Produce the rewritten caller lines.
|
|
326
304
|
* @param plan - The classification of the current file
|
|
327
|
-
* @param verbs - Facade verbs the project declares
|
|
328
305
|
* @returns The new file contents, line by line
|
|
329
306
|
*/
|
|
330
|
-
rewrite(plan
|
|
307
|
+
rewrite(plan) {
|
|
331
308
|
const usesLine = plan.lines[plan.usesAt].replace(`${STALE_WORKFLOW}.yml@${plan.ref}`, `${DEDICATED_WORKFLOW}.yml@${plan.ref}`);
|
|
332
309
|
const repointed = plan.lines.map((line, i) => i === plan.usesAt ? usesLine : line);
|
|
333
310
|
// Inserted at the TOP of the `with:` block: a key appended at the bottom
|
|
334
311
|
// could land inside a trailing block scalar such as
|
|
335
312
|
// `playwright_setup_command: |`, where it would be swallowed as script text.
|
|
336
|
-
const withPrepare =
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
...repointed.slice(plan.withAt + 1),
|
|
344
|
-
];
|
|
313
|
+
const withPrepare = [
|
|
314
|
+
...repointed.slice(0, plan.withAt + 1),
|
|
315
|
+
...PREPARE_NOTE,
|
|
316
|
+
` prepare_environment: '${environmentFor(plan.moment)}'`,
|
|
317
|
+
" prepare_verbs: 'reset,reseed'",
|
|
318
|
+
...repointed.slice(plan.withAt + 1),
|
|
319
|
+
];
|
|
345
320
|
if (plan.retiredAt < 0)
|
|
346
321
|
return withPrepare;
|
|
347
322
|
const retiredAt = plan.retiredAt + (withPrepare.length - repointed.length);
|
|
@@ -353,16 +328,13 @@ export class EnsurePlaywrightDedicatedCallerMigration {
|
|
|
353
328
|
/**
|
|
354
329
|
* Summarize the rewrite for the operator standing outside the factory.
|
|
355
330
|
* @param plan - The classification of the current file
|
|
356
|
-
* @param verbs - Facade verbs the project declares
|
|
357
331
|
* @returns A one-line summary a non-technical reader can act on
|
|
358
332
|
*/
|
|
359
|
-
describe(plan
|
|
333
|
+
describe(plan) {
|
|
360
334
|
const parts = [
|
|
361
335
|
`pointed it at the dedicated Playwright workflow (${DEDICATED_WORKFLOW}.yml@${plan.ref})`,
|
|
362
336
|
plan.retiredAt < 0 ? null : `dropped the retired ${RETIRED_INPUT} list`,
|
|
363
|
-
|
|
364
|
-
? "left the environment unprepared, because this project declares no environment:reset or environment:reseed script"
|
|
365
|
-
: `asked for a prepared environment (${verbs.join(", ")})`,
|
|
337
|
+
"required the complete environment lifecycle (reset, reseed)",
|
|
366
338
|
].filter((part) => part !== null);
|
|
367
339
|
return `Retrofitted ${CALLER_FILE}: ${parts.join("; ")}`;
|
|
368
340
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-playwright-dedicated-caller.js","sourceRoot":"","sources":["../../src/migrations/ensure-playwright-dedicated-caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ensure-playwright-dedicated-caller.js","sourceRoot":"","sources":["../../src/migrations/ensure-playwright-dedicated-caller.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,12 @@ jobs:
|
|
|
97
97
|
uses: CodySwannGT/lisa/.github/workflows/maestro-native-e2e.yml@main
|
|
98
98
|
with:
|
|
99
99
|
platform: ${{ inputs.platform || 'all' }}
|
|
100
|
+
# Return the shared environment to a known state before either platform
|
|
101
|
+
# starts. Both lifecycle commands are mandatory. If this project needs no
|
|
102
|
+
# seeded fixtures, environment:reseed is an explicit verified no-op; the
|
|
103
|
+
# step is still invoked so every suite follows reset then reseed.
|
|
104
|
+
prepare_environment: 'development'
|
|
105
|
+
prepare_verbs: 'reset,reseed'
|
|
100
106
|
# android_app_id: 'com.example.app'
|
|
101
107
|
# ios_app_id: 'com.example.app'
|
|
102
108
|
# maestro_env: |
|
|
@@ -149,11 +149,11 @@ jobs:
|
|
|
149
149
|
# a runner dies, is cancelled, or is evicted, so the next night starts
|
|
150
150
|
# against whatever the last failure left behind.
|
|
151
151
|
#
|
|
152
|
-
#
|
|
153
|
-
#
|
|
154
|
-
#
|
|
155
|
-
#
|
|
156
|
-
#
|
|
152
|
+
# Both `environment:reset` and `environment:reseed` must exist. A project
|
|
153
|
+
# with no fixture data still implements reseed as an explicit verified
|
|
154
|
+
# no-op; omitting a lifecycle step is not equivalent to invoking one that
|
|
155
|
+
# intentionally does no work. Clear `prepare_environment` only when this
|
|
156
|
+
# suite genuinely has no shared environment to prepare.
|
|
157
157
|
prepare_environment: 'development'
|
|
158
158
|
prepare_verbs: 'reset,reseed'
|
|
159
159
|
# Applies only while `e2e-browser` is undeclared at THIS workflow's
|
package/package.json
CHANGED
|
@@ -48,9 +48,11 @@
|
|
|
48
48
|
"check:upstream-evidence-manifest": "node scripts/generate-upstream-evidence-manifest.mjs --check",
|
|
49
49
|
"build:lisa-owned-hash-ledger": "node scripts/generate-lisa-owned-hash-ledger.mjs",
|
|
50
50
|
"check:lisa-owned-hash-ledger": "node scripts/generate-lisa-owned-hash-ledger.mjs --check",
|
|
51
|
+
"build:nightly-guard-certificate": "node scripts/generate-nightly-e2e-guard-certificate.mjs",
|
|
52
|
+
"check:nightly-guard-certificate": "node scripts/generate-nightly-e2e-guard-certificate.mjs --check",
|
|
51
53
|
"generate:two-channel-couplings": "bun scripts/generate-two-channel-couplings.ts",
|
|
52
54
|
"check:two-channel-couplings": "bun scripts/generate-two-channel-couplings.ts --check",
|
|
53
|
-
"check:artifacts": "status=0; bun run check:upstream-evidence-manifest || status=1; bun run check:lisa-owned-hash-ledger || status=1; bun run check:two-channel-couplings || status=1; exit $status",
|
|
55
|
+
"check:artifacts": "status=0; bun run check:upstream-evidence-manifest || status=1; bun run check:lisa-owned-hash-ledger || status=1; bun run check:nightly-guard-certificate || status=1; bun run check:two-channel-couplings || status=1; exit $status",
|
|
54
56
|
"refresh:upstream-public-commits": "node scripts/generate-upstream-evidence-manifest.mjs --refresh-public-commits",
|
|
55
57
|
"check:rules-pairing": "bash scripts/check-rules-pairing.sh",
|
|
56
58
|
"check:pipeline-status-reads": "node scripts/check-pipeline-status-reads.mjs",
|
|
@@ -159,7 +161,7 @@
|
|
|
159
161
|
"zod-validation-error": "^4.0.0"
|
|
160
162
|
},
|
|
161
163
|
"name": "@codyswann/lisa",
|
|
162
|
-
"version": "4.
|
|
164
|
+
"version": "4.22.0",
|
|
163
165
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
164
166
|
"main": "dist/index.js",
|
|
165
167
|
"exports": {
|
|
@@ -298,5 +300,5 @@
|
|
|
298
300
|
"vite": "^8.0.16"
|
|
299
301
|
},
|
|
300
302
|
"type": "module",
|
|
301
|
-
"lisaReleaseCommit": "
|
|
303
|
+
"lisaReleaseCommit": "f6dad1b6015c151c4087f61eedbcb6a4e317295e"
|
|
302
304
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|