@codyswann/lisa 4.32.2 → 4.33.0

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 (208) hide show
  1. package/all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs +94 -6
  2. package/all/copy-overwrite/scripts/lisa-gates.mjs +259 -5
  3. package/all/copy-overwrite/scripts/lisa-run-gates.mjs +20 -39
  4. package/all/merge/.claude/settings.json +1 -3
  5. package/cdk/merge/.claude/settings.json +1 -1
  6. package/dist/cli/doctor-declared-contexts.d.ts +1 -1
  7. package/dist/cli/doctor-declared-contexts.d.ts.map +1 -1
  8. package/dist/cli/doctor-declared-contexts.js +48 -7
  9. package/dist/cli/doctor-declared-contexts.js.map +1 -1
  10. package/dist/cli/gate-report-drift-section.d.ts.map +1 -1
  11. package/dist/cli/gate-report-drift-section.js +2 -0
  12. package/dist/cli/gate-report-drift-section.js.map +1 -1
  13. package/dist/configs/vitest/base.d.ts +81 -0
  14. package/dist/configs/vitest/base.d.ts.map +1 -1
  15. package/dist/configs/vitest/base.js +106 -0
  16. package/dist/configs/vitest/base.js.map +1 -1
  17. package/dist/configs/vitest/cdk.d.ts +2 -2
  18. package/dist/configs/vitest/cdk.d.ts.map +1 -1
  19. package/dist/configs/vitest/cdk.js +4 -2
  20. package/dist/configs/vitest/cdk.js.map +1 -1
  21. package/dist/configs/vitest/harper-fabric.d.ts +2 -2
  22. package/dist/configs/vitest/harper-fabric.d.ts.map +1 -1
  23. package/dist/configs/vitest/harper-fabric.js +4 -2
  24. package/dist/configs/vitest/harper-fabric.js.map +1 -1
  25. package/dist/configs/vitest/nestjs.d.ts +2 -2
  26. package/dist/configs/vitest/nestjs.d.ts.map +1 -1
  27. package/dist/configs/vitest/nestjs.js +4 -2
  28. package/dist/configs/vitest/nestjs.js.map +1 -1
  29. package/dist/configs/vitest/phaser.d.ts +2 -2
  30. package/dist/configs/vitest/phaser.d.ts.map +1 -1
  31. package/dist/configs/vitest/phaser.js +4 -2
  32. package/dist/configs/vitest/phaser.js.map +1 -1
  33. package/dist/configs/vitest/typescript.d.ts +2 -2
  34. package/dist/configs/vitest/typescript.d.ts.map +1 -1
  35. package/dist/configs/vitest/typescript.js +4 -2
  36. package/dist/configs/vitest/typescript.js.map +1 -1
  37. package/dist/core/gate-context-owners.d.ts +18 -0
  38. package/dist/core/gate-context-owners.d.ts.map +1 -1
  39. package/dist/core/gate-context-owners.js +7 -0
  40. package/dist/core/gate-context-owners.js.map +1 -1
  41. package/dist/core/gate-declaration-drift.d.ts +37 -0
  42. package/dist/core/gate-declaration-drift.d.ts.map +1 -1
  43. package/dist/core/gate-declaration-drift.js +100 -26
  44. package/dist/core/gate-declaration-drift.js.map +1 -1
  45. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  46. package/dist/core/lisa-owned-hash-ledger.js +6 -0
  47. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  48. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  49. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  50. package/dist/core/upstream-evidence-manifest.js +47 -29
  51. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  52. package/dist/health/declared-checks-inspection.d.ts.map +1 -1
  53. package/dist/health/declared-checks-inspection.js +23 -7
  54. package/dist/health/declared-checks-inspection.js.map +1 -1
  55. package/dist/migrations/index.d.ts +1 -0
  56. package/dist/migrations/index.d.ts.map +1 -1
  57. package/dist/migrations/index.js +3 -0
  58. package/dist/migrations/index.js.map +1 -1
  59. package/dist/migrations/prune-retired-claude-deny-rules.d.ts +39 -0
  60. package/dist/migrations/prune-retired-claude-deny-rules.d.ts.map +1 -0
  61. package/dist/migrations/prune-retired-claude-deny-rules.js +152 -0
  62. package/dist/migrations/prune-retired-claude-deny-rules.js.map +1 -0
  63. package/expo/merge/.claude/settings.json +1 -1
  64. package/harper-fabric/merge/.claude/settings.json +1 -1
  65. package/nestjs/merge/.claude/settings.json +1 -1
  66. package/package.json +4 -4
  67. package/phaser/merge/.claude/settings.json +1 -1
  68. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  70. package/plugins/lisa/.codex-plugin/skills/lisa-github-add-journey/SKILL.md +1 -0
  71. package/plugins/lisa/.codex-plugin/skills/lisa-github-validate-issue/SKILL.md +28 -1
  72. package/plugins/lisa/.codex-plugin/skills/lisa-implement/SKILL.md +1 -0
  73. package/plugins/lisa/.codex-plugin/skills/lisa-jira-add-journey/SKILL.md +1 -0
  74. package/plugins/lisa/.codex-plugin/skills/lisa-jira-validate-ticket/SKILL.md +28 -1
  75. package/plugins/lisa/.codex-plugin/skills/lisa-linear-add-journey/SKILL.md +1 -0
  76. package/plugins/lisa/.codex-plugin/skills/lisa-linear-validate-issue/SKILL.md +27 -0
  77. package/plugins/lisa/.codex-plugin/skills/lisa-reproduce-bug/SKILL.md +8 -0
  78. package/plugins/lisa/.codex-plugin/skills/lisa-tdd-implementation/SKILL.md +1 -0
  79. package/plugins/lisa/.codex-plugin/skills/lisa-ticket-triage/SKILL.md +8 -0
  80. package/plugins/lisa/hooks/inject-resolved-config.mjs +12 -4
  81. package/plugins/lisa/hooks/inject-resolved-config.sh +39 -8
  82. package/plugins/lisa/rules/eager/control-reachability.md +39 -0
  83. package/plugins/lisa/rules/eager/falsifiable-checks.md +2 -0
  84. package/plugins/lisa/rules/eager/work-item-definition-of-ready.md +1 -1
  85. package/plugins/lisa/rules/reference/control-reachability.md +122 -0
  86. package/plugins/lisa/rules/reference/falsifiable-checks.md +2 -0
  87. package/plugins/lisa/skills/lisa-github-add-journey/SKILL.md +1 -0
  88. package/plugins/lisa/skills/lisa-github-validate-issue/SKILL.md +28 -1
  89. package/plugins/lisa/skills/lisa-implement/SKILL.md +1 -0
  90. package/plugins/lisa/skills/lisa-jira-add-journey/SKILL.md +1 -0
  91. package/plugins/lisa/skills/lisa-jira-validate-ticket/SKILL.md +28 -1
  92. package/plugins/lisa/skills/lisa-linear-add-journey/SKILL.md +1 -0
  93. package/plugins/lisa/skills/lisa-linear-validate-issue/SKILL.md +27 -0
  94. package/plugins/lisa/skills/lisa-reproduce-bug/SKILL.md +8 -0
  95. package/plugins/lisa/skills/lisa-tdd-implementation/SKILL.md +1 -0
  96. package/plugins/lisa/skills/lisa-ticket-triage/SKILL.md +8 -0
  97. package/plugins/lisa-agy/plugin.json +1 -1
  98. package/plugins/lisa-agy/skills/lisa-github-add-journey/SKILL.md +1 -0
  99. package/plugins/lisa-agy/skills/lisa-github-validate-issue/SKILL.md +28 -1
  100. package/plugins/lisa-agy/skills/lisa-implement/SKILL.md +1 -0
  101. package/plugins/lisa-agy/skills/lisa-jira-add-journey/SKILL.md +1 -0
  102. package/plugins/lisa-agy/skills/lisa-jira-validate-ticket/SKILL.md +28 -1
  103. package/plugins/lisa-agy/skills/lisa-linear-add-journey/SKILL.md +1 -0
  104. package/plugins/lisa-agy/skills/lisa-linear-validate-issue/SKILL.md +27 -0
  105. package/plugins/lisa-agy/skills/lisa-reproduce-bug/SKILL.md +8 -0
  106. package/plugins/lisa-agy/skills/lisa-tdd-implementation/SKILL.md +1 -0
  107. package/plugins/lisa-agy/skills/lisa-ticket-triage/SKILL.md +8 -0
  108. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  110. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  111. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  112. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  113. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-copilot/hooks/inject-resolved-config.mjs +12 -4
  115. package/plugins/lisa-copilot/hooks/inject-resolved-config.sh +39 -8
  116. package/plugins/lisa-copilot/rules/eager/control-reachability.md +39 -0
  117. package/plugins/lisa-copilot/rules/eager/falsifiable-checks.md +2 -0
  118. package/plugins/lisa-copilot/rules/eager/work-item-definition-of-ready.md +1 -1
  119. package/plugins/lisa-copilot/rules/reference/control-reachability.md +122 -0
  120. package/plugins/lisa-copilot/rules/reference/falsifiable-checks.md +2 -0
  121. package/plugins/lisa-copilot/skills/lisa-github-add-journey/SKILL.md +1 -0
  122. package/plugins/lisa-copilot/skills/lisa-github-validate-issue/SKILL.md +28 -1
  123. package/plugins/lisa-copilot/skills/lisa-implement/SKILL.md +1 -0
  124. package/plugins/lisa-copilot/skills/lisa-jira-add-journey/SKILL.md +1 -0
  125. package/plugins/lisa-copilot/skills/lisa-jira-validate-ticket/SKILL.md +28 -1
  126. package/plugins/lisa-copilot/skills/lisa-linear-add-journey/SKILL.md +1 -0
  127. package/plugins/lisa-copilot/skills/lisa-linear-validate-issue/SKILL.md +27 -0
  128. package/plugins/lisa-copilot/skills/lisa-reproduce-bug/SKILL.md +8 -0
  129. package/plugins/lisa-copilot/skills/lisa-tdd-implementation/SKILL.md +1 -0
  130. package/plugins/lisa-copilot/skills/lisa-ticket-triage/SKILL.md +8 -0
  131. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  132. package/plugins/lisa-cursor/hooks/inject-resolved-config.mjs +12 -4
  133. package/plugins/lisa-cursor/hooks/inject-resolved-config.sh +39 -8
  134. package/plugins/lisa-cursor/rules/control-reachability-reference.mdc +127 -0
  135. package/plugins/lisa-cursor/rules/control-reachability.mdc +44 -0
  136. package/plugins/lisa-cursor/rules/falsifiable-checks-reference.mdc +2 -0
  137. package/plugins/lisa-cursor/rules/falsifiable-checks.mdc +2 -0
  138. package/plugins/lisa-cursor/rules/work-item-definition-of-ready.mdc +1 -1
  139. package/plugins/lisa-cursor/skills/lisa-github-add-journey/SKILL.md +1 -0
  140. package/plugins/lisa-cursor/skills/lisa-github-validate-issue/SKILL.md +28 -1
  141. package/plugins/lisa-cursor/skills/lisa-implement/SKILL.md +1 -0
  142. package/plugins/lisa-cursor/skills/lisa-jira-add-journey/SKILL.md +1 -0
  143. package/plugins/lisa-cursor/skills/lisa-jira-validate-ticket/SKILL.md +28 -1
  144. package/plugins/lisa-cursor/skills/lisa-linear-add-journey/SKILL.md +1 -0
  145. package/plugins/lisa-cursor/skills/lisa-linear-validate-issue/SKILL.md +27 -0
  146. package/plugins/lisa-cursor/skills/lisa-reproduce-bug/SKILL.md +8 -0
  147. package/plugins/lisa-cursor/skills/lisa-tdd-implementation/SKILL.md +1 -0
  148. package/plugins/lisa-cursor/skills/lisa-ticket-triage/SKILL.md +8 -0
  149. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  150. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  151. package/plugins/lisa-expo-agy/plugin.json +1 -1
  152. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  153. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  154. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  155. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  156. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  157. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  158. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  159. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  160. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  161. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  162. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  163. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  164. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  165. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  166. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  167. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  168. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  169. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  170. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  171. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  172. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  173. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  174. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  175. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  176. package/plugins/lisa-rails-agy/plugin.json +1 -1
  177. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  178. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  179. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  180. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  181. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  182. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  183. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  184. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  185. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  186. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  187. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  188. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  189. package/plugins/src/base/hooks/inject-resolved-config.mjs +12 -4
  190. package/plugins/src/base/hooks/inject-resolved-config.sh +39 -8
  191. package/plugins/src/base/rules/eager/control-reachability.md +39 -0
  192. package/plugins/src/base/rules/eager/falsifiable-checks.md +2 -0
  193. package/plugins/src/base/rules/eager/work-item-definition-of-ready.md +1 -1
  194. package/plugins/src/base/rules/reference/control-reachability.md +122 -0
  195. package/plugins/src/base/rules/reference/falsifiable-checks.md +2 -0
  196. package/plugins/src/base/skills/lisa-github-add-journey/SKILL.md +1 -0
  197. package/plugins/src/base/skills/lisa-github-validate-issue/SKILL.md +28 -1
  198. package/plugins/src/base/skills/lisa-implement/SKILL.md +1 -0
  199. package/plugins/src/base/skills/lisa-jira-add-journey/SKILL.md +1 -0
  200. package/plugins/src/base/skills/lisa-jira-validate-ticket/SKILL.md +28 -1
  201. package/plugins/src/base/skills/lisa-linear-add-journey/SKILL.md +1 -0
  202. package/plugins/src/base/skills/lisa-linear-validate-issue/SKILL.md +27 -0
  203. package/plugins/src/base/skills/lisa-reproduce-bug/SKILL.md +8 -0
  204. package/plugins/src/base/skills/lisa-tdd-implementation/SKILL.md +1 -0
  205. package/plugins/src/base/skills/lisa-ticket-triage/SKILL.md +8 -0
  206. package/rails/merge/.claude/settings.json +1 -1
  207. package/scripts/two-channel-couplings.json +1 -1
  208. package/typescript/merge/.claude/settings.json +1 -1
