@codyswann/lisa 4.69.0 → 4.69.2

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 (103) hide show
  1. package/README.md +28 -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/cli/doctor-legacy-overlay.d.ts.map +1 -1
  8. package/dist/cli/doctor-legacy-overlay.js +37 -5
  9. package/dist/cli/doctor-legacy-overlay.js.map +1 -1
  10. package/dist/codex/hooks-installer.d.ts +12 -0
  11. package/dist/codex/hooks-installer.d.ts.map +1 -1
  12. package/dist/codex/hooks-installer.js +256 -7
  13. package/dist/codex/hooks-installer.js.map +1 -1
  14. package/dist/codex/manifest.d.ts +4 -1
  15. package/dist/codex/manifest.d.ts.map +1 -1
  16. package/dist/codex/manifest.js +18 -2
  17. package/dist/codex/manifest.js.map +1 -1
  18. package/dist/codex/project-hooks-cleanup.d.ts +3 -3
  19. package/dist/codex/project-hooks-cleanup.d.ts.map +1 -1
  20. package/dist/codex/project-hooks-cleanup.js +5 -14
  21. package/dist/codex/project-hooks-cleanup.js.map +1 -1
  22. package/dist/codex/project-overlay.d.ts.map +1 -1
  23. package/dist/codex/project-overlay.js +4 -1
  24. package/dist/codex/project-overlay.js.map +1 -1
  25. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  26. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  27. package/dist/core/upstream-evidence-manifest.js +129 -29
  28. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  29. package/expo/create-only/.github/workflows/ci.yml +3 -3
  30. package/expo/create-only/.github/workflows/deploy.yml +4 -4
  31. package/expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml +1 -1
  32. package/expo/create-only/.github/workflows/playwright-e2e.yml +1 -1
  33. package/expo/create-only/eas.json +1 -1
  34. package/harper-fabric/copy-overwrite/.github/workflows/ci.yml +1 -1
  35. package/harper-fabric/create-only/.github/workflows/deploy.yml +3 -3
  36. package/harper-fabric/create-only/.github/workflows/zap-baseline.yml +1 -1
  37. package/harper-fabric/package-lisa/package.lisa.json +3 -3
  38. package/nestjs/create-only/.github/workflows/ci.yml +2 -2
  39. package/nestjs/create-only/.github/workflows/deploy.yml +5 -5
  40. package/nestjs/package-lisa/package.lisa.json +3 -3
  41. package/npm-package/package-lisa/package.lisa.json +3 -3
  42. package/package.json +12 -12
  43. package/phaser/copy-overwrite/.github/workflows/ci.yml +1 -1
  44. package/phaser/package-lisa/package.lisa.json +4 -4
  45. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  47. package/plugins/lisa-agy/plugin.json +1 -1
  48. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  50. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  51. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  57. package/plugins/lisa-expo-agy/plugin.json +1 -1
  58. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  62. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  63. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  68. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  72. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  73. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  78. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  82. package/plugins/lisa-rails-agy/plugin.json +1 -1
  83. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  87. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  88. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  92. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  93. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  95. package/scripts/update-node-version.ts +51 -43
  96. package/typescript/copy-overwrite/.github/GITHUB_ACTIONS.md +2 -2
  97. package/typescript/copy-overwrite/.nvmrc +1 -1
  98. package/typescript/copy-overwrite/audit.ignore.config.json +0 -6
  99. package/typescript/create-only/.github/workflows/ci.yml +1 -1
  100. package/typescript/create-only/.github/workflows/review-evidence.yml +1 -1
  101. package/typescript/create-only/.github/workflows/third-party-review-evidence.yml +1 -1
  102. package/typescript/package-lisa/package.lisa.json +9 -9
  103. package/ui/index.html +2 -2
@@ -7,6 +7,8 @@ export interface LisaManagedManifest {
7
7
  * Used to identify which files to delete when they stop being shipped.
8
8
  */
9
9
  readonly files: readonly string[];
10
+ /** Intentional copied commands/data retained for already-loaded sessions. */
11
+ readonly hookCompatibilityFiles?: readonly string[];
10
12
  }
11
13
  /**
12
14
  * Read the Lisa-managed manifest from `<destDir>/.codex/.lisa-managed.json`.
@@ -19,8 +21,9 @@ export declare function readManagedManifest(destDir: string): Promise<LisaManage
19
21
  * Write the Lisa-managed manifest to disk, replacing any existing content.
20
22
  * @param destDir - Absolute path to the destination project root
21
23
  * @param files - Sorted list of relative-to-`.codex/` file paths Lisa shipped
24
+ * @param hookCompatibilityFiles Intentional copied legacy paths.
22
25
  */
23
- export declare function writeManagedManifest(destDir: string, files: readonly string[]): Promise<void>;
26
+ export declare function writeManagedManifest(destDir: string, files: readonly string[], hookCompatibilityFiles?: readonly string[]): Promise<void>;
24
27
  /**
25
28
  * Compute the set of stale files: in the previous manifest but not in the
26
29
  * new shipment. These are candidates for deletion.
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/codex/manifest.ts"],"names":[],"mappings":"AAuBA,mEAAmE;AACnE,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAY9B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,SAAS,MAAM,EAAE,CAGnB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/codex/manifest.ts"],"names":[],"mappings":"AAuBA,mEAAmE;AACnE,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAY9B;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,sBAAsB,GAAE,SAAS,MAAM,EAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,SAAS,MAAM,EAAE,CAGnB"}
@@ -41,13 +41,17 @@ export async function readManagedManifest(destDir) {
41
41
  * Write the Lisa-managed manifest to disk, replacing any existing content.
42
42
  * @param destDir - Absolute path to the destination project root
43
43
  * @param files - Sorted list of relative-to-`.codex/` file paths Lisa shipped
44
+ * @param hookCompatibilityFiles Intentional copied legacy paths.
44
45
  */
45
- export async function writeManagedManifest(destDir, files) {
46
+ export async function writeManagedManifest(destDir, files, hookCompatibilityFiles = []) {
46
47
  const codexDir = path.join(destDir, ".codex");
47
48
  await fse.ensureDir(codexDir);
48
49
  const manifestPath = path.join(codexDir, LISA_MANAGED_MANIFEST_FILENAME);
49
50
  const manifest = {
50
51
  files: [...files].sort((a, b) => a.localeCompare(b)),
52
+ ...(hookCompatibilityFiles.length > 0
53
+ ? { hookCompatibilityFiles: [...hookCompatibilityFiles] }
54
+ : {}),
51
55
  };
52
56
  await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf8");
53
57
  }
@@ -81,6 +85,18 @@ function validateManifest(parsed, manifestPath) {
81
85
  if (files.length !== obj.files.length) {
82
86
  throw new Error(`Invalid Lisa-managed manifest at ${manifestPath}: "files" must contain only strings`);
83
87
  }
84
- return { files: Object.freeze(files) };
88
+ if (obj.hookCompatibilityFiles !== undefined &&
89
+ (!Array.isArray(obj.hookCompatibilityFiles) ||
90
+ obj.hookCompatibilityFiles.some(file => typeof file !== "string" || !files.includes(file)))) {
91
+ throw new Error(`Invalid Lisa-managed manifest at ${manifestPath}: compatibility files must be managed files`);
92
+ }
93
+ return {
94
+ files: Object.freeze(files),
95
+ ...(obj.hookCompatibilityFiles !== undefined
96
+ ? {
97
+ hookCompatibilityFiles: Object.freeze(obj.hookCompatibilityFiles),
98
+ }
99
+ : {}),
100
+ };
85
101
  }
86
102
  //# sourceMappingURL=manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/codex/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,mEAAmE;AACnE,MAAM,CAAC,MAAM,8BAA8B,GAAG,oBAAoB,CAAC;AAWnE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe;IAEf,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,OAAO,EACP,QAAQ,EACR,8BAA8B,CAC/B,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAC1C,OAAO,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,KAAwB;IAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAwB;QACpC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;KACrD,CAAC;IACF,MAAM,SAAS,CACb,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACxC,MAAM,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA6B,EAC7B,OAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,MAAe,EACf,YAAoB;IAEpB,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,wBAAwB,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,0BAA0B,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CACnD,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,qCAAqC,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/codex/manifest.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@ export interface ProjectHooksCleanupResult {
3
3
  readonly deleted: readonly string[];
4
4
  }
