@codyswann/lisa 4.84.6 → 4.84.8

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 (165) hide show
  1. package/all/copy-overwrite/scripts/lib/completion-authorization.mjs +282 -0
  2. package/all/copy-overwrite/scripts/lib/completion-proof-adapters.mjs +213 -0
  3. package/all/copy-overwrite/scripts/lib/completion-proof-conformance.mjs +115 -0
  4. package/all/copy-overwrite/scripts/lib/completion-proof-content.mjs +408 -0
  5. package/all/copy-overwrite/scripts/lib/completion-proof-errors.mjs +16 -0
  6. package/all/copy-overwrite/scripts/lib/completion-proof-github.mjs +233 -0
  7. package/all/copy-overwrite/scripts/lib/completion-proof-markdown.mjs +70 -0
  8. package/all/copy-overwrite/scripts/lib/completion-proof-projection.mjs +169 -0
  9. package/all/copy-overwrite/scripts/lib/completion-proof-publisher.mjs +238 -0
  10. package/all/copy-overwrite/scripts/lib/completion-proof-reader.mjs +175 -0
  11. package/all/copy-overwrite/scripts/lib/completion-proof-shape.mjs +374 -0
  12. package/all/copy-overwrite/scripts/lib/completion-proof-source.mjs +174 -0
  13. package/all/copy-overwrite/scripts/lib/history-secret-scanner.mjs +20 -5
  14. package/all/copy-overwrite/scripts/lib/npm-update-helper-inventory.mjs +15 -0
  15. package/all/copy-overwrite/scripts/lib/usage-effectiveness.d.mts +27 -0
  16. package/all/copy-overwrite/scripts/lib/usage-effectiveness.mjs +156 -0
  17. package/all/copy-overwrite/scripts/lib/usage-ledger-integrity.d.mts +8 -0
  18. package/all/copy-overwrite/scripts/lib/usage-ledger-integrity.mjs +141 -0
  19. package/all/copy-overwrite/scripts/lib/usage-ledger.d.mts +89 -0
  20. package/all/copy-overwrite/scripts/lib/usage-ledger.mjs +206 -0
  21. package/all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh +3 -1
  22. package/all/copy-overwrite/scripts/lisa-work-item.mjs +255 -39
  23. package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +141 -3
  24. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  25. package/dist/core/lisa-owned-hash-ledger.js +186 -0
  26. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  27. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  28. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  29. package/dist/core/upstream-evidence-manifest.js +108 -15
  30. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  31. package/dist/opencode/plugin-templates/parity-safety-net.sh +3 -1
  32. package/dist/utils/effectiveness.d.ts +4 -41
  33. package/dist/utils/effectiveness.d.ts.map +1 -1
  34. package/dist/utils/effectiveness.js +2 -126
  35. package/dist/utils/effectiveness.js.map +1 -1
  36. package/dist/utils/usage-accounting.d.ts +5 -100
  37. package/dist/utils/usage-accounting.d.ts.map +1 -1
  38. package/dist/utils/usage-accounting.js +4 -287
  39. package/dist/utils/usage-accounting.js.map +1 -1
  40. package/package.json +4 -4
  41. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  43. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  44. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/SKILL.md +7 -1
  45. package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  46. package/plugins/lisa/hooks/block-host-name-leak.mjs +25 -13
  47. package/plugins/lisa/hooks/host-name-command-context.mjs +16 -4
  48. package/plugins/lisa/hooks/parity-safety-net.sh +3 -1
  49. package/plugins/lisa/rules/eager/00-rule-index.md +1 -0
  50. package/plugins/lisa/rules/reference/completion-authorization.md +10 -0
  51. package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  52. package/plugins/lisa/skills/lisa-tracker-evidence/SKILL.md +7 -1
  53. package/plugins/lisa/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  54. package/plugins/lisa-agy/hooks/block-host-name-leak.mjs +25 -13
  55. package/plugins/lisa-agy/hooks/host-name-command-context.mjs +16 -4
  56. package/plugins/lisa-agy/hooks/parity-safety-net.sh +3 -1
  57. package/plugins/lisa-agy/plugin.json +1 -1
  58. package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  59. package/plugins/lisa-agy/skills/lisa-tracker-evidence/SKILL.md +7 -1
  60. package/plugins/lisa-agy/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  61. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  63. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  64. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +1 -1
  68. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-copilot/hooks/block-host-name-leak.mjs +25 -13
  70. package/plugins/lisa-copilot/hooks/host-name-command-context.mjs +16 -4
  71. package/plugins/lisa-copilot/hooks/parity-safety-net.sh +3 -1
  72. package/plugins/lisa-copilot/rules/eager/00-rule-index.md +1 -0
  73. package/plugins/lisa-copilot/rules/reference/completion-authorization.md +10 -0
  74. package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  75. package/plugins/lisa-copilot/skills/lisa-tracker-evidence/SKILL.md +7 -1
  76. package/plugins/lisa-copilot/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  77. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-cursor/hooks/block-host-name-leak.mjs +25 -13
  79. package/plugins/lisa-cursor/hooks/host-name-command-context.mjs +16 -4
  80. package/plugins/lisa-cursor/hooks/parity-safety-net.sh +3 -1
  81. package/plugins/lisa-cursor/rules/00-rule-index.mdc +1 -0
  82. package/plugins/lisa-cursor/rules/completion-authorization-reference.mdc +15 -0
  83. package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  84. package/plugins/lisa-cursor/skills/lisa-tracker-evidence/SKILL.md +7 -1
  85. package/plugins/lisa-cursor/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  86. package/plugins/lisa-devin/.claude-plugin/plugin.json +1 -1
  87. package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
  88. package/plugins/lisa-devin/hooks/block-host-name-leak.mjs +25 -13
  89. package/plugins/lisa-devin/hooks/host-name-command-context.mjs +16 -4
  90. package/plugins/lisa-devin/hooks/parity-safety-net.sh +3 -1
  91. package/plugins/lisa-devin/rules/eager/00-rule-index.md +1 -0
  92. package/plugins/lisa-devin/rules/reference/completion-authorization.md +10 -0
  93. package/plugins/lisa-devin/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  94. package/plugins/lisa-devin/skills/lisa-tracker-evidence/SKILL.md +7 -1
  95. package/plugins/lisa-devin/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  96. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  97. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  98. package/plugins/lisa-expo-agy/plugin.json +1 -1
  99. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +1 -1
  102. package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
  103. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  105. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  106. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  107. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +1 -1
  110. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  111. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  112. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  113. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-nestjs-devin/.claude-plugin/plugin.json +1 -1
  116. package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
  117. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  119. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  120. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  121. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  122. package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +1 -1
  123. package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +1 -1
  124. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  125. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  126. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  127. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  128. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  129. package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +1 -1
  130. package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
  131. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  132. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  133. package/plugins/lisa-rails-agy/plugin.json +1 -1
  134. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  135. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  136. package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +1 -1
  137. package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
  138. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  139. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  140. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  141. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  142. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  143. package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +1 -1
  144. package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
  145. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  146. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  147. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  148. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  149. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  150. package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
  151. package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
  152. package/plugins/src/base/hooks/block-host-name-leak.mjs +25 -13
  153. package/plugins/src/base/hooks/host-name-command-context.mjs +16 -4
  154. package/plugins/src/base/hooks/parity-safety-net.sh +3 -1
  155. package/plugins/src/base/rules/eager/00-rule-index.md +1 -0
  156. package/plugins/src/base/rules/reference/completion-authorization.md +10 -0
  157. package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
  158. package/plugins/src/base/skills/lisa-tracker-evidence/SKILL.md +7 -1
  159. package/plugins/src/base/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
  160. package/scripts/lib/host-name-expanded-command-cases.mjs +286 -0
  161. package/scripts/lib/host-name-field-occurrence-cases.mjs +60 -0
  162. package/scripts/two-channel-couplings.json +2 -2
  163. package/scripts/verify-host-name-target-scope.mjs +27 -1
  164. package/typescript/copy-overwrite/.prettierignore +15 -0
  165. package/typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs +32 -0