@@ -9,7 +9,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
9
9
  "all/copy-overwrite/scripts/check-state-classification.mjs": "a72910f9885629dd6d8a739b900f5603e4b53d68ece64100a2a5647016b58e1e",
10
10
  "all/copy-overwrite/scripts/check-third-party-review-evidence.mjs": "95f91f2a74ed4e523d064d5d374eadd1c1114f03a3a4fa41532c9b0fd32089de",
11
11
  "all/copy-overwrite/scripts/lib/bounded-spawn.mjs": "72e277ada531914d7bc51c3cb8dc67b8881aa817d96fa2f9f4d81668a3d3bbc1",
12
- "all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs": "d0ec5b439c3c5118d95c813322593d68fefc395e687a8e203f776662896621fe",
12
+ "all/copy-overwrite/scripts/lib/gate-failure-diagnosis.mjs": "7ffcd3f6a0595ae26c697bb0f77044b8a100200985774ad7059ebc3dc2e6bedd",
13
13
  "all/copy-overwrite/scripts/lib/invoked-as-script.mjs": "fbb9b88fc85a3e22f21af39e1c17acf67ff83fc6b5a6cdc8081bde333c48faa7",
14
14
  "all/copy-overwrite/scripts/lib/placeholder-expiry.mjs": "101e8e230618aa817c88534c3b22d069afa5d30fc8e742a681af2f5edff6f1af",
15
15
  "all/copy-overwrite/scripts/lib/process-tree-runner.mjs": "617641b2f5c06ad57e23cb97b2908e4db835acf103d11c07e6e3b7c0a438b885",
@@ -19,7 +19,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
19
19
  "all/copy-overwrite/scripts/lisa-enforcement-fallback.sh": "f1af05100c22592bc4746a1cc74dcaea0782ddc3c44a653c6a33c84785e62e0d",
20
20
  "all/copy-overwrite/scripts/lisa-environment-prepare.mjs": "d8b46b3a773c0dc7c6cfc55584c3a7a06dd9c83a21599faa3786fca368e443ee",
21
21
  "all/copy-overwrite/scripts/lisa-floor-collisions.mjs": "345832c63c85df32acbed9b183b06239fc10ccb1491bd11607b5840ac1d18573",
22
- "all/copy-overwrite/scripts/lisa-gates.mjs": "08a66b2ca128d38735810786fb2be73ed5c6dd71560992ff95ad0a2170428d90",
22
+ "all/copy-overwrite/scripts/lisa-gates.mjs": "e79015d5bd978be6a99506832551c8cab71515d32a68b14bf83457deb3327417",
23
23
  "all/copy-overwrite/scripts/lisa-hooks/block-direct-issue-create.sh": "1b28c764662b60ab3fe4e689f44e34cd4ecb80aef952dbbb954cc1ddaacd132d",