5
5
  /**
6
- * Remove only Lisa-tagged hook handlers and Lisa-owned legacy directories.
6
+ * Remove only Lisa-tagged handlers. Loaded commands still need their files.
7
7
  * @param destDir Host project root.
8
- * @param previousManagedFiles Previous `.codex` ownership entries.
8
+ * @param _previousManagedFiles Previous `.codex` ownership entries.
9
9
  * @returns Removed Lisa-owned paths.
10
10
  */
11
- export declare function retireProjectHooks(destDir: string, previousManagedFiles: readonly string[]): Promise<ProjectHooksCleanupResult>;
11
+ export declare function retireProjectHooks(destDir: string, _previousManagedFiles: readonly string[]): Promise<ProjectHooksCleanupResult>;
12
12
  //# sourceMappingURL=project-hooks-cleanup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-hooks-cleanup.d.ts","sourceRoot":"","sources":["../../src/codex/project-hooks-cleanup.ts"],"names":[],"mappings":"AAgBA,6CAA6C;AAC7C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,SAAS,MAAM,EAAE,GACtC,OAAO,CAAC,yBAAyB,CAAC,CAoBpC"}
1
+ {"version":3,"file":"project-hooks-cleanup.d.ts","sourceRoot":"","sources":["../../src/codex/project-hooks-cleanup.ts"],"names":[],"mappings":"AAWA,6CAA6C;AAC7C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,SAAS,MAAM,EAAE,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAQpC"}
@@ -1,31 +1,22 @@
1
1
  /** Retire Lisa's legacy per-hook overlay before fallback reconciliation. */
2
2
  import * as fse from "fs-extra";
3
- import { readFile, rm, writeFile } from "node:fs/promises";
3
+ import { readFile, writeFile } from "node:fs/promises";
4
4
  import * as path from "node:path";
5
5
  import { mergeLisaHooks, parseHooksFile, serializeHooksFile, } from "./hooks-merger.js";
6
6
  const HOOKS_FILE = path.join(".codex", "hooks.json");
7
- const LEGACY_DIRS = [
8
- path.join(".codex", "hooks", "lisa"),
9
- path.join(".codex", "lisa-rules"),
10
- ];
11
7
  /**
12
- * Remove only Lisa-tagged hook handlers and Lisa-owned legacy directories.
8
+ * Remove only Lisa-tagged handlers. Loaded commands still need their files.
13
9
  * @param destDir Host project root.
14
- * @param previousManagedFiles Previous `.codex` ownership entries.
10
+ * @param _previousManagedFiles Previous `.codex` ownership entries.
15
11
  * @returns Removed Lisa-owned paths.
16
12
  */
17
- export async function retireProjectHooks(destDir, previousManagedFiles) {
13
+ export async function retireProjectHooks(destDir, _previousManagedFiles) {
18
14
  const hooksPath = path.join(destDir, HOOKS_FILE);
19
15
  if (await fse.pathExists(hooksPath)) {
20
16
  const existing = parseHooksFile(await readFile(hooksPath, "utf8"));
21
17
  const hostOnly = mergeLisaHooks(existing, []);
22
18
  await writeFile(hooksPath, serializeHooksFile(hostOnly), "utf8");
23
19
  }
24
- await Promise.all(LEGACY_DIRS.map(relativeDir => rm(path.join(destDir, relativeDir), { force: true, recursive: true })));
25
- const deleted = previousManagedFiles
26
- .filter(file => file.startsWith(`${path.join("hooks", "lisa")}${path.sep}`) ||
27
- file.startsWith(`lisa-rules${path.sep}`))
28
- .sort((left, right) => left.localeCompare(right));
29
- return { deleted: Object.freeze(deleted) };
20
+ return { deleted: Object.freeze([]) };
30
21
  }
31
22
  //# sourceMappingURL=project-hooks-cleanup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-hooks-cleanup.js","sourceRoot":"","sources":["../../src/codex/project-hooks-cleanup.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACrD,MAAM,WAAW,GAAG;IAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;CACzB,CAAC;AAOX;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,oBAAuC;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAC5B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACtE,CACF,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB;SACjC,MAAM,CACL,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,CAC3C;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"project-hooks-cleanup.js","sourceRoot":"","sources":["../../src/codex/project-hooks-cleanup.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAMrD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,qBAAwC;IAExC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-overlay.d.ts","sourceRoot":"","sources":["../../src/codex/project-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,qDAAqD;AACrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,SAAS,WAAW,EAAE,GACpC,OAAO,CAAC,yBAAyB,CAAC,CA4DpC"}
1
+ {"version":3,"file":"project-overlay.d.ts","sourceRoot":"","sources":["../../src/codex/project-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiBrD,qDAAqD;AACrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,SAAS,WAAW,EAAE,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAoEpC"}
@@ -7,6 +7,7 @@ import { createDetectorRegistry } from "../detection/index.js";
7
7
  import { discoverLisaAgents, installAgents } from "./agent-installer.js";
8
8
  import { installAgentsMd } from "./agents-md-installer.js";
9
9
  import { installCodexEnforcementFallback } from "./enforcement-fallback-installer.js";
10
+ import { installHookCompatibility } from "./hooks-installer.js";
10
11
  import { readManagedManifest, writeManagedManifest } from "./manifest.js";
11
12
  import { installCodexMcpConfig } from "./mcp-installer.js";
12
13
  import { installCodexMarketplace } from "./plugin-marketplace-installer.js";
@@ -25,6 +26,7 @@ export async function installCodexProjectOverlay(lisaDir, destDir, detectedTypes
25
26
  const selectedPlugins = await selectProjectLisaPlugins(destDir, detectedTypes);
26
27
  const agentSources = await discoverLisaAgents(lisaDir, projectPluginFilter(selectedPlugins));
27
28
  const agentResult = await installAgents(agentSources, destDir, previous.files);
29
+ const compatibilityFiles = await installHookCompatibility(lisaDir, destDir, detectedTypes, previous.files);
28
30
  const hooksCleanupResult = await retireProjectHooks(destDir, previous.files);
29
31
  const hooksResult = await installCodexEnforcementFallback(destDir);
30
32
  const settingsResult = await installSettings(destDir);
@@ -35,10 +37,11 @@ export async function installCodexProjectOverlay(lisaDir, destDir, detectedTypes
35
37
  await writeManagedManifest(destDir, Array.from(new Set([
36
38
  ...agentResult.managedFiles,
37
39
  ...hooksResult.managedFiles,
40
+ ...compatibilityFiles,
38
41
  ...settingsResult.managedFiles,
39
42
  ...mcpResult.managedFiles,
40
43
  ...skillsResult.managedFiles,
41
- ])));
44
+ ])), compatibilityFiles);
42
45
  return {
43
46
  agentCount: agentResult.installed.length,
44
47
  catalogEntryCount: skillsResult.installed.length,
@@ -1 +1 @@
1
- {"version":3,"file":"project-overlay.js","sourceRoot":"","sources":["../../src/codex/project-overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-overlay.js","sourceRoot":"","sources":["../../src/codex/project-overlay.ts"],"names":[],"mappings":"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"}
@@ -48,9 +48,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
48
48
  }),