@@ -2133,6 +2133,7 @@ export const REVIEW_GATE_CONDITIONS = Object.freeze({
2133
2133
  objected: "objected",
2134
2134
  pending: "pending",
2135
2135
  unrecognised: "unrecognised",
2136
+ notReviewed: "not_reviewed",
2136
2137
  undetermined: "undetermined",
2137
2138
  // A SATISFYING condition: the reviewer could not or did not review this
2138
2139
  // head, and a writer posted a local adversarial review for it in its place.
@@ -2160,6 +2161,7 @@ const SUBSTITUTABLE_REPORTED_CONDITIONS = Object.freeze(
2160
2161
  REVIEW_GATE_CONDITIONS.waived,
2161
2162
  REVIEW_GATE_CONDITIONS.waivedWithReview,
2162
2163
  REVIEW_GATE_CONDITIONS.unrecognised,
2164
+ REVIEW_GATE_CONDITIONS.notReviewed,
2163
2165
  ])
2164
2166
  );
2165
2167
 
@@ -2364,6 +2366,14 @@ export function reviewGateState(reading, vocabulary = {}) {
2364
2366
  if (state === "FAILURE" || state === "ERROR") {
2365
2367
  return objectedReviewGateState(state, text, reading.description);
2366
2368
  }
2369
+ if (state === "SKIPPED") {
2370
+ return skippedReviewGateState(
2371
+ text,
2372
+ reading.description,
2373
+ vocabulary,
2374
+ reading.reviewActivity
2375
+ );
2376
+ }
2367
2377
  if (state !== "SUCCESS") {
2368
2378
  return pendingReviewGateState(state, reading.waitExpired);
2369
2379
  }
@@ -2375,6 +2385,28 @@ export function reviewGateState(reading, vocabulary = {}) {
2375
2385
  );
2376
2386
  }