24
24
  "all/copy-overwrite/scripts/lisa-hooks/block-instruction-file-edits.sh": "3e709e1ec8a5843c00684bc477ad32ddab2c5fdb11f71d5aeec0c49609eaf025",
25
25
  "all/copy-overwrite/scripts/lisa-hooks/block-managed-file-edits.sh": "d3ef2562b718156912f0877f8a0668026f5966fcca43eb9e064aa57a4e9a4976",
@@ -31,7 +31,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
31
31
  "all/copy-overwrite/scripts/lisa-lint-staged-preflight.mjs": "ce4bc224a102e3ac2bc29d8f2038eefd619129d4639c25954c93f05011f7f977",
32
32
  "all/copy-overwrite/scripts/lisa-postinstall.mjs": "f16196413b0050a805327f9d6d7b55913f9df70c8be4b8805bb9267e9abb4abf",
33
33
  "all/copy-overwrite/scripts/lisa-reconcile-policy.mjs": "adbf8dccc221ec83641f1f5358ccafc9ec70a4ea6372ae6ad874603d767d693d",
34
- "all/copy-overwrite/scripts/lisa-run-gates.mjs": "134eb1be501049cdd12165e95c8b41c449ee7df4456d4b19ba1d0f6ec6f529a5",
34
+ "all/copy-overwrite/scripts/lisa-run-gates.mjs": "3af4be8de1763d04042cdccd33aab4d82b8c6e5fb2de97efe56ba9049a70feca",
35
35
  "all/copy-overwrite/scripts/lisa-schema-validate.mjs": "f70ecd3712dd2ca77a8851c7505ce79f948a57e5a2e28f56c5d0ccd047712688",
36
36
  "all/copy-overwrite/scripts/lisa-test-node.mjs": "31b338144af00e20e3de02202982846d7333433a9bbda76a8c77d50e6fdbc47b",
37
37
  "all/copy-overwrite/scripts/lisa-work-item.mjs": "653252b0bbfd19bdffa046a2173c053e566ac6bf605c8d9060f9cf71ad7386de",
@@ -47,7 +47,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
47
47
  "all/deletions.json": "31af98085a56dd96d34d4b3cb42956e068fb492df7b1dd781987408c1b4b2ea3",
48
48
  "all/github-rulesets/prevent-delete.json": "e4fb26390a8bfee34b27be5b369f376a1a9a00b797fd8d3ce51cb71facb826a4",
49
49
  "all/github-rulesets/protect-tags.json": "387f824e3ea58a803223e42e08326504a39e6a7a0c650a0bbfdfb4653854b722",
50
- "all/merge/.claude/settings.json": "c3ea6760913c0104350f731646fc5abd22122ce0a303c95536e7769f12294654",
50
+ "all/merge/.claude/settings.json": "76b8d2476c4226a29b769744c4ed48f5e24412b70c73e43ebb39518b0b5842d7",
51
51
  "cdk/copy-overwrite/.github/workflows/.keep": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
52
52
  "cdk/copy-overwrite/eslint.cdk.ts": "5b6f329449a492cf6264b4db6a9bfea60e93458be25a83785cfd3ac0df62e578",
53
53
  "cdk/copy-overwrite/eslint.config.ts": "1d7c8d9d3c2dd68ed418175b9e0da9c5029ebaa887b1dc8dd7aa37d91b99314d",
@@ -66,7 +66,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
66
66
  "cdk/create-only/vitest.config.local.ts": "9f8cb94b96dd5d2c4daa39748efc8be8e222374f3c6f4e2eb2c7f69d8532cfd7",
67
67
  "cdk/create-only/vitest.thresholds.json": "ce04fe30ad6139f734dbc56d92a801c11cfd86a0d9e49c06c1c2d0a137beeffd",
68
68
  "cdk/deletions.json": "b1d07e463f52deaa5f9958060de40d369f4f256b898563efb83911abf39a62a5",
69
- "cdk/merge/.claude/settings.json": "6f938fdc9c808ee4dda9d605815788dda384197065aac6793c7549d8811a6224",
69
+ "cdk/merge/.claude/settings.json": "bc5eecf114d94f4894f8781e15248930d4a8009dce6431ec44e54cc5ee947300",
70
70
  "cdk/merge/.oxlintrc.json": "f7d248cf8a89561374d7e68e24aa780f4a6a523938475ad685f034ce0194d75c",
71
71
  "cdk/package-lisa/package.lisa.json": "13015b1a75fc15ef3673202084c7d5a72366ff17982674ff10c5ab394f61963d",
72
72
  "eslint-plugin-code-organization/README.md": "e70c9e262ce3a97e1f9fe1897ffa71e3d1b124f10486b90ead5d4a5252977826",
@@ -157,7 +157,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
157
157
  "expo/deletions.json": "ddf6330d4f5d961c55e908efcc5d71c4c78410525018b096702b9a53906b946e",
158
158
  "expo/github-rulesets/bdd-coverage.json": "e97e53f48abc255a1a200c63fcea0cf2353b795248d126155041347908815386",
159
159
  "expo/github-rulesets/nightly-e2e-health.json": "af9556f52bbb04d303f557eb178d876d82348d15a991729b8a96fb1f06d5b03a",
160
- "expo/merge/.claude/settings.json": "e97b33d7ad86b71abba94ab957d725e34c3cafca455e92fba0b29ebabc3b73d1",
160
+ "expo/merge/.claude/settings.json": "88dead1b9146e016fb2b2e63b7234d6adf94a3b3e5e30b98214e5660a219f737",
161
161
  "expo/merge/.oxlintrc.json": "95b3069256c0040be0ef1a5adae46d14687ad56fb18f473a653ba2de45d106bb",
162
162
  "expo/package-lisa/package.lisa.json": "4ed407457ad644f74cb74e238e5cae6c298cbb5985f45a33cdab25193a3317ff",
163
163
  "harper-fabric/copy-contents/.prettierignore": "478c782f4c5611187e21584dfd5522e37fc636c5eb03394fea3db45321c6712c",
@@ -177,7 +177,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
177
177
  "harper-fabric/create-only/.zap/baseline.conf": "68aae4b1b9b5b7253b5aeb792d72b58f64e5eda1dcf8f3062bd9d77494a5a22f",
178
178
  "harper-fabric/create-only/scripts/zap-baseline.sh": "00f5a2bdf6c9ecf0d7a1c74ec629364b09bab1f79c4ea71779826288702d76aa",
179
179
  "harper-fabric/deletions.json": "383e5a6e1f8c77376b7e20f936543418204a1c632212d1fd393962e03cf40c52",
180
- "harper-fabric/merge/.claude/settings.json": "278c48f1af3a6aa23b7f5dcf55aa0d2737baf809942b1d4ef6831cdfc144581a",
180
+ "harper-fabric/merge/.claude/settings.json": "3368043731215c6e2f107f1599eff1c90abc70d09a1d798f4ed79a280c4f3ffb",
181
181
  "harper-fabric/merge/.oxlintrc.json": "b41ea588eed47e0f1532aab5f6226b82586269b84edd1947bdde603e0a8513fa",
182
182
  "harper-fabric/package-lisa/package.lisa.json": "6692125830e71cbc9d7208532aca69d7b06de55bfacb5d7ab5dde46985dd4e1e",
183
183
  "nestjs/copy-overwrite/eslint.config.ts": "300895743cd8e3041f164902e1c8e509d8ef07474848a70621ac354d73595477",
@@ -221,7 +221,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
221
221
  "nestjs/create-only/vitest.config.local.ts": "9f8cb94b96dd5d2c4daa39748efc8be8e222374f3c6f4e2eb2c7f69d8532cfd7",
222
222
  "nestjs/create-only/vitest.thresholds.json": "ce04fe30ad6139f734dbc56d92a801c11cfd86a0d9e49c06c1c2d0a137beeffd",
223
223
  "nestjs/deletions.json": "037a64f96b76670326bc61921f4484e864e02c09786adabbd1cfdf886183cad5",
