@codyswann/lisa 4.69.1 → 4.69.3

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 (76) hide show
  1. package/README.md +14 -0
  2. package/dist/cli/doctor-legacy-overlay.d.ts.map +1 -1
  3. package/dist/cli/doctor-legacy-overlay.js +37 -5
  4. package/dist/cli/doctor-legacy-overlay.js.map +1 -1
  5. package/dist/codex/hooks-installer.d.ts +12 -0
  6. package/dist/codex/hooks-installer.d.ts.map +1 -1
  7. package/dist/codex/hooks-installer.js +256 -7
  8. package/dist/codex/hooks-installer.js.map +1 -1
  9. package/dist/codex/manifest.d.ts +4 -1
  10. package/dist/codex/manifest.d.ts.map +1 -1
  11. package/dist/codex/manifest.js +18 -2
  12. package/dist/codex/manifest.js.map +1 -1
  13. package/dist/codex/project-hooks-cleanup.d.ts +3 -3
  14. package/dist/codex/project-hooks-cleanup.d.ts.map +1 -1
  15. package/dist/codex/project-hooks-cleanup.js +5 -14
  16. package/dist/codex/project-hooks-cleanup.js.map +1 -1
  17. package/dist/codex/project-overlay.d.ts.map +1 -1
  18. package/dist/codex/project-overlay.js +4 -1
  19. package/dist/codex/project-overlay.js.map +1 -1
  20. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  21. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  22. package/dist/core/upstream-evidence-manifest.js +16 -2
  23. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  24. package/package.json +4 -4
  25. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  27. package/plugins/lisa-agy/plugin.json +1 -1
  28. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  31. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  37. package/plugins/lisa-expo-agy/plugin.json +1 -1
  38. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  42. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  43. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  47. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  48. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  52. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  53. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  54. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  57. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  58. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  62. package/plugins/lisa-rails-agy/plugin.json +1 -1
  63. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  68. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  72. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  73. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  75. package/rails/create-only/spec/rails_helper.rb +78 -6
  76. package/scripts/two-channel-couplings.json +1 -1
