@codyswann/lisa 4.73.9 → 4.74.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 (119) hide show
  1. package/README.md +52 -3
  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 +1 -1
  7. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  8. package/dist/core/lisa-owned-hash-ledger.js +60 -0
  9. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  10. package/dist/core/lisa-owned-templates.d.ts +9 -2
  11. package/dist/core/lisa-owned-templates.d.ts.map +1 -1
  12. package/dist/core/lisa-owned-templates.js +13 -3
  13. package/dist/core/lisa-owned-templates.js.map +1 -1
  14. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  15. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  16. package/dist/core/upstream-evidence-manifest.js +87 -33
  17. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  18. package/expo/copy-overwrite/jest.setup.pre.js +15 -1
  19. package/expo/copy-overwrite/scripts/bdd/ci-summary.mjs +37 -0
  20. package/expo/copy-overwrite/scripts/bdd/projection-model.mjs +157 -0
  21. package/expo/copy-overwrite/scripts/bdd/projection-ownership.mjs +300 -0
  22. package/expo/copy-overwrite/scripts/bdd/projection-paths.mjs +152 -0
  23. package/expo/copy-overwrite/scripts/bdd/projection-render.mjs +303 -0
  24. package/expo/copy-overwrite/scripts/bdd/projection-write.mjs +84 -0
  25. package/expo/copy-overwrite/scripts/bdd/projection.mjs +30 -0
  26. package/expo/copy-overwrite/scripts/bdd-matrix.mjs +54 -18
  27. package/expo/copy-overwrite/scripts/check-bdd-coverage.mjs +36 -27
  28. package/expo/create-only/.github/workflows/ci.yml +3 -3
  29. package/expo/create-only/.github/workflows/deploy.yml +4 -4
  30. package/expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml +1 -1
  31. package/expo/create-only/.github/workflows/playwright-e2e.yml +1 -1
  32. package/expo/create-only/eas.json +1 -1
  33. package/harper-fabric/copy-overwrite/.github/workflows/ci.yml +1 -1
  34. package/harper-fabric/create-only/.github/workflows/deploy.yml +3 -3
  35. package/harper-fabric/create-only/.github/workflows/zap-baseline.yml +1 -1
  36. package/harper-fabric/package-lisa/package.lisa.json +2 -2
  37. package/nestjs/create-only/.github/workflows/ci.yml +2 -2
  38. package/nestjs/create-only/.github/workflows/deploy.yml +5 -5
  39. package/package.json +6 -6
  40. package/phaser/copy-overwrite/.github/workflows/ci.yml +1 -1
  41. package/phaser/package-lisa/package.lisa.json +2 -2
  42. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  44. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +104 -0
  45. package/plugins/lisa/.codex-plugin/skills/lisa-setup-workstation/scripts/workstation.mjs +3 -1
  46. package/plugins/lisa/rules/reference/bdd-e2e-coverage.md +9 -7
  47. package/plugins/lisa/skills/lisa-parity-sentry-sdk-setup/SKILL.md +104 -0
  48. package/plugins/lisa/skills/lisa-setup-workstation/scripts/workstation.mjs +3 -1
  49. package/plugins/lisa-agy/plugin.json +1 -1
  50. package/plugins/lisa-agy/skills/lisa-parity-sentry-sdk-setup/SKILL.md +104 -0
  51. package/plugins/lisa-agy/skills/lisa-setup-workstation/scripts/workstation.mjs +3 -1
  52. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  54. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  55. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-copilot/rules/reference/bdd-e2e-coverage.md +9 -7
  59. package/plugins/lisa-copilot/skills/lisa-parity-sentry-sdk-setup/SKILL.md +104 -0
  60. package/plugins/lisa-copilot/skills/lisa-setup-workstation/scripts/workstation.mjs +3 -1
  61. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-cursor/rules/bdd-e2e-coverage-reference.mdc +9 -7
  63. package/plugins/lisa-cursor/skills/lisa-parity-sentry-sdk-setup/SKILL.md +104 -0
  64. package/plugins/lisa-cursor/skills/lisa-setup-workstation/scripts/workstation.mjs +3 -1
  65. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-expo-agy/plugin.json +1 -1
  68. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  72. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  73. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  78. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  82. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  83. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  87. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  88. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  92. package/plugins/lisa-rails-agy/plugin.json +1 -1
  93. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  96. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  97. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  98. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  102. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  103. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  105. package/plugins/src/base/rules/reference/bdd-e2e-coverage.md +9 -7
  106. package/plugins/src/base/skills/lisa-parity-sentry-sdk-setup/SKILL.md +104 -0
  107. package/plugins/src/base/skills/lisa-setup-workstation/scripts/workstation.mjs +3 -1
  108. package/scripts/check-shell-guard-refusal-coverage.mjs +65 -7
  109. package/scripts/generate-lisa-owned-hash-ledger.mjs +3 -0
  110. package/scripts/lib/shell-guard-shard-runner.mjs +381 -0
  111. package/scripts/lib/shell-guard-shards.mjs +383 -0
  112. package/scripts/lib/shell-guard-terminal-reporter.mjs +89 -0
  113. package/scripts/two-channel-couplings.json +2 -2
  114. package/scripts/update-node-version.ts +52 -6
  115. package/typescript/copy-overwrite/.nvmrc +1 -1
  116. package/typescript/create-only/.github/workflows/ci.yml +1 -1
  117. package/typescript/create-only/.github/workflows/review-evidence.yml +1 -1
  118. package/typescript/create-only/.github/workflows/third-party-review-evidence.yml +1 -1
  119. package/typescript/package-lisa/package.lisa.json +1 -1
@@ -13,8 +13,8 @@
13
13
  * the vulnerable guard, until someone deleted the files by hand so the create
14
14
  * path would recreate them.
15
15
  *
16
- * Ownership is recognised two ways, and the second exists because the first was
17
- * not enough on its own.
16
+ * Ownership is recognised by the reserved namespace, enforcement tree and the
17
+ * exact root runtime-policy destination described below.
18
18
  *
19
19
  * The original marker is the `lisa-` namespace in the path. Lisa names much of
20
20
  * what it owns outright that way — `lisa-hooks/`, `lisa-enforcement-fallback.sh`,
@@ -57,12 +57,21 @@
57
57
  * A project that genuinely wants to hold its own version of one of these still
58
58
  * can: `.lisaignore` is filtered before any strategy runs, and an ignored path
59
59
  * is never a candidate here.
60
+ *
61
+ * `.nvmrc` is the third, narrowly named owner: its bare version cannot carry a
62
+ * management header, and a known older Lisa baseline must take the runtime
63
+ * upgrade. Only that exact root-relative destination is included; nested or
64
+ * similarly named host files are not. Its historical/current hashes enrol in
65
+ * the same ledger, so unknown custom bytes remain protected. Explicit engines
66
+ * and create-only workflow inputs retain their existing ownership semantics.
60
67
  * @module core/lisa-owned-templates
61
68
  */
62
69
  /** Path-segment namespace Lisa reserves for artifacts it owns outright. */
63
70
  const LISA_NAMESPACE_PREFIX = "lisa-";
64
71
  /** The tree Lisa installs enforcement gates and their machinery into. */
65
72
  const ENFORCEMENT_TREE = "scripts/";
73
+ /** Managed runtime baseline; explicit host opt-out remains .lisaignore. */
74
+ const MANAGED_NODE_VERSION = ".nvmrc";
66
75
  /**
67
76
  * Whether a managed file is Lisa's own artifact rather than shared host content.
68
77
  * @param relativePath - Repo-relative destination path of the managed file
@@ -70,7 +79,8 @@ const ENFORCEMENT_TREE = "scripts/";
70
79
  */
