@codyswann/lisa 4.53.4 → 4.53.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 (59) hide show
  1. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  2. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  3. package/dist/core/upstream-evidence-manifest.js +6 -4
  4. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  5. package/expo/copy-overwrite/plugins/withAndroidSplashNoClientExit.js +106 -8
  6. package/package.json +4 -4
  7. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  8. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  9. package/plugins/lisa-agy/plugin.json +1 -1
  10. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  11. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  12. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  13. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  18. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  19. package/plugins/lisa-expo-agy/plugin.json +1 -1
  20. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  21. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  24. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  25. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  29. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  30. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  34. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  35. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  39. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  40. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa-rails-agy/plugin.json +1 -1
  45. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  50. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  54. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  55. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  57. package/typescript/copy-contents/.husky/commit-msg +52 -14
  58. package/typescript/copy-contents/.husky/pre-commit +52 -18
  59. package/typescript/copy-contents/.husky/pre-push +52 -14
@@ -1,18 +1,48 @@
1
1
  // This file is managed by Lisa and IS replaced on each `lisa` run.
2
2
  // Do not edit directly — durable changes belong upstream in Lisa.
3
3
 
4
- const { withMainActivity } = require("expo/config-plugins");
5
- const {
6
- mergeContents,
7
- } = require("@expo/config-plugins/build/utils/generateCode");
8
-
9
4
  /**
10
5
  * Tag written into the generated MainActivity so the mod is idempotent. Expo
11
6
  * runs prebuild mods repeatedly, and `expo prebuild` can be run against an
12
7
  * existing `android/` directory, so an unconditional insert would stack.
8
+ *
9
+ * **Renaming this is a supported operation, and it did not used to be.**
10
+ * `mergeContents` looks for a block bearing exactly this tag and INSERTS when
11
+ * it does not find one. So changing the value made every previously generated
12
+ * block invisible to the check and appended a second one — the unconditional
13
+ * insert this tag exists to prevent, reached by editing the tag itself. The
14
+ * consumer holds the stale side, because this file is copy-overwrite and
15
+ * upstream moves the value.
16
+ *
17
+ * `IDENTITY` below is what makes a rename safe: matching is on the stable
18
+ * identity, and the tag is payload.
13
19
  */
14
20
  const TAG = "lisa-splash-no-client-exit";
15
21
 
22
+ /**
23
+ * The stable identity every tag this plugin has ever written must satisfy.
24
+ *
25
+ * Matching on this rather than on the whole tag is the fix: a block written
26
+ * under any `lisa-splash-*` tag is recognised as OURS, retired, and re-emitted
27
+ * under the current one. The tag can then be renamed freely within the family
28
+ * without stranding anything.
29
+ *
30
+ * The boundary is load-bearing. Without it `lisa-splash` would also match a
31
+ * hypothetical `lisa-splash-something-else`, and this plugin would delete
32
+ * another plugin's block.
33
+ */
34
+ const IDENTITY = /^lisa-splash(?:-|$)/;
35
+
36
+ /**
37
+ * Tags this plugin wrote that fall OUTSIDE `IDENTITY`.
38
+ *
39
+ * Empty today, and the list is the escape hatch rather than the mechanism: a
40
+ * rename that stays inside the identity family needs no entry here. Append the
41
+ * OLD value only when a rename leaves the family, and never remove an entry —
42
+ * a consumer regenerating native sources years later still carries it.
43
+ */
44
+ const PRIOR_TAGS = Object.freeze([]);
45
+
16
46
  /**
17
47
  * Anchor. `super.onCreate(null)` is React Native's own template line, not one
18
48
  * of expo-splash-screen's `@generated` markers, so this does not depend on
@@ -95,7 +125,64 @@ const SNIPPET = ` // Opt out of the Android 12+ client-side splash-exit hands
95
125
  * @param {string} contents Current MainActivity source.
96
126
  * @returns {object} The mergeContents result, with the snippet inserted.
97
127
  */
