@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.
Files changed (130) hide show
  1. package/all/copy-overwrite/scripts/lisa-environment-prepare.mjs +28 -12
  2. package/dist/cli/doctor-nightly-e2e-guard-command-files.d.ts +19 -0
  3. package/dist/cli/doctor-nightly-e2e-guard-command-files.d.ts.map +1 -0
  4. package/dist/cli/doctor-nightly-e2e-guard-command-files.js +221 -0
  5. package/dist/cli/doctor-nightly-e2e-guard-command-files.js.map +1 -0
  6. package/dist/cli/doctor-nightly-e2e-guard-contract.d.ts +113 -0
  7. package/dist/cli/doctor-nightly-e2e-guard-contract.d.ts.map +1 -0
  8. package/dist/cli/doctor-nightly-e2e-guard-contract.js +87 -0
  9. package/dist/cli/doctor-nightly-e2e-guard-contract.js.map +1 -0
  10. package/dist/cli/doctor-nightly-e2e-guard-deadline.d.ts +61 -0
  11. package/dist/cli/doctor-nightly-e2e-guard-deadline.d.ts.map +1 -0
  12. package/dist/cli/doctor-nightly-e2e-guard-deadline.js +97 -0
  13. package/dist/cli/doctor-nightly-e2e-guard-deadline.js.map +1 -0
  14. package/dist/cli/doctor-nightly-e2e-guard-evidence.d.ts +52 -0
  15. package/dist/cli/doctor-nightly-e2e-guard-evidence.d.ts.map +1 -0
  16. package/dist/cli/doctor-nightly-e2e-guard-evidence.js +68 -0
  17. package/dist/cli/doctor-nightly-e2e-guard-evidence.js.map +1 -0
  18. package/dist/cli/doctor-nightly-e2e-guard-graph.d.ts +14 -0
  19. package/dist/cli/doctor-nightly-e2e-guard-graph.d.ts.map +1 -0
  20. package/dist/cli/doctor-nightly-e2e-guard-graph.js +130 -0
  21. package/dist/cli/doctor-nightly-e2e-guard-graph.js.map +1 -0
  22. package/dist/cli/doctor-nightly-e2e-guard-io.d.ts +41 -0
  23. package/dist/cli/doctor-nightly-e2e-guard-io.d.ts.map +1 -0
  24. package/dist/cli/doctor-nightly-e2e-guard-io.js +239 -0
  25. package/dist/cli/doctor-nightly-e2e-guard-io.js.map +1 -0
  26. package/dist/cli/doctor-nightly-e2e-guard-job.d.ts +31 -0
  27. package/dist/cli/doctor-nightly-e2e-guard-job.d.ts.map +1 -0
  28. package/dist/cli/doctor-nightly-e2e-guard-job.js +156 -0
  29. package/dist/cli/doctor-nightly-e2e-guard-job.js.map +1 -0
  30. package/dist/cli/doctor-nightly-e2e-guard-proof.d.ts +42 -0
  31. package/dist/cli/doctor-nightly-e2e-guard-proof.d.ts.map +1 -0
  32. package/dist/cli/doctor-nightly-e2e-guard-proof.js +57 -0
  33. package/dist/cli/doctor-nightly-e2e-guard-proof.js.map +1 -0
  34. package/dist/cli/doctor-nightly-e2e-guard-remediation.d.ts +32 -0
  35. package/dist/cli/doctor-nightly-e2e-guard-remediation.d.ts.map +1 -0
  36. package/dist/cli/doctor-nightly-e2e-guard-remediation.js +55 -0
  37. package/dist/cli/doctor-nightly-e2e-guard-remediation.js.map +1 -0
  38. package/dist/cli/doctor-nightly-e2e-guard-runtime.d.ts +34 -0
  39. package/dist/cli/doctor-nightly-e2e-guard-runtime.d.ts.map +1 -0
  40. package/dist/cli/doctor-nightly-e2e-guard-runtime.js +93 -0
  41. package/dist/cli/doctor-nightly-e2e-guard-runtime.js.map +1 -0
  42. package/dist/cli/doctor-nightly-e2e-guard-scan.d.ts +17 -0
  43. package/dist/cli/doctor-nightly-e2e-guard-scan.d.ts.map +1 -0
  44. package/dist/cli/doctor-nightly-e2e-guard-scan.js +86 -0
  45. package/dist/cli/doctor-nightly-e2e-guard-scan.js.map +1 -0
  46. package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.d.ts +38 -0
  47. package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.d.ts.map +1 -0
  48. package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.js +160 -0
  49. package/dist/cli/doctor-nightly-e2e-guard-shell-lexer.js.map +1 -0
  50. package/dist/cli/doctor-nightly-e2e-guard-shell.d.ts +40 -0
  51. package/dist/cli/doctor-nightly-e2e-guard-shell.d.ts.map +1 -0
  52. package/dist/cli/doctor-nightly-e2e-guard-shell.js +201 -0
  53. package/dist/cli/doctor-nightly-e2e-guard-shell.js.map +1 -0
  54. package/dist/cli/doctor-nightly-e2e-guard.d.ts +36 -0
  55. package/dist/cli/doctor-nightly-e2e-guard.d.ts.map +1 -0
  56. package/dist/cli/doctor-nightly-e2e-guard.js +186 -0
  57. package/dist/cli/doctor-nightly-e2e-guard.js.map +1 -0
  58. package/dist/cli/doctor.d.ts.map +1 -1
  59. package/dist/cli/doctor.js +7 -0
  60. package/dist/cli/doctor.js.map +1 -1
  61. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  62. package/dist/core/lisa-owned-hash-ledger.js +2 -0
  63. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  64. package/dist/core/nightly-e2e-guard-behavior-certificate.d.ts +25 -0
  65. package/dist/core/nightly-e2e-guard-behavior-certificate.d.ts.map +1 -0
  66. package/dist/core/nightly-e2e-guard-behavior-certificate.js +30 -0
  67. package/dist/core/nightly-e2e-guard-behavior-certificate.js.map +1 -0
  68. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  69. package/dist/core/upstream-evidence-manifest.js +32 -5
  70. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  71. package/dist/migrations/ensure-playwright-dedicated-caller.d.ts +0 -2
  72. package/dist/migrations/ensure-playwright-dedicated-caller.d.ts.map +1 -1
  73. package/dist/migrations/ensure-playwright-dedicated-caller.js +12 -40
  74. package/dist/migrations/ensure-playwright-dedicated-caller.js.map +1 -1
  75. package/expo/create-only/.github/workflows/maestro-e2e.yml +6 -0
  76. package/expo/create-only/.github/workflows/playwright-e2e.yml +5 -5
  77. package/package.json +5 -3
  78. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  80. package/plugins/lisa-agy/plugin.json +1 -1
  81. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  82. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  83. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  84. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  87. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  88. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  90. package/plugins/lisa-expo-agy/plugin.json +1 -1
  91. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  92. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  93. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  95. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  96. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  97. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  98. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  100. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  101. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  102. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  103. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  105. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  106. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  107. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  110. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  111. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  112. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  113. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  115. package/plugins/lisa-rails-agy/plugin.json +1 -1
  116. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  117. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  120. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  121. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  122. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  123. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  125. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  126. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  127. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  128. package/scripts/check-derived-artifacts.mjs +32 -5
  129. package/scripts/generate-nightly-e2e-guard-certificate.mjs +370 -0
  130. 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":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AA2BlC;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAa9C,CAAC;AAwQH;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IA+B5D;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAMd;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IA+Bf;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAUjB"}
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 verbs = await declaredVerbs(ctx.projectDir);
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, verbs).join("\n"));
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, verbs) {
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 = verbs.length === 0
337
- ? repointed
338
- : [
339
- ...repointed.slice(0, plan.withAt + 1),
340
- ...PREPARE_NOTE,
341
- ` prepare_environment: '${environmentFor(plan.moment)}'`,
342
- ` prepare_verbs: '${verbs.join(",")}'`,
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, verbs) {
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
- verbs.length === 0
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":"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"}
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
- # The named verbs must exist as `environment:reset` / `environment:reseed`
153
- # scripts. A verb named here that the project does not declare FAILS the
154
- # run rather than skipping — a suite against an environment nobody
155
- # prepared reports green while proving nothing. Clear this input to opt
156
- # out; that is a visible decision, which a silent skip is not.
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.21.5",
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": "3058845dd698f4d6fd2bb7356825d96f65e008ce"
303
+ "lisaReleaseCommit": "f6dad1b6015c151c4087f61eedbcb6a4e317295e"
302
304
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "4.21.5",
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.21.5",
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.21.5",
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.21.5",
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.21.5",
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-phaser",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "4.21.5",
3
+ "version": "4.22.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"