@@ -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":"AAAA,4DAA4D;AAC5D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgBtD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,OAAe,EACf,aAAqC;IAErC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,MAAM,wBAAwB,CACpD,OAAO,EACP,aAAa,CACd,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,OAAO,EACP,mBAAmB,CAAC,eAAe,CAAC,CACrC,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,aAAa,CACrC,YAAY,EACZ,OAAO,EACP,QAAQ,CAAC,KAAK,CACf,CAAC;IACF,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAC3C,OAAO,EACP,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CACpE,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,aAAa,CACtC,OAAO,EACP,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,aAAa,CACd,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CACrD,OAAO,EACP,OAAO,EACP,aAAa,CACd,CAAC;IACF,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,oBAAoB,CACxB,OAAO,EACP,KAAK,CAAC,IAAI,CACR,IAAI,GAAG,CAAC;QACN,GAAG,WAAW,CAAC,YAAY;QAC3B,GAAG,WAAW,CAAC,YAAY;QAC3B,GAAG,cAAc,CAAC,YAAY;QAC9B,GAAG,SAAS,CAAC,YAAY;QACzB,GAAG,YAAY,CAAC,YAAY;KAC7B,CAAC,CACH,CACF,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM;QACxC,iBAAiB,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM;QAChD,SAAS,EAAE,WAAW,CAAC,WAAW;QAClC,cAAc,EAAE,SAAS,CAAC,WAAW;QACrC,sBAAsB,EAAE,iBAAiB,CAAC,aAAa;QACvD,sBAAsB,EAAE,YAAY,CAAC,YAAY;QACjD,eAAe,EAAE,cAAc,CAAC,OAAO;QACvC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;QAC3C,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM;QACrD,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM;KAC7C,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,KAAK,UAAU,SAAS;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EACJ,IAAI,CACL,CAAC;IACF,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAC3C,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAClC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,MAAM,CAAC,SAAS,wCAAwC,MAAM,CAAC,sBAAsB,uBAAuB,MAAM,CAAC,sBAAsB,qBAAqB,CACtL,CAAC;AACJ,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC"}
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.1"]),
51
+ packageVersions: Object.freeze(["4.69.3"]),
52
52
  provenances: Object.freeze([
53
- "workspace package @codyswann/lisa@4.69.1 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
53
+ "workspace package @codyswann/lisa@4.69.3 (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,CA2rRjE,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,CAysRjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -1124,7 +1124,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1124
1124
  "rails/create-only/rubocop.thresholds.yml": "8f1c2a5f31a66525fbb31b985011d88fb22b64248412b783752e90fe4ca14219",
1125
1125
  "rails/create-only/simplecov.thresholds.json": "b9ad3eb44861aa16afffd1ddc7135911b539e3ecac71f2332d68ba3c8ba2e7f7",
1126
1126
  "rails/create-only/sonar-project.properties": "58f0618863149a49aa39dc96eca498e8338f24e7d0237fb654ac85920ba57e15",
1127
- "rails/create-only/spec/rails_helper.rb": "5a96010d99c78f75713fc44fed6bba5f2631f94f5d1cc08d96f80601faeee843",
1127
+ "rails/create-only/spec/rails_helper.rb": "b12256cd12baf050efc960417ad426ffaa2d7de13f2dda4523c6fdcd5be9a582",
1128
1128
  "rails/create-only/spec/spec_helper.rb": "56ca48d2519ece7a856fe7941ea8acf2d9f1d53aee03321f230300907dc20712",
1129
1129
  "rails/deletions.json": "3d620c23be802104f69d2b4438b0d1922979ad2b5c5eb0ee85213cd4adb17fb2",
1130
1130
  "rails/github-rulesets/quality-checks.json": "0ec1c366589edbaa6b8f45f940cef3ada5ed7b1a956d98d3fa6034b0f78fbc7c",
@@ -1247,7 +1247,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1247
1247
  "scripts/run-artifact-checks.mjs": "2992d673bb3c1ebfa50bda9ed323b8410afdab2ffc925eee6eab19fcab312a90",
1248
1248
  "scripts/setup-deploy-key.sh": "2bed19346810b7af18a5225fd463c4d553a7bcc7b2f11a21bd47b93e6b5e1719",
1249
1249
  "scripts/test-intent-routing.sh": "97b9dc86cbd805df8a7fdb8c99ffab9b8c5e751ba2e84c05420b2a124f80635d",
1250
- "scripts/two-channel-couplings.json": "6bade15e5b356d121a535981c177c6ed5df3bf46a40fce483d428db2ea0a90ca",
1250
+ "scripts/two-channel-couplings.json": "d8e22c6970c604df7588d313fdf79ba7676fff01740e6151b6a5fc77391cae02",
1251
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",
@@ -1636,6 +1636,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1636
1636
  "docs/maestro-flake-classification.md": true,
1637
1637
  "docs/nightly-e2e-gate.md": true,
1638
1638
  "docs/quality-workflow-notes.md": true,
1639
+ "docs/rails-test-isolation.md": true,
1639
1640
  "docs/remote-agent-aws.md": true,
1640
1641
  "docs/wiki-inbox/.gitkeep": true,
1641
1642
  "docs/wiki-inbox/2026-08-12-lisa-improvement-notes.md": true,
@@ -8157,6 +8158,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8157
8158
  "tests/fixtures/queue-status-prd-readers/github.json": true,
8158
8159
  "tests/fixtures/queue-status-prd-readers/linear.json": true,
8159
8160
  "tests/fixtures/queue-status-prd-readers/notion.json": true,
8161
+ "tests/fixtures/rails-helper-test-isolation/config/boot.rb": true,
8162
+ "tests/fixtures/rails-helper-test-isolation/config/environment.rb": true,
8163
+ "tests/fixtures/rails-helper-test-isolation/rspec/rails.rb": true,
8164
+ "tests/fixtures/rails-helper-test-isolation/spec/spec_helper.rb": true,
8160
8165
  "tests/fixtures/shared-runtime-hosts/artifact.ts": true,
8161
8166
  "tests/fixtures/shared-runtime-hosts/assertions.ts": true,
8162
8167
  "tests/fixtures/shared-runtime-hosts/host.ts": true,
@@ -8287,6 +8292,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8287
8292
  "tests/integration/cdk-ci-role-selection.test.ts": true,
8288
8293
  "tests/integration/ci-concurrency-policy.test.ts": true,
8289
8294
  "tests/integration/cli-smoke.test.ts": true,
8295
+ "tests/integration/codex-active-hooks.test.ts": true,
8290
8296
  "tests/integration/continuous-gates-empty.test.ts": true,
8291
8297
  "tests/integration/coverage-scratch-debris.test.ts": true,
8292
8298
  "tests/integration/deletion-basis-manifests.test.ts": true,
@@ -8422,6 +8428,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8422
8428
  "tests/integration/quality-verification-coverage-collapse.test.ts": true,
8423
8429
  "tests/integration/quality-workflow-size.test.ts": true,
8424
8430
  "tests/integration/quality-workflow.test.ts": true,
8431
+ "tests/integration/rails-helper-test-isolation.test.ts": true,
8425
8432
  "tests/integration/rails-learnings-budget-gate.test.ts": true,
8426
8433
  "tests/integration/rails-scratch-authority.test.ts": true,
8427
8434
  "tests/integration/rails-scratch-lifecycle.test.ts": true,
@@ -8462,6 +8469,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8462
8469
  "tests/integration/support/maestro-leg-order-harness.ts": true,
8463
8470
  "tests/integration/support/pre-tool-refusal-fixture.ts": true,
8464
8471
  "tests/integration/support/pre-tool-refusal-harness.ts": true,
8472
+ "tests/integration/support/rails-helper-fixture.ts": true,
8465
8473
  "tests/integration/support/rails-learnings-budget-gate.ts": true,
8466
8474
  "tests/integration/support/rails-scratch-supervisor.ts": true,
8467
8475
  "tests/integration/support/reusable-workflow-scopes.ts": true,
@@ -8478,6 +8486,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8478
8486
  "tests/platform/process-tree-runner.test.mjs": true,
8479
8487
  "tests/platform/windows-missing-handles.ps1": true,
8480
8488
  "tests/platform/windows-process-fixture.mjs": true,
8489
+ "tests/support/codex-compatibility-candidate.mjs": true,
8490
+ "tests/support/codex-compatibility-proof.mjs": true,
8491
+ "tests/support/codex-compatibility-seed.mjs": true,
8492
+ "tests/support/codex-compatibility-state.mjs": true,
8481
8493
  "tests/support/git-executable.ts": true,
8482
8494
  "tests/support/prune-fixtures.ts": true,
8483
8495
  "tests/support/work-item-cli.ts": true,
@@ -8665,6 +8677,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8665
8677
  "tests/unit/codex/committed-openai-yaml-in-sync.test.ts": true,
8666
8678
  "tests/unit/codex/convert-command-to-skill.test.ts": true,
8667
8679
  "tests/unit/codex/enforcement-fallback-installer.test.ts": true,
8680
+ "tests/unit/codex/hook-compatibility.test.ts": true,
8681
+ "tests/unit/codex/hook-source-ownership.test.ts": true,
8668
8682
  "tests/unit/codex/hook-stdin-drain.test.ts": true,
8669
8683
  "tests/unit/codex/hooks-installer-rules-mirror.test.ts": true,
8670
8684
  "tests/unit/codex/hooks-installer.test.ts": true,