49
49
  f87e6eee47ddb6416f2c639b79b96a68173c9c562999fbad98abe012ac913d28: Object.freeze({
50
50
  contractVersion: "1.9.0",
51
- packageVersions: Object.freeze(["4.69.0"]),
51
+ packageVersions: Object.freeze(["4.69.2"]),
52
52
  provenances: Object.freeze([
53
- "workspace package @codyswann/lisa@4.69.0 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
53
+ "workspace package @codyswann/lisa@4.69.2 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
54
54
  ]),
55
55
  }),
56
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAonFpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA8lRjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAonFpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAksRjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -59,8 +59,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
59
59
  "all/copy-overwrite/scripts/schemas/lisa-command-envelope.v1.schema.json": "d153b7c2953a30f180e38f09e98240c63327f5196eeba9bdf545e5a1f125a879",
60
60
  "all/copy-overwrite/scripts/schemas/lisa-state-contract.v1.schema.json": "6b7afe4ffeba8aaa53871d8855172f7eacde05953b1321145218ec638ff5c1c4",
61
61
  "all/create-only/.agents/rules/README.md": "d4fda2b0b5862afa92c4ddf29daa53218df0d5fe4f051901cdfc53ac266bdbf8",
62
- "all/create-only/.github/workflows/continuous-gates.yml": "7ef94a95dee4650e91a2b226122936fa4609ad57f3acbb50f4a9f357e486d2eb",
63
- "all/create-only/.github/workflows/workflow-load-failure-sweep.yml": "3ce24f9d82495a2f327c1705333c049bbb7c7a65170329d530295d23c6c7ad2d",
62
+ "all/create-only/.github/workflows/continuous-gates.yml": "42ec4cb8e0ba45e0288f07881b8f93497468afd3cba3ef0cbb4d0ea4c4ae240a",
63
+ "all/create-only/.github/workflows/workflow-load-failure-sweep.yml": "eaf0dc7d59b83a8525207c763db4c955ccef05c4fab16b9407d36d1b53513670",
64
64
  "all/create-only/.lisaignore": "735dc0a28a19e3aebc3d71b1ddf8b077e96ab17013d0f1c49d87c08558a315df",
65
65
  "all/create-only/scripts/remote-agent-aws-setup.sh": "bb0e67a52ea5badd0f291961c3a9fb25559f1f35e3042642d389a49eb47f7e31",
66
66
  "all/create-only/specs/.keep": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
@@ -80,8 +80,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
80
80
  "cdk/copy-overwrite/tsconfig.json": "bd960df819bb1ce01163ac4b28721eea3f07d482f6c454cfea9a8dc90191033a",
81
81
  "cdk/copy-overwrite/vitest.cdk.ts": "030158b11bec4f10b39585feb98f498981f307faa1fa314c7522e6def5d73c94",
82
82
  "cdk/copy-overwrite/vitest.config.ts": "c7f309d4f43d9188b9c067cb4900b2bdbacfbd28d135a6a2e6313cb0a37b030f",
83
- "cdk/create-only/.github/workflows/ci.yml": "7c5aaf999dbfea2f8480de470a9b3feef2a27cce6e4517d9aa438d343c62cc22",
84
- "cdk/create-only/.github/workflows/deploy.yml": "023cf9e80efc77f8401b61927d5b5a2bd7becdb3233e03ecbd112df16a371561",
83
+ "cdk/create-only/.github/workflows/ci.yml": "49cb9ae3db7a90fd427b866406126b159bcd59962926047d672b6628cac88683",
84
+ "cdk/create-only/.github/workflows/deploy.yml": "0b906d71ba35b4824c6638c89a8a7ddde6cf7a2130155cac55bcc1e70226f74d",
85
85
  "cdk/create-only/cdk.json": "f89030d8fe145a1dbabd59d89ddee4e16984f222d737f7fcf6b778d911e9fe40",
86
86
  "cdk/create-only/stryker.conf.json": "9ccc4dc3fc72f8bb848794214a7784d233fa35558f12514ce16cf0fba59aa4be",
87
87
  "cdk/create-only/tsconfig.local.json": "d26253827e21fd7c41d30565fe3d339675f119e00bb24c5713a01f57ccd06602",
@@ -90,7 +90,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
90
90
  "cdk/deletions.json": "3469a25e885836f301e8d24599dd13f5195ef86ffdea1f03f3fbb86d6b1f1674",
91
91
  "cdk/merge/.claude/settings.json": "bc5eecf114d94f4894f8781e15248930d4a8009dce6431ec44e54cc5ee947300",
92
92
  "cdk/merge/.oxlintrc.json": "f7d248cf8a89561374d7e68e24aa780f4a6a523938475ad685f034ce0194d75c",
93
- "cdk/package-lisa/package.lisa.json": "79e2e4333973f1a3d553b7a284c1cd1d9b2939ad2442057e2b7702ec63991040",
93
+ "cdk/package-lisa/package.lisa.json": "86267110cd76829442a003ab398a9c107385b2355dc589194f0e10ccd586955d",
94
94
  "eslint-plugin-code-organization/README.md": "e70c9e262ce3a97e1f9fe1897ffa71e3d1b124f10486b90ead5d4a5252977826",
95
95
  "eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js": "27e8e2cdf9bae3c35c22f17407570a163cfe52bd848ec40f7f2f1068e97c10c9",
96
96
  "eslint-plugin-code-organization/index.js": "9be5ecb135bc30cf39a3371825e94f8a379d8339653297bd7e48c07624923c83",
@@ -155,21 +155,21 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
155
155
  "expo/copy-overwrite/tsconfig.json": "c92e2c2c109e8794ee351f634361ef46297f5a0cd606aaf5c19911da836df307",
156
156
  "expo/create-only/.github/nightly-e2e-policy.json": "a6fc52bbaa7943523fba35bd1ab51d8da4b29354bf0133b47aa299b725f51e8c",
157
157
  "expo/create-only/.github/required-checks.json": "8d40acc337c42fbdfc55638dc4ab43b541b975270ecae8fffec9897c13a42884",
158
- "expo/create-only/.github/workflows/ci.yml": "830c60686fef5d1f773812f622a3c40832344a078acf22122c1740ebaa6db18b",
159
- "expo/create-only/.github/workflows/deploy.yml": "44e110314e660fc15f332cb4ae0885692b79be89dadd32e3ba10d23dfbb50d3e",
158
+ "expo/create-only/.github/workflows/ci.yml": "84651096cc79e3e05a57f917540dce2835ea6c5e701146368b62c08a0a6b0c85",
159
+ "expo/create-only/.github/workflows/deploy.yml": "33947a64659bc48baa0b187f453d401bb02af47ed4e4f531610f2c5562388f0d",
160
160
  "expo/create-only/.github/workflows/maestro-e2e.yml": "11e6db515412702672edea910223b808be168b3d1f9ec15c349f44f3edcff247",
