@codyswann/lisa 4.69.0 → 4.69.1

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 (85) hide show
  1. package/README.md +16 -0
  2. package/all/create-only/.github/workflows/continuous-gates.yml +2 -2
  3. package/all/create-only/.github/workflows/workflow-load-failure-sweep.yml +1 -1
  4. package/cdk/create-only/.github/workflows/ci.yml +2 -2
  5. package/cdk/create-only/.github/workflows/deploy.yml +3 -3
  6. package/cdk/package-lisa/package.lisa.json +4 -4
  7. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  8. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  9. package/dist/core/upstream-evidence-manifest.js +122 -29
  10. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  11. package/expo/create-only/.github/workflows/ci.yml +3 -3
  12. package/expo/create-only/.github/workflows/deploy.yml +4 -4
  13. package/expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml +1 -1
  14. package/expo/create-only/.github/workflows/playwright-e2e.yml +1 -1
  15. package/expo/create-only/eas.json +1 -1
  16. package/harper-fabric/copy-overwrite/.github/workflows/ci.yml +1 -1
  17. package/harper-fabric/create-only/.github/workflows/deploy.yml +3 -3
  18. package/harper-fabric/create-only/.github/workflows/zap-baseline.yml +1 -1
  19. package/harper-fabric/package-lisa/package.lisa.json +3 -3
  20. package/nestjs/create-only/.github/workflows/ci.yml +2 -2
  21. package/nestjs/create-only/.github/workflows/deploy.yml +5 -5
  22. package/nestjs/package-lisa/package.lisa.json +3 -3
  23. package/npm-package/package-lisa/package.lisa.json +3 -3
  24. package/package.json +12 -12
  25. package/phaser/copy-overwrite/.github/workflows/ci.yml +1 -1
  26. package/phaser/package-lisa/package.lisa.json +4 -4
  27. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  29. package/plugins/lisa-agy/plugin.json +1 -1
  30. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  33. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  39. package/plugins/lisa-expo-agy/plugin.json +1 -1
  40. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  45. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  50. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  54. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  55. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  59. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  60. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  64. package/plugins/lisa-rails-agy/plugin.json +1 -1
  65. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  69. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  70. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  74. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  75. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  77. package/scripts/update-node-version.ts +51 -43
  78. package/typescript/copy-overwrite/.github/GITHUB_ACTIONS.md +2 -2
  79. package/typescript/copy-overwrite/.nvmrc +1 -1
  80. package/typescript/copy-overwrite/audit.ignore.config.json +0 -6
  81. package/typescript/create-only/.github/workflows/ci.yml +1 -1
  82. package/typescript/create-only/.github/workflows/review-evidence.yml +1 -1
  83. package/typescript/create-only/.github/workflows/third-party-review-evidence.yml +1 -1
  84. package/typescript/package-lisa/package.lisa.json +9 -9
  85. package/ui/index.html +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "4.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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.69.0",
3
+ "version": "4.69.1",
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"
@@ -15,6 +15,7 @@
15
15
  * bun scripts/update-node-version.ts
