@codyswann/lisa 4.22.9 → 4.22.10

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 (272) hide show
  1. package/all/copy-overwrite/scripts/lib/process-tree-runner.mjs +127 -0
  2. package/all/copy-overwrite/scripts/lisa-floor-collisions.mjs +63 -8
  3. package/all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh +36 -6
  4. package/all/copy-overwrite/scripts/lisa-postinstall.mjs +35 -13
  5. package/all/copy-overwrite/scripts/lisa-reconcile-policy.mjs +11 -3
  6. package/all/copy-overwrite/scripts/lisa-run-gates.mjs +41 -8
  7. package/all/copy-overwrite/scripts/lisa-schema-validate.mjs +2 -2
  8. package/all/copy-overwrite/scripts/lisa-work-item.mjs +2 -1
  9. package/cdk/package-lisa/package.lisa.json +1 -1
  10. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  11. package/dist/core/lisa-owned-hash-ledger.js +24 -0
  12. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  13. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  14. package/dist/core/nightly-e2e-guard-behavior-certificate.js.map +1 -1
  15. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  16. package/dist/core/upstream-evidence-manifest.js +59 -50
  17. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  18. package/dist/opencode/plugin-templates/parity-safety-net.sh +36 -6
  19. package/nestjs/package-lisa/package.lisa.json +1 -1
  20. package/package.json +3 -3
  21. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  23. package/plugins/lisa/.codex-plugin/skills/lisa-atlassian-access/SKILL.md +10 -13
  24. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +4 -2
  25. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +29 -4
  26. package/plugins/lisa/.codex-plugin/skills/lisa-github-sync/SKILL.md +8 -3
  27. package/plugins/lisa/.codex-plugin/skills/lisa-jam-access/SKILL.md +7 -10
  28. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/SKILL.md +5 -0
  29. package/plugins/lisa/.codex-plugin/skills/lisa-jira-journey/scripts/parse-plan.py +36 -2
  30. package/plugins/lisa/.codex-plugin/skills/lisa-jira-sync/SKILL.md +1 -1
  31. package/plugins/lisa/.codex-plugin/skills/lisa-linear-access/SKILL.md +8 -12
  32. package/plugins/lisa/.codex-plugin/skills/lisa-linear-sync/SKILL.md +1 -1
  33. package/plugins/lisa/.codex-plugin/skills/lisa-nightly-lower-code-complexity/SKILL.md +7 -1
  34. package/plugins/lisa/.codex-plugin/skills/lisa-notion-access/SKILL.md +7 -10
  35. package/plugins/lisa/.codex-plugin/skills/lisa-posthog-access/SKILL.md +7 -10
  36. package/plugins/lisa/.codex-plugin/skills/lisa-repair-intake/SKILL.md +19 -3
  37. package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +10 -6
  38. package/plugins/lisa/.codex-plugin/skills/lisa-sentry-access/SKILL.md +7 -10
  39. package/plugins/lisa/.codex-plugin/skills/lisa-setup-atlassian/SKILL.md +7 -10
  40. package/plugins/lisa/.codex-plugin/skills/lisa-setup-linear/SKILL.md +9 -12
  41. package/plugins/lisa/.codex-plugin/skills/lisa-setup-notion/SKILL.md +7 -10
  42. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-aws/SKILL.md +7 -2
  43. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/SKILL.md +6 -1
  44. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/assets/session-start.sh +19 -0
  45. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/assets/setup.sh +1 -0
  46. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +25 -4
  47. package/plugins/lisa/.codex-plugin/skills/lisa-setup-workstation/scripts/bounded-child.mjs +9 -0
  48. package/plugins/lisa/.codex-plugin/skills/lisa-setup-workstation/scripts/workstation.mjs +29 -21
  49. package/plugins/lisa/.codex-plugin/skills/lisa-sonarcloud-access/SKILL.md +7 -10
  50. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-sync/SKILL.md +1 -1
  51. package/plugins/lisa/hooks/parity-safety-net.sh +36 -6
  52. package/plugins/lisa/hooks/threshold-ratchet-families.mjs +31 -7
  53. package/plugins/lisa/rules/reference/base-rules.md +1 -1
  54. package/plugins/lisa/rules/reference/config-resolution.md +5 -14
  55. package/plugins/lisa/scripts/install-remote-agent-aws.mjs +5 -1
  56. package/plugins/lisa/scripts/rollup-blocker-classification.mjs +18 -3
  57. package/plugins/lisa/skills/lisa-atlassian-access/SKILL.md +10 -13
  58. package/plugins/lisa/skills/lisa-doctor/SKILL.md +4 -2
  59. package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +29 -4
  60. package/plugins/lisa/skills/lisa-github-sync/SKILL.md +8 -3
  61. package/plugins/lisa/skills/lisa-jam-access/SKILL.md +7 -10
  62. package/plugins/lisa/skills/lisa-jira-journey/SKILL.md +5 -0
  63. package/plugins/lisa/skills/lisa-jira-journey/scripts/parse-plan.py +36 -2
  64. package/plugins/lisa/skills/lisa-jira-sync/SKILL.md +1 -1
  65. package/plugins/lisa/skills/lisa-linear-access/SKILL.md +8 -12
  66. package/plugins/lisa/skills/lisa-linear-sync/SKILL.md +1 -1
  67. package/plugins/lisa/skills/lisa-nightly-lower-code-complexity/SKILL.md +7 -1
  68. package/plugins/lisa/skills/lisa-notion-access/SKILL.md +7 -10
  69. package/plugins/lisa/skills/lisa-posthog-access/SKILL.md +7 -10
  70. package/plugins/lisa/skills/lisa-repair-intake/SKILL.md +19 -3
  71. package/plugins/lisa/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +10 -6
  72. package/plugins/lisa/skills/lisa-sentry-access/SKILL.md +7 -10
  73. package/plugins/lisa/skills/lisa-setup-atlassian/SKILL.md +7 -10
  74. package/plugins/lisa/skills/lisa-setup-linear/SKILL.md +9 -12
  75. package/plugins/lisa/skills/lisa-setup-notion/SKILL.md +7 -10
  76. package/plugins/lisa/skills/lisa-setup-remote-aws/SKILL.md +7 -2
  77. package/plugins/lisa/skills/lisa-setup-remote-env/SKILL.md +6 -1
  78. package/plugins/lisa/skills/lisa-setup-remote-env/assets/session-start.sh +19 -0
  79. package/plugins/lisa/skills/lisa-setup-remote-env/assets/setup.sh +1 -0
  80. package/plugins/lisa/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +25 -4
  81. package/plugins/lisa/skills/lisa-setup-workstation/scripts/bounded-child.mjs +9 -0
  82. package/plugins/lisa/skills/lisa-setup-workstation/scripts/workstation.mjs +29 -21
  83. package/plugins/lisa/skills/lisa-sonarcloud-access/SKILL.md +7 -10
  84. package/plugins/lisa/skills/lisa-tracker-sync/SKILL.md +1 -1
  85. package/plugins/lisa-agy/hooks/parity-safety-net.sh +36 -6
  86. package/plugins/lisa-agy/plugin.json +1 -1
  87. package/plugins/lisa-agy/scripts/install-remote-agent-aws.mjs +5 -1
  88. package/plugins/lisa-agy/scripts/rollup-blocker-classification.mjs +18 -3
  89. package/plugins/lisa-agy/skills/lisa-atlassian-access/SKILL.md +10 -13
  90. package/plugins/lisa-agy/skills/lisa-doctor/SKILL.md +4 -2
  91. package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +29 -4
  92. package/plugins/lisa-agy/skills/lisa-github-sync/SKILL.md +8 -3
  93. package/plugins/lisa-agy/skills/lisa-jam-access/SKILL.md +7 -10
  94. package/plugins/lisa-agy/skills/lisa-jira-journey/SKILL.md +5 -0
  95. package/plugins/lisa-agy/skills/lisa-jira-journey/scripts/parse-plan.py +36 -2
  96. package/plugins/lisa-agy/skills/lisa-jira-sync/SKILL.md +1 -1
  97. package/plugins/lisa-agy/skills/lisa-linear-access/SKILL.md +8 -12
  98. package/plugins/lisa-agy/skills/lisa-linear-sync/SKILL.md +1 -1
  99. package/plugins/lisa-agy/skills/lisa-nightly-lower-code-complexity/SKILL.md +7 -1
  100. package/plugins/lisa-agy/skills/lisa-notion-access/SKILL.md +7 -10
  101. package/plugins/lisa-agy/skills/lisa-posthog-access/SKILL.md +7 -10
  102. package/plugins/lisa-agy/skills/lisa-repair-intake/SKILL.md +19 -3
  103. package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +10 -6
  104. package/plugins/lisa-agy/skills/lisa-sentry-access/SKILL.md +7 -10
  105. package/plugins/lisa-agy/skills/lisa-setup-atlassian/SKILL.md +7 -10
  106. package/plugins/lisa-agy/skills/lisa-setup-linear/SKILL.md +9 -12
  107. package/plugins/lisa-agy/skills/lisa-setup-notion/SKILL.md +7 -10
  108. package/plugins/lisa-agy/skills/lisa-setup-remote-aws/SKILL.md +7 -2
  109. package/plugins/lisa-agy/skills/lisa-setup-remote-env/SKILL.md +6 -1
  110. package/plugins/lisa-agy/skills/lisa-setup-remote-env/assets/session-start.sh +19 -0
  111. package/plugins/lisa-agy/skills/lisa-setup-remote-env/assets/setup.sh +1 -0
  112. package/plugins/lisa-agy/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +25 -4
  113. package/plugins/lisa-agy/skills/lisa-setup-workstation/scripts/bounded-child.mjs +9 -0
  114. package/plugins/lisa-agy/skills/lisa-setup-workstation/scripts/workstation.mjs +29 -21
  115. package/plugins/lisa-agy/skills/lisa-sonarcloud-access/SKILL.md +7 -10
  116. package/plugins/lisa-agy/skills/lisa-tracker-sync/SKILL.md +1 -1
  117. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  119. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  120. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  121. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  122. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  123. package/plugins/lisa-copilot/hooks/parity-safety-net.sh +36 -6
  124. package/plugins/lisa-copilot/hooks/threshold-ratchet-families.mjs +31 -7
  125. package/plugins/lisa-copilot/rules/reference/base-rules.md +1 -1
  126. package/plugins/lisa-copilot/rules/reference/config-resolution.md +5 -14
  127. package/plugins/lisa-copilot/scripts/install-remote-agent-aws.mjs +5 -1
  128. package/plugins/lisa-copilot/scripts/rollup-blocker-classification.mjs +18 -3
  129. package/plugins/lisa-copilot/skills/lisa-atlassian-access/SKILL.md +10 -13
  130. package/plugins/lisa-copilot/skills/lisa-doctor/SKILL.md +4 -2
  131. package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +29 -4
  132. package/plugins/lisa-copilot/skills/lisa-github-sync/SKILL.md +8 -3
  133. package/plugins/lisa-copilot/skills/lisa-jam-access/SKILL.md +7 -10
  134. package/plugins/lisa-copilot/skills/lisa-jira-journey/SKILL.md +5 -0
  135. package/plugins/lisa-copilot/skills/lisa-jira-journey/scripts/parse-plan.py +36 -2
  136. package/plugins/lisa-copilot/skills/lisa-jira-sync/SKILL.md +1 -1
  137. package/plugins/lisa-copilot/skills/lisa-linear-access/SKILL.md +8 -12
  138. package/plugins/lisa-copilot/skills/lisa-linear-sync/SKILL.md +1 -1
  139. package/plugins/lisa-copilot/skills/lisa-nightly-lower-code-complexity/SKILL.md +7 -1
  140. package/plugins/lisa-copilot/skills/lisa-notion-access/SKILL.md +7 -10
  141. package/plugins/lisa-copilot/skills/lisa-posthog-access/SKILL.md +7 -10
  142. package/plugins/lisa-copilot/skills/lisa-repair-intake/SKILL.md +19 -3
  143. package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +10 -6
  144. package/plugins/lisa-copilot/skills/lisa-sentry-access/SKILL.md +7 -10
  145. package/plugins/lisa-copilot/skills/lisa-setup-atlassian/SKILL.md +7 -10
  146. package/plugins/lisa-copilot/skills/lisa-setup-linear/SKILL.md +9 -12
  147. package/plugins/lisa-copilot/skills/lisa-setup-notion/SKILL.md +7 -10
  148. package/plugins/lisa-copilot/skills/lisa-setup-remote-aws/SKILL.md +7 -2
  149. package/plugins/lisa-copilot/skills/lisa-setup-remote-env/SKILL.md +6 -1
  150. package/plugins/lisa-copilot/skills/lisa-setup-remote-env/assets/session-start.sh +19 -0
  151. package/plugins/lisa-copilot/skills/lisa-setup-remote-env/assets/setup.sh +1 -0
  152. package/plugins/lisa-copilot/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +25 -4
  153. package/plugins/lisa-copilot/skills/lisa-setup-workstation/scripts/bounded-child.mjs +9 -0
  154. package/plugins/lisa-copilot/skills/lisa-setup-workstation/scripts/workstation.mjs +29 -21
  155. package/plugins/lisa-copilot/skills/lisa-sonarcloud-access/SKILL.md +7 -10
  156. package/plugins/lisa-copilot/skills/lisa-tracker-sync/SKILL.md +1 -1
  157. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  158. package/plugins/lisa-cursor/hooks/parity-safety-net.sh +36 -6
  159. package/plugins/lisa-cursor/hooks/threshold-ratchet-families.mjs +31 -7
  160. package/plugins/lisa-cursor/rules/base-rules-reference.mdc +1 -1
  161. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +5 -14
  162. package/plugins/lisa-cursor/scripts/install-remote-agent-aws.mjs +5 -1
  163. package/plugins/lisa-cursor/scripts/rollup-blocker-classification.mjs +18 -3
  164. package/plugins/lisa-cursor/skills/lisa-atlassian-access/SKILL.md +10 -13
  165. package/plugins/lisa-cursor/skills/lisa-doctor/SKILL.md +4 -2
  166. package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +29 -4
  167. package/plugins/lisa-cursor/skills/lisa-github-sync/SKILL.md +8 -3
  168. package/plugins/lisa-cursor/skills/lisa-jam-access/SKILL.md +7 -10
  169. package/plugins/lisa-cursor/skills/lisa-jira-journey/SKILL.md +5 -0
  170. package/plugins/lisa-cursor/skills/lisa-jira-journey/scripts/parse-plan.py +36 -2
  171. package/plugins/lisa-cursor/skills/lisa-jira-sync/SKILL.md +1 -1
  172. package/plugins/lisa-cursor/skills/lisa-linear-access/SKILL.md +8 -12
  173. package/plugins/lisa-cursor/skills/lisa-linear-sync/SKILL.md +1 -1
  174. package/plugins/lisa-cursor/skills/lisa-nightly-lower-code-complexity/SKILL.md +7 -1
  175. package/plugins/lisa-cursor/skills/lisa-notion-access/SKILL.md +7 -10
  176. package/plugins/lisa-cursor/skills/lisa-posthog-access/SKILL.md +7 -10
  177. package/plugins/lisa-cursor/skills/lisa-repair-intake/SKILL.md +19 -3
  178. package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +10 -6
  179. package/plugins/lisa-cursor/skills/lisa-sentry-access/SKILL.md +7 -10
  180. package/plugins/lisa-cursor/skills/lisa-setup-atlassian/SKILL.md +7 -10
  181. package/plugins/lisa-cursor/skills/lisa-setup-linear/SKILL.md +9 -12
  182. package/plugins/lisa-cursor/skills/lisa-setup-notion/SKILL.md +7 -10
  183. package/plugins/lisa-cursor/skills/lisa-setup-remote-aws/SKILL.md +7 -2
  184. package/plugins/lisa-cursor/skills/lisa-setup-remote-env/SKILL.md +6 -1
  185. package/plugins/lisa-cursor/skills/lisa-setup-remote-env/assets/session-start.sh +19 -0
  186. package/plugins/lisa-cursor/skills/lisa-setup-remote-env/assets/setup.sh +1 -0
  187. package/plugins/lisa-cursor/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +25 -4
  188. package/plugins/lisa-cursor/skills/lisa-setup-workstation/scripts/bounded-child.mjs +9 -0
  189. package/plugins/lisa-cursor/skills/lisa-setup-workstation/scripts/workstation.mjs +29 -21
  190. package/plugins/lisa-cursor/skills/lisa-sonarcloud-access/SKILL.md +7 -10
  191. package/plugins/lisa-cursor/skills/lisa-tracker-sync/SKILL.md +1 -1
  192. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  193. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  194. package/plugins/lisa-expo-agy/plugin.json +1 -1
  195. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  196. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  197. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  198. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  199. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  200. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  201. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  202. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  203. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  204. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  205. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  206. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  207. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  208. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  209. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  210. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  211. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  212. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  213. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  214. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  215. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  216. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  217. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  218. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  219. package/plugins/lisa-rails-agy/plugin.json +1 -1
  220. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  221. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  222. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  223. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  224. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  225. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  226. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  227. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  228. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  229. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  230. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  231. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  232. package/plugins/src/base/hooks/parity-safety-net.sh +36 -6
  233. package/plugins/src/base/hooks/threshold-ratchet-families.mjs +31 -7
  234. package/plugins/src/base/rules/reference/base-rules.md +1 -1
  235. package/plugins/src/base/rules/reference/config-resolution.md +5 -14
  236. package/plugins/src/base/scripts/install-remote-agent-aws.mjs +5 -1
  237. package/plugins/src/base/scripts/rollup-blocker-classification.mjs +18 -3
  238. package/plugins/src/base/skills/lisa-atlassian-access/SKILL.md +10 -13
  239. package/plugins/src/base/skills/lisa-doctor/SKILL.md +4 -2
  240. package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +29 -4
  241. package/plugins/src/base/skills/lisa-github-sync/SKILL.md +8 -3
  242. package/plugins/src/base/skills/lisa-jam-access/SKILL.md +7 -10
  243. package/plugins/src/base/skills/lisa-jira-journey/SKILL.md +5 -0
  244. package/plugins/src/base/skills/lisa-jira-journey/scripts/parse-plan.py +36 -2
  245. package/plugins/src/base/skills/lisa-jira-sync/SKILL.md +1 -1
  246. package/plugins/src/base/skills/lisa-linear-access/SKILL.md +8 -12
  247. package/plugins/src/base/skills/lisa-linear-sync/SKILL.md +1 -1
  248. package/plugins/src/base/skills/lisa-nightly-lower-code-complexity/SKILL.md +7 -1
  249. package/plugins/src/base/skills/lisa-notion-access/SKILL.md +7 -10
  250. package/plugins/src/base/skills/lisa-posthog-access/SKILL.md +7 -10
  251. package/plugins/src/base/skills/lisa-repair-intake/SKILL.md +19 -3
  252. package/plugins/src/base/skills/lisa-secrets-access/scripts/materialize-secrets.mjs +10 -6
  253. package/plugins/src/base/skills/lisa-sentry-access/SKILL.md +7 -10
  254. package/plugins/src/base/skills/lisa-setup-atlassian/SKILL.md +7 -10
  255. package/plugins/src/base/skills/lisa-setup-linear/SKILL.md +9 -12
  256. package/plugins/src/base/skills/lisa-setup-notion/SKILL.md +7 -10
  257. package/plugins/src/base/skills/lisa-setup-remote-aws/SKILL.md +7 -2
  258. package/plugins/src/base/skills/lisa-setup-remote-env/SKILL.md +6 -1
  259. package/plugins/src/base/skills/lisa-setup-remote-env/assets/session-start.sh +19 -0
  260. package/plugins/src/base/skills/lisa-setup-remote-env/assets/setup.sh +1 -0
  261. package/plugins/src/base/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs +25 -4
  262. package/plugins/src/base/skills/lisa-setup-workstation/scripts/bounded-child.mjs +9 -0
  263. package/plugins/src/base/skills/lisa-setup-workstation/scripts/workstation.mjs +29 -21
  264. package/plugins/src/base/skills/lisa-sonarcloud-access/SKILL.md +7 -10
  265. package/plugins/src/base/skills/lisa-tracker-sync/SKILL.md +1 -1
  266. package/rails/copy-overwrite/scripts/threshold-ratchet-families.mjs +31 -7
  267. package/scripts/lisa-remote-env/session-start.sh +19 -0
  268. package/scripts/lisa-remote-env/setup.sh +1 -0
  269. package/scripts/two-channel-couplings.json +1 -1
  270. package/typescript/copy-contents/.husky/pre-push +1 -1
  271. package/typescript/copy-overwrite/scripts/threshold-ratchet-families.mjs +31 -7
  272. package/typescript/package-lisa/package.lisa.json +1 -1