224
- "nestjs/merge/.claude/settings.json": "d0ce50361a1f3868d15728646e66b9e1cdb8373688eb22459adbdb176e342aca",
224
+ "nestjs/merge/.claude/settings.json": "28b1221fa0d18657af1b89392a1854c77777889f27c82162a9c37b79c81be5f8",
225
225
  "nestjs/merge/.oxlintrc.json": "1de29d135744df0258e8659ee0b684acf84e687bbefade51db0576813e6ff097",
226
226
  "nestjs/package-lisa/package.lisa.json": "4b651dbd8be238a11bdac24c45d1f075b1ac20dcd82424abb8e36d7b432f7308",
227
227
  "npm-package/create-only/.github/workflows/publish-to-npm.yml": "7df9742b02181426e46009bdef7db297f67f12ee0db0286de53d905fc857f601",
@@ -250,7 +250,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
250
250
  "phaser/create-only/tsconfig.local.json": "aec26141fe80709ab19fbfb5dda945e59f8f9d718d5cfcb023ad48f0eead88f5",
251
251
  "phaser/create-only/wiki/lisa-wiki.config.json": "d4e92ffad7f4f3a9ebae39f7e4bd2c4f5df21039767558193c562077084b0db6",
252
252
  "phaser/deletions.json": "383e5a6e1f8c77376b7e20f936543418204a1c632212d1fd393962e03cf40c52",
253
- "phaser/merge/.claude/settings.json": "296b8d5e3c197cd4526a99454aee1dc7f5ce9a25a729a957f392b71be3e8cfb6",
253
+ "phaser/merge/.claude/settings.json": "67214a76e1902a8a04a58eb938dba9eb8de39b55fda9f748eb9e7c4bbd31da99",
254
254
  "phaser/merge/.oxlintrc.json": "02c0d70e6e07bc0e981f94a1e2ccd01a2c295c4c66e8b8ea9b2f363d44fa5c06",
255
255
  "phaser/package-lisa/package.lisa.json": "4d4246e2e1da2d49a0ef6f73000cd87cd04df080ccd276acfba6e90bf12a8b80",
256
256
  "plugins/src/base/agents/architecture-specialist.md": "076feb3a09ef056628bc33242f93278ce6b00f55878984a18a9337d326b5e1d4",
@@ -371,8 +371,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
371
371
  "plugins/src/base/hooks/failure-signature-index.mjs": "06cf3f7d917a793f283ced2997d3b9dade47f33d40904ca6914b9879313ab7df",
372
372
  "plugins/src/base/hooks/failure-signature-index.sh": "08ed520f59cf97056c3d17bc342e1a4d24802e8d460d77b546017c15a4ba2c55",
373
373
  "plugins/src/base/hooks/inject-flow-context.sh": "f4ab07065762d592c0fc36be2e4918e767b293aaa4094b9d85d69010576c6dbf",
374
- "plugins/src/base/hooks/inject-resolved-config.mjs": "37da70da99a520d6da64de2e4089acfe12881023783757b5d91739940491d868",
375
- "plugins/src/base/hooks/inject-resolved-config.sh": "9b96aee8a083f87d24e32de310dca645a0a9bc8b198a46ddcab3fda92fbc44f3",
374
+ "plugins/src/base/hooks/inject-resolved-config.mjs": "c00cc0a3b259c861b33b663158729209e4f3e1a4a33fa944190e929fa271b352",
375
+ "plugins/src/base/hooks/inject-resolved-config.sh": "bc73e118afff35f455241647c24da6e23caaf30d189eb6d3a48814e9a8309613",
376
376
  "plugins/src/base/hooks/inject-rules.sh": "89a3780250e21aefa0eb83235523835ec0f83b25807b1ccc21f7a397a0459842",
377
377
  "plugins/src/base/hooks/install-pkgs.sh": "e9a13faba849a277410dde911ab102ee6f88ef915b33571bb1d4eef904172db5",
378
378
  "plugins/src/base/hooks/parity-safety-net-heredoc.py": "f21b1232ac82bd0e42d2ba43c68f4cc4546334fc885ba31747881f427097ef78",
@@ -396,6 +396,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
396
396
  "plugins/src/base/rules/eager/claim-time-guards.md": "63f3644def406efef864f58f2b0caa1354341650b12cadb8064141cecffca40c",
397
397
  "plugins/src/base/rules/eager/coding-philosophy.md": "cf2c52032e0368d81f17f002fed5c957ab350d01fc4a43f66b5f366516bac54a",
398
398
  "plugins/src/base/rules/eager/config-resolution.md": "143ddcec8d550f841d8c11a29be8e096d5f5acbbd42f4cf7d9f2416f00e2285f",
399
+ "plugins/src/base/rules/eager/control-reachability.md": "d0ab078dfa93e386fb1734a0fe1baefb7cb8efc4cd71d31b90e09412ae0e5c5f",
399
400
  "plugins/src/base/rules/eager/convergent-review.md": "ba4ba53863ef99be353c07c01195fa4ae2923ef2b2a5ad4427072802c260d208",
400
401
  "plugins/src/base/rules/eager/credential-substrate-precedence.md": "f6013bc428294e6a1e3321e656dc74ad9ec44236b4e5d46d799c3467da1688bf",
401
402
  "plugins/src/base/rules/eager/dependency-decision-records.md": "e22888f107906992e863fca50f26c2c4b124da7132535cacfac71e4f3085728f",
@@ -408,7 +409,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
408
409
  "plugins/src/base/rules/eager/documentation-source-paths.md": "3a7c2a6264654a3cc44dd326441ba211a39c1c267033cc189c1c635adb84b52b",
409
410
  "plugins/src/base/rules/eager/empirical-inquiry.md": "67aa64ba3ecc4f3cd761111d2562662e0a2acf7892703b14ec83f7f7b073e670",
410
411
  "plugins/src/base/rules/eager/factory-model.md": "dee39b4276926ee27a2614bf26b985fd33bb3d115313fa6e2893de12da13ed7c",
411
- "plugins/src/base/rules/eager/falsifiable-checks.md": "0ffbd0ee8d699bd55aebfcc9fff560b32f6b09f7b5ab6378270c7e1d21b9c4c3",
412
+ "plugins/src/base/rules/eager/falsifiable-checks.md": "8bf1a2b02cd1c44674ba3a131fa42f115ba693d66402264a3a365fdfaf656d1f",
412
413
  "plugins/src/base/rules/eager/history-audit.md": "e2365e3fb28230c643e943d26688a93906afa68e3e1355d3e86d4b22ab3db559",
413
414
  "plugins/src/base/rules/eager/integration-access-layer.md": "e5675ec414d0dcfbbf7a29912f39ea5fb02747aa4e6045493e636cba1e635eb7",
414
415
  "plugins/src/base/rules/eager/intent-routing.md": "a2ef2397a98fb3d991fcfb39b669e289c1e2b697191cbeb6c071d71eca836207",
@@ -438,7 +439,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
438
439
  "plugins/src/base/rules/eager/usage-accounting.md": "b93fa782d61911579b25363e465bb1f4e9b7e4edb54465a346d52f74dffe5a97",
439
440
  "plugins/src/base/rules/eager/verification.md": "a6cc1d50c5b91080171490edce4d375f136a14790dcbb247ca8b736ad8f55cfd",
440
441
  "plugins/src/base/rules/eager/wiki-knowledge-source.md": "b3ae63fca40461fef19779d8f0c971553963ed8fe9c22fc504da3d8e757b3a36",
441
- "plugins/src/base/rules/eager/work-item-definition-of-ready.md": "4285953f749aabee90dd44d7bff7e28a50e0a8c910917a96ebf81abfa425d836",
442
+ "plugins/src/base/rules/eager/work-item-definition-of-ready.md": "9d9d800cba5420176705df9fae2aec0cfad81d7e6d2c306aea2f7a498eaa10a3",
442
443
  "plugins/src/base/rules/reference/automation-runbook-contract.md": "427be7bddf9a581dbb1c1fdbe07c02d4a1ff4ec96f4d91f409651b6ac4ff8a45",
443
444
  "plugins/src/base/rules/reference/base-rules.md": "938173f9e048a0f8e09bd825d97f2e3a3e97f03fc99037fcdae47a9bfa99f307",
444
445
  "plugins/src/base/rules/reference/bdd-e2e-coverage.md": "ba8ec8f40ecd2788d3293d424d74f0a73dd0a8b39c375c3c20dc95f40c0e9559",
@@ -447,6 +448,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
447
448
  "plugins/src/base/rules/reference/claim-time-guards.md": "50abda40a427d14560b401d32ff6b28e458298649e1ba48330105945b4128ed7",