71
80
  export function isLisaOwnedTemplate(relativePath) {
72
81
  const normalised = relativePath.replaceAll("\\", "/");
73
- return (normalised.startsWith(ENFORCEMENT_TREE) ||
82
+ return (normalised === MANAGED_NODE_VERSION ||
83
+ normalised.startsWith(ENFORCEMENT_TREE) ||
74
84
  normalised
75
85
  .split("/")
76
86
  .some(segment => segment.startsWith(LISA_NAMESPACE_PREFIX)));
@@ -1 +1 @@
1
- {"version":3,"file":"lisa-owned-templates.js","sourceRoot":"","sources":["../../src/core/lisa-owned-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CACL,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACvC,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAC/D,OAAO,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"lisa-owned-templates.js","sourceRoot":"","sources":["../../src/core/lisa-owned-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CACL,UAAU,KAAK,oBAAoB;QACnC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACvC,UAAU;aACP,KAAK,CAAC,GAAG,CAAC;aACV,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,wBAAwB,CAAC,gBAAwB;IAC/D,OAAO,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAC9D,CAAC"}
@@ -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.73.9"]),
51
+ packageVersions: Object.freeze(["4.74.1"]),
52
52
  provenances: Object.freeze([
53
- "workspace package @codyswann/lisa@4.73.9 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
53
+ "workspace package @codyswann/lisa@4.74.1 (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,CAozFpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAq9RjE,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,CAw0FpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAigSjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -153,8 +153,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
153
153
  "all/copy-overwrite/scripts/threshold-ratchet-compare.mjs": "761a0f32ab4bc138b3ed216f0edc9ad28c36783ccd3b62fbd57ef1b7fdc32681",
154
154
  "all/copy-overwrite/scripts/threshold-ratchet-families.mjs": "15b8dd22f25795127258cb9bf0271253bb9e285cf735177d157037a5cc4663f8",
155
155
  "all/create-only/.agents/rules/README.md": "d4fda2b0b5862afa92c4ddf29daa53218df0d5fe4f051901cdfc53ac266bdbf8",
156
- "all/create-only/.github/workflows/continuous-gates.yml": "42ec4cb8e0ba45e0288f07881b8f93497468afd3cba3ef0cbb4d0ea4c4ae240a",
157
- "all/create-only/.github/workflows/workflow-load-failure-sweep.yml": "eaf0dc7d59b83a8525207c763db4c955ccef05c4fab16b9407d36d1b53513670",
156
+ "all/create-only/.github/workflows/continuous-gates.yml": "bfe3f798d9095b66c15dd4b2fed0b2fd9864c78b630269d81e02f5cfc7038add",
157
+ "all/create-only/.github/workflows/workflow-load-failure-sweep.yml": "d850b2b69db86eb3b74402fa125418e3f502f81c8169c8d96272c843bb304297",
158
158
  "all/create-only/.lisaignore": "735dc0a28a19e3aebc3d71b1ddf8b077e96ab17013d0f1c49d87c08558a315df",
159
159
  "all/create-only/scripts/remote-agent-aws-setup.sh": "bb0e67a52ea5badd0f291961c3a9fb25559f1f35e3042642d389a49eb47f7e31",
160
160
  "all/create-only/specs/.keep": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
@@ -174,8 +174,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
174
174
  "cdk/copy-overwrite/tsconfig.json": "bd960df819bb1ce01163ac4b28721eea3f07d482f6c454cfea9a8dc90191033a",
175
175
  "cdk/copy-overwrite/vitest.cdk.ts": "030158b11bec4f10b39585feb98f498981f307faa1fa314c7522e6def5d73c94",
176
176
  "cdk/copy-overwrite/vitest.config.ts": "c7f309d4f43d9188b9c067cb4900b2bdbacfbd28d135a6a2e6313cb0a37b030f",
177
- "cdk/create-only/.github/workflows/ci.yml": "49cb9ae3db7a90fd427b866406126b159bcd59962926047d672b6628cac88683",
178
- "cdk/create-only/.github/workflows/deploy.yml": "0b906d71ba35b4824c6638c89a8a7ddde6cf7a2130155cac55bcc1e70226f74d",
177
+ "cdk/create-only/.github/workflows/ci.yml": "a487a4f77f9bb5733e2f99f112821f2b88ac15d5274b71f6951a846693234ad9",
178
+ "cdk/create-only/.github/workflows/deploy.yml": "1679abd401033cfe3b83a471f32dfd6c9b98ff3705a98fc0fc8f5ceba586b2c7",
179
179
  "cdk/create-only/cdk.json": "f89030d8fe145a1dbabd59d89ddee4e16984f222d737f7fcf6b778d911e9fe40",
180
180
  "cdk/create-only/stryker.conf.json": "3490157f983d831defe56f014ffcf49c57e22381a4a180cc9facf2de0238dcf5",
181
181
  "cdk/create-only/tsconfig.local.json": "d26253827e21fd7c41d30565fe3d339675f119e00bb24c5713a01f57ccd06602",
@@ -184,7 +184,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
184
184
  "cdk/deletions.json": "3469a25e885836f301e8d24599dd13f5195ef86ffdea1f03f3fbb86d6b1f1674",
185
185
  "cdk/merge/.claude/settings.json": "bc5eecf114d94f4894f8781e15248930d4a8009dce6431ec44e54cc5ee947300",
186
186
  "cdk/merge/.oxlintrc.json": "f7d248cf8a89561374d7e68e24aa780f4a6a523938475ad685f034ce0194d75c",
187
- "cdk/package-lisa/package.lisa.json": "c5bf1f2199c99db02f79e91f11d8a66d3ff5fca55ba6aa2a96301dba71fa52ab",
187
+ "cdk/package-lisa/package.lisa.json": "6c2826c03cc116aa3b6996dbea30f60e660d22740d7b425e1b16a2358edde622",
188
188
  "eslint-plugin-code-organization/README.md": "e70c9e262ce3a97e1f9fe1897ffa71e3d1b124f10486b90ead5d4a5252977826",
189
189
  "eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js": "27e8e2cdf9bae3c35c22f17407570a163cfe52bd848ec40f7f2f1068e97c10c9",
190
190
  "eslint-plugin-code-organization/index.js": "9be5ecb135bc30cf39a3371825e94f8a379d8339653297bd7e48c07624923c83",
@@ -223,22 +223,29 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
223
223
  "expo/copy-overwrite/eslint.slow.config.ts": "48d6a35be75450becde07d30d859c970c48a0438e730845272629c8ec677d3eb",
224
224
  "expo/copy-overwrite/jest.config.ts": "b58454a9cf55cf5c1449457fe8eae8390471c57787bdee05b5e34710aa89950a",
225
225
  "expo/copy-overwrite/jest.expo.ts": "e6d7dffc4c83fccc02e0b2d2a52e10de30c8c00a12de44184e960bd6155edcd6",
226
- "expo/copy-overwrite/jest.setup.pre.js": "8bd71ed2d461de77c55bef123e5e782d51ce7d4e5a38bfc0c662f0b86d506f9d",
226
+ "expo/copy-overwrite/jest.setup.pre.js": "04129982ab5caf2bafe79c524d3fa906ed5a524a9d0821c83757d358ae461fa1",
227
227
  "expo/copy-overwrite/jest.setup.ts": "826ab9387f73b19f1faa2ee4263344a64f6fa34fa872ba1162fef9d81406e556",
228
228
  "expo/copy-overwrite/knip.json": "054a6ac5289168f5b19ad705ca7dd0083a7feea1114d79014fbc72ed2a6f5a76",
229
229
  "expo/copy-overwrite/plugins/withAndroidSplashNoClientExit.js": "8e3cad4fcbd7e0a97b30cd2f68882740c74b690dd44473d925479ca5d3754a84",
230
- "expo/copy-overwrite/scripts/bdd-matrix.mjs": "8611fa2329660bcb1cbffaf70091c35d49f1635c13d89b85a68fbbe7ec25e69e",
230
+ "expo/copy-overwrite/scripts/bdd-matrix.mjs": "70cc3e07214450b50376274629870eac8b37b16f2a0c26fc1e02bfc33aba8169",
231
231
  "expo/copy-overwrite/scripts/bdd/baseline.mjs": "75fc14f851792b4a77d9a9857626a0dd8e7f77574cd45bac8a54f4105163bd16",
232
+ "expo/copy-overwrite/scripts/bdd/ci-summary.mjs": "d6f02d08aa0e72a2c44f879e4a45c30e380ccb1353ff562903640f34789a5603",
232
233
  "expo/copy-overwrite/scripts/bdd/contract.mjs": "7b47fd4a705aecd7c898f7fbbda4689d3fceda2dfe1bc959a06941f119d2e313",
233
234
  "expo/copy-overwrite/scripts/bdd/discover.mjs": "75476040d0e545ed16fd09ed2f8e577a7b2f34cbc654ff97926c6a52473e2cac",
234
235
  "expo/copy-overwrite/scripts/bdd/envelope.mjs": "2d9dd28911c66a7cb6cadeaf10f86fa4dd5ded75fc38b0d3946d81d8878c1929",
235
236
  "expo/copy-overwrite/scripts/bdd/markdown-cell.mjs": "eafddef7d95b88652ef46fe87f9b62176a1ca08913e13e47c5eca8cd979f29e2",
236
237
  "expo/copy-overwrite/scripts/bdd/parse.mjs": "46584d61812fb6684cc7a5fe4a2331d8fc486c0ed44f228b5049e2b1e6034fb8",
238
+ "expo/copy-overwrite/scripts/bdd/projection-model.mjs": "dffce71d49d79a1a25dada9e4ec37be06e2e5800da24450f8ce8aade39667149",
239
+ "expo/copy-overwrite/scripts/bdd/projection-ownership.mjs": "0fe1e576393fcbdffd4d24248e70ed8be68f9ef067053e043f7cf02484e9a5d9",
240
+ "expo/copy-overwrite/scripts/bdd/projection-paths.mjs": "7c31a792ec2266f946250448d2028ea7a079bb709ced92748ebea2ee9fbeff25",
241
+ "expo/copy-overwrite/scripts/bdd/projection-render.mjs": "daadf1da064db34ecf0307643bc1faf571aab27adbddec37029670e45766d645",
242
+ "expo/copy-overwrite/scripts/bdd/projection-write.mjs": "b8323877c162b0fef354bb78800211b9b6a923b9c20abef3400836a5228824b7",
243
+ "expo/copy-overwrite/scripts/bdd/projection.mjs": "867aaa8b0fa92538156c6c453d4a6266f01b302e7a82af5be680682985622161",
237
244
  "expo/copy-overwrite/scripts/bdd/render.mjs": "18e44366be7a46a00f91127093f94ab392813aba9cdfc8b970930fe277a7bbc4",
238
245
  "expo/copy-overwrite/scripts/bdd/report.mjs": "477eb378aedd41bb8792e7b9f1b9fd68351d9db1d0c7c4f8adc9c4ab4a88a71e",
239
246
  "expo/copy-overwrite/scripts/bdd/validate.mjs": "ccb51f63ede9b5a9a2f1b881c0fe036416f6f1232262d0faff80a1440c79b2fd",
240
247
  "expo/copy-overwrite/scripts/bdd/waivers.mjs": "4011bcc9643b93522d2082363a2e9de3309d92f82ec054d2988860bb7cd3d16c",
241
- "expo/copy-overwrite/scripts/check-bdd-coverage.mjs": "2f7252fb80fc397cd3fbc5b54ca71ea02ffca1b8cd92c1f94846be8de2e65674",
248
+ "expo/copy-overwrite/scripts/check-bdd-coverage.mjs": "5b45f4d37eb2faa40870f2ab75884d914d7a08bf1cbd7fb45929f91ede1e18e2",
242
249
  "expo/copy-overwrite/scripts/check-e2e-coverage.mjs": "99764b136eaa7bba3b7abf78f60bc6805f8c008a9cac59c78c5eadba35cecdc7",
243
250
  "expo/copy-overwrite/scripts/check-lighthouse-details.mjs": "c33678782088725f6e95a07873a4260c347d915518d0c52e107ff3dc0ad32641",
244
251
  "expo/copy-overwrite/scripts/classify-maestro-failures.mjs": "8f96ad8dd2626e5a78751a7141a35c5edaa4d0b340f203be1973ac38a75c8caa",
@@ -249,21 +256,21 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
249
256
  "expo/copy-overwrite/tsconfig.json": "c92e2c2c109e8794ee351f634361ef46297f5a0cd606aaf5c19911da836df307",
250
257
  "expo/create-only/.github/nightly-e2e-policy.json": "a6fc52bbaa7943523fba35bd1ab51d8da4b29354bf0133b47aa299b725f51e8c",
251
258
  "expo/create-only/.github/required-checks.json": "8d40acc337c42fbdfc55638dc4ab43b541b975270ecae8fffec9897c13a42884",
252
- "expo/create-only/.github/workflows/ci.yml": "84651096cc79e3e05a57f917540dce2835ea6c5e701146368b62c08a0a6b0c85",
253
- "expo/create-only/.github/workflows/deploy.yml": "33947a64659bc48baa0b187f453d401bb02af47ed4e4f531610f2c5562388f0d",
259
+ "expo/create-only/.github/workflows/ci.yml": "f4a95f3895d906429b82e33bb13c77c7a2d63027634da61c249c0a800d353f44",
260
+ "expo/create-only/.github/workflows/deploy.yml": "68edef86a0bc9e55b049d3a2b95f3d01fba6ec3a7ca3b51de04078adb94bf529",
254
261
  "expo/create-only/.github/workflows/maestro-e2e.yml": "11e6db515412702672edea910223b808be168b3d1f9ec15c349f44f3edcff247",
255
- "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": "c5219d7968ca772fb7fb1a4edc8b9e519996fe5cc497c562395dec4cd2706048",
262
+ "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": "6a4dc81752ef58646e78c24c421b6f2996676689fa0e20af2a94b217b73e476b",
256
263
  "expo/create-only/.github/workflows/nightly-e2e-health.yml": "560d40504494ca7d98a99dbe27535f91aceff19e8f98b51ddf9a8f24f559e535",
257
264
  "expo/create-only/.github/workflows/nightly-e2e-report.yml": "002f9a3bb88e1ff964195f413e385313c6d6f868e6d003b787663903d6bbd3a9",
258
265
  "expo/create-only/.github/workflows/nightly-e2e-tracking.yml": "b1b181a8362c6891480f8e333ca5f7fdd29f6dbc4973d07fd0b70592ba16e881",
259
- "expo/create-only/.github/workflows/playwright-e2e.yml": "0729c66cc30f7910cec1396f35fb9a93b8fd4d1bc9cc753291864fdcbc3bf0b3",
266
+ "expo/create-only/.github/workflows/playwright-e2e.yml": "df84efa0ff96e5000359068ce3d0fc6113a95195b616e0b541480568a77ab3d7",
260
267
  "expo/create-only/.maestro/flake-classification.json": "8a9469ac2d3b7cb885b4a48ea2dc942aa4ad5deb1a12b05818f62811cac6b0d5",
261
268
  "expo/create-only/.zap/baseline.conf": "ab18d74ba5270dd5d795e740cd6b1292bb78dc36c79a20c1e7b752d14c0c55f5",
262
269
  "expo/create-only/babel.config.js": "86503c2f3ccf13749e1c7674c97ab8df4cb28a8d346bd5ddcb65787290b5a9a3",
263
270
  "expo/create-only/bdd/coverage-map.json": "dca3b037b3740bbcc228c85fc63feccc7a5295da5a925e60420accda3eac4059",
264
271
  "expo/create-only/bdd/features/.keep": "b807c9c94a3b00b93d2463a9b098dac41db227ac1f5b0b1cb746e5e6f68de15d",
265
272
  "expo/create-only/e2e.thresholds.json": "23ac9bab7fe84cfa542785156425e020af9baabdbeb1a53293ae7e2395e4dd92",
266
- "expo/create-only/eas.json": "68ab4e1c0ba0a90d49a8b605394569f0738d2a042be03c9487884f0226db1799",
273
+ "expo/create-only/eas.json": "6df59eb3321968f1852d72bfd27f72c996ce79ab3388983969c450a3f816f1ae",
267
274
  "expo/create-only/jest.config.local.ts": "0647741c9df4cecc1b7c285e28bfbec217994f0b7984eecf81ca47095e936754",
268
275
  "expo/create-only/jest.config.react-native-mock.js": "f146fea09b0308ac3332f1f06cf8f22ee5c88b06b5fd227860b36204566de5f1",
269
276
  "expo/create-only/jest.setup.local.ts": "f0266cf872f41b6599e476e135f0b8947c3d226abe5bc4e02fb4087c836abac0",
@@ -282,7 +289,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
282
289
  "expo/package-lisa/package.lisa.json": "4a2e6df44b00c5c7eacf786b95dc211f902c8ea567be824dbb100f33d5d1deef",
283
290
  "harper-fabric/copy-contents/.prettierignore": "478c782f4c5611187e21584dfd5522e37fc636c5eb03394fea3db45321c6712c",
284
291
  "harper-fabric/copy-contents/gitignore": "d091c40fd0ea3068491f1be0d6510090ae872ca95d0d058ef4595d6492d13897",
285
- "harper-fabric/copy-overwrite/.github/workflows/ci.yml": "1e51fd8cb8156ff3e79931bbed80e646b6fb46744b6c1bd39fa5a1da966f64aa",
292
+ "harper-fabric/copy-overwrite/.github/workflows/ci.yml": "fae46d9aa5c2ad33c8fd0665b345456da878d04bac842b237c6ab7f53206002d",
286
293
  "harper-fabric/copy-overwrite/ast-grep/rules/harper/no-early-return-in-search-loop.yml": "8b9f1c93ebdd4f760978df01b166de90a78e751f7b4c907bded98f2862b4ac01",
287
294
  "harper-fabric/copy-overwrite/ast-grep/rules/harper/no-empty-conditions-with-sort.yml": "716642455575045ecda3de8f275939993dee9065ac04bba30fe2fbb15d092cb2",
288
295
  "harper-fabric/copy-overwrite/ast-grep/rules/harper/no-full-table-scan.yml": "147bd3f3c2f82812acc3fdadb21d484594ec31a2e8015a2c90e041f659da92b5",
@@ -292,14 +299,14 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
292
299
  "harper-fabric/copy-overwrite/tsconfig.eslint.json": "63ddc31cbbdf91ba4def5f04ed76b2a8b61ced456d4472aea77a55cc037a62e1",
293
300
  "harper-fabric/copy-overwrite/tsconfig.json": "64b9f2e919160568712e2641b125aa21bec486532249a7b17e4fb2f4bb3988cc",
294
301
  "harper-fabric/copy-overwrite/vitest.config.ts": "94ee60be0e9a4b735cf1b053143751c9968465ff04fb59fbdfc252e7413ff337",
295
- "harper-fabric/create-only/.github/workflows/deploy.yml": "4cf724370ecff208906ee9f0bc9ea4fb31bddea20bd68b8c6ef5364d71548f0f",
296
- "harper-fabric/create-only/.github/workflows/zap-baseline.yml": "74cc5f02e862e090a0332c5b244936d27a9926220738466482221ff7dcf20a27",
302
+ "harper-fabric/create-only/.github/workflows/deploy.yml": "3f6e69c9a80b6cfdd1ed8b3baaccb2925dd98c7f8d7ca1f7524d780c68b704ba",
303
+ "harper-fabric/create-only/.github/workflows/zap-baseline.yml": "37e02f04709c11dcd7a0a65110f19def3f06a5039dbb80d31e1bc3757bb4e330",
297
304
  "harper-fabric/create-only/.zap/baseline.conf": "68aae4b1b9b5b7253b5aeb792d72b58f64e5eda1dcf8f3062bd9d77494a5a22f",
298
305
  "harper-fabric/create-only/scripts/zap-baseline.sh": "00f5a2bdf6c9ecf0d7a1c74ec629364b09bab1f79c4ea71779826288702d76aa",
299
306
  "harper-fabric/deletions.json": "699c6e445c053bc95cdf4b7ef6a852e243d1073d21087ed7c08db69d1d29ac9c",
300
307
  "harper-fabric/merge/.claude/settings.json": "3368043731215c6e2f107f1599eff1c90abc70d09a1d798f4ed79a280c4f3ffb",
301
308
  "harper-fabric/merge/.oxlintrc.json": "b41ea588eed47e0f1532aab5f6226b82586269b84edd1947bdde603e0a8513fa",
302
- "harper-fabric/package-lisa/package.lisa.json": "203f4cae4999768ac3190cf12c22a9837a710938b6cf1913d69997bab99b8353",
309
+ "harper-fabric/package-lisa/package.lisa.json": "0890cc091a2b7c9b410092eb1f34b3e5cebdfc7f148c707e3aedb3cbe3d0be45",
303
310
  "nestjs/copy-overwrite/eslint.config.ts": "300895743cd8e3041f164902e1c8e509d8ef07474848a70621ac354d73595477",
304
311
  "nestjs/copy-overwrite/eslint.nestjs.ts": "50986c80ebfcbef86b6c24d6a50ace0964d43fe85c65a732230388caffab453c",
305
312
  "nestjs/copy-overwrite/eslint.slow.config.ts": "602a21f47370a0a947e92bced1b93bf8fa4c146e07c944ffe1d56ef50914a688",
@@ -333,8 +340,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
333
340
  "nestjs/create-only/.github/k6/thresholds/relaxed.json": "350c18b2c588fd628db8a6e82fc5c0b3ffc8a09f1c89b64d1f530350bc64a9ca",
334
341
  "nestjs/create-only/.github/k6/thresholds/strict.json": "e121ec72de4596b95c013a8c71f03653bcdf057cf7f8d1fec6f0e13c1381867f",
335
342
  "nestjs/create-only/.github/required-checks.json": "6de377accd8355091e31ee7b3e412187d2268650ecbeb6c2cba42923c594cfc0",
336
- "nestjs/create-only/.github/workflows/ci.yml": "800a0147bbda0ddb4f3b54af88494ad873e3df3be7151a7224d1189ad98954af",
337
- "nestjs/create-only/.github/workflows/deploy.yml": "07c1be9e329492fd2ae5311e134f6369404991a7512c0851a2d52c4712f7b13d",
343
+ "nestjs/create-only/.github/workflows/ci.yml": "5355a0152b04ba54bf2d207df536de18e2734429a1c030487b80aa3db0693df5",
344
+ "nestjs/create-only/.github/workflows/deploy.yml": "7c130d9c88170bb4b63881b4b73fa8857dfa1eddcbb38609150fea4ca53db51e",
338
345
  "nestjs/create-only/.zap/baseline.conf": "a7cd559b014555ef2efe7a6ce129384ec376ce4d66d5bc3ae9e2f3f883172c4d",
339
346
  "nestjs/create-only/scripts/zap-baseline.sh": "9d81fdb3419753ca4ec5509e37365543d7608c7a9924635ef1acb4734cb3bbd1",
340
347
  "nestjs/create-only/tsconfig.local.json": "0b720ddad0d18f52dadf33bdc4a0aec0eb65c506bc8ebb692f880bdf31d1011d",
@@ -355,7 +362,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
355
362
  "oxlint/typescript.json": "c7352af5d92a97da1386edfbff873f284c932f5413dce87c4af27520097389aa",
356
363
  "phaser/copy-contents/.prettierignore": "3bd2e016bd4bd23f76d186a4a4ba72f47719b9aa1df5d3352ad5719d93e0bf49",
357
364
  "phaser/copy-contents/gitignore": "4b8d1a5817d35f64f5d4859f9184ebe2e1dc42e63f8e9269fff233e2ec258d6c",
358
- "phaser/copy-overwrite/.github/workflows/ci.yml": "04db4432eb98857e99bf98a211ef527a98bcec40db43f63e2dfdef2d7fae6538",
365
+ "phaser/copy-overwrite/.github/workflows/ci.yml": "b7cc250ef736510d1d2d54ebe3fb5d1bc7578bce65263011f3342f0d7492c64e",
359
366
  "phaser/copy-overwrite/.husky/pre-push.verify": "d03bc6d18e20c368d37abd4d1000589cbbfb67afab0ad58da4f18ed73ec65ee9",
360
367
  "phaser/copy-overwrite/ast-grep/rule-tests/.gitkeep": "fd9b902271d9cbaca0ead2a1e659776db904c10b06ceed7e5bc43fa57b89aba1",
361
368
  "phaser/copy-overwrite/ast-grep/rules/no-day-truncating-file-age-predicate.yml": "6fad69e83ab937f6d929305be46fbe38390cd30c8b525ab0a24a5ac65d377ef6",
@@ -373,7 +380,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
373
380
  "phaser/deletions.json": "699c6e445c053bc95cdf4b7ef6a852e243d1073d21087ed7c08db69d1d29ac9c",
374
381
  "phaser/merge/.claude/settings.json": "67214a76e1902a8a04a58eb938dba9eb8de39b55fda9f748eb9e7c4bbd31da99",
375
382
  "phaser/merge/.oxlintrc.json": "02c0d70e6e07bc0e981f94a1e2ccd01a2c295c4c66e8b8ea9b2f363d44fa5c06",
376
- "phaser/package-lisa/package.lisa.json": "09a185f2f46cda72c314cf13d9bf3f9a0d8a865496d73c5bdd02888b81cfe759",
383
+ "phaser/package-lisa/package.lisa.json": "6d933a04c7b0e3a51683648eb1be2fe055796ced34f1b6c834dd8d765f9fd1ec",
377
384
  "plugins/src/base/agents/architecture-specialist.md": "2346c37ddce2b1ff059938d71be05f5f23acfe28066bcba4f9a1070ed6727a93",
378
385
  "plugins/src/base/agents/bug-fixer.md": "04b49321519b050a654e83e64749fe5126fa552189c2bbc9a9cef853a089295d",
379
386
  "plugins/src/base/agents/builder.md": "ce8b611df9c0f4bbafc9032c9e72c78177c0b2b22065c9bafc4999189870284a",
@@ -554,7 +561,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
554
561
  "plugins/src/base/rules/eager/withdrawn-rulings.md": "46bdcbaa845ab906bd7f83e86d18860a1a54162520b8fb7101f6b23c5e1e816f",
555
562
  "plugins/src/base/rules/reference/automation-runbook-contract.md": "e4b64b042b650bccc26f04ef68fe76a182be265ace4674daa4f9c8e8c24bd626",
556
563
  "plugins/src/base/rules/reference/base-rules.md": "938173f9e048a0f8e09bd825d97f2e3a3e97f03fc99037fcdae47a9bfa99f307",
557
- "plugins/src/base/rules/reference/bdd-e2e-coverage.md": "05491cdf9b64327cd0ba8f205242128749700113a61de3c62e43e8787d1971c1",
564
+ "plugins/src/base/rules/reference/bdd-e2e-coverage.md": "a32f44a8800403f6d4210e3a8f7e2968e79f9a1aedad911da136bcc91f7440bb",
558
565
  "plugins/src/base/rules/reference/blocker-containment.md": "b88a8a58cebd4dabcc130439df65b1be54a6f78a6098359e86135d267e41f096",
559
566
  "plugins/src/base/rules/reference/claim-archaeology.md": "a452f3ff48396954e75c15cc441af7b89648b4b93851e907148854a03afc0ed0",
560
567
  "plugins/src/base/rules/reference/claim-evidence-mapping.md": "d517dd46224bfd97e2b988a317837dcf099977ae35caa98bb3458ffac606081d",
@@ -748,7 +755,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
748
755
  "plugins/src/base/skills/lisa-parity-code-review/SKILL.md": "5805254747c4ed9081fd514236f06e078be86d41694bf74b480bf7592cd58c1f",
749
756
  "plugins/src/base/skills/lisa-parity-code-simplifier/SKILL.md": "c721ae772e73abff633c43d93267066afac188e911a77322fbb102db673849d7",
750
757
  "plugins/src/base/skills/lisa-parity-coderabbit/SKILL.md": "ae882837d43741293d1b639c4516331fa6124fa1f5da234a74ecb31c5d7e52cd",
751
- "plugins/src/base/skills/lisa-parity-sentry-sdk-setup/SKILL.md": "fd5bf0c9bf765c96d4955a1872583c6d3864295c5434ed1a8724f691f4b8b3a7",
758
+ "plugins/src/base/skills/lisa-parity-sentry-sdk-setup/SKILL.md": "17e21c3d1e944febd99ef5c445f105574dddd86dcb61d52aa93b296e3012d861",
752
759
  "plugins/src/base/skills/lisa-parity-sentry-seer/SKILL.md": "322a7ae4a11cc4e2a35f5fd31ef5dd7e8525970a558e9bb19b2ca25431b2558a",
753
760
  "plugins/src/base/skills/lisa-parity-skill-creator/SKILL.md": "616e0493f75fe92c18137548d7c86a91a9b04d9844ca76fa3f14156e3e7814e5",
754
761
  "plugins/src/base/skills/lisa-performance-review/SKILL.md": "351542c256e54940e6d672a70606b8414425c6435ae6f026841bcc02f9fce9c4",
@@ -832,7 +839,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
832
839
  "plugins/src/base/skills/lisa-setup-workstation/scripts/bounded-child.mjs": "c008bd905bf33b45ee3925ccb4761293e9486a10621f7a14441486b7f72904e0",
833
840
  "plugins/src/base/skills/lisa-setup-workstation/scripts/catalogue.mjs": "954ff092472a01c3877c105c4616014abe8fefe539541df9d152b22f483cd47f",
834
841
  "plugins/src/base/skills/lisa-setup-workstation/scripts/cli.mjs": "53b369907ce168991169521f50070f9741640c0c466ece7c7c4736455903fb00",
835
- "plugins/src/base/skills/lisa-setup-workstation/scripts/workstation.mjs": "a7c7850ceaa0ff5e1c2a3959c1fa464f44820ffbef5037f3a92fbd5f8021a582",
842
+ "plugins/src/base/skills/lisa-setup-workstation/scripts/workstation.mjs": "d023914c7ea3e46eadcf33cba44fc12ec9df37cf94745e20da196c88a596c269",
836
843
  "plugins/src/base/skills/lisa-sonarcloud-access/SKILL.md": "c8145b880f2595e73b2b7a5a117037e56f1f32d7be3b2ce485d83f420c7c1ea9",
837
844
  "plugins/src/base/skills/lisa-spec-conformance/SKILL.md": "50e79afcfabf16d36273325aabb58571c9a0e1cafe7a2865e2da10c6d46571eb",
838
845
  "plugins/src/base/skills/lisa-starter-sync/SKILL.md": "b5aa3055ca4365ac55c677e64d666499756cb1cad2c30175603c240ba03cdc9c",
@@ -1243,7 +1250,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1243
1250
  "scripts/check-rules-pairing.sh": "0fc26c4bb3e9283dbc775e794ee8abad98d59f401dfcc55deead0160c5c6bb71",
1244
1251
  "scripts/check-security-floors.mjs": "9cdb39f3d995b2f5539e0f2dc9de4b06d8539886efaa821f7964687e9a41609a",
1245
1252
  "scripts/check-self-dependency-pin.mjs": "f517c44a1058a87051b6bb9520e8596a37521f475ca67e0d47159163999ff692",
1246
- "scripts/check-shell-guard-refusal-coverage.mjs": "95e4086965dde95d0aa17cb3db64a94c9e2d21822039aaf89aad4a8acc99689e",
1253
+ "scripts/check-shell-guard-refusal-coverage.mjs": "db5d8a16ec58562c20dfb067b21e1af8d79189ddbcc784913e7d3949a1aa0f03",
1247
1254
  "scripts/check-shipped-surface-removals.mjs": "2ff9e161d101cc55ffe099f0a7b4fc83e023e79215ff09e53c5d0c889a9594bb",
1248
1255
  "scripts/check-state-classification.mjs": "26baaa85c0758fa41f1f66257f7d3a31ea4dd5cf17a9c0acaa3e89caaaf6265a",
1249
1256
  "scripts/check-template-workflow-refs.mjs": "bf26be3a1c1556a22b218914704cd9f3ef2b26de721b3e961d5a21ddc8141efe",
@@ -1274,7 +1281,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1274
1281
  "scripts/generate-copilot-plugin-artifacts.mjs": "8589c8b6e7adff3aefd20463d78cb3caa4d23489fffc07fbb9d185cdc63871fa",
1275
1282
  "scripts/generate-cursor-plugin-artifacts.mjs": "b0c59ebf8a411a1c4835081ff3a47626868d645e4cebddb7e0e4e795a9cefe24",
1276
1283
  "scripts/generate-export-surface.mjs": "f9af22c8809e93e09a1b2dbbdbd23356890b3460524bd8752731ff454d5f13c0",
1277
- "scripts/generate-lisa-owned-hash-ledger.mjs": "987ed2f9cedefcb70778a6c6ad0f3fffd114fedc7e8bf62d6456b2d2e8e2de76",
1284
+ "scripts/generate-lisa-owned-hash-ledger.mjs": "adcae0402df639081534ff0e0bbc67eaf4eac9abaac24ab2da823b0a8c9ebdd7",
1278
1285
  "scripts/generate-nightly-e2e-guard-certificate.mjs": "cfa441fced288d9e82d6b4a0a5e6c0d66b513f50b87751b879e8d2410a8054a3",
1279
1286
  "scripts/generate-npm-updater-helper-graph.mjs": "f128835f309f5a4b8d2015d57018da44fd558778efa4eed382747c6d6319260a",
1280
1287
  "scripts/generate-scratch-supervisor-profile.mjs": "878a054ee051c933471b2b5640fc4c7416f4446d39f630b0bec6e2fda00cfc67",
@@ -1302,6 +1309,9 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1302
1309
  "scripts/lib/reusable-workflow-contract.d.mts": "791f01b55dd7a6b5d9a5f4cb9c44167caa146c2fc3c31a2ae4c2d8a350adc2f1",
1303
1310
  "scripts/lib/reusable-workflow-contract.mjs": "134ee2a327290f066f1eb318b5ed53c711557c3e10ed462c00ff5c97cfb20863",
1304
1311
  "scripts/lib/shell-guard-refusal-coverage.mjs": "9bd530bae922022870c8bb1b69925778fa609c67561228cc8cfa94a0ee3f5e7c",
1312
+ "scripts/lib/shell-guard-shard-runner.mjs": "e66b9acee96812374bc63d3569614aef5095124ddec08287128893889847cbcf",
1313
+ "scripts/lib/shell-guard-shards.mjs": "a5724f75bea3469aae76c9eb8ff13e0ba446c73a0466c43d9a670b3b7628dce1",
1314
+ "scripts/lib/shell-guard-terminal-reporter.mjs": "5af1615782b5c0608c5218fd88149def957a6856000c699662356bba1f2cab93",
1305
1315
  "scripts/lib/shell-guard-trace.mjs": "c3ec8f0a9c52090d8044bbc99fae50eaebc45a1469f62ef2f4fd21c80aa67277",
1306
1316
  "scripts/lib/shipped-surface.mjs": "9ba04034e2a3382d90a48d81b641ba52c6f1c95028d14aa2005ab0d4e3d65208",
1307
1317
  "scripts/lib/upstream-manifest-staleness.mjs": "c69fc5ba10228b7f4f8d0068db27ee8a289143094fa8718b14af83f4af31f76d",
@@ -1341,8 +1351,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1341
1351
  "scripts/run-artifact-checks.mjs": "2992d673bb3c1ebfa50bda9ed323b8410afdab2ffc925eee6eab19fcab312a90",
1342
1352
  "scripts/setup-deploy-key.sh": "2bed19346810b7af18a5225fd463c4d553a7bcc7b2f11a21bd47b93e6b5e1719",
1343
1353
  "scripts/test-intent-routing.sh": "97b9dc86cbd805df8a7fdb8c99ffab9b8c5e751ba2e84c05420b2a124f80635d",
1344
- "scripts/two-channel-couplings.json": "1786f2bb645700cc152f1072c41d2401e51d802a06866fa83dfe5efba8353ae2",
1345
- "scripts/update-node-version.ts": "0059067c14001c2f7e75beb2628d1a46f935c7b01ce61871db71b6849ef62dca",
1354
+ "scripts/two-channel-couplings.json": "cfb9ac9f3fe7d0f8aad29ad49adfbf80fa4b83eea46558a046dbad6ceb2ff825",
1355
+ "scripts/update-node-version.ts": "9d37599ef73d5d624751f862cda330a867f6774392c1ab045b4fc885132582e4",
1346
1356
  "scripts/update-test-skill-paths.mjs": "e26a3ac716c33013e22bf5223a58457452f5af2038218a0e3a51c244eab5ddc9",
1347
1357
  "scripts/verify-health-agentic-built.mjs": "4b0d20b2c94390ff6f5af881fc50c5c225215a282891db0b3e3d84a7e6455367",
1348
1358
  "scripts/verify-health-consumer-built.mjs": "bd0676f7e76e4ebceb3a94c89a2b40f4c0266ab0ef7280a9bebbcb388c2731c3",
@@ -1372,7 +1382,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1372
1382
  "typescript/copy-overwrite/.claude/hooks/worktree-create.sh": "888cfd16bd1ac04f9f8a835eae62f8bd2c956de654bce12ce9a6a52947b121ca",
1373
1383
  "typescript/copy-overwrite/.github/GITHUB_ACTIONS.md": "4cd22faec1ca477e34bf7f61640b7eb20329d097b19add57a9909f5905fd37ed",
1374
1384
  "typescript/copy-overwrite/.lintstagedrc.json": "058f6bb7ce5b734ba3e62774b1f769c94053c574f2b4db3e59515c325e49c0ef",
1375
- "typescript/copy-overwrite/.nvmrc": "6d07ac247e81cd42c2c20abf8dfe504413d6b2422e4aba9b2c975a776f155921",
1385
+ "typescript/copy-overwrite/.nvmrc": "73fb1b615e2043a933be1c0895cde4358036acc28d785692509b822aa53c761f",
1376
1386
  "typescript/copy-overwrite/.prettierignore": "fb5e38bf154cf26f90e6a16bfc7df0ebbca673b4690602a83fa9851d1bfdfaf8",
1377
1387
  "typescript/copy-overwrite/.prettierrc.json": "a20621f79a064486fba53cc0ea3000a2ece3f312ff38495c6a6606a27d2a727c",
1378
1388
  "typescript/copy-overwrite/.versionrc": "96d51e3087892bb795788dbd0ca3e5ebe7b67252e58adae5bbc469eaf424af35",
@@ -1413,9 +1423,9 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1413
1423
  "typescript/copy-overwrite/tsconfig.json": "8f4257fcd2cfd4b23e83e0fdd4908d41ee8f1ae75bb95d632e653a0ac13d58e4",
1414
1424
  "typescript/copy-overwrite/vitest.config.ts": "dc140e617db43da38f456bcc909ae621a62996fe25e7b0babd5e81941308365c",
1415
1425
  "typescript/create-only/.github/required-checks.json": "9be2f3170b7c57cad1a483752d3c882213e90f36ece677d1dd4a1b1c1c66b76a",
1416
- "typescript/create-only/.github/workflows/ci.yml": "1fb1da5cf5623b2e44d1d33f104daf65ca44cee1bb0e46df063916ed8bca951b",
1417
- "typescript/create-only/.github/workflows/review-evidence.yml": "b1d0df98c55d06e44cbf3f8186a16763881a5155949c5189825fdc88589ed4c1",
1418
- "typescript/create-only/.github/workflows/third-party-review-evidence.yml": "ef20afa53051eb899996d86b8b696ee5407892d73a737b372e50f5d023a0df8d",
1426
+ "typescript/create-only/.github/workflows/ci.yml": "313e42045137c59f77cf61abeebb19c8005ba7fa6d5b7d92a169a1e86ab168b5",
1427
+ "typescript/create-only/.github/workflows/review-evidence.yml": "732ac40a7e454d276387dd9dce818ac90103eabeda15c7fcfa22221309e74f22",
1428
+ "typescript/create-only/.github/workflows/third-party-review-evidence.yml": "6f90f3bb5074d4d7c0eadf279289faee3db444f90f1c9c9a789c8c5848a8c1c5",
1419
1429
  "typescript/create-only/.gitleaksignore": "6927d376648675331801c798a4390b652a22a3e5d350cd26f36d42c10af02d67",
1420
1430
  "typescript/create-only/audit.ignore.local.json": "096eba7c600446a2f906369a6ff747804a51b9ad3153ca10d9a1d673e416b337",
1421
1431
  "typescript/create-only/eslint.config.local.ts": "9194ea9f5d7696a5354022475774813aebde504bbf53a4fecbe1e97f2af75b2b",
@@ -1431,7 +1441,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1431
1441
  "typescript/github-rulesets/quality-checks.json": "3aa1c6dbc703ad2ecd87c6f7fdff1aae118696dba95c9795c2c954c6b8a444d9",
1432
1442
  "typescript/merge/.claude/settings.json": "a455fb55d5bf99f7f71136a3a4f8f21b283b9627556c3b22d039b01d093eb2a9",
1433
1443
  "typescript/merge/.oxlintrc.json": "9504c20db80470c242c4ffe8cccad6951ed8141dfb5bf6503053e0b2712ab276",
1434
- "typescript/package-lisa/package.lisa.json": "735a823a03562129c24a109ecfc5022da0427f1f12dda51da40c2d0309a10819",
1444
+ "typescript/package-lisa/package.lisa.json": "9f5fdfe64b2371ae00543abb3925a3019983cc18d0730d496063f6f35556eb85",
1435
1445
  "ui/README.md": "7a67d7bdd49ff214ca204cc4e54ba70c37aa05fd6cc1e314fd9441a53eafc752",
1436
1446
  "ui/index.html": "3ca3e2ef53fa35ffee3d54b8eeaecd9a6a29a019a9db5b46184affd010b34f1d",
1437
1447
  });
@@ -1789,6 +1799,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1789
1799
  "bdd/features/lisa-ui-demo-data.feature": true,
1790
1800
  "bdd/features/lisa-ui-starter-settings.feature": true,
1791
1801
  "bdd/features/lisa-ui-starter-sync.feature": true,
1802
+ "bdd/reports/v1/features/bdd/features/lisa-ui-config-save.feature.json": true,
1803
+ "bdd/reports/v1/features/bdd/features/lisa-ui-demo-data.feature.json": true,
1804
+ "bdd/reports/v1/features/bdd/features/lisa-ui-starter-settings.feature.json": true,
1805
+ "bdd/reports/v1/features/bdd/features/lisa-ui-starter-sync.feature.json": true,
1792
1806
  "bun.lock": true,
1793
1807
  "cdk/copy-overwrite/.github/workflows/.keep": true,
1794
1808
  "cdk/copy-overwrite/eslint.cdk.ts": true,
@@ -1815,6 +1829,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1815
1829
  "docs/agentic-readiness-questionnaire.md": true,
1816
1830
  "docs/bdd-coverage-schema.md": true,
1817
1831
  "docs/bdd-scenario-matrix.md": true,
1832
+ "docs/bdd-scenario-matrix/bdd/features/lisa-ui-config-save.feature.md": true,
1833
+ "docs/bdd-scenario-matrix/bdd/features/lisa-ui-demo-data.feature.md": true,
1834
+ "docs/bdd-scenario-matrix/bdd/features/lisa-ui-starter-settings.feature.md": true,
1835
+ "docs/bdd-scenario-matrix/bdd/features/lisa-ui-starter-sync.feature.md": true,
1818
1836
  "docs/ci-efficiency.md": true,
1819
1837
  "docs/design/e2e-environment-reset-plan.md": true,
1820
1838
  "docs/design/e2e-wiring-contract.md": true,
@@ -1825,6 +1843,10 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1825
1843
  "docs/design/two-channel-delivery.md": true,
1826
1844
  "docs/design/uat-acceptance-verification-gate.md": true,
1827
1845
  "docs/e2e-bdd-coverage.md": true,
1846
+ "docs/e2e-bdd-coverage/bdd/features/lisa-ui-config-save.feature.md": true,
1847
+ "docs/e2e-bdd-coverage/bdd/features/lisa-ui-demo-data.feature.md": true,
1848
+ "docs/e2e-bdd-coverage/bdd/features/lisa-ui-starter-settings.feature.md": true,
1849
+ "docs/e2e-bdd-coverage/bdd/features/lisa-ui-starter-sync.feature.md": true,
1828
1850
  "docs/history-evidence.md": true,
1829
1851
  "docs/hook-refresh.md": true,
1830
1852
  "docs/kane-cli-integration.md": true,
@@ -1988,11 +2010,18 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1988
2010
  "expo/copy-overwrite/plugins/withAndroidSplashNoClientExit.js": true,
1989
2011
  "expo/copy-overwrite/scripts/bdd-matrix.mjs": true,
1990
2012
  "expo/copy-overwrite/scripts/bdd/baseline.mjs": true,
2013
+ "expo/copy-overwrite/scripts/bdd/ci-summary.mjs": true,
1991
2014
  "expo/copy-overwrite/scripts/bdd/contract.mjs": true,
1992
2015
  "expo/copy-overwrite/scripts/bdd/discover.mjs": true,
1993
2016
  "expo/copy-overwrite/scripts/bdd/envelope.mjs": true,
1994
2017
  "expo/copy-overwrite/scripts/bdd/markdown-cell.mjs": true,
1995
2018
  "expo/copy-overwrite/scripts/bdd/parse.mjs": true,
2019
+ "expo/copy-overwrite/scripts/bdd/projection-model.mjs": true,
2020
+ "expo/copy-overwrite/scripts/bdd/projection-ownership.mjs": true,
2021
+ "expo/copy-overwrite/scripts/bdd/projection-paths.mjs": true,
2022
+ "expo/copy-overwrite/scripts/bdd/projection-render.mjs": true,
2023
+ "expo/copy-overwrite/scripts/bdd/projection-write.mjs": true,
2024
+ "expo/copy-overwrite/scripts/bdd/projection.mjs": true,
1996
2025
  "expo/copy-overwrite/scripts/bdd/render.mjs": true,
1997
2026
  "expo/copy-overwrite/scripts/bdd/report.mjs": true,
1998
2027
  "expo/copy-overwrite/scripts/bdd/validate.mjs": true,
@@ -7685,6 +7714,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7685
7714
  "scripts/lib/reusable-workflow-contract.d.mts": true,
7686
7715
  "scripts/lib/reusable-workflow-contract.mjs": true,
7687
7716
  "scripts/lib/shell-guard-refusal-coverage.mjs": true,
7717
+ "scripts/lib/shell-guard-shard-runner.mjs": true,
7718
+ "scripts/lib/shell-guard-shards.mjs": true,
7719
+ "scripts/lib/shell-guard-terminal-reporter.mjs": true,
7688
7720
  "scripts/lib/shell-guard-trace.mjs": true,
7689
7721
  "scripts/lib/shipped-surface.mjs": true,
7690
7722
  "scripts/lib/upstream-manifest-staleness.mjs": true,
@@ -8402,10 +8434,17 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8402
8434
  "tests/fixtures/rails-helper-test-isolation/config/environment.rb": true,
8403
8435
  "tests/fixtures/rails-helper-test-isolation/rspec/rails.rb": true,
8404
8436
  "tests/fixtures/rails-helper-test-isolation/spec/spec_helper.rb": true,
8437
+ "tests/fixtures/shared-runtime-hosts/actions.ts": true,
8405
8438
  "tests/fixtures/shared-runtime-hosts/artifact.ts": true,
8406
8439
  "tests/fixtures/shared-runtime-hosts/assertions.ts": true,
8440
+ "tests/fixtures/shared-runtime-hosts/browser-seeds.ts": true,
8441
+ "tests/fixtures/shared-runtime-hosts/harper-seed.ts": true,
8407
8442
  "tests/fixtures/shared-runtime-hosts/host.ts": true,
8443
+ "tests/fixtures/shared-runtime-hosts/inherited-assertions.ts": true,
8444
+ "tests/fixtures/shared-runtime-hosts/inherited-journey.ts": true,
8445
+ "tests/fixtures/shared-runtime-hosts/inherited-seeds.ts": true,
8408
8446
  "tests/fixtures/shared-runtime-hosts/journey.ts": true,
8447
+ "tests/fixtures/shared-runtime-hosts/ownership.ts": true,
8409
8448
  "tests/fixtures/shared-runtime-hosts/process.ts": true,
8410
8449
  "tests/fixtures/state-contract/adopter/migrations/0001_initial.sql": true,
8411
8450
  "tests/fixtures/state-contract/adopter/state/inventory.json": true,
@@ -8745,6 +8784,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8745
8784
  "tests/integration/support/maestro-retry-types.ts": true,
8746
8785
  "tests/integration/support/maestro-retry-workflow.ts": true,
8747
8786
  "tests/integration/support/maestro-runner-arguments.ts": true,
8787
+ "tests/integration/support/npm-update-native-prepare.ts": true,
8748
8788
  "tests/integration/support/pre-tool-refusal-fixture.ts": true,
8749
8789
  "tests/integration/support/pre-tool-refusal-harness.ts": true,
8750
8790
  "tests/integration/support/rails-helper-fixture.ts": true,
@@ -8770,6 +8810,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8770
8810
  "tests/support/codex-compatibility-state.mjs": true,
8771
8811
  "tests/support/git-executable.ts": true,
8772
8812
  "tests/support/prune-fixtures.ts": true,
8813
+ "tests/support/qualified-host-bun.ts": true,
8814
+ "tests/support/qualified-updater-node.ts": true,
8773
8815
  "tests/support/work-item-cli.ts": true,
8774
8816
  "tests/unit/agy/block-direct-issue-create-structured-agy.test.ts": true,
8775
8817
  "tests/unit/agy/block-managed-file-edits-agy.test.ts": true,
@@ -9099,6 +9141,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
9099
9141
  "tests/unit/config/workspace-suite-collection.test.ts": true,
9100
9142
  "tests/unit/config/worktree-exclusion-anchoring.test.ts": true,
9101
9143
  "tests/unit/configs/ast-grep-language-reach.test.ts": true,
9144
+ "tests/unit/configs/expo-jest-pre-setup.test.ts": true,
9102
9145
  "tests/unit/configs/lighthouse-collect-config.test.ts": true,
9103
9146
  "tests/unit/configs/lighthouse-detail-budget.test.ts": true,
9104
9147
  "tests/unit/configs/lintstaged-matcher-ordering.test.ts": true,
@@ -9167,6 +9210,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
9167
9210
  "tests/unit/core/lisa-plugin-selection.test.ts": true,
9168
9211
  "tests/unit/core/lisa-release-pin.test.ts": true,
9169
9212
  "tests/unit/core/lisa-skill-sources.test.ts": true,
9213
+ "tests/unit/core/managed-nvmrc-adoption.test.ts": true,
9170
9214
  "tests/unit/core/nightly-e2e-pull-request-triggers.test.ts": true,
9171
9215
  "tests/unit/core/no-downstream-project-names.test.ts": true,
9172
9216
  "tests/unit/core/npm-advisory-governance-4333.test.ts": true,
@@ -9182,6 +9226,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
9182
9226
  "tests/unit/core/project-config-nightly-e2e-default.test.ts": true,
9183
9227
  "tests/unit/core/project-config-nightly-e2e.test.ts": true,
9184
9228
  "tests/unit/core/project-config.test.ts": true,
9229
+ "tests/unit/core/qualified-host-bun-capture.test.ts": true,
9230
+ "tests/unit/core/qualified-runtime-ci.test.ts": true,
9185
9231
  "tests/unit/core/rails-deploy-production-intent.test.ts": true,
9186
9232
  "tests/unit/core/retire-unmodified.test.ts": true,
9187
9233
  "tests/unit/core/reusable-workflow-deliberate-pin.test.ts": true,
@@ -9481,6 +9527,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
9481
9527
  "tests/unit/scripts/ast-grep-enforcement.test.ts": true,
9482
9528
  "tests/unit/scripts/automation-provenance.test.ts": true,
9483
9529
  "tests/unit/scripts/bdd-adoption.test.ts": true,
9530
+ "tests/unit/scripts/bdd-ci-summary.test.ts": true,
9484
9531
  "tests/unit/scripts/bdd-deploy-chain.test.ts": true,
9485
9532
  "tests/unit/scripts/bdd-discovery.test.ts": true,
9486
9533
  "tests/unit/scripts/bdd-envelope.test.ts": true,
@@ -9494,12 +9541,17 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
9494
9541
  "tests/unit/scripts/bdd-grammar.test.ts": true,
9495
9542
  "tests/unit/scripts/bdd-markdown-cell.test.ts": true,
9496
9543
  "tests/unit/scripts/bdd-nonregression.test.ts": true,
9544
+ "tests/unit/scripts/bdd-projection-merge.test.ts": true,
9545
+ "tests/unit/scripts/bdd-projection-safety.test.ts": true,
9497
9546
  "tests/unit/scripts/bdd-ratchet-removal.test.ts": true,
9498
9547
  "tests/unit/scripts/bdd-rename-hint.test.ts": true,
9499
9548
  "tests/unit/scripts/bdd-render.test.ts": true,
9500
9549
  "tests/unit/scripts/bdd-reporting.test.ts": true,
9501
9550
  "tests/unit/scripts/bdd-validation.test.ts": true,
9502
9551
  "tests/unit/scripts/bdd-wiring.test.ts": true,
9552
+ "tests/unit/scripts/bdd-writer-admission.test.ts": true,
9553
+ "tests/unit/scripts/bdd/projection-merge-support.ts": true,
9554
+ "tests/unit/scripts/bdd/projection-safety-support.ts": true,
9503
9555
  "tests/unit/scripts/bdd/regression-support.ts": true,
9504
9556
  "tests/unit/scripts/bdd/sources.ts": true,
9505
9557
  "tests/unit/scripts/bdd/support.ts": true,
@@ -9773,6 +9825,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
9773
9825
  "tests/unit/scripts/security-floors.test.ts": true,
9774
9826
  "tests/unit/scripts/setup-jira-cli-config.test.ts": true,
9775
9827
  "tests/unit/scripts/setup-jira-cli-project-dir.test.ts": true,
9828
+ "tests/unit/scripts/shell-guard-shards.test.ts": true,
9776
9829
  "tests/unit/scripts/shipped-surface.test.ts": true,
9777
9830
  "tests/unit/scripts/skipped-required-checks-cli.test.ts": true,
9778
9831
  "tests/unit/scripts/skipped-required-checks-containment.test.ts": true,
@@ -10260,6 +10313,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
10260
10313
  "tests/unit/workstation/fixtures.ts": true,
10261
10314
  "tests/unit/workstation/link-into-bin-dir.test.ts": true,
10262
10315
  "tests/unit/workstation/workstation-install.test.ts": true,
10316
+ "tests/unit/workstation/workstation-locate-native.test.ts": true,
10263
10317
  "tests/unit/workstation/workstation-plan.test.ts": true,
10264
10318
  "transcripts/.gitkeep": true,
10265
10319
  "tsconfig.eslint.json": true,