@@ -95,11 +95,11 @@ export const FAMILIES = [
95
95
  * Unknown keys stay unwatched until their direction is explicit here.
96
96
  * @type {Readonly<Record<string, "min"|"max">>}
97
97
  */
98
- export const LIGHTHOUSE_ASSERTION_DIRECTIONS = {
98
+ export const LIGHTHOUSE_ASSERTION_DIRECTIONS = Object.freeze({
99
99
  minScore: "min",
100
100
  maxNumericValue: "max",
101
101
  maxLength: "max",
102
- };
102
+ });
103
103
 
104
104
  /**
105
105
  * Extract numeric Lighthouse assertions with a direction chosen per key.
@@ -112,10 +112,22 @@ export const LIGHTHOUSE_ASSERTION_DIRECTIONS = {
112
112
  */
113
113
  export function extractLighthouseAssertions(conf) {
114
114
  const out = new Map();
115
- const assertions =
115
+ const root =
116
116
  conf && typeof conf === "object" && !Array.isArray(conf)
117
- ? /** @type {Record<string, unknown>} */ (conf).assertions
117
+ ? /** @type {Record<string, unknown>} */ (conf)
118
118
  : undefined;
119
+ const ci =
120
+ root?.ci && typeof root.ci === "object" && !Array.isArray(root.ci)
121
+ ? /** @type {Record<string, unknown>} */ (root.ci)
122
+ : undefined;
123
+ const assert =
124
+ ci?.assert && typeof ci.assert === "object" && !Array.isArray(ci.assert)
125
+ ? /** @type {Record<string, unknown>} */ (ci.assert)
126
+ : undefined;
127
+ // Lighthouse CI's canonical shape is `ci.assert.assertions`. Keep the
128
+ // historical top-level shape as a compatibility lane for already-generated
129
+ // project configs, but never merge the two into an ambiguous hybrid.
130
+ const assertions = assert?.assertions ?? root?.assertions;
119
131
  if (
120
132
  !assertions ||
121
133
  typeof assertions !== "object" ||
@@ -124,9 +136,21 @@ export function extractLighthouseAssertions(conf) {
124
136
  return out;
125
137
  }
126
138
  for (const [audit, spec] of Object.entries(assertions)) {
127
- if (!spec || typeof spec !== "object" || Array.isArray(spec)) continue;
128
- for (const [key, value] of Object.entries(spec)) {
129
- const direction = LIGHTHOUSE_ASSERTION_DIRECTIONS[key];
139
+ const options =
140
+ Array.isArray(spec) &&
141
+ spec.length >= 2 &&
142
+ spec[1] &&
143
+ typeof spec[1] === "object" &&
144
+ !Array.isArray(spec[1])
145
+ ? /** @type {Record<string, unknown>} */ (spec[1])
146
+ : spec && typeof spec === "object" && !Array.isArray(spec)
147
+ ? /** @type {Record<string, unknown>} */ (spec)
148
+ : undefined;
149
+ if (!options) continue;
150
+ for (const [key, value] of Object.entries(options)) {
151
+ const direction = Object.hasOwn(LIGHTHOUSE_ASSERTION_DIRECTIONS, key)
152
+ ? LIGHTHOUSE_ASSERTION_DIRECTIONS[key]
153
+ : undefined;
130
154
  if (direction && typeof value === "number" && Number.isFinite(value)) {
131
155
  out.set(`${audit}.${key}`, { value, direction });
132
156
  }
@@ -7,7 +7,7 @@
7
7
  "format": "prettier --check . --write",
8
8
  "test": "vitest run",
9
9
  "test:unit": "vitest run --exclude='**/integration/**'",
10
- "test:integration:lisa": "vitest run '.integration.' 'integration/' --passWithNoTests",
10
+ "test:integration:lisa": "vitest run '.integration.' 'integration/'",
11
11
  "test:cov": "vitest run --coverage",
12
12
  "test:cov:unit": "LISA_COVERAGE_SCOPE=unit vitest run --coverage --exclude='**/integration/**'",
13
13
  "test:mutation": "node scripts/lisa-mutation.mjs",