448
449
  "plugins/src/base/rules/reference/coding-philosophy.md": "fed8381f16a5d6793a49d84d5813d62125808cb2f4981a558b119cf63e2586d9",
449
450
  "plugins/src/base/rules/reference/config-resolution.md": "4b1976e73c228d7659eb43ff08289b3c053edf34db66fc2149312694ede64bb9",
451
+ "plugins/src/base/rules/reference/control-reachability.md": "10ebbe71e9024ff79991dfbd6713614c144f5f4f895ebf7839ada2fe7704b503",
450
452
  "plugins/src/base/rules/reference/convergent-review.md": "788a9d4dc2af7a928c3ccbb4d53a92856bb3544941ce512cfe38068d6b35850d",
451
453
  "plugins/src/base/rules/reference/credential-substrate-precedence.md": "2ae7833b6a0d8416d78946e5bc480384002ec71bdf9dd6b10aded9186ddddf43",
452
454
  "plugins/src/base/rules/reference/dependency-decision-records.md": "84f9fb8fa0a606307e828ec355ccbf2258beeeb88795dd113abe9bb2c37db39f",
@@ -459,7 +461,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
459
461
  "plugins/src/base/rules/reference/documentation-source-paths.md": "555155889c9cf279865b9d8fc554bdd461c96a3ec76a5001dfeb361a71056999",
460
462
  "plugins/src/base/rules/reference/empirical-inquiry.md": "8cb166ab9eff4eb30287822a4d7843f76884d70d683d7c61d6a7ffd4ff9f7159",
461
463
  "plugins/src/base/rules/reference/factory-model.md": "b28a2ea4df7c33390111667a2807d9003cf8c9a14829f6fb0dbc929b05bfed3a",
462
- "plugins/src/base/rules/reference/falsifiable-checks.md": "4a54264fcbdca01beac7412e68de005b8aabedae266b2266a2940190c0e35f5b",
464
+ "plugins/src/base/rules/reference/falsifiable-checks.md": "19ee97221ed90485cf90f766c1fac71d6f281e4a6c71752b6704d566c3738e67",
463
465
  "plugins/src/base/rules/reference/history-audit.md": "20a46390f71fadda499c61193d430c3d53df49b55a4cefa50a112f82fa4b05ef",
464
466
  "plugins/src/base/rules/reference/integration-access-layer.md": "c5fc07f5f46ba1f99403b6e4fd5603d153411a9bb1838bea320b26a5bd5273d6",
465
467
  "plugins/src/base/rules/reference/intent-routing.md": "988f8f45b41056c2adaa1a3e5f6ea926ac56a2fd041c07f98a9c2b271050efdd",
@@ -553,7 +555,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
553
555
  "plugins/src/base/skills/lisa-git-commit/SKILL.md": "56320566e9278fb43b4d51c00854f3714dc61edc960292d51962a6f49116ac0f",
554
556
  "plugins/src/base/skills/lisa-git-prune/SKILL.md": "11fad06d109538f1a8ee4ef8043bb0e083672e3c9a7cb7ae8a7233c5411d6dd2",
555
557
  "plugins/src/base/skills/lisa-git-submit-pr/SKILL.md": "85fc53e61a9b50d5208fb72fb6aa260da1a5b892f9880e58b4e17cef3fae42db",
556
- "plugins/src/base/skills/lisa-github-add-journey/SKILL.md": "6b3bbe8ff85c7cb20412dcfcab3d7506a3efc67907cb749622c329fb4130baf4",
558
+ "plugins/src/base/skills/lisa-github-add-journey/SKILL.md": "4ceda3474a9b32abae835c2676e8cb2b7e888c6ba04b95843dbe7254293bbf32",
557
559
  "plugins/src/base/skills/lisa-github-build-intake/SKILL.md": "25465ad90cfd3e2959da7ad6092d822c99d1afb416aacd103b5507b4ecfafe5c",
558
560
  "plugins/src/base/skills/lisa-github-claim/SKILL.md": "71301c6d45d7eb5523e74aa7f070bb2becf57ca68fb8bde9e02ee937b78815f7",
559
561
  "plugins/src/base/skills/lisa-github-create/SKILL.md": "2128a5069c2663a6a33cef7d0465e672682429b176183e101d3ea65f276a1b93",
@@ -564,13 +566,13 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
564
566
  "plugins/src/base/skills/lisa-github-read-issue/SKILL.md": "b0db6c44d3f3659905313b1a96c6536e2b3856c082bfbc3b2d6f92f349d7f90a",
565
567
  "plugins/src/base/skills/lisa-github-sync/SKILL.md": "9130213c0b91f3fbc034d2d5b1cf7f4f238702059f84fb10e67bb8ce9aba83f4",
566
568
  "plugins/src/base/skills/lisa-github-to-tracker/SKILL.md": "b5015eb515f1ad9a442af7e23eaa6f1b204f106a8729bf7ec2b991b9ff509aa9",
567
- "plugins/src/base/skills/lisa-github-validate-issue/SKILL.md": "d58e970f4a76d3fa3984c5b3054c2710dc0b5c9bb7f3c1890ae89844e53ff395",
569
+ "plugins/src/base/skills/lisa-github-validate-issue/SKILL.md": "7fc19c89c38b000c5dd1854284522bcb87e5957538b743613a0d69969f9ca015",
568
570
  "plugins/src/base/skills/lisa-github-verify/SKILL.md": "0d8dce0fff60591d1efff30e340c2cbbef2e8a849ed650389f2391518580ca53",
569
571
  "plugins/src/base/skills/lisa-github-write-issue/SKILL.md": "9abcbb8f0a1a74786a7a36024c532b01de45575741a9a946246b0561d99a5034",
570
572
  "plugins/src/base/skills/lisa-github-write-prd/SKILL.md": "303d5bdcd6fb956ebf1f9a479ab3a4a3eadc735973c4146f8cf6bf0751d10869",
571
573
  "plugins/src/base/skills/lisa-health-drift-cron/SKILL.md": "852eb7410ce26badc7e441d32d43dc15004431abf413fd702f80b4dc5fff4a89",
572
574
  "plugins/src/base/skills/lisa-health/SKILL.md": "dfdb08a863e78bff42671793dcec29cfae0654db18ebf66a4aa77aeb56ddb775",
573
- "plugins/src/base/skills/lisa-implement/SKILL.md": "d6d7f5f009d1cd2e1a14dd8a97fa223196aa666941e83f926925fecf81e29ebb",
575
+ "plugins/src/base/skills/lisa-implement/SKILL.md": "dcf1d3f4d7797c81ce04a9774566f3467104278d3cc05390fc037125158cc5c2",
574
576
  "plugins/src/base/skills/lisa-improve-code-complexity/SKILL.md": "24ab5b193b409db6ee6bee981a1c0a48d08991782d7846116ad01658c8bc1ae8",
575
577
  "plugins/src/base/skills/lisa-improve-harness/SKILL.md": "98ad4b896785ac51826969a0ff077ef11c51353f2a2e03444c8b38e6c0363d05",
576
578
  "plugins/src/base/skills/lisa-improve-max-lines-per-function/SKILL.md": "95c875950c9848fdaf520a18b9bbb264e33d7347be10170add768e01d9cd8e52",
@@ -580,7 +582,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
580
582
  "plugins/src/base/skills/lisa-intake-explain/SKILL.md": "353ffde220de23a06cd88fea0fffc8ff690fc6bcf553f99988a8367138404eba",
581
583
  "plugins/src/base/skills/lisa-intake/SKILL.md": "45eaf0c19dfef43754a1e6a0781a046a65508294083445fbefd54476e1d2404b",
582
584
  "plugins/src/base/skills/lisa-jam-access/SKILL.md": "8c9007e4ef4b79ba6de30be0baf75972d1a68451204d7a29f5cc504d7095279e",
583
- "plugins/src/base/skills/lisa-jira-add-journey/SKILL.md": "fca94ae6140abaded6ab9c583a625cfc276cd10877b81d0be73e473d7338fb29",
585
+ "plugins/src/base/skills/lisa-jira-add-journey/SKILL.md": "a00606cc7927f034e847f34d7e44e72fa7f3a14ddf6a469deb7eae1e06531fd7",
584
586
  "plugins/src/base/skills/lisa-jira-build-intake/SKILL.md": "bdbe58399c14a25c805d743d9198aa89b373307084776a88050dfd6f8e38ea0f",
