@codyswann/lisa 4.29.4 → 4.29.6

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 (68) hide show
  1. package/all/copy-overwrite/scripts/check-release-package-identity.mjs +128 -5
  2. package/dist/cli/version.d.ts +13 -5
  3. package/dist/cli/version.d.ts.map +1 -1
  4. package/dist/cli/version.js +22 -14
  5. package/dist/cli/version.js.map +1 -1
  6. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  7. package/dist/core/lisa-owned-hash-ledger.js +4 -0
  8. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  9. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  10. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  11. package/dist/core/upstream-evidence-manifest.js +3 -2
  12. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  13. package/dist/migrations/ensure-nightly-e2e-workflow-pins.d.ts +27 -8
  14. package/dist/migrations/ensure-nightly-e2e-workflow-pins.d.ts.map +1 -1
  15. package/dist/migrations/ensure-nightly-e2e-workflow-pins.js +49 -11
  16. package/dist/migrations/ensure-nightly-e2e-workflow-pins.js.map +1 -1
  17. package/package.json +4 -3
  18. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  20. package/plugins/lisa-agy/plugin.json +1 -1
  21. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  23. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  24. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-expo-agy/plugin.json +1 -1
  31. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  35. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  36. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  40. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  41. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  46. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  51. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  55. package/plugins/lisa-rails-agy/plugin.json +1 -1
  56. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  60. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  61. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  65. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  66. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  68. package/scripts/check-release-package-identity.mjs +128 -5
@@ -1,23 +1,27 @@
1
1
  import type { Migration, MigrationContext, MigrationResult } from "./migration.interface.js";
2
2
  /** Read the installed Lisa package version. */
3
3
  type VersionReader = () => string;
4
+ /** Read the release tag stamped into the installed package. */
5
+ type ReleaseTagReader = () => string | null;
4
6
  /**
7
+ * Keep an installed nightly E2E caller pinned at the installed Lisa release tag.
5
8
  *
9
+ * The tag, never the release commit: the commit the package was built from is
10
+ * not guaranteed to survive, and a caller pinned at an orphaned commit stops
11
+ * loading silently rather than failing.
6
12
  */