2377
2387
 
2388
+ /**
2389
+ * A terminal skip never proves review, even when its title names completed work.
2390
+ * Existing exact waivers retain their policy; all other skips need a trusted
2391
+ * head-bound substitute and a clean, readable review surface to permit merging.
2392
+ * @param {string} text - Normalized description
2393
+ * @param {string|undefined} description - Original description
2394
+ * @param {{waive?: readonly string[]}} vocabulary - Per-check waiver extensions
2395
+ * @param {{read: boolean, present: boolean, objected: boolean}|undefined} activity - Independent review surface
2396
+ * @returns {{state: string, condition: string, why: string}} Terminal no-review verdict
2397
+ */
2398
+ function skippedReviewGateState(text, description, vocabulary, activity) {
2399
+ const waivers = [...ENTITLEMENT_WAIVERS, ...(vocabulary.waive ?? [])];
2400
+ if (waivers.some(phrase => text === normalizeDescription(phrase))) {
2401
+ return waivedReviewGateState(description, activity);
2402
+ }
2403
+ return {
2404
+ state: REVIEW_GATE_STATES.unsatisfied,
2405
+ condition: REVIEW_GATE_CONDITIONS.notReviewed,
2406
+ why: `reported terminal SKIPPED with the description ${JSON.stringify(description ?? "")}. This check did not complete a review; its title cannot prove otherwise. An existing exact waiver or a trusted substitute for this head is required, and no substitute covers an objection.`,
2407
+ };
2408
+ }
2409
+
2378
2410
  /**
2379
2411
  * Builds the common verdict for a settle window that expired inconclusively.
2380
2412
  *