161
- "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": "02c9ddf80eaaec34eae35abf70cc8f39a7c6e43245cd742421acc188ea59b208",
161
+ "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": "c5219d7968ca772fb7fb1a4edc8b9e519996fe5cc497c562395dec4cd2706048",
162
162
  "expo/create-only/.github/workflows/nightly-e2e-health.yml": "560d40504494ca7d98a99dbe27535f91aceff19e8f98b51ddf9a8f24f559e535",
163
163
  "expo/create-only/.github/workflows/nightly-e2e-report.yml": "002f9a3bb88e1ff964195f413e385313c6d6f868e6d003b787663903d6bbd3a9",
164
164
  "expo/create-only/.github/workflows/nightly-e2e-tracking.yml": "b1b181a8362c6891480f8e333ca5f7fdd29f6dbc4973d07fd0b70592ba16e881",
165
- "expo/create-only/.github/workflows/playwright-e2e.yml": "05f379b75c60e51711f58074b5eeac3e4105a54a8c840b3f3fa43f8b5f8d92fd",
165
+ "expo/create-only/.github/workflows/playwright-e2e.yml": "0729c66cc30f7910cec1396f35fb9a93b8fd4d1bc9cc753291864fdcbc3bf0b3",
166
166
  "expo/create-only/.maestro/flake-classification.json": "8a9469ac2d3b7cb885b4a48ea2dc942aa4ad5deb1a12b05818f62811cac6b0d5",
167
167
  "expo/create-only/.zap/baseline.conf": "ab18d74ba5270dd5d795e740cd6b1292bb78dc36c79a20c1e7b752d14c0c55f5",
168
168
  "expo/create-only/babel.config.js": "86503c2f3ccf13749e1c7674c97ab8df4cb28a8d346bd5ddcb65787290b5a9a3",
169
169
  "expo/create-only/bdd/coverage-map.json": "dca3b037b3740bbcc228c85fc63feccc7a5295da5a925e60420accda3eac4059",
170
170
  "expo/create-only/bdd/features/.keep": "b807c9c94a3b00b93d2463a9b098dac41db227ac1f5b0b1cb746e5e6f68de15d",
171
171
  "expo/create-only/e2e.thresholds.json": "23ac9bab7fe84cfa542785156425e020af9baabdbeb1a53293ae7e2395e4dd92",
172
- "expo/create-only/eas.json": "3d710e6c1ac1d40e60aab765c8766f276a5ee1012057b0eda405eac54d301321",
172
+ "expo/create-only/eas.json": "68ab4e1c0ba0a90d49a8b605394569f0738d2a042be03c9487884f0226db1799",
173
173
  "expo/create-only/jest.config.local.ts": "0647741c9df4cecc1b7c285e28bfbec217994f0b7984eecf81ca47095e936754",
174
174
  "expo/create-only/jest.config.react-native-mock.js": "f146fea09b0308ac3332f1f06cf8f22ee5c88b06b5fd227860b36204566de5f1",
175
175
  "expo/create-only/jest.setup.local.ts": "f0266cf872f41b6599e476e135f0b8947c3d226abe5bc4e02fb4087c836abac0",
@@ -188,7 +188,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
188
188
  "expo/package-lisa/package.lisa.json": "471e463f9d4384614f594a7f2789de571e84651a3f2c094c862c877991fb76df",
189
189
  "harper-fabric/copy-contents/.prettierignore": "478c782f4c5611187e21584dfd5522e37fc636c5eb03394fea3db45321c6712c",
190
190
  "harper-fabric/copy-contents/gitignore": "d091c40fd0ea3068491f1be0d6510090ae872ca95d0d058ef4595d6492d13897",
191
- "harper-fabric/copy-overwrite/.github/workflows/ci.yml": "ccef2ec19da13266bf47c44e1de9bdac4afc65c60037b8e3f4c43e20b3b7f9cd",
191
+ "harper-fabric/copy-overwrite/.github/workflows/ci.yml": "1e51fd8cb8156ff3e79931bbed80e646b6fb46744b6c1bd39fa5a1da966f64aa",
192
192
  "harper-fabric/copy-overwrite/ast-grep/rules/harper/no-early-return-in-search-loop.yml": "8b9f1c93ebdd4f760978df01b166de90a78e751f7b4c907bded98f2862b4ac01",
193
193
  "harper-fabric/copy-overwrite/ast-grep/rules/harper/no-empty-conditions-with-sort.yml": "716642455575045ecda3de8f275939993dee9065ac04bba30fe2fbb15d092cb2",
194
194
  "harper-fabric/copy-overwrite/ast-grep/rules/harper/no-full-table-scan.yml": "147bd3f3c2f82812acc3fdadb21d484594ec31a2e8015a2c90e041f659da92b5",
@@ -198,14 +198,14 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
198
198
  "harper-fabric/copy-overwrite/tsconfig.eslint.json": "63ddc31cbbdf91ba4def5f04ed76b2a8b61ced456d4472aea77a55cc037a62e1",
199
199
  "harper-fabric/copy-overwrite/tsconfig.json": "64b9f2e919160568712e2641b125aa21bec486532249a7b17e4fb2f4bb3988cc",
200
200
  "harper-fabric/copy-overwrite/vitest.config.ts": "94ee60be0e9a4b735cf1b053143751c9968465ff04fb59fbdfc252e7413ff337",
201
- "harper-fabric/create-only/.github/workflows/deploy.yml": "ffe74236f7896488c041f46c63d43a7b31f9ba45b9c8d47b47326888386f3ef9",
202
- "harper-fabric/create-only/.github/workflows/zap-baseline.yml": "068d8bea3d2ccf4fca97b8d3f8f23734b9feb37b3faea6d5a10ed219e0cc783b",
201
+ "harper-fabric/create-only/.github/workflows/deploy.yml": "4cf724370ecff208906ee9f0bc9ea4fb31bddea20bd68b8c6ef5364d71548f0f",
202
+ "harper-fabric/create-only/.github/workflows/zap-baseline.yml": "74cc5f02e862e090a0332c5b244936d27a9926220738466482221ff7dcf20a27",
203
203
  "harper-fabric/create-only/.zap/baseline.conf": "68aae4b1b9b5b7253b5aeb792d72b58f64e5eda1dcf8f3062bd9d77494a5a22f",
204
204
  "harper-fabric/create-only/scripts/zap-baseline.sh": "00f5a2bdf6c9ecf0d7a1c74ec629364b09bab1f79c4ea71779826288702d76aa",
205
205
  "harper-fabric/deletions.json": "699c6e445c053bc95cdf4b7ef6a852e243d1073d21087ed7c08db69d1d29ac9c",
206
206
  "harper-fabric/merge/.claude/settings.json": "3368043731215c6e2f107f1599eff1c90abc70d09a1d798f4ed79a280c4f3ffb",
207
207
  "harper-fabric/merge/.oxlintrc.json": "b41ea588eed47e0f1532aab5f6226b82586269b84edd1947bdde603e0a8513fa",