7
- type ReleaseCommitReader = () => string | null;
8
- /** Keep an installed nightly E2E caller on the same immutable Lisa release. */
9
13
  export declare class EnsureNightlyE2EWorkflowPinsMigration implements Migration {
10
14
  private readonly readLisaVersion;
11
- private readonly readReleaseCommit;
15
+ private readonly readReleaseTag;
12
16
  readonly name = "ensure-nightly-e2e-workflow-pins";
13
17
  readonly description = "Align nightly E2E reusable-workflow pins with installed Lisa";
14
18
  /**
15
19
  * Create the migration.
16
20
  *
17
21
  * @param readLisaVersion - Version reader, injectable for deterministic tests
18
- * @param readReleaseCommit - Published release commit reader
22
+ * @param readReleaseTag - Published release tag reader
19
23
  */
20
- constructor(readLisaVersion?: VersionReader, readReleaseCommit?: ReleaseCommitReader);
24
+ constructor(readLisaVersion?: VersionReader, readReleaseTag?: ReleaseTagReader);
21
25
  /**
22
26
  * Decide whether an Expo caller still points at another Lisa release.
23
27
  *
@@ -29,13 +33,28 @@ export declare class EnsureNightlyE2EWorkflowPinsMigration implements Migration
29
33
  * Update Lisa's literal release caller pins and their matching comment.
30
34
  *
31
35
  * A host that deliberately uses a branch or different workflow path is left
32
- * untouched because Lisa cannot infer that host's release policy. Canonical
33
- * nightly callers advance both Lisa semver and commit pins together.
36
+ * untouched because Lisa cannot infer that host's release policy. A caller
37
+ * already pinned at a bare SHA is rewritten to the tag: that pin is the
38
+ * defect, and rewriting it is the only repair a consumer gets, because this
39
+ * runs from postinstall and would otherwise re-stamp the SHA over any
40
+ * hand repin.
34
41
  *
35
42
  * @param ctx - Migration context
36
43
  * @returns Applied or no-op result
37
44
  */
38
45
  apply(ctx: MigrationContext): Promise<MigrationResult>;
46
+ /**
47
+ * Resolve the one ref this migration is allowed to pin a caller at.
48
+ *
49
+ * A stamped value is honoured only when it is a release tag. The published
50
+ * package used to stamp its build commit here, and that commit is exactly
51
+ * what a history rewrite orphans, so a value of any other shape — a bare
52
+ * SHA above all — is refused in favour of the installed version's tag.
53
+ *
54
+ * @param lisaVersion - Installed Lisa version
55
+ * @returns Release tag ref to pin every supported caller at
56
+ */
57
+ private resolveReleaseRef;
39
58
  /**
40
59
  * Read the contract version shipped into the destination project.
41
60
  *
@@ -49,7 +68,7 @@ export declare class EnsureNightlyE2EWorkflowPinsMigration implements Migration
49
68
  * @param source - Workflow source
50
69
  * @param file - Supported workflow filename
51
70
  * @param lisaVersion - Installed Lisa version
52
- * @param releaseRef - Immutable release commit, or the semver fallback
71
+ * @param releaseRef - Release tag ref every supported caller is pinned at
53
72
  * @param contractVersion - Guard contract version, when available
54
73
  * @returns Updated or original workflow source
55
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-nightly-e2e-workflow-pins.d.ts","sourceRoot":"","sources":["../../src/migrations/ensure-nightly-e2e-workflow-pins.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAWlC,+CAA+C;AAC/C,KAAK,aAAa,GAAG,MAAM,MAAM,CAAC;AAClC;;GAEG;AACH,KAAK,mBAAmB,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAE/C,+EAA+E;AAC/E,qBAAa,qCAAsC,YAAW,SAAS;IAYnE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAZpC,QAAQ,CAAC,IAAI,sCAAsC;IACnD,QAAQ,CAAC,WAAW,kEAC6C;IAEjE;;;;;OAKG;gBAEgB,eAAe,GAAE,aAAiC,EAClD,iBAAiB,GAAE,mBAA6C;IAGnF;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBtD;;;;;;;;;OASG;IACG,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyC5D;;;;;OAKG;YACW,mBAAmB;IAQjC;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CA8BrB"}
1
+ {"version":3,"file":"ensure-nightly-e2e-workflow-pins.d.ts","sourceRoot":"","sources":["../../src/migrations/ensure-nightly-e2e-workflow-pins.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAwBlC,+CAA+C;AAC/C,KAAK,aAAa,GAAG,MAAM,MAAM,CAAC;AAClC,+DAA+D;AAC/D,KAAK,gBAAgB,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,qCAAsC,YAAW,SAAS;IAYnE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAZjC,QAAQ,CAAC,IAAI,sCAAsC;IACnD,QAAQ,CAAC,WAAW,kEAC6C;IAEjE;;;;;OAKG;gBAEgB,eAAe,GAAE,aAAiC,EAClD,cAAc,GAAE,gBAAuC;IAG1E;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBtD;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyC5D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;YACW,mBAAmB;IAQjC;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CA8BrB"}
@@ -1,7 +1,7 @@
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 { getPackageReleaseCommit, getPackageVersion } from "../cli/version.js";
4
+ import { getPackageReleaseTag, getPackageVersion } from "../cli/version.js";
5
5
  const WORKFLOW_DIR = path.join(".github", "workflows");
6
6
  const WORKFLOW_FILES = [
7
7
  "nightly-e2e-health.yml",
@@ -9,21 +9,39 @@ const WORKFLOW_FILES = [
9
9
  ];
10
10
  const CONTRACT_SCRIPT = path.join("scripts", "check-nightly-e2e-health.mjs");
11
11
  const CONTRACT_PATTERN = /NIGHTLY_E2E_CONTRACT_VERSION\s*=\s*["'](\d+\.\d+\.\d+)["']/;
12
- /** Keep an installed nightly E2E caller on the same immutable Lisa release. */
12
+ /**
13
+ * The only pin spelling this migration will write: a release tag ref.
14
+ *
15
+ * Deliberately excludes a bare commit SHA. A commit is not durable — a history
16
+ * rewrite orphans it while leaving the object present, and a caller pinned at
17
+ * an orphaned SHA does not go red: the workflow never loads, so the run
18
+ * produces zero jobs and therefore zero failures. Checking that a pin is
19
+ * PRESENT and well formed cannot see that, because an orphaned pin is both.
20
+ * Anything that does not match this pattern is discarded in favour of the
21
+ * installed version's tag.
22
+ */
23
+ const RELEASE_TAG_PATTERN = /^v\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/;
24
+ /**
25
+ * Keep an installed nightly E2E caller pinned at the installed Lisa release tag.
26
+ *
27
+ * The tag, never the release commit: the commit the package was built from is
28
+ * not guaranteed to survive, and a caller pinned at an orphaned commit stops
29
+ * loading silently rather than failing.
30
+ */
13
31
  export class EnsureNightlyE2EWorkflowPinsMigration {
14
32
  readLisaVersion;
15
- readReleaseCommit;
33
+ readReleaseTag;
16
34
  name = "ensure-nightly-e2e-workflow-pins";
17
35
  description = "Align nightly E2E reusable-workflow pins with installed Lisa";
18
36
  /**
19
37
  * Create the migration.
20
38
  *
21
39
  * @param readLisaVersion - Version reader, injectable for deterministic tests
22
- * @param readReleaseCommit - Published release commit reader
40
+ * @param readReleaseTag - Published release tag reader
23
41
  */
24
- constructor(readLisaVersion = getPackageVersion, readReleaseCommit = getPackageReleaseCommit) {
42
+ constructor(readLisaVersion = getPackageVersion, readReleaseTag = getPackageReleaseTag) {
25
43
  this.readLisaVersion = readLisaVersion;
26
- this.readReleaseCommit = readReleaseCommit;
44
+ this.readReleaseTag = readReleaseTag;
27
45
  }
28
46
  /**
29
47
  * Decide whether an Expo caller still points at another Lisa release.
@@ -36,7 +54,7 @@ export class EnsureNightlyE2EWorkflowPinsMigration {
36
54
  return false;
37
55
  const contractVersion = await this.readContractVersion(ctx.projectDir);
38
56
  const lisaVersion = this.readLisaVersion();
39
- const releaseRef = this.readReleaseCommit() ?? `v${lisaVersion}`;
57
+ const releaseRef = this.resolveReleaseRef(lisaVersion);
40
58
  for (const file of WORKFLOW_FILES) {
41
59
  const absolute = path.join(ctx.projectDir, WORKFLOW_DIR, file);
42
60
  if (!(await fse.pathExists(absolute)))
@@ -52,15 +70,18 @@ export class EnsureNightlyE2EWorkflowPinsMigration {
52
70
  * Update Lisa's literal release caller pins and their matching comment.
53
71
  *
54
72
  * A host that deliberately uses a branch or different workflow path is left
55
- * untouched because Lisa cannot infer that host's release policy. Canonical
56
- * nightly callers advance both Lisa semver and commit pins together.
73
+ * untouched because Lisa cannot infer that host's release policy. A caller
74
+ * already pinned at a bare SHA is rewritten to the tag: that pin is the
75
+ * defect, and rewriting it is the only repair a consumer gets, because this
76
+ * runs from postinstall and would otherwise re-stamp the SHA over any
77
+ * hand repin.
57
78
  *
58
79
  * @param ctx - Migration context
59
80
  * @returns Applied or no-op result
60
81
  */
61
82
  async apply(ctx) {
62
83
  const lisaVersion = this.readLisaVersion();
63
- const releaseRef = this.readReleaseCommit() ?? `v${lisaVersion}`;
84
+ const releaseRef = this.resolveReleaseRef(lisaVersion);
64
85
  const contractVersion = await this.readContractVersion(ctx.projectDir);
65
86
  const changedFiles = [];
66
87
  const updates = [];
@@ -90,6 +111,23 @@ export class EnsureNightlyE2EWorkflowPinsMigration {
90
111
  ctx.logger.success(message);
91
112
  return { name: this.name, action: "applied", changedFiles, message };
92
113
  }
114
+ /**
115
+ * Resolve the one ref this migration is allowed to pin a caller at.
116
+ *
117
+ * A stamped value is honoured only when it is a release tag. The published
118
+ * package used to stamp its build commit here, and that commit is exactly
119
+ * what a history rewrite orphans, so a value of any other shape — a bare
120
+ * SHA above all — is refused in favour of the installed version's tag.
121
+ *
122
+ * @param lisaVersion - Installed Lisa version
123
+ * @returns Release tag ref to pin every supported caller at
124
+ */
125
+ resolveReleaseRef(lisaVersion) {
126
+ const stamped = this.readReleaseTag();
127
+ return stamped !== null && RELEASE_TAG_PATTERN.test(stamped)
128
+ ? stamped
129
+ : `v${lisaVersion}`;
130
+ }
93
131
  /**
94
132
  * Read the contract version shipped into the destination project.
95
133
  *
@@ -108,7 +146,7 @@ export class EnsureNightlyE2EWorkflowPinsMigration {
108
146
  * @param source - Workflow source
109
147
  * @param file - Supported workflow filename
110
148
  * @param lisaVersion - Installed Lisa version
111
- * @param releaseRef - Immutable release commit, or the semver fallback
149
+ * @param releaseRef - Release tag ref every supported caller is pinned at
112
150
  * @param contractVersion - Guard contract version, when available
113
151
  * @returns Updated or original workflow source
114
152
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-nightly-e2e-workflow-pins.js","sourceRoot":"","sources":["../../src/migrations/ensure-nightly-e2e-workflow-pins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-nightly-e2e-workflow-pins.js","sourceRoot":"","sources":["../../src/migrations/ensure-nightly-e2e-workflow-pins.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -164,7 +164,7 @@
164
164
  "zod-validation-error": "^4.0.0"
165
165
  },
166
166
  "name": "@codyswann/lisa",
167
- "version": "4.29.4",
167
+ "version": "4.29.6",
168
168
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
169
169
  "main": "dist/index.js",
170
170
  "exports": {
@@ -312,6 +312,7 @@
312
312
  "test": "tests"
313
313
  },
314
314
  "types": "./dist/index.d.ts",
315
- "lisaReleaseCommit": "e2f84358b3b6780e9031e05034ea9c6c38bcc535",
316
- "gitHead": "e2f84358b3b6780e9031e05034ea9c6c38bcc535"
315
+ "lisaReleaseCommit": "5dd402aa1e1c80cb3aaf4f92508b25bfa9e4ba5c",
316
+ "gitHead": "5dd402aa1e1c80cb3aaf4f92508b25bfa9e4ba5c",
317
+ "lisaReleaseTag": "v4.29.6"
317
318
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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.29.4",
3
+ "version": "4.29.6",
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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "4.29.4",
3
+ "version": "4.29.6",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"