585
587
  "plugins/src/base/skills/lisa-jira-claim/SKILL.md": "9c4935441a4e6b55df0949178f96e927184c4909bffff8929b39a304bc5ac00a",
586
588
  "plugins/src/base/skills/lisa-jira-create/SKILL.md": "77078002d2a16e0b2a65725f4e86b13caa1c43ba193eb37beb5b7da20feed3f1",
@@ -592,14 +594,14 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
592
594
  "plugins/src/base/skills/lisa-jira-read-ticket/SKILL.md": "1b7cd9a56bae1108c9814b8f8365411dad1e7f3cd294a28baeab6321d0b636b4",
593
595
  "plugins/src/base/skills/lisa-jira-read-ticket/scripts/download-attachment.sh": "051d8ce5445b4db04c7389ed6fb614ba43358a30512ff3de8f4432c567304fe7",
594
596
  "plugins/src/base/skills/lisa-jira-sync/SKILL.md": "943a89c2fd70b7cd1f13badc8ce0018f9f5ff18a0a7443440ba68a309bf4685f",
595
- "plugins/src/base/skills/lisa-jira-validate-ticket/SKILL.md": "5eae1b662ada55c4a0737904351ad101fba2b622571562c93f29cf120cca1318",
597
+ "plugins/src/base/skills/lisa-jira-validate-ticket/SKILL.md": "02ab79176b95dd3eaba2b4295edb11ad874ea83d513073ff17238859b4e68f1d",
596
598
  "plugins/src/base/skills/lisa-jira-verify/SKILL.md": "4e48dcd9e1144837890359e75cc405280bf5f52cf497e44f294b608ad681580c",
597
599
  "plugins/src/base/skills/lisa-jira-write-ticket/SKILL.md": "5352b209c42c8263b0ecdd1826116a244d3eba70c861592b8d4df6bf13a0b5bf",
598
600
  "plugins/src/base/skills/lisa-jsdoc-best-practices/SKILL.md": "7cf0729966ac0afcab6e2c043f192772a9e9e7c72fae61e55b300e97308f970e",
599
601
  "plugins/src/base/skills/lisa-kane-browser/SKILL.md": "e082517cb42f437eeb22b3935aa0fef09299874736e55184e88d2b64f7860a7d",
600
602
  "plugins/src/base/skills/lisa-learnings-audit/SKILL.md": "73624a3f94954c414c000d734a52a45528674afbeb43936ec746ea7591e10760",
601
603
  "plugins/src/base/skills/lisa-linear-access/SKILL.md": "2f25e54f3f91a8b3b4c0cdb7dc53f0314a20bb78e2fe102edd93fc4380cefbe0",
602
- "plugins/src/base/skills/lisa-linear-add-journey/SKILL.md": "0a9f2bd0e19fbaa4794537e436c22748c7621644253a91923d84bc77ca43f793",
604
+ "plugins/src/base/skills/lisa-linear-add-journey/SKILL.md": "e63ae35df1a928dac7b42535ce11e77e8c617e60838ba319f22081400e87886e",
603
605
  "plugins/src/base/skills/lisa-linear-build-intake/SKILL.md": "d74874b9c36cb9ccba76ae1f883a027c1d43fdb56b82d449a4ec21244a171e96",
604
606
  "plugins/src/base/skills/lisa-linear-claim/SKILL.md": "efde30b5eac8b2cc56499ce391bd3d43ebb017c4ce948b5d547b52acb66715bb",
605
607
  "plugins/src/base/skills/lisa-linear-create/SKILL.md": "b9b0b89903fc980e7b591109cffcf377f7397cc6c7b6110975d0b21bafb6de2e",
@@ -609,7 +611,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
609
611
  "plugins/src/base/skills/lisa-linear-read-issue/SKILL.md": "a6b8241648ba4b7b9f1196a37e9924ffaccc5461f3ac2ee8ae283c58559e9717",
610
612
  "plugins/src/base/skills/lisa-linear-sync/SKILL.md": "30ef30a6f6dbf173437b25bb2bddca6d9adf63fa3db7ec499ae24d7510fa0e90",
611
613
  "plugins/src/base/skills/lisa-linear-to-tracker/SKILL.md": "3190bbf85223c7a0508f8bc894fd2c21fc9dce4c977a5af2252191d09c0c6f97",
612
- "plugins/src/base/skills/lisa-linear-validate-issue/SKILL.md": "db1c68a80c29e0d7b1f8431eaa02f43c0e7c65ff4f0af0f3d54ca772f22c0d4c",
614
+ "plugins/src/base/skills/lisa-linear-validate-issue/SKILL.md": "bfa2906443c1864b4d2846fb6410a7733c5e999ad7de11ffd6283df78fdb59e5",
613
615
  "plugins/src/base/skills/lisa-linear-verify/SKILL.md": "d11a58bd7c2b773a973fe8f8ad19a2621f038327ee2d8afa3039bd72885f5e97",
614
616
  "plugins/src/base/skills/lisa-linear-write-issue/SKILL.md": "cc3298e2b3f1cb1df12e0af3736fd5f1f64c90246c150c7cdf55587adb34b3c9",
615
617
  "plugins/src/base/skills/lisa-linear-write-prd/SKILL.md": "ad4289b5530d65d3b61b27da54db8cd7f8e9133f97326d8961f853f364c5b457",
@@ -653,7 +655,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
653
655
  "plugins/src/base/skills/lisa-remote-dispatch/SKILL.md": "f3c48120a206d01db45f849ca5b61690d572abc16bc36d559a4cacc8f9422c06",
654
656
  "plugins/src/base/skills/lisa-remote-dispatch/scripts/dispatch.mjs": "2c51d388ecb681905f6b2280ffefc03434f91bfe4901e637869b716be81ccc93",
655
657
  "plugins/src/base/skills/lisa-repair-intake/SKILL.md": "aa5b9fe5134236a3ca35bf8107744fcb01687a0a5191ad5f9f45adae7b427d72",
656
- "plugins/src/base/skills/lisa-reproduce-bug/SKILL.md": "4d460993fac6021219ca23eee29b1b9afa7c37479dddc662b2fcfaca510edd68",
658
+ "plugins/src/base/skills/lisa-reproduce-bug/SKILL.md": "49dee0ea4d444a6df050d85fd57566497df288490f64b467d0505b1863fc1039",
657
659
  "plugins/src/base/skills/lisa-research/SKILL.md": "9e2e7f3d02a18d9bb34f0b9e8c43d6b9b454d0f81987390839d40a84331b20f7",
658
660
  "plugins/src/base/skills/lisa-review-implementation/SKILL.md": "42134253cca50e384f36eaa085c0a1e6b8772e9f3e912a8d1231f1cd69199858",
659
661
  "plugins/src/base/skills/lisa-review-local/SKILL.md": "74112f88c721825464d962b05111dafe84173fb370d9522d5e155acc46cc55e9",
@@ -717,10 +719,10 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
717
719
  "plugins/src/base/skills/lisa-sync-down/SKILL.md": "82a6fea4fac40554505778827387d3be8c27e4d7d37e8c6f1258e5a3b65c6163",
718
720
  "plugins/src/base/skills/lisa-task-decomposition/SKILL.md": "eb78838e1f121a7a619a841333b1adfce124dad8881853d14107512ead09d30f",
719
721
  "plugins/src/base/skills/lisa-task-triage/SKILL.md": "c6e11b6d195560e6bd7b51fede65c155567c35208801a700a26d95679b03484e",
720
- "plugins/src/base/skills/lisa-tdd-implementation/SKILL.md": "e0b0cd7a90abf73b30e752ea81209085ff5a74ffd9231b626bed95522220c45a",
722
+ "plugins/src/base/skills/lisa-tdd-implementation/SKILL.md": "83938a1a60ba72992fa975d9cd88754a9791d07413716a76aed3e258f0b63d09",
721
723
  "plugins/src/base/skills/lisa-tear-down-automations/SKILL.md": "3f8215b691ce60a6efd63547b99b4d87760fe99d285f6fe153aaadd451e83731",
722
724
  "plugins/src/base/skills/lisa-test-strategy/SKILL.md": "8976e0056b65475fe69f4ed02c8d0d3ae898fd9ab5ff28bf632981a3293c9f6e",