208
- "harper-fabric/package-lisa/package.lisa.json": "d93162a4077db908b8fe589fc269cd347f94f0f4c18d3b57e988cf524ba0c062",
208
+ "harper-fabric/package-lisa/package.lisa.json": "dbfca02e64339a8702e7d071859b12d9d3b444fb6724a0c486c4c1408804be95",
209
209
  "nestjs/copy-overwrite/eslint.config.ts": "300895743cd8e3041f164902e1c8e509d8ef07474848a70621ac354d73595477",
210
210
  "nestjs/copy-overwrite/eslint.nestjs.ts": "50986c80ebfcbef86b6c24d6a50ace0964d43fe85c65a732230388caffab453c",
211
211
  "nestjs/copy-overwrite/eslint.slow.config.ts": "602a21f47370a0a947e92bced1b93bf8fa4c146e07c944ffe1d56ef50914a688",
@@ -239,8 +239,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
239
239
  "nestjs/create-only/.github/k6/thresholds/relaxed.json": "350c18b2c588fd628db8a6e82fc5c0b3ffc8a09f1c89b64d1f530350bc64a9ca",
240
240
  "nestjs/create-only/.github/k6/thresholds/strict.json": "e121ec72de4596b95c013a8c71f03653bcdf057cf7f8d1fec6f0e13c1381867f",
241
241
  "nestjs/create-only/.github/required-checks.json": "6de377accd8355091e31ee7b3e412187d2268650ecbeb6c2cba42923c594cfc0",
242
- "nestjs/create-only/.github/workflows/ci.yml": "fb85b8dc792dfc493c532cddb305a86255c7442881653ff3a4ddb8cd25bece7e",
243
- "nestjs/create-only/.github/workflows/deploy.yml": "47f2978590a6b6da863b986475faaaf70f8d174b9b88cc395d2eaa31f4d972bb",
242
+ "nestjs/create-only/.github/workflows/ci.yml": "800a0147bbda0ddb4f3b54af88494ad873e3df3be7151a7224d1189ad98954af",
243
+ "nestjs/create-only/.github/workflows/deploy.yml": "07c1be9e329492fd2ae5311e134f6369404991a7512c0851a2d52c4712f7b13d",
244
244
  "nestjs/create-only/.zap/baseline.conf": "a7cd559b014555ef2efe7a6ce129384ec376ce4d66d5bc3ae9e2f3f883172c4d",
245
245
  "nestjs/create-only/scripts/zap-baseline.sh": "9d81fdb3419753ca4ec5509e37365543d7608c7a9924635ef1acb4734cb3bbd1",
246
246
  "nestjs/create-only/tsconfig.local.json": "0b720ddad0d18f52dadf33bdc4a0aec0eb65c506bc8ebb692f880bdf31d1011d",
@@ -249,9 +249,9 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
249
249
  "nestjs/deletions.json": "25a66a505f9ef5c71169e2293c9f1b263f0a1e42b69851825c3cd3cc6e3f0b00",
250
250
  "nestjs/merge/.claude/settings.json": "28b1221fa0d18657af1b89392a1854c77777889f27c82162a9c37b79c81be5f8",
251
251
  "nestjs/merge/.oxlintrc.json": "1de29d135744df0258e8659ee0b684acf84e687bbefade51db0576813e6ff097",
252
- "nestjs/package-lisa/package.lisa.json": "80137280d2fc3b24f7668b131ed21d6a65178aa88eb15c36c13637fd852f25a7",
252
+ "nestjs/package-lisa/package.lisa.json": "45f56767727b1f536825c4efae969f3307774fd07887edce8f0cce06ebd2959d",
253
253
  "npm-package/create-only/.github/workflows/publish-to-npm.yml": "20760529dd59186baf870fb2d0ac555ff95bc3dc75ea96ba4564bf37d61f708e",
254
- "npm-package/package-lisa/package.lisa.json": "7d6a779d8ae0ee211b1c3983a5fbbca31b5f12ed3e95fd3f76104f11bd91abaa",
254
+ "npm-package/package-lisa/package.lisa.json": "2a61fd5f0e27578e58ac9b1368cf5d6ad4df15591348f1f3ea97cd2c6d24974f",
255
255
  "oxlint/base.json": "8cbc563bdfbbaf455742cef24d33676f45b55baf1ea62b529018b2d112d70f8a",
256
256
  "oxlint/cdk.json": "9070da081a42990d8e32a58d1fdc577f9a75cc14040bf2fbf74b145179213d6f",
257
257
  "oxlint/expo.json": "75cd8305a86230d8493fc2cc136796c58b9ff77a92f12299b1ae93f9b5f0ad95",
@@ -261,7 +261,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
261
261
  "oxlint/typescript.json": "c7352af5d92a97da1386edfbff873f284c932f5413dce87c4af27520097389aa",
262
262
  "phaser/copy-contents/.prettierignore": "3bd2e016bd4bd23f76d186a4a4ba72f47719b9aa1df5d3352ad5719d93e0bf49",
263
263
  "phaser/copy-contents/gitignore": "4b8d1a5817d35f64f5d4859f9184ebe2e1dc42e63f8e9269fff233e2ec258d6c",
264
- "phaser/copy-overwrite/.github/workflows/ci.yml": "d5e2561c51b95bf12bbd566e7a95b2609041bc59d5932f50b3a088fc765b3769",
264
+ "phaser/copy-overwrite/.github/workflows/ci.yml": "04db4432eb98857e99bf98a211ef527a98bcec40db43f63e2dfdef2d7fae6538",
265
265
  "phaser/copy-overwrite/.husky/pre-push.verify": "d03bc6d18e20c368d37abd4d1000589cbbfb67afab0ad58da4f18ed73ec65ee9",
266
266
  "phaser/copy-overwrite/ast-grep/rule-tests/.gitkeep": "fd9b902271d9cbaca0ead2a1e659776db904c10b06ceed7e5bc43fa57b89aba1",
267
267
  "phaser/copy-overwrite/ast-grep/rules/no-day-truncating-file-age-predicate.yml": "6fad69e83ab937f6d929305be46fbe38390cd30c8b525ab0a24a5ac65d377ef6",
@@ -279,7 +279,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
279
279
  "phaser/deletions.json": "699c6e445c053bc95cdf4b7ef6a852e243d1073d21087ed7c08db69d1d29ac9c",
280
280
  "phaser/merge/.claude/settings.json": "67214a76e1902a8a04a58eb938dba9eb8de39b55fda9f748eb9e7c4bbd31da99",
281
281
  "phaser/merge/.oxlintrc.json": "02c0d70e6e07bc0e981f94a1e2ccd01a2c295c4c66e8b8ea9b2f363d44fa5c06",
282
- "phaser/package-lisa/package.lisa.json": "955c3e7489877e16e29641859be3c77a4de8a356dc837f66577f5ea60511bf79",
282
+ "phaser/package-lisa/package.lisa.json": "43af75dea40431d7c6daac5f38046cba768c8860749e465ba81c2429d7859ad5",
283
283
  "plugins/src/base/agents/architecture-specialist.md": "2346c37ddce2b1ff059938d71be05f5f23acfe28066bcba4f9a1070ed6727a93",
284
284
  "plugins/src/base/agents/bug-fixer.md": "04b49321519b050a654e83e64749fe5126fa552189c2bbc9a9cef853a089295d",