128
+ /**
129
+ * Is this tag one of ours, but not the one we write today?
130
+ * @param {string} tag A tag read out of a `@generated begin` marker.
131
+ * @returns {boolean} True when the block it opens should be retired.
132
+ */
133
+ const isPriorTag = tag =>
134
+ tag !== TAG && (IDENTITY.test(tag) || PRIOR_TAGS.includes(tag));
135
+
136
+ /**
137
+ * Remove every block this plugin wrote under a PREVIOUS tag.
138
+ *
139
+ * Blocks bearing the CURRENT tag are deliberately left alone. `mergeContents`
140
+ * already recognises those and replaces them in place, and letting it do so
141
+ * preserves a property worth keeping: an already-patched file is updated
142
+ * without needing the anchor, so a React Native upgrade that moves
143
+ * `onCreate` does not turn a working project into a hard prebuild failure.
144
+ * Stripping everything and re-inserting would have traded that away.
145
+ *
146
+ * Markers are matched by structure — `@generated begin <tag>` through
147
+ * `@generated end <tag>` — rather than by reproducing the exact header
148
+ * `mergeContents` writes, because that header carries a content hash whose
149
+ * format is upstream's to change.
150
+ * @param {string} contents Current MainActivity source.
151
+ * @returns {{contents: string, retired: string[]}} Source with prior blocks
152
+ * removed, and the tags that were retired.
153
+ */
154
+ const stripPriorBlocks = contents => {
155
+ const lines = contents.split("\n");
156
+ const kept = [];
157
+ const retired = [];
158
+ let dropping = null;
159
+ for (const line of lines) {
160
+ if (dropping === null) {
161
+ const begin = /@generated begin (\S+)/.exec(line);
162
+ if (begin && isPriorTag(begin[1])) {
163
+ dropping = begin[1];
164
+ retired.push(begin[1]);
165
+ continue;
166
+ }
167
+ kept.push(line);
168
+ continue;
169
+ }
170
+ // Inside a doomed block: drop through its own end marker, and only its
171
+ // own. Keying the end on the tag we opened with means a nested or
172
+ // adjacent block belonging to something else cannot close ours early.
173
+ if (line.includes(`@generated end ${dropping}`)) dropping = null;
174
+ }
175
+ // An unterminated block would otherwise swallow the rest of the file. Losing
176
+ // MainActivity to a truncated marker is far worse than leaving a stale block
177
+ // in place, so this fails closed by keeping the original.
178
+ if (dropping !== null) return { contents, retired: [] };
179
+ return { contents: kept.join("\n"), retired };
180
+ };
181
+
98
182
  const mergeOrThrow = contents => {
183
+ const {
184
+ mergeContents,
185
+ } = require("@expo/config-plugins/build/utils/generateCode");
99
186
  try {
100
187
  return mergeContents({
101
188
  src: contents,
@@ -140,8 +227,14 @@ const mergeOrThrow = contents => {
140
227
  * @param {object} config The Expo config being modified.
141
228
  * @returns {object} The config with the MainActivity mod applied.
142
229
  */
143
- const withAndroidSplashNoClientExit = config =>
144
- withMainActivity(config, config => {
230
+ const withAndroidSplashNoClientExit = config => {
231
+ // Required here rather than at module load so this file can be imported by a
232
+ // test without the Expo toolchain installed. The tag-migration logic is the
233
+ // part that needs proving and it depends on neither package; a top-level
234
+ // require made the whole module unloadable, which is why the duplicate-block
235
+ // defect shipped with no test that could have caught it.
236
+ const { withMainActivity } = require("expo/config-plugins");
237
+ return withMainActivity(config, config => {
145
238
  const { modResults } = config;
146
239
 
147
240
  if (modResults.language !== "kt") {
@@ -152,7 +245,8 @@ const withAndroidSplashNoClientExit = config =>
152
245
  );
153
246
  }
154
247
 
155
- const merged = mergeOrThrow(modResults.contents);
248
+ const { contents: withoutPrior } = stripPriorBlocks(modResults.contents);
249
+ const merged = mergeOrThrow(withoutPrior);
156
250
 
157
251
  return {
158
252
  ...config,
@@ -162,6 +256,10 @@ const withAndroidSplashNoClientExit = config =>
162
256
  },
163
257
  };
164
258
  });
259
+ };
165
260
 
166
261
  module.exports = withAndroidSplashNoClientExit;
167
262
  module.exports.TAG = TAG;
263
+ module.exports.PRIOR_TAGS = PRIOR_TAGS;
264
+ module.exports.isPriorTag = isPriorTag;
265
+ module.exports.stripPriorBlocks = stripPriorBlocks;
package/package.json CHANGED
@@ -181,7 +181,7 @@
181
181
  "zod-validation-error": "^4.0.0"
182
182
  },
183
183
  "name": "@codyswann/lisa",
184
- "version": "4.53.4",
184
+ "version": "4.53.6",
185
185
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
186
186
  "main": "dist/index.js",
187
187
  "exports": {
@@ -329,7 +329,7 @@
329
329
  "test": "tests"
330
330
  },
331
331
  "types": "./dist/index.d.ts",
332
- "lisaReleaseCommit": "b368a3733fdb3e31128d239ef338384b507b8960",
333
- "gitHead": "b368a3733fdb3e31128d239ef338384b507b8960",
334
- "lisaReleaseTag": "v4.53.4"
332
+ "lisaReleaseCommit": "f27d63bfbd58102b6943befb122c5741b27f47a8",
333
+ "gitHead": "f27d63bfbd58102b6943befb122c5741b27f47a8",
334
+ "lisaReleaseTag": "v4.53.6"
335
335
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.6",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, 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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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.53.4",
3
+ "version": "4.53.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-wiki",
3
- "version": "4.53.4",
3
+ "version": "4.53.6",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "4.53.4",
3
+ "version": "4.53.6",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "4.53.4",
3
+ "version": "4.53.6",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "4.53.4",
3
+ "version": "4.53.6",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "4.53.4",
3
+ "version": "4.53.6",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"