723
- "plugins/src/base/skills/lisa-ticket-triage/SKILL.md": "9d29652fb897568a60da35956f452627a81e57032bbcc3c673ae20dfc8a419f5",
725
+ "plugins/src/base/skills/lisa-ticket-triage/SKILL.md": "c680f44e9b1efb8651e11a64503a1574c0265b70da97ccdfe307d7f88e08ee63",
724
726
  "plugins/src/base/skills/lisa-track/SKILL.md": "ff516917ef9387e96758db74372831fd9b9d28991e2a23461cf8661893f2d3b0",
725
727
  "plugins/src/base/skills/lisa-tracker-add-journey/SKILL.md": "a3da2e0350bcdebcdcc05f2d7931af868382638d3a28d09d4718f2f458d4be0a",
726
728
  "plugins/src/base/skills/lisa-tracker-build-intake/SKILL.md": "db392f3342cac926bbf65025427dac303c937fe3d6f59bb3feb50c8e0f75fa3b",
@@ -1094,7 +1096,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1094
1096
  "rails/create-only/spec/spec_helper.rb": "56ca48d2519ece7a856fe7941ea8acf2d9f1d53aee03321f230300907dc20712",
1095
1097
  "rails/deletions.json": "075810aadfbf131ca6a46fb73860e036447a3a9796f9371b7722ad18cc002522",
1096
1098
  "rails/github-rulesets/quality-checks.json": "0ec1c366589edbaa6b8f45f940cef3ada5ed7b1a956d98d3fa6034b0f78fbc7c",
1097
- "rails/merge/.claude/settings.json": "9c49f8c7c453f8749c90def3e22d412c3345c533d24b30dc7745ffa052ad6fa1",
1099
+ "rails/merge/.claude/settings.json": "16c30d17bc6941a1ffa7fce54a5ab2e87101f7ea77a69b1d695eccd07e156ab7",
1098
1100
  "scripts/build-plugins.sh": "87e33406a3b9426a669d5e8ca6fbde1a65d554eea25ddfecdeae46fe2b9f8d38",
1099
1101
  "scripts/check-delivery-deletion-conflicts.mjs": "77eed58c9ff076c4438a5fe01c343f25c1a1c8f29a8f5861d1e1081b1739d300",
1100
1102
  "scripts/check-derived-artifacts.mjs": "b30c86b6a8f0fabb5e5849e470f80429c97dcaa2619b0ed3d2f9807b89234a06",
@@ -1184,7 +1186,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1184
1186
  "scripts/remote-agent-aws-setup.sh": "f181062436c214c95fe15be8000cce18de0b553b3dab06b822a4fe55cb285ca6",
1185
1187
  "scripts/setup-deploy-key.sh": "2bed19346810b7af18a5225fd463c4d553a7bcc7b2f11a21bd47b93e6b5e1719",
1186
1188
  "scripts/test-intent-routing.sh": "97b9dc86cbd805df8a7fdb8c99ffab9b8c5e751ba2e84c05420b2a124f80635d",
1187
- "scripts/two-channel-couplings.json": "654cf438d0c46b6038d9ea910473b02b6fcefb9d436b4d31490d0a2b4b809aa0",
1189
+ "scripts/two-channel-couplings.json": "d604c1912079f622dd1bbb31787f753419bc573954b58ad3726d742d53f4e64c",
1188
1190
  "scripts/update-node-version.ts": "dcfec9f8666f65925deb9efdc8a4bebb6c3f41d9fa1c1365be23edb82c40fffa",
1189
1191
  "scripts/update-test-skill-paths.mjs": "e26a3ac716c33013e22bf5223a58457452f5af2038218a0e3a51c244eab5ddc9",
1190
1192
  "scripts/verify-health-agentic-built.mjs": "4b0d20b2c94390ff6f5af881fc50c5c225215a282891db0b3e3d84a7e6455367",
@@ -1267,7 +1269,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1267
1269
  "typescript/create-only/vitest.thresholds.json": "ce04fe30ad6139f734dbc56d92a801c11cfd86a0d9e49c06c1c2d0a137beeffd",
1268
1270
  "typescript/deletions.json": "1bf54368775e02cf352890218c021baa65689f306c4c4c959b390924ba59cf1a",
1269
1271
  "typescript/github-rulesets/quality-checks.json": "3aa1c6dbc703ad2ecd87c6f7fdff1aae118696dba95c9795c2c954c6b8a444d9",
1270
- "typescript/merge/.claude/settings.json": "834e6456cae81f45073bbbb08bf731fef043efb30cae2658cb4a59f17e66d165",
1272
+ "typescript/merge/.claude/settings.json": "a455fb55d5bf99f7f71136a3a4f8f21b283b9627556c3b22d039b01d093eb2a9",
1271
1273
  "typescript/merge/.oxlintrc.json": "9504c20db80470c242c4ffe8cccad6951ed8141dfb5bf6503053e0b2712ab276",
1272
1274
  "typescript/package-lisa/package.lisa.json": "4804b20a50d9c66154643c73bcb84655c36e9dc8f2a514d22990adba1c0ce947",
1273
1275
  "ui/README.md": "9c4aa65ff4028eedfda1f284d47b620fff7353c07fd8084ccc427fe4c5a1ed72",
@@ -1351,8 +1353,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1351
1353
  ".claude/skills/plugin-parity-drift/SKILL.md": true,
1352
1354
  ".coderabbit.yml": true,
1353
1355
  ".codex/config.toml": true,
1354
- ".entire/.gitignore": true,
1355
- ".entire/settings.json": true,
1356
1356
  ".gitattributes": true,
1357
1357
  ".gitguardian.yaml": true,
1358
1358
  ".github/GITHUB_ACTIONS.md": true,
@@ -2687,6 +2687,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2687
2687
  "plugins/lisa-copilot/rules/eager/claim-time-guards.md": true,
2688
2688
  "plugins/lisa-copilot/rules/eager/coding-philosophy.md": true,
2689
2689
  "plugins/lisa-copilot/rules/eager/config-resolution.md": true,
2690
+ "plugins/lisa-copilot/rules/eager/control-reachability.md": true,
2690
2691
  "plugins/lisa-copilot/rules/eager/convergent-review.md": true,
2691
2692
  "plugins/lisa-copilot/rules/eager/credential-substrate-precedence.md": true,
2692
2693
  "plugins/lisa-copilot/rules/eager/dependency-decision-records.md": true,
@@ -2738,6 +2739,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2738
2739
  "plugins/lisa-copilot/rules/reference/claim-time-guards.md": true,
2739
2740
  "plugins/lisa-copilot/rules/reference/coding-philosophy.md": true,
2740
2741
  "plugins/lisa-copilot/rules/reference/config-resolution.md": true,
2742
+ "plugins/lisa-copilot/rules/reference/control-reachability.md": true,
2741
2743
  "plugins/lisa-copilot/rules/reference/convergent-review.md": true,
2742
2744
  "plugins/lisa-copilot/rules/reference/credential-substrate-precedence.md": true,
2743
2745
  "plugins/lisa-copilot/rules/reference/dependency-decision-records.md": true,
@@ -3174,6 +3176,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
3174
3176
  "plugins/lisa-cursor/rules/coding-philosophy.mdc": true,
3175
3177
  "plugins/lisa-cursor/rules/config-resolution-reference.mdc": true,
3176
3178
  "plugins/lisa-cursor/rules/config-resolution.mdc": true,
3179
+ "plugins/lisa-cursor/rules/control-reachability-reference.mdc": true,
3180
+ "plugins/lisa-cursor/rules/control-reachability.mdc": true,
3177
3181
  "plugins/lisa-cursor/rules/convergent-review-reference.mdc": true,
3178
3182
  "plugins/lisa-cursor/rules/convergent-review.mdc": true,
3179
3183
  "plugins/lisa-cursor/rules/credential-substrate-precedence-reference.mdc": true,
@@ -5761,6 +5765,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5761
5765
  "plugins/lisa/rules/eager/claim-time-guards.md": true,
5762
5766
  "plugins/lisa/rules/eager/coding-philosophy.md": true,
5763
5767
  "plugins/lisa/rules/eager/config-resolution.md": true,
5768
+ "plugins/lisa/rules/eager/control-reachability.md": true,
5764
5769
  "plugins/lisa/rules/eager/convergent-review.md": true,
5765
5770
  "plugins/lisa/rules/eager/credential-substrate-precedence.md": true,
5766
5771
  "plugins/lisa/rules/eager/dependency-decision-records.md": true,
@@ -5812,6 +5817,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5812
5817
  "plugins/lisa/rules/reference/claim-time-guards.md": true,