285
285
  "plugins/src/base/agents/builder.md": "ce8b611df9c0f4bbafc9032c9e72c78177c0b2b22065c9bafc4999189870284a",
@@ -1248,7 +1248,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1248
1248
  "scripts/setup-deploy-key.sh": "2bed19346810b7af18a5225fd463c4d553a7bcc7b2f11a21bd47b93e6b5e1719",
1249
1249
  "scripts/test-intent-routing.sh": "97b9dc86cbd805df8a7fdb8c99ffab9b8c5e751ba2e84c05420b2a124f80635d",
1250
1250
  "scripts/two-channel-couplings.json": "6bade15e5b356d121a535981c177c6ed5df3bf46a40fce483d428db2ea0a90ca",
1251
- "scripts/update-node-version.ts": "dcfec9f8666f65925deb9efdc8a4bebb6c3f41d9fa1c1365be23edb82c40fffa",
1251
+ "scripts/update-node-version.ts": "0059067c14001c2f7e75beb2628d1a46f935c7b01ce61871db71b6849ef62dca",
1252
1252
  "scripts/update-test-skill-paths.mjs": "e26a3ac716c33013e22bf5223a58457452f5af2038218a0e3a51c244eab5ddc9",
1253
1253
  "scripts/verify-health-agentic-built.mjs": "4b0d20b2c94390ff6f5af881fc50c5c225215a282891db0b3e3d84a7e6455367",
1254
1254
  "scripts/verify-health-consumer-built.mjs": "bd0676f7e76e4ebceb3a94c89a2b40f4c0266ab0ef7280a9bebbcb388c2731c3",
@@ -1274,9 +1274,9 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1274
1274
  "typescript/copy-contents/.husky/pre-push": "7e2c82cbd021548b2cb7f7032d305e55ce81d75fdbefb5296c6eaaef87ae54bd",
1275
1275
  "typescript/copy-contents/.husky/prepare-commit-msg": "4a719c20da65653f266e7c8a346b5546ad05f1dfa34665fc7fec47e89d2f58d1",
1276
1276
  "typescript/copy-overwrite/.claude/hooks/worktree-create.sh": "888cfd16bd1ac04f9f8a835eae62f8bd2c956de654bce12ce9a6a52947b121ca",
1277
- "typescript/copy-overwrite/.github/GITHUB_ACTIONS.md": "4289146bae8e112049387d4be86941c563b02376a06f0238364aaf3e61c2b127",
1277
+ "typescript/copy-overwrite/.github/GITHUB_ACTIONS.md": "4cd22faec1ca477e34bf7f61640b7eb20329d097b19add57a9909f5905fd37ed",
1278
1278
  "typescript/copy-overwrite/.lintstagedrc.json": "058f6bb7ce5b734ba3e62774b1f769c94053c574f2b4db3e59515c325e49c0ef",
1279
- "typescript/copy-overwrite/.nvmrc": "0775c6feb7638122e8b68d611cd709bf270f7b5adb5d0d2baa9afab8a6c0fc42",
1279
+ "typescript/copy-overwrite/.nvmrc": "6d07ac247e81cd42c2c20abf8dfe504413d6b2422e4aba9b2c975a776f155921",
1280
1280
  "typescript/copy-overwrite/.prettierignore": "e2538ae1b5ef5d64733c3d6c07292495ead71603dfca2b37fda4a9ed080deb9a",
1281
1281
  "typescript/copy-overwrite/.prettierrc.json": "a20621f79a064486fba53cc0ea3000a2ece3f312ff38495c6a6606a27d2a727c",
1282
1282
  "typescript/copy-overwrite/.versionrc": "96d51e3087892bb795788dbd0ca3e5ebe7b67252e58adae5bbc469eaf424af35",
@@ -1289,7 +1289,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1289
1289
  "typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml": "a1c25176b326e26070870d65dcd6e4651880f4121563fc0082022e7f525e5e1b",
1290
1290
  "typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member.yml": "599df22bafdcf588a4cceac134dbca203266fd77ae4ac0c33b351b545372488c",
1291
1291
  "typescript/copy-overwrite/ast-grep/utils/.gitkeep": "6792ca57f00ff5a84a4713a08308a8ab3144858b0b0d9f8251b8c26c48948fb7",
1292
- "typescript/copy-overwrite/audit.ignore.config.json": "c19a374d02e01a484cd1965522879839ba7945b3cc06c9b22e05e6742ecb2b09",
1292
+ "typescript/copy-overwrite/audit.ignore.config.json": "8635c912e0d41177f545f22248b2acc9f9683b3c04e5ade7829a8fa809966a0d",
1293
1293
  "typescript/copy-overwrite/commitlint.config.cjs": "a9f07b7097eee82e531dedfe3c1011ec61dc8c85c26d5430314a5999dc0675cc",
1294
1294
  "typescript/copy-overwrite/eslint.config.ts": "1a2f6eb5dd19a7dfc445c61bac8bd08a5f8908f023655c920aff08b633b30fb6",
1295
1295
  "typescript/copy-overwrite/eslint.ignore.config.json": "cc6704b53aef78138a6a37a983d895981073c62ac33a78007d088722984398b2",
@@ -1317,9 +1317,9 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1317
1317
  "typescript/copy-overwrite/tsconfig.json": "8f4257fcd2cfd4b23e83e0fdd4908d41ee8f1ae75bb95d632e653a0ac13d58e4",
1318
1318
  "typescript/copy-overwrite/vitest.config.ts": "dc140e617db43da38f456bcc909ae621a62996fe25e7b0babd5e81941308365c",
1319
1319
  "typescript/create-only/.github/required-checks.json": "9be2f3170b7c57cad1a483752d3c882213e90f36ece677d1dd4a1b1c1c66b76a",
1320
- "typescript/create-only/.github/workflows/ci.yml": "694f9b9c15f55b8f81352a054521018c1297f22c3da0dca138282ca6eff905e7",
1321
- "typescript/create-only/.github/workflows/review-evidence.yml": "42ecfb09718a16695259ace28875f8fbb2fa59bcafc799302bb797d000d45654",
1322
- "typescript/create-only/.github/workflows/third-party-review-evidence.yml": "8f1a3b04fa483c59ac4513a2d16eabf4a3e3bba447a562734b1f35fba2552769",
1320
+ "typescript/create-only/.github/workflows/ci.yml": "1fb1da5cf5623b2e44d1d33f104daf65ca44cee1bb0e46df063916ed8bca951b",
1321
+ "typescript/create-only/.github/workflows/review-evidence.yml": "b1d0df98c55d06e44cbf3f8186a16763881a5155949c5189825fdc88589ed4c1",
1322
+ "typescript/create-only/.github/workflows/third-party-review-evidence.yml": "ef20afa53051eb899996d86b8b696ee5407892d73a737b372e50f5d023a0df8d",
1323
1323
  "typescript/create-only/.gitleaksignore": "6927d376648675331801c798a4390b652a22a3e5d350cd26f36d42c10af02d67",
1324
1324
  "typescript/create-only/audit.ignore.local.json": "096eba7c600446a2f906369a6ff747804a51b9ad3153ca10d9a1d673e416b337",
1325
1325
  "typescript/create-only/eslint.config.local.ts": "9194ea9f5d7696a5354022475774813aebde504bbf53a4fecbe1e97f2af75b2b",
@@ -1335,9 +1335,9 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1335
1335
  "typescript/github-rulesets/quality-checks.json": "3aa1c6dbc703ad2ecd87c6f7fdff1aae118696dba95c9795c2c954c6b8a444d9",
1336
1336
  "typescript/merge/.claude/settings.json": "a455fb55d5bf99f7f71136a3a4f8f21b283b9627556c3b22d039b01d093eb2a9",
1337
1337
  "typescript/merge/.oxlintrc.json": "9504c20db80470c242c4ffe8cccad6951ed8141dfb5bf6503053e0b2712ab276",
1338
- "typescript/package-lisa/package.lisa.json": "25be68dbba6cdc730e57b8d5785e80022ca745adab841c80cb1b6d8fd0b7fb77",
1338
+ "typescript/package-lisa/package.lisa.json": "7def55c6827128599f12306354266781d1a1bc22a3a468471822153841ed280c",
1339
1339
  "ui/README.md": "7a67d7bdd49ff214ca204cc4e54ba70c37aa05fd6cc1e314fd9441a53eafc752",
1340
- "ui/index.html": "6d00b131fc789170c79e119f2ec7dd89c45bf0abf21033d41b929f5ef4247631",
1340
+ "ui/index.html": "3ca3e2ef53fa35ffee3d54b8eeaecd9a6a29a019a9db5b46184affd010b34f1d",
1341
1341
  });
1342
1342
  /** Exact paths tracked by the public Lisa repository at generation time. */
1343
1343
  export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
@@ -1688,6 +1688,90 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1688
1688
  "evidence/1537/authenticated-real-values.png": true,
1689
1689
  "evidence/1537/probe-failure-degrades-not-fabricates.png": true,
1690
1690
  "evidence/1537/unauthenticated-unknown-states.png": true,
1691
+ "evidence/4326/README.md": true,
1692
+ "evidence/4326/cdk-template.json": true,
1693
+ "evidence/4326/diagnosis/focused-1.log": true,
1694
+ "evidence/4326/diagnosis/focused-2.log": true,
1695
+ "evidence/4326/diagnosis/focused-3.log": true,
1696
+ "evidence/4326/diagnosis/state.json": true,
1697
+ "evidence/4326/failed-normal-push.log": true,
1698
+ "evidence/4326/fixed-success-and-edge.log": true,
1699
+ "evidence/4326/focused-case-title-followup/README.md": true,
1700
+ "evidence/4326/focused-case-title-followup/baseline-regression.log": true,
1701
+ "evidence/4326/focused-case-title-followup/baseline-report.json": true,
1702
+ "evidence/4326/focused-case-title-followup/fixed-report.json": true,
1703
+ "evidence/4326/focused-case-title-followup/fixed-success-and-edge.log": true,
1704
+ "evidence/4326/focused-case-title-followup/focused-command.json": true,
1705
+ "evidence/4326/focused-case-title-followup/handoff.json": true,
1706
+ "evidence/4326/focused-case-title-followup/independent-review.json": true,
1707
+ "evidence/4326/focused-case-title-followup/inventory.json": true,
1708
+ "evidence/4326/focused-case-title-followup/quality-and-template-review.log": true,
1709
+ "evidence/4326/focused-case-title-followup/scoped-quality.json": true,
1710
+ "evidence/4326/focused-case-title-followup/validator-error-observed.txt": true,
1711
+ "evidence/4326/focused-case-title-followup/validator-failure.json": true,
1712
+ "evidence/4326/focused-case-title-followup/validator-green.json": true,
1713
+ "evidence/4326/forced-http-floor-repair/README.md": true,
1714
+ "evidence/4326/forced-http-floor-repair/baseline-regression.log": true,
1715
+ "evidence/4326/forced-http-floor-repair/fixed-success-and-edge.log": true,
1716
+ "evidence/4326/forced-http-floor-repair/green-final-receipt.json": true,
1717
+ "evidence/4326/forced-http-floor-repair/implementation-summary.json": true,
1718
+ "evidence/4326/forced-http-floor-repair/inventory.json": true,
1719
+ "evidence/4326/forced-http-floor-repair/learning-capture-disposition.json": true,
1720
+ "evidence/4326/forced-http-floor-repair/primary-advisory-research.json": true,
1721
+ "evidence/4326/forced-http-floor-repair/quality-and-template-review.log": true,
1722
+ "evidence/4326/forced-http-floor-repair/red-final-61580-receipt.json": true,
1723
+ "evidence/4326/forced-http-floor-repair/review.json": true,
1724
+ "evidence/4326/forced-http-floor-typecheck-followup/README.md": true,
1725
+ "evidence/4326/forced-http-floor-typecheck-followup/baseline-regression.log": true,
1726
+ "evidence/4326/forced-http-floor-typecheck-followup/fixed-success-and-edge.log": true,
1727
+ "evidence/4326/forced-http-floor-typecheck-followup/implementation-summary.json": true,
1728
+ "evidence/4326/forced-http-floor-typecheck-followup/independent-review.json": true,
1729
+ "evidence/4326/forced-http-floor-typecheck-followup/inventory.json": true,
1730
+ "evidence/4326/forced-http-floor-typecheck-followup/quality-and-template-review.log": true,
1731
+ "evidence/4326/history/baseline-regression.log": true,
1732
+ "evidence/4326/history/baseline-state.json": true,
1733
+ "evidence/4326/history/quality-gates.log": true,
1734
+ "evidence/4326/history/quality-state.json": true,
1735
+ "evidence/4326/inventory.json": true,
1736
+ "evidence/4326/main-468-reconciliation/README.md": true,
1737
+ "evidence/4326/main-468-reconciliation/baseline-regression.log": true,
1738
+ "evidence/4326/main-468-reconciliation/before-merge.json": true,
1739
+ "evidence/4326/main-468-reconciliation/fixed-success-and-edge.log": true,
1740
+ "evidence/4326/main-468-reconciliation/independent-review.json": true,
1741
+ "evidence/4326/main-468-reconciliation/inventory.json": true,
1742
+ "evidence/4326/main-468-reconciliation/managed-scope-reconciliation.json": true,
1743
+ "evidence/4326/main-468-reconciliation/merge-exit.json": true,
1744
+ "evidence/4326/main-468-reconciliation/merge.log": true,
1745
+ "evidence/4326/main-468-reconciliation/merged-build-dist.log": true,
1746
+ "evidence/4326/main-468-reconciliation/merged-frozen-install.log": true,
1747
+ "evidence/4326/main-468-reconciliation/merged-install-build.json": true,
1748
+ "evidence/4326/main-468-reconciliation/quality-and-template-review.log": true,
1749
+ "evidence/4326/main-468-reconciliation/upstream-root-audit-ignore.json": true,
1750
+ "evidence/4326/main-468-reconciliation/upstream-shared-audit-ignore.json": true,
1751
+ "evidence/4326/nested-host-admission-repair/README.md": true,
1752
+ "evidence/4326/nested-host-admission-repair/baseline-identical-final-regression-proof.json": true,
1753
+ "evidence/4326/nested-host-admission-repair/baseline-regression.log": true,
1754
+ "evidence/4326/nested-host-admission-repair/capacity-one-green-proof.json": true,
1755
+ "evidence/4326/nested-host-admission-repair/capacity-one-old-fixture-red-proof.json": true,
1756
+ "evidence/4326/nested-host-admission-repair/controlled-input-comparison.json": true,
1757
+ "evidence/4326/nested-host-admission-repair/final-frozen6.json": true,
1758
+ "evidence/4326/nested-host-admission-repair/fixed-success-and-edge.log": true,
1759
+ "evidence/4326/nested-host-admission-repair/handoff.json": true,
1760
+ "evidence/4326/nested-host-admission-repair/independent-review.json": true,
1761
+ "evidence/4326/nested-host-admission-repair/inventory.json": true,
1762
+ "evidence/4326/nested-host-admission-repair/learning-capture.json": true,
1763
+ "evidence/4326/nested-host-admission-repair/margin-measurement-code.json": true,
1764
+ "evidence/4326/nested-host-admission-repair/original-timeout-regression.log": true,
1765
+ "evidence/4326/nested-host-admission-repair/owned-container-cleanup.json": true,
1766
+ "evidence/4326/nested-host-admission-repair/quality-and-template-review.log": true,
1767
+ "evidence/4326/policy-test-report.json": true,
1768
+ "evidence/4326/quality-and-template-review.log": true,
1769
+ "evidence/4326/security-audit-inventory.json": true,
1770
+ "evidence/4326/security-audit-observation.json": true,
1771
+ "evidence/4326/security-audit-production.json": true,
1772
+ "evidence/4326/security-audit-review.md": true,
1773
+ "evidence/4326/state.json": true,
1774
+ "evidence/4326/verdict.json": true,
1691
1775
  "evidence/copilot-hook-mcp-probe-1056.md": true,
1692
1776
  "evidence/cursor-rule-probe-1055.md": true,
1693
1777
  "expo/copy-overwrite/.easignore.extra": true,
@@ -8073,6 +8157,11 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8073
8157
  "tests/fixtures/queue-status-prd-readers/github.json": true,
8074
8158
  "tests/fixtures/queue-status-prd-readers/linear.json": true,
8075
8159
  "tests/fixtures/queue-status-prd-readers/notion.json": true,
8160
+ "tests/fixtures/shared-runtime-hosts/artifact.ts": true,
8161
+ "tests/fixtures/shared-runtime-hosts/assertions.ts": true,
8162
+ "tests/fixtures/shared-runtime-hosts/host.ts": true,
8163
+ "tests/fixtures/shared-runtime-hosts/journey.ts": true,
8164
+ "tests/fixtures/shared-runtime-hosts/process.ts": true,
8076
8165
  "tests/fixtures/state-contract/adopter/migrations/0001_initial.sql": true,
8077
8166
  "tests/fixtures/state-contract/adopter/state/inventory.json": true,
8078
8167
  "tests/fixtures/state-contract/adopter/state/state-contract.json": true,
@@ -8198,6 +8287,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8198
8287
  "tests/integration/cdk-ci-role-selection.test.ts": true,
8199
8288
  "tests/integration/ci-concurrency-policy.test.ts": true,
8200
8289
  "tests/integration/cli-smoke.test.ts": true,
8290
+ "tests/integration/codex-active-hooks.test.ts": true,
8201
8291
  "tests/integration/continuous-gates-empty.test.ts": true,
8202
8292
  "tests/integration/coverage-scratch-debris.test.ts": true,
8203
8293
  "tests/integration/deletion-basis-manifests.test.ts": true,
@@ -8356,6 +8446,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8356
8446
  "tests/integration/self-pin-drift-gate-wiring.test.ts": true,
8357
8447
  "tests/integration/sentry-deploy-workflow.test.ts": true,
8358
8448
  "tests/integration/sentry-release-config.test.ts": true,
8449
+ "tests/integration/shared-runtime-packed-hosts.test.ts": true,
8359
8450
  "tests/integration/shell-guard-allow-controls.test.ts": true,
8360
8451
  "tests/integration/shell-guard-refusals.test.ts": true,
8361
8452
  "tests/integration/skipped-required-checks-gate-fail-closed.test.ts": true,
@@ -8388,6 +8479,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8388
8479
  "tests/platform/process-tree-runner.test.mjs": true,
8389
8480
  "tests/platform/windows-missing-handles.ps1": true,
8390
8481
  "tests/platform/windows-process-fixture.mjs": true,
8482
+ "tests/support/codex-compatibility-candidate.mjs": true,
8483
+ "tests/support/codex-compatibility-proof.mjs": true,
8484
+ "tests/support/codex-compatibility-seed.mjs": true,
8485
+ "tests/support/codex-compatibility-state.mjs": true,
8391
8486
  "tests/support/git-executable.ts": true,
8392
8487
  "tests/support/prune-fixtures.ts": true,
8393
8488
  "tests/support/work-item-cli.ts": true,
@@ -8575,6 +8670,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8575
8670
  "tests/unit/codex/committed-openai-yaml-in-sync.test.ts": true,
8576
8671
  "tests/unit/codex/convert-command-to-skill.test.ts": true,
8577
8672
  "tests/unit/codex/enforcement-fallback-installer.test.ts": true,
8673
+ "tests/unit/codex/hook-compatibility.test.ts": true,
8674
+ "tests/unit/codex/hook-source-ownership.test.ts": true,
8578
8675
  "tests/unit/codex/hook-stdin-drain.test.ts": true,
8579
8676
  "tests/unit/codex/hooks-installer-rules-mirror.test.ts": true,
8580
8677
  "tests/unit/codex/hooks-installer.test.ts": true,
@@ -8633,6 +8730,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8633
8730
  "tests/unit/config/expo-view-purity-gate.test.ts": true,
8634
8731
  "tests/unit/config/fast-uri-audit-suppression.test.ts": true,
8635
8732
  "tests/unit/config/fast-xml-parser-security-floor.test.ts": true,
8733
+ "tests/unit/config/forced-http-security-floors.test.ts": true,
8636
8734
  "tests/unit/config/gate-default-tasks-resolve.test.ts": true,
8637
8735
  "tests/unit/config/gate-task-shipped-to-templates.test.ts": true,
8638
8736
  "tests/unit/config/gitleaks-template.test.ts": true,
@@ -8801,6 +8899,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8801
8899
  "tests/unit/core/reusable-workflow-pin.test.ts": true,
8802
8900
  "tests/unit/core/role-agent-template-contract.test.ts": true,
8803
8901
  "tests/unit/core/self-apply.test.ts": true,
8902
+ "tests/unit/core/shared-runtime-policy.test.ts": true,
8804
8903
  "tests/unit/core/skill-frontmatter-contract.test.ts": true,
8805
8904
  "tests/unit/core/skip-git-check-decoupling.test.ts": true,
8806
8905
  "tests/unit/core/sonar-integration.test.ts": true,
@@ -8822,6 +8921,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8822
8921
  "tests/unit/detection/cdk-app-shape.test.ts": true,
8823
8922
  "tests/unit/detection/detectors.test.ts": true,
8824
8923
  "tests/unit/docs/onboarding-walkthrough.test.ts": true,
8924
+ "tests/unit/fixtures/shared-runtime-native-deadline.test.ts": true,
8825
8925
  "tests/unit/governance-contracts.test.ts": true,
8826
8926
  "tests/unit/health/agentic.test.ts": true,
8827
8927
  "tests/unit/health/consumer.test.ts": true,