16
16
  * ```
17
17
  */
18
+ import { execFileSync } from "node:child_process";
18
19
  import * as fs from "node:fs";
19
20
  import * as path from "node:path";
20
21
 
@@ -35,17 +36,21 @@ interface ReplacementPattern {
35
36
  }
36
37
 
37
38
  const WORKFLOW_PATTERNS: readonly ReplacementPattern[] = [
38
- // node_version: '22.21.1' (workflow input defaults)
39
+ // Include reusable-workflow defaults and expression fallbacks as well as
40
+ // ordinary callers. Only Node-shaped keys are rewritten.
39
41
  {
40
- pattern: /(node_version:\s*['"])[\d.]+(['"])/g,
42
+ pattern: /((?:node_version|node-version):\s*['"]?)\d+\.\d+\.\d+(['"]?)/g,
41
43
  replacement: VERSION_REPLACEMENT,
42
44
  },
43
- // node-version: '22.21.1' (actions/setup-node)
44
45
  {
45
- pattern: /(node-version:\s*['"])[\d.]+(['"])/g,
46
+ pattern:
47
+ /(node_version:\n(?: +(?:description|type|required):[^\n]*\n)* +default: *['"])\d+\.\d+\.\d+(['"])/g,
48
+ replacement: VERSION_REPLACEMENT,
49
+ },
50
+ {
51
+ pattern: /(node-version:.*?\|\|\s*['"])\d+\.\d+\.\d+(['"])/g,
46
52
  replacement: VERSION_REPLACEMENT,
47
53
  },
48
- // node-version: '22.x' (major version pattern)
49
54
  {
50
55
  pattern: /(node-version:\s*['"])\d+\.x(['"])/g,
51
56
  replacement: "$1{{major}}.x$2",
@@ -53,43 +58,39 @@ const WORKFLOW_PATTERNS: readonly ReplacementPattern[] = [
53
58
  ];
54
59
 
55
60
  const PACKAGE_JSON_PATTERN: ReplacementPattern = {
56
- pattern: /("node":\s*["'])[\d.]+(["'])/g,
61
+ pattern: /("node":\s*["'](?:>=\s*)?)\d+\.\d+\.\d+(["'])/g,
57
62
  replacement: VERSION_REPLACEMENT,
58
63
  };
59
64
 
60
65
  /**
61
- * Files to update (relative to project root)
66
+ * Current tracked runtime surfaces, rather than the removed merge/workflow
67
+ * paths used by the original updater. Historical plans and test fixtures are
68
+ * deliberately excluded. Adding a shipped stack workflow needs no list edit.
69
+ * @returns Existing repository-relative files governed by shared Node policy
62
70
  */
63
- const FILES_TO_UPDATE: readonly string[] = [
64
- // This project's workflows
65
- ".github/workflows/ci.yml",
66
- ".github/workflows/quality.yml",
67
- ".github/workflows/publish-to-npm.yml",
68
-
69
- // TypeScript template workflows
70
- "typescript/copy-overwrite/.github/workflows/quality.yml",
71
- "typescript/copy-overwrite/.github/workflows/release.yml",
72
- "typescript/copy-overwrite/.github/workflows/create-github-issue-on-failure.yml",
73
- "typescript/copy-overwrite/.github/workflows/create-jira-issue-on-failure.yml",
74
- "typescript/copy-overwrite/.github/workflows/create-sentry-issue-on-failure.yml",
75
- "typescript/merge/package.json",
76
-
77
- // Expo template workflows
78
- "expo/copy-overwrite/.github/workflows/ci.yml",
79
- "expo/copy-overwrite/.github/workflows/deploy.yml",
80
- "expo/copy-overwrite/.github/workflows/build.yml",
81
- "expo/copy-overwrite/.github/workflows/lighthouse.yml",
82
-
83
- // NestJS template workflows
84
- "nestjs/copy-overwrite/.github/workflows/ci.yml",
85
- "nestjs/copy-overwrite/.github/workflows/deploy.yml",
86
-
87
- // CDK template workflows
88
- "cdk/copy-overwrite/workflows/ci.yml",
89
-
90
- // npm-package template workflows
91
- "npm-package/copy-overwrite/.github/workflows/publish-to-npm.yml",
92
- ];
71
+ function filesToUpdate(): readonly string[] {
72
+ return execFileSync("git", ["ls-files", "-z"], {
73
+ cwd: PROJECT_ROOT,
74
+ encoding: "utf8",
75
+ })
76
+ .split("\0")
77
+ .filter(
78
+ file =>
79
+ [
80
+ "package.json",
81
+ "package.lisa.json",
82
+ "typescript/copy-overwrite/.nvmrc",
83
+ "expo/create-only/eas.json",
84
+ ].includes(file) ||
85
+ /^(?:typescript|cdk|nestjs|npm-package|phaser|harper-fabric)\/package-lisa\/package\.lisa\.json$/.test(
86
+ file
87
+ ) ||
88
+ /^\.github\/workflows\/[^/]+\.ya?ml$/.test(file) ||
89
+ /^(?:all|typescript|cdk|expo|nestjs|npm-package|phaser|harper-fabric)\/(?:copy-overwrite|create-only)\/\.github\/workflows\/[^/]+\.ya?ml$/.test(
90
+ file
91
+ )
92
+ );
93
+ }
93
94
 
94
95
  /**
95
96
  * Reads the Node.js version from .nvmrc
@@ -100,7 +101,7 @@ function readNvmrcVersion(): string {
100
101
 
101
102
  if (!/^\d+\.\d+\.\d+$/.test(content)) {
102
103
  throw new Error(
103
- `Invalid version format in .nvmrc: "${content}". Expected semver (e.g., 22.21.1)`
104
+ `Invalid version format in .nvmrc: "${content}". Expected semver (e.g., 22.23.3)`
104
105
  );
105
106
  }
106
107
 
@@ -133,9 +134,16 @@ function updateFile(
133
134
  let content = originalContent;
134
135
  let totalChanges = 0;
135
136
 
136
- const patterns = filePath.endsWith(".json")
137
- ? [PACKAGE_JSON_PATTERN]
138
- : WORKFLOW_PATTERNS;
137
+ if (filePath.endsWith(".nvmrc")) {
138
+ content = `${version}\n`;
139
+ totalChanges = Number(content !== originalContent);
140
+ }
141
+
142
+ const patterns = filePath.endsWith(".nvmrc")
143
+ ? []
144
+ : filePath.endsWith(".json")
145
+ ? [PACKAGE_JSON_PATTERN]
146
+ : WORKFLOW_PATTERNS;
139
147
 
140
148
  patterns.forEach(({ pattern, replacement }) => {
141
149
  const resolvedReplacement = replacement
@@ -179,7 +187,7 @@ function main(): void {
179
187
  let filesUpdated = 0;
180
188
  let totalChanges = 0;
181
189
 
182
- FILES_TO_UPDATE.forEach(file => {
190
+ filesToUpdate().forEach(file => {
183
191
  const result = updateFile(file, version, majorVersion);
184
192
  if (result.updated) {
185
193
  filesUpdated++;
@@ -193,7 +201,7 @@ function main(): void {
193
201
 
194
202
  if (filesUpdated > 0) {
195
203
  console.log(
196
- "\nRemember to commit these changes and regenerate package-lock.json if needed."
204
+ "\nRemember to commit these changes and refresh the repository lockfile if needed."
197
205
  );
198
206
  }
199
207
  }
@@ -68,7 +68,7 @@ Runs on every pull request to validate code quality:
68
68
  **Configuration**:
69
69
  ```yaml