5813
5818
  "plugins/lisa/rules/reference/coding-philosophy.md": true,
5814
5819
  "plugins/lisa/rules/reference/config-resolution.md": true,
5820
+ "plugins/lisa/rules/reference/control-reachability.md": true,
5815
5821
  "plugins/lisa/rules/reference/convergent-review.md": true,
5816
5822
  "plugins/lisa/rules/reference/credential-substrate-precedence.md": true,
5817
5823
  "plugins/lisa/rules/reference/dependency-decision-records.md": true,
@@ -6423,6 +6429,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6423
6429
  "plugins/src/base/rules/eager/claim-time-guards.md": true,
6424
6430
  "plugins/src/base/rules/eager/coding-philosophy.md": true,
6425
6431
  "plugins/src/base/rules/eager/config-resolution.md": true,
6432
+ "plugins/src/base/rules/eager/control-reachability.md": true,
6426
6433
  "plugins/src/base/rules/eager/convergent-review.md": true,
6427
6434
  "plugins/src/base/rules/eager/credential-substrate-precedence.md": true,
6428
6435
  "plugins/src/base/rules/eager/dependency-decision-records.md": true,
@@ -6474,6 +6481,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6474
6481
  "plugins/src/base/rules/reference/claim-time-guards.md": true,
6475
6482
  "plugins/src/base/rules/reference/coding-philosophy.md": true,
6476
6483
  "plugins/src/base/rules/reference/config-resolution.md": true,
6484
+ "plugins/src/base/rules/reference/control-reachability.md": true,
6477
6485
  "plugins/src/base/rules/reference/convergent-review.md": true,
6478
6486
  "plugins/src/base/rules/reference/credential-substrate-precedence.md": true,
6479
6487
  "plugins/src/base/rules/reference/dependency-decision-records.md": true,
@@ -7683,6 +7691,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7683
7691
  "src/migrations/generated-paths.ts": true,
7684
7692
  "src/migrations/index.ts": true,
7685
7693
  "src/migrations/migration.interface.ts": true,
7694
+ "src/migrations/prune-retired-claude-deny-rules.ts": true,
7686
7695
  "src/migrations/reconcile-claude-stack-plugins.ts": true,
7687
7696
  "src/migrations/untrack-codex-marketplace.ts": true,
7688
7697
  "src/opencode/agent-installer.ts": true,
@@ -7974,6 +7983,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7974
7983
  "tests/integration/gate-config-validity-job.test.ts": true,
7975
7984
  "tests/integration/gate-failure-vocabulary-bite.test.ts": true,
7976
7985
  "tests/integration/gate-labels-name-properties.test.ts": true,
7986
+ "tests/integration/gate-output-names-its-lisa.test.ts": true,
7977
7987
  "tests/integration/gate-shipped-as-operator-surfaces.test.ts": true,
7978
7988
  "tests/integration/hardcoded-invocation-fixture.ts": true,
7979
7989
  "tests/integration/hardcoded-invocation-inventory.test.ts": true,
@@ -7993,6 +8003,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7993
8003
  "tests/integration/maestro-leg-order.test.ts": true,
7994
8004
  "tests/integration/maestro-native-android-per-flow-retry.test.ts": true,
7995
8005
  "tests/integration/maestro-native-concurrency.test.ts": true,
8006
+ "tests/integration/maestro-native-disk-preflight.test.ts": true,
7996
8007
  "tests/integration/maestro-native-driver-retry.test.ts": true,
7997
8008
  "tests/integration/maestro-native-emulator-capability.test.ts": true,
7998
8009
  "tests/integration/maestro-native-flake-classification.test.ts": true,
@@ -8352,6 +8363,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8352
8363
  "tests/unit/config/vitest-scratch-residue.test.ts": true,
8353
8364
  "tests/unit/config/vitest-scratch.test.ts": true,
8354
8365
  "tests/unit/config/vitest-typescript.test.ts": true,
8366
+ "tests/unit/config/vitest-worker-cap.test.ts": true,
8355
8367
  "tests/unit/config/wholelist-mutation-bite-scheduled.test.ts": true,
8356
8368
  "tests/unit/config/work-item-traceability-gate-level.test.ts": true,
8357
8369
  "tests/unit/config/work-item-traceability-scope-gate.test.ts": true,
@@ -8368,6 +8380,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8368
8380
  "tests/unit/core/fs-extra-namespace-callsites.test.ts": true,
8369
8381
  "tests/unit/core/fs-extra-namespace-members.test.ts": true,
8370
8382
  "tests/unit/core/gate-context-owners.test.ts": true,
8383
+ "tests/unit/core/gate-declaration-drift-awaited.test.ts": true,
8371
8384
  "tests/unit/core/gate-declaration-drift-caller-chain.test.ts": true,
8372
8385
  "tests/unit/core/gate-declaration-drift-fixtures.ts": true,
8373
8386
  "tests/unit/core/gate-declaration-drift-retirement.test.ts": true,
@@ -8509,6 +8522,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8509
8522
  "tests/unit/hooks/host-enforcement-fallback.test.ts": true,
8510
8523
  "tests/unit/hooks/husky-resolver-lookup.test.ts": true,
8511
8524
  "tests/unit/hooks/inject-resolved-config-completeness.test.ts": true,
8525
+ "tests/unit/hooks/inject-resolved-config-repository-bound.test.ts": true,
8512
8526
  "tests/unit/hooks/inject-resolved-config-wiring.test.ts": true,
8513
8527
  "tests/unit/hooks/inject-resolved-config.test.ts": true,
8514
8528
  "tests/unit/hooks/inject-rules.test.ts": true,
@@ -8564,6 +8578,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8564
8578
  "tests/unit/migrations/ensure-wiki-source-declared.test.ts": true,
8565
8579
  "tests/unit/migrations/migration-registry.test.ts": true,
8566
8580
  "tests/unit/migrations/postinstall-failure-surfacing.test.ts": true,
8581
+ "tests/unit/migrations/prune-retired-claude-deny-rules.test.ts": true,
8567
8582
  "tests/unit/migrations/reconcile-claude-stack-plugins.test.ts": true,
8568
8583
  "tests/unit/migrations/seeded-gates-install-restraint.test.ts": true,
8569
8584
  "tests/unit/migrations/untrack-codex-marketplace.test.ts": true,
@@ -8646,6 +8661,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8646
8661
  "tests/unit/scripts/floor-collisions.test.ts": true,
8647
8662
  "tests/unit/scripts/gate-diagnosis-no-tests-ran.test.ts": true,
8648
8663
  "tests/unit/scripts/gate-failure-diagnosis.test.ts": true,
8664
+ "tests/unit/scripts/gate-killed-under-load.test.ts": true,
8649
8665
  "tests/unit/scripts/generate-agy-plugin-artifacts.test.ts": true,
8650
8666
  "tests/unit/scripts/generate-copilot-plugin-artifacts.test.ts": true,
8651
8667
  "tests/unit/scripts/generate-cursor-plugin-artifacts.artifacts.test.ts": true,
@@ -8665,6 +8681,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8665
8681
  "tests/unit/scripts/lisa-gates-evidence.test.ts": true,
8666
8682
  "tests/unit/scripts/lisa-gates-fixtures.ts": true,
8667
8683
  "tests/unit/scripts/lisa-gates-hardcoded-invocations.test.ts": true,
8684
+ "tests/unit/scripts/lisa-gates-identity.test.ts": true,
8668
8685
  "tests/unit/scripts/lisa-gates-moment-executors.test.ts": true,
8669
8686
  "tests/unit/scripts/lisa-gates-moment-legs.test.ts": true,
8670
8687
  "tests/unit/scripts/lisa-gates-moment-validation.test.ts": true,
@@ -8934,6 +8951,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8934
8951
  "tests/unit/strategies/claim-evidence-mapping-contract.test.ts": true,
8935
8952
  "tests/unit/strategies/classifier-failure-no-write-contract.test.ts": true,
8936
8953
  "tests/unit/strategies/claude-remote-substrates.test.ts": true,
8954
+ "tests/unit/strategies/control-reachability-contract.test.ts": true,
8937
8955
  "tests/unit/strategies/convergent-review-contract.test.ts": true,
8938
8956
  "tests/unit/strategies/copy-contents-gitignore.test.ts": true,
8939
8957
  "tests/unit/strategies/copy-contents-refresh-templates.test.ts": true,