70
70
  # In ci.yml, modify these inputs:
71
- node_version: '22.21.1'
71
+ node_version: '22.23.3'
72
72
  package_manager: 'bun'
73
73
  skip_jobs: 'test,test:integration,test:e2e' # Comma-separated list
74
74
  ```
@@ -610,7 +610,7 @@ release.yml and create the environment in **Settings** > **Environments** first
610
610
  ```yaml
611
611
  uses: ./.github/workflows/quality.yml
612
612
  with:
613
- node_version: '22.21.1'
613
+ node_version: '22.23.3'
614
614
  package_manager: 'bun' # or npm, yarn
615
615
  ```
616
616
 
@@ -1 +1 @@
1
- 22.21.1
1
+ 22.23.3
@@ -137,12 +137,6 @@
137
137
  "id": "GHSA-j759-j44w-7fr8",
138
138
  "package": "@xmldom/xmldom",
139
139
  "reason": "XML node injection via unvalidated comment serialization. Transitive via expo > @expo/config-plugins > @expo/plist; only serializes developer-authored plist files at build/prebuild time, no runtime code path serializes attacker-controlled XML."
140
- },
141
- {
142
- "id": "GHSA-vfj7-8cjw-p6xm",
143
- "cve": "CVE-2026-93687",
144
- "package": "braces",
145
- "reason": "Stack-exhaustion DoS (uncaught RangeError) via deeply nested brace patterns; no patched release exists. Keep this exclusion only if no runtime code path passes attacker-supplied glob or brace patterns to braces/micromatch (dev tooling expanding repo-owned globs is unaffected)."
146
140
  }
147
141
  ]
148
142
  }
@@ -31,7 +31,7 @@ jobs:
31
31
  # declared a break, and says NOT DETERMINED if this line goes missing
32
32
  # (CodySwannGT/lisa#3698).
33
33
  expected_workflow_contract_major: '1'
34
- node_version: '22.21.1'
34
+ node_version: '22.23.3'
35
35
  package_manager: 'bun'
36
36
  skip_jobs: ''
37
37
  secrets:
@@ -190,7 +190,7 @@ jobs:
190
190
  uses: actions/setup-node@v6
191
191
  with:
192
192
  package-manager-cache: false
193
- node-version: '22.21.1'
193
+ node-version: '22.23.3'
194
194
 
195
195
  - name: 🕵️ Refuse a required check that reviewed nothing
196
196
  id: review_evidence
@@ -90,7 +90,7 @@ jobs:
90
90
  uses: actions/setup-node@v6
91
91
  with:
92
92
  package-manager-cache: false
93
- node-version: ${{ vars.NODE_VERSION || '22.21.1' }}
93
+ node-version: ${{ vars.NODE_VERSION || '22.23.3' }}
94
94
 
95
95
  - name: 🕵️ Prove review evidence, or a posted substitute, at this head
96
96
  env:
@@ -40,26 +40,26 @@
40
40
  },
41
41
  "resolutions": {
42
42
  "@isaacs/brace-expansion": "^5.0.1",
43
- "axios": ">=1.18.0",
43
+ "axios": ">=1.20.0",
44
44
  "esbuild": ">=0.28.1",
45
45
  "handlebars": ">=4.7.9",
46
46
  "lodash": ">=4.18.1",
47
47
  "multer": ">=2.3.0",
48
- "undici": "^6.28.0",
49
- "vite": ">=8.0.16",
48
+ "undici": "^6.28.1",
49
+ "vite": "^8.3.2",
50
50
  "ws": ">=8.21.0",
51
51
  "form-data": ">=4.0.6",
52
52
  "systeminformation": ">=5.31.7"
53
53
  },
54
54
  "overrides": {
55
55
  "@isaacs/brace-expansion": "^5.0.1",
56
- "axios": ">=1.18.0",
56
+ "axios": ">=1.20.0",
57
57
  "esbuild": ">=0.28.1",
58
58
  "handlebars": ">=4.7.9",
59
59
  "lodash": ">=4.18.1",
60
60
  "multer": ">=2.3.0",
61
- "undici": "^6.28.0",
62
- "vite": "^8.0.16",
61
+ "undici": "^6.28.1",
62
+ "vite": "^8.3.2",
63
63
  "ws": ">=8.21.0",
64
64
  "form-data": ">=4.0.6",
65
65
  "systeminformation": ">=5.31.7"
@@ -68,12 +68,12 @@
68
68
  "defaults": {
69
69
  "devDependencies": {
70
70
  "@ast-grep/cli": "^0.40.4",
71
- "@vitest/coverage-v8": "^4.1.0",
71
+ "@vitest/coverage-v8": "^4.1.11",
72
72
  "eslint": "^9.39.0",
73
73
  "husky": "^8.0.0",
74
74
  "prettier": "^3.3.3",
75
75
  "typescript": "^6.0.3",
76
- "vitest": "^4.1.0"
76
+ "vitest": "^4.1.11"
77
77
  },
78
78
  "scripts": {
79
79
  "build": "node scripts/lib/worktree-dependencies.mjs && tsc",
@@ -97,7 +97,7 @@
97
97
  "yarn": "please-use-bun",
98
98
  "pnpm": "please-use-bun",
99
99
  "bun": "1.3.8",
100
- "node": "22.21.1"
100
+ "node": "22.23.3"
101
101
  }
102
102
  },
103
103
  "merge": {
package/ui/index.html CHANGED
@@ -7525,7 +7525,7 @@
7525
7525
  more: [
7526
7526
  "Enforced configs: eslint.config.ts, tsconfig.json, vitest.config.ts, knip.json, commitlint, Prettier, ast-grep",
7527
7527
  "Seeded once: ci.yml, claude*.yml, nightly improvement workflows, eslint.config.local.ts, thresholds files",
7528
- "package.json governance: lint/test/typecheck scripts forced, security overrides forced, engines bun 1.3.8 / node 22.21.1 defaulted",
7528
+ "package.json governance: lint/test/typecheck scripts forced, security overrides forced, engines bun 1.3.8 / node 22.23.3 defaulted",
7529
7529
  ],
7530
7530
  },
7531
7531
  {
@@ -9662,7 +9662,7 @@
9662
9662
  key: "node_version",
9663
9663
  label: "Node version",
9664
9664
  desc: "",
9665
- control: txt("22.21.1", { mono: true }),
9665
+ control: txt("22.23.3", { mono: true }),
9666
9666
  },
9667
9667
  {
9668
9668
  key: "verify_enforced",