@codyswann/lisa 3.52.0 → 3.54.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 (120) hide show
  1. package/dist/cli/doctor-declared-contexts.d.ts +32 -0
  2. package/dist/cli/doctor-declared-contexts.d.ts.map +1 -0
  3. package/dist/cli/doctor-declared-contexts.js +144 -0
  4. package/dist/cli/doctor-declared-contexts.js.map +1 -0
  5. package/dist/cli/doctor.d.ts.map +1 -1
  6. package/dist/cli/doctor.js +6 -0
  7. package/dist/cli/doctor.js.map +1 -1
  8. package/dist/cli/gate-report-drift-section.d.ts +8 -0
  9. package/dist/cli/gate-report-drift-section.d.ts.map +1 -0
  10. package/dist/cli/gate-report-drift-section.js +68 -0
  11. package/dist/cli/gate-report-drift-section.js.map +1 -0
  12. package/dist/cli/gate-report-fragment.d.ts.map +1 -1
  13. package/dist/cli/gate-report-fragment.js +7 -1
  14. package/dist/cli/gate-report-fragment.js.map +1 -1
  15. package/dist/cli/gate-report-joins.d.ts +45 -0
  16. package/dist/cli/gate-report-joins.d.ts.map +1 -1
  17. package/dist/cli/gate-report-joins.js +56 -0
  18. package/dist/cli/gate-report-joins.js.map +1 -1
  19. package/dist/cli/gate-report-registry.d.ts +9 -0
  20. package/dist/cli/gate-report-registry.d.ts.map +1 -1
  21. package/dist/cli/gate-report-registry.js +15 -0
  22. package/dist/cli/gate-report-registry.js.map +1 -1
  23. package/dist/cli/gate-report-sections.d.ts +6 -0
  24. package/dist/cli/gate-report-sections.d.ts.map +1 -1
  25. package/dist/cli/gate-report-sections.js +59 -0
  26. package/dist/cli/gate-report-sections.js.map +1 -1
  27. package/dist/cli/gate-report-style.d.ts +1 -1
  28. package/dist/cli/gate-report-style.d.ts.map +1 -1
  29. package/dist/cli/gate-report-style.js +3 -0
  30. package/dist/cli/gate-report-style.js.map +1 -1
  31. package/dist/cli/gate-report-templates.d.ts +22 -0
  32. package/dist/cli/gate-report-templates.d.ts.map +1 -0
  33. package/dist/cli/gate-report-templates.js +110 -0
  34. package/dist/cli/gate-report-templates.js.map +1 -0
  35. package/dist/cli/gate-report-types.d.ts +19 -5
  36. package/dist/cli/gate-report-types.d.ts.map +1 -1
  37. package/dist/cli/gate-report-types.js.map +1 -1
  38. package/dist/cli/gate-report.d.ts +3 -0
  39. package/dist/cli/gate-report.d.ts.map +1 -1
  40. package/dist/cli/gate-report.js +26 -2
  41. package/dist/cli/gate-report.js.map +1 -1
  42. package/dist/core/gate-declaration-drift.d.ts +190 -0
  43. package/dist/core/gate-declaration-drift.d.ts.map +1 -0
  44. package/dist/core/gate-declaration-drift.js +300 -0
  45. package/dist/core/gate-declaration-drift.js.map +1 -0
  46. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  47. package/dist/core/upstream-evidence-manifest.js +13 -1
  48. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  49. package/dist/health/declared-checks-inspection.d.ts +48 -0
  50. package/dist/health/declared-checks-inspection.d.ts.map +1 -0
  51. package/dist/health/declared-checks-inspection.js +154 -0
  52. package/dist/health/declared-checks-inspection.js.map +1 -0
  53. package/dist/health/deterministic-inputs.d.ts +40 -0
  54. package/dist/health/deterministic-inputs.d.ts.map +1 -0
  55. package/dist/health/deterministic-inputs.js +71 -0
  56. package/dist/health/deterministic-inputs.js.map +1 -0
  57. package/dist/health/deterministic.d.ts.map +1 -1
  58. package/dist/health/deterministic.js +10 -45
  59. package/dist/health/deterministic.js.map +1 -1
  60. package/dist/health/ruleset-inspection.d.ts +27 -0
  61. package/dist/health/ruleset-inspection.d.ts.map +1 -1
  62. package/dist/health/ruleset-inspection.js +70 -0
  63. package/dist/health/ruleset-inspection.js.map +1 -1
  64. package/package.json +1 -1
  65. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +33 -1
  68. package/plugins/lisa/skills/lisa-doctor/SKILL.md +33 -1
  69. package/plugins/lisa-agy/plugin.json +1 -1
  70. package/plugins/lisa-agy/skills/lisa-doctor/SKILL.md +33 -1
  71. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  73. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  74. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  77. package/plugins/lisa-copilot/skills/lisa-doctor/SKILL.md +33 -1
  78. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-cursor/skills/lisa-doctor/SKILL.md +33 -1
  80. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  82. package/plugins/lisa-expo-agy/plugin.json +1 -1
  83. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  87. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  88. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  92. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  93. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  96. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  97. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  98. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  102. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  103. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  105. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  106. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  107. package/plugins/lisa-rails-agy/plugin.json +1 -1
  108. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  111. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  112. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  113. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  116. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  117. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  118. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  120. package/plugins/src/base/skills/lisa-doctor/SKILL.md +33 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report-sections.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-sections.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,wBAAwB,CAAC;AA0ChC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAazD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiBzD;AAmBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAclE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAmB5D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAc1D"}
1
+ {"version":3,"file":"gate-report-sections.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-sections.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAEV,UAAU,EAGX,MAAM,wBAAwB,CAAC;AA0ChC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAazD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiBzD;AAmBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAclE;AAyCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAc1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAmB5D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAc1D"}
@@ -15,6 +15,14 @@
15
15
  * - **Not this project's** states Lisa's own unfixed limitations once, with a
16
16
  * count and a ticket, instead of scattering them through the project's report
17
17
  * as rows it appears to have failed.
18
+ *
19
+ * A fourth is here for a duller reason: the emitter computed the `skip_jobs`
20
+ * migration from the first day and the renderer showed none of it. Rendering
21
+ * data the emitter already produced is the whole shape of this change, and
22
+ * leaving one instance of it unrendered would be shipping the defect next to
23
+ * its own fix. It is also the closest v1 gets to an action a reader can take:
24
+ * the report never writes a declaration, but it can hand over the exact line to
25
+ * paste.
18
26
  * @module cli/gate-report-sections
19
27
  */
20
28
  import { chip, code, escapeHtml } from "./gate-report-html.js";
@@ -122,6 +130,57 @@ export function requiredContextsSection(report) {
122
130
  }
123
131
  return `<div class="lgr-cols">${ORIGIN_ORDER.map(origin => originGroup(origin, rows.filter(row => row.origin === origin))).join("")}</div>`;
124
132
  }
133
+ /** What each `skip_jobs` migration status means, in the operator's words. */
134
+ const SKIP_STATUS_TEXT = {
135
+ replaceable: "one declaration replaces this token exactly",
136
+ partial: "a declaration covers part of what this token switches off",
137
+ unmappable: "no gate governs what this token switches off",
138
+ inert: "this token switches nothing off",
139
+ unknown: "this workflow has never had a token by this name",
140
+ "moment-illegal": "the replacing gate cannot be declared at this moment",
141
+ };
142
+ /** The chip variant each status renders with. */
143
+ const SKIP_STATUS_VARIANT = {
144
+ replaceable: "ok",
145
+ partial: "b-B",
146
+ unmappable: "bad",
147
+ inert: "none",
148
+ unknown: "bad",
149
+ "moment-illegal": "bad",
150
+ };
151
+ /**
152
+ * One row of the `skip_jobs` migration table.
153
+ * @param entry - The token and its resolution
154
+ * @returns A table row
155
+ */
156
+ function skipJobRow(entry) {
157
+ const status = chip(SKIP_STATUS_VARIANT[entry.status] ?? "unknown", entry.status, SKIP_STATUS_TEXT[entry.status] ?? "");
158
+ const gate = entry.gate === null ? chip("none", "no gate") : code(entry.gate);
159
+ const declaration = entry.declaration === null
160
+ ? chip("none", "nothing to paste")
161
+ : code(entry.declaration);
162
+ return `<tr><td>${code(entry.token)}</td><td>${status}</td><td>${gate}</td><td>${declaration}</td></tr>`;
163
+ }
164
+ /**
165
+ * The tokens this project still forwards, and what replaces each.
166
+ * @param report - The whole report
167
+ * @returns A section of HTML
168
+ */
169
+ export function skipJobsSection(report) {
170
+ if (report.skipJobs.state !== "verified") {
171
+ return `<p class="lgr-note">${escapeHtml(report.skipJobs.message)}</p>`;
172
+ }
173
+ const rows = report.skipJobs.value;
174
+ if (rows.length === 0) {
175
+ return '<p class="lgr-note">This project forwards no <code>skip_jobs</code> tokens, so nothing here is switched off by name. That is a checked answer, not an absence of information.</p>';
176
+ }
177
+ return [
178
+ `<p class="lgr-lede">Each token below switches a cloud job off <em>by name</em>, which no declaration governs. The last column is the line that replaces it — this report never writes it for you, but it can hand it over.</p>`,
179
+ '<div class="lgr-scroll"><table><thead><tr><th>Token</th><th>Migration</th><th>Replaced by</th><th>Declaration to paste</th></tr></thead><tbody>',
180
+ rows.map(skipJobRow).join(""),
181
+ "</tbody></table></div>",
182
+ ].join("");
183
+ }
125
184
  /**
126
185
  * What fires on every file an agent writes.
127
186
  * @param report - The whole report
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report-sections.js","sourceRoot":"","sources":["../../src/cli/gate-report-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAO/D,kEAAkE;AAClE,MAAM,aAAa,GAA4C;IAC7D,eAAe,EAAE,qCAAqC;IACtD,iBAAiB,EAAE,iCAAiC;IACpD,kBAAkB,EAAE,mBAAmB;IACvC,aAAa,EAAE,0BAA0B;CAC1C,CAAC;AAEF,6DAA6D;AAC7D,MAAM,YAAY,GAA6B;IAC7C,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,CAAwB;IAC3C,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,MAAM,QAAQ,GACZ,CAAC,CAAC,qBAAqB,KAAK,CAAC;QAC3B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,mFAAmF,CAAC;IAClI,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,qBAAqB,CAAC;IACxD,MAAM,IAAI,GACR,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,8BAA8B,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAClD,OAAO,qBAAqB,CAAC,CAAC,aAAa,iBAAiB,KAAK,4DAA4D,QAAQ,GAAG,IAAI,GAAG,CAAC;AAClJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO;QACL,yBAAyB;QACzB,4BAA4B,CAAC,CAAC,kBAAkB,gBAAgB,CAAC,CAAC,SAAS,wDAAwD;QACnI,4BAA4B,CAAC,CAAC,YAAY,yEAAyE;QACnH,4BAA4B,CAAC,CAAC,eAAe,0DAA0D;QACvG,4BAA4B,CAAC,CAAC,WAAW,+CAA+C;QACxF,QAAQ;QACR,sCAAsC,UAAU,OAAO,CAAC,CAAC,UAAU,wDAAwD,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,WAAW,MAAM;KACtN,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,yEAAyE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,mEAAmE,CAAC;IACvO,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,MAAyB,EAAU,EAAE,CACjD,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO;QACL,wBAAwB;QACxB,4CAA4C,OAAO,CAAC,MAAM,sFAAsF,IAAI,CAAC,OAAO,CAAC,aAAa;QAC1K,2DAA2D,mBAAmB,CAAC,MAAM,+GAA+G,IAAI,CAAC,mBAAmB,CAAC,aAAa;QAC1O,6EAA6E,mBAAmB,CAAC,MAAM,qLAAqL,IAAI,CAAC,mBAAmB,CAAC,aAAa;QAClU,QAAQ;KACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAClB,MAAqB,EACrB,IAAmC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,qCAAqC,UAAU,CAAC,MAAM,CAAC,SAAS,OAAO,4BAA4B,IAAI,CAAC,MAAM,kBAAkB,MAAM,WAAW,KAAK,aAAa,CAAC;AAC7K,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAkB;IACxD,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACjD,OAAO,yFAAyF,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,+DAA+D,CAAC;IACrQ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,mIAAmI,CAAC;IAC7I,CAAC;IACD,OAAO,yBAAyB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACxD,WAAW,CACT,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAC1C,CACF,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,2FAA2F,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;IAClM,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,oLAAoL,CAAC;IAC9L,CAAC;IACD,OAAO;QACL,+BAA+B,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kSAAkS;QACpX,kKAAkK;QAClK,KAAK;aACF,GAAG,CACF,IAAI,CAAC,EAAE,CACL,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC,YAAY,CACtL;aACA,IAAI,CAAC,EAAE,CAAC;QACX,wBAAwB;KACzB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,oGAAoG,CAAC;IAC9G,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB;QACnC,CAAC,CAAC,gHAAgH;QAClH,CAAC,CAAC,yJAAyJ,CAAC;IAC9J,OAAO;QACL,uBAAuB,IAAI,MAAM;QACjC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CACpB,UAAU,CAAC,EAAE,CACX,iCAAiC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,oDAAoD,UAAU,CAAC,QAAQ,aAAa,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAC7R;KACF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"gate-report-sections.js","sourceRoot":"","sources":["../../src/cli/gate-report-sections.ts"],"names":[],"mappings":"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"}
@@ -15,5 +15,5 @@
15
15
  * @module cli/gate-report-style
16
16
  */
17
17
  /** The scoped stylesheet. */
18
- export declare const GATE_REPORT_STYLE = "\n.lisa-gate-report{\n--lgr-ink:var(--ink,#e6e9f2);--lgr-dim:var(--muted,#98a0b5);--lgr-faint:var(--faint,#6b7280);\n--lgr-panel:var(--surface,#161923);--lgr-panel2:var(--surface2,#1b2030);--lgr-line:var(--line,#252a38);\n--lgr-accent:var(--accent,#58a6ff);--lgr-good:var(--good,#22773c);--lgr-good-soft:var(--good-soft,#123021);\n--lgr-warn:var(--warn,#93610a);--lgr-warn-soft:var(--warn-soft,#3a2c12);\n--lgr-crit:var(--crit,#b3372c);--lgr-crit-soft:var(--crit-soft,#3a1616);\n--lgr-mono:var(--mono,ui-monospace,monospace);\ncolor:var(--lgr-ink);font-size:14px;line-height:1.55}\n.lisa-gate-report h2{font-size:18px;margin:34px 0 6px;padding-top:20px;border-top:1px solid var(--lgr-line)}\n.lisa-gate-report h3{font-size:12.5px;margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em;color:var(--lgr-dim)}\n.lisa-gate-report p{margin:0 0 14px}\n.lisa-gate-report .lgr-lede,.lisa-gate-report .lgr-sub{color:var(--lgr-dim);max-width:86ch}\n.lisa-gate-report .lgr-stats{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 12px}\n.lisa-gate-report .lgr-stat{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-radius:10px;padding:12px 16px;min-width:170px}\n.lisa-gate-report .lgr-stat b{display:block;font-size:26px;line-height:1.1}\n.lisa-gate-report .lgr-stat span{color:var(--lgr-dim);font-size:12.5px}\n.lisa-gate-report .lgr-denominator{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-left:3px solid var(--lgr-accent);border-radius:8px;padding:12px 16px;max-width:100ch}\n.lisa-gate-report .lgr-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0;\ncolor:var(--lgr-dim);font-size:12.5px}\n.lisa-gate-report .lgr-legend>span{display:flex;align-items:center;gap:6px}\n.lisa-gate-report .lgr-scroll{overflow-x:auto;border:1px solid var(--lgr-line);border-radius:10px}\n.lisa-gate-report table{border-collapse:collapse;width:100%;font-size:12.5px;background:var(--lgr-panel)}\n.lisa-gate-report th,.lisa-gate-report td{text-align:left;padding:9px 11px;\nborder-bottom:1px solid var(--lgr-line);vertical-align:top}\n.lisa-gate-report th{background:var(--lgr-panel2);font-size:11px;text-transform:uppercase;\nletter-spacing:.05em;color:var(--lgr-dim)}\n.lisa-gate-report th.lgr-m,.lisa-gate-report td.lgr-m{text-align:center;white-space:nowrap}\n.lisa-gate-report td.lgr-illegal{background:repeating-linear-gradient(45deg,transparent,transparent 5px,\nvar(--lgr-panel2) 5px,var(--lgr-panel2) 10px)}\n.lisa-gate-report .lgr-gid{display:block;font-family:var(--lgr-mono);font-size:12px;color:var(--lgr-accent)}\n.lisa-gate-report .lgr-glabel{display:block;color:var(--lgr-dim);font-size:12px}\n.lisa-gate-report .lgr-offaxis{margin-top:4px;color:var(--lgr-faint);font-size:11px;font-style:italic}\n.lisa-gate-report .lgr-proves{color:var(--lgr-dim);max-width:34ch}\n.lisa-gate-report code{font-family:var(--lgr-mono);font-size:11.5px;background:var(--lgr-panel2);\nborder:1px solid var(--lgr-line);border-radius:4px;padding:1px 5px}\n.lisa-gate-report .lgr-prov{margin-top:5px;font-size:11px;color:var(--lgr-dim)}\n.lisa-gate-report .lgr-provword{font-weight:700;color:var(--lgr-ink)}\n.lisa-gate-report .lgr-under{margin-top:4px;font-size:11px;color:var(--lgr-dim)}\n.lisa-gate-report .lgr-tier3{margin-top:5px;font-size:11px;color:var(--lgr-faint)}\n.lisa-gate-report .lgr-state{display:inline-block;font-size:11px;border-radius:5px;padding:2px 7px;font-weight:600}\n.lisa-gate-report .lgr-required{background:var(--lgr-good-soft);color:var(--lgr-good)}\n.lisa-gate-report .lgr-optional{background:var(--lgr-warn-soft);color:var(--lgr-warn)}\n.lisa-gate-report .lgr-off{background:var(--lgr-crit-soft);color:var(--lgr-crit)}\n.lisa-gate-report .lgr-undeclared{background:var(--lgr-panel2);color:var(--lgr-faint);border:1px dashed var(--lgr-line)}\n.lisa-gate-report .lgr-chip{display:inline-block;margin-left:5px;font-size:10.5px;border-radius:4px;\npadding:1px 5px;font-weight:600;vertical-align:1px}\n.lisa-gate-report .lgr-b-A,.lisa-gate-report .lgr-ok,.lisa-gate-report .lgr-yes-merge{\nbackground:var(--lgr-good-soft);color:var(--lgr-good)}\n.lisa-gate-report .lgr-b-B,.lisa-gate-report .lgr-other-merge{background:var(--lgr-warn-soft);color:var(--lgr-warn)}\n.lisa-gate-report .lgr-b-C,.lisa-gate-report .lgr-bad{background:var(--lgr-crit-soft);color:var(--lgr-crit)}\n.lisa-gate-report .lgr-b-D,.lisa-gate-report .lgr-none,.lisa-gate-report .lgr-no-merge{\nbackground:var(--lgr-panel2);color:var(--lgr-faint)}\n.lisa-gate-report .lgr-foreign{background:var(--lgr-panel2);color:var(--lgr-accent);border:1px solid var(--lgr-accent)}\n.lisa-gate-report .lgr-unknown{background:repeating-linear-gradient(45deg,var(--lgr-panel2),\nvar(--lgr-panel2) 3px,var(--lgr-panel) 3px,var(--lgr-panel) 6px);\ncolor:var(--lgr-dim);border:1px dashed var(--lgr-line)}\n.lisa-gate-report .lgr-note{background:repeating-linear-gradient(45deg,var(--lgr-panel2),\nvar(--lgr-panel2) 4px,var(--lgr-panel) 4px,var(--lgr-panel) 8px);\nborder:1px dashed var(--lgr-line);border-radius:8px;padding:14px 16px;color:var(--lgr-ink)}\n.lisa-gate-report .lgr-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}\n.lisa-gate-report .lgr-cols>div{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-radius:10px;padding:14px 16px}\n.lisa-gate-report .lgr-sharp,.lisa-gate-report .lgr-origin-lisa-undeclared{border-color:var(--lgr-crit)}\n.lisa-gate-report .lgr-origin-third-party{border-color:var(--lgr-accent)}\n.lisa-gate-report .lgr-cols p{color:var(--lgr-dim);font-size:12px;margin:0 0 8px}\n.lisa-gate-report .lgr-cols ul{margin:0;padding-left:18px}\n.lisa-gate-report .lgr-cols li{margin:3px 0;font-size:12.5px}\n.lisa-gate-report .lgr-count{float:right;color:var(--lgr-ink);font-size:13px}\n.lisa-gate-report .lgr-upstream{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-left:3px solid var(--lgr-accent);border-radius:10px;padding:14px 16px;margin-bottom:12px}\n.lisa-gate-report .lgr-upstream h3{text-transform:none;letter-spacing:0;font-size:14px;color:var(--lgr-ink)}\n.lisa-gate-report .lgr-upstream p{color:var(--lgr-dim);font-size:12.5px}\n.lisa-gate-report .lgr-upstream-meta{margin:0}\n.lisa-gate-report .lgr-foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--lgr-line);\ncolor:var(--lgr-faint);font-size:12px}\n";
18
+ export declare const GATE_REPORT_STYLE = "\n.lisa-gate-report{\n--lgr-ink:var(--ink,#e6e9f2);--lgr-dim:var(--muted,#98a0b5);--lgr-faint:var(--faint,#6b7280);\n--lgr-panel:var(--surface,#161923);--lgr-panel2:var(--surface2,#1b2030);--lgr-line:var(--line,#252a38);\n--lgr-accent:var(--accent,#58a6ff);--lgr-good:var(--good,#22773c);--lgr-good-soft:var(--good-soft,#123021);\n--lgr-warn:var(--warn,#93610a);--lgr-warn-soft:var(--warn-soft,#3a2c12);\n--lgr-crit:var(--crit,#b3372c);--lgr-crit-soft:var(--crit-soft,#3a1616);\n--lgr-mono:var(--mono,ui-monospace,monospace);\ncolor:var(--lgr-ink);font-size:14px;line-height:1.55}\n.lisa-gate-report h2{font-size:18px;margin:34px 0 6px;padding-top:20px;border-top:1px solid var(--lgr-line)}\n.lisa-gate-report h3{font-size:12.5px;margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em;color:var(--lgr-dim)}\n.lisa-gate-report p{margin:0 0 14px}\n.lisa-gate-report .lgr-lede,.lisa-gate-report .lgr-sub{color:var(--lgr-dim);max-width:86ch}\n.lisa-gate-report .lgr-stats{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 12px}\n.lisa-gate-report .lgr-stat{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-radius:10px;padding:12px 16px;min-width:170px}\n.lisa-gate-report .lgr-stat b{display:block;font-size:26px;line-height:1.1}\n.lisa-gate-report .lgr-stat span{color:var(--lgr-dim);font-size:12.5px}\n.lisa-gate-report .lgr-denominator{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-left:3px solid var(--lgr-accent);border-radius:8px;padding:12px 16px;max-width:100ch}\n.lisa-gate-report .lgr-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0;\ncolor:var(--lgr-dim);font-size:12.5px}\n.lisa-gate-report .lgr-legend>span{display:flex;align-items:center;gap:6px}\n.lisa-gate-report .lgr-scroll{overflow-x:auto;border:1px solid var(--lgr-line);border-radius:10px}\n.lisa-gate-report table{border-collapse:collapse;width:100%;font-size:12.5px;background:var(--lgr-panel)}\n.lisa-gate-report th,.lisa-gate-report td{text-align:left;padding:9px 11px;\nborder-bottom:1px solid var(--lgr-line);vertical-align:top}\n.lisa-gate-report th{background:var(--lgr-panel2);font-size:11px;text-transform:uppercase;\nletter-spacing:.05em;color:var(--lgr-dim)}\n.lisa-gate-report th.lgr-m,.lisa-gate-report td.lgr-m{text-align:center;white-space:nowrap}\n.lisa-gate-report td.lgr-illegal{background:repeating-linear-gradient(45deg,transparent,transparent 5px,\nvar(--lgr-panel2) 5px,var(--lgr-panel2) 10px)}\n.lisa-gate-report .lgr-gid{display:block;font-family:var(--lgr-mono);font-size:12px;color:var(--lgr-accent)}\n.lisa-gate-report .lgr-glabel{display:block;color:var(--lgr-dim);font-size:12px}\n.lisa-gate-report .lgr-offaxis{margin-top:4px;color:var(--lgr-faint);font-size:11px;font-style:italic}\n.lisa-gate-report .lgr-proves{color:var(--lgr-dim);max-width:34ch}\n.lisa-gate-report code{font-family:var(--lgr-mono);font-size:11.5px;background:var(--lgr-panel2);\nborder:1px solid var(--lgr-line);border-radius:4px;padding:1px 5px}\n.lisa-gate-report .lgr-prov{margin-top:5px;font-size:11px;color:var(--lgr-dim)}\n.lisa-gate-report .lgr-provword{font-weight:700;color:var(--lgr-ink)}\n.lisa-gate-report .lgr-under{margin-top:4px;font-size:11px;color:var(--lgr-dim)}\n.lisa-gate-report .lgr-tier3{margin-top:5px;font-size:11px;color:var(--lgr-faint)}\n.lisa-gate-report .lgr-state{display:inline-block;font-size:11px;border-radius:5px;padding:2px 7px;font-weight:600}\n.lisa-gate-report .lgr-required{background:var(--lgr-good-soft);color:var(--lgr-good)}\n.lisa-gate-report .lgr-optional{background:var(--lgr-warn-soft);color:var(--lgr-warn)}\n.lisa-gate-report .lgr-off{background:var(--lgr-crit-soft);color:var(--lgr-crit)}\n.lisa-gate-report .lgr-undeclared{background:var(--lgr-panel2);color:var(--lgr-faint);border:1px dashed var(--lgr-line)}\n.lisa-gate-report .lgr-chip{display:inline-block;margin-left:5px;font-size:10.5px;border-radius:4px;\npadding:1px 5px;font-weight:600;vertical-align:1px}\n.lisa-gate-report .lgr-b-A,.lisa-gate-report .lgr-ok,.lisa-gate-report .lgr-yes-merge{\nbackground:var(--lgr-good-soft);color:var(--lgr-good)}\n.lisa-gate-report .lgr-b-B,.lisa-gate-report .lgr-other-merge{background:var(--lgr-warn-soft);color:var(--lgr-warn)}\n.lisa-gate-report .lgr-b-C,.lisa-gate-report .lgr-bad{background:var(--lgr-crit-soft);color:var(--lgr-crit)}\n.lisa-gate-report .lgr-b-D,.lisa-gate-report .lgr-none,.lisa-gate-report .lgr-no-merge{\nbackground:var(--lgr-panel2);color:var(--lgr-faint)}\n.lisa-gate-report .lgr-foreign{background:var(--lgr-panel2);color:var(--lgr-accent);border:1px solid var(--lgr-accent)}\n.lisa-gate-report .lgr-unknown{background:repeating-linear-gradient(45deg,var(--lgr-panel2),\nvar(--lgr-panel2) 3px,var(--lgr-panel) 3px,var(--lgr-panel) 6px);\ncolor:var(--lgr-dim);border:1px dashed var(--lgr-line)}\n.lisa-gate-report .lgr-note{background:repeating-linear-gradient(45deg,var(--lgr-panel2),\nvar(--lgr-panel2) 4px,var(--lgr-panel) 4px,var(--lgr-panel) 8px);\nborder:1px dashed var(--lgr-line);border-radius:8px;padding:14px 16px;color:var(--lgr-ink)}\n.lisa-gate-report .lgr-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}\n.lisa-gate-report .lgr-cols>div{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-radius:10px;padding:14px 16px}\n.lisa-gate-report .lgr-sharp,.lisa-gate-report .lgr-origin-lisa-undeclared{border-color:var(--lgr-crit)}\n.lisa-gate-report .lgr-origin-third-party{border-color:var(--lgr-accent)}\n.lisa-gate-report .lgr-cols p{color:var(--lgr-dim);font-size:12px;margin:0 0 8px}\n.lisa-gate-report .lgr-cols ul{margin:0;padding-left:18px}\n.lisa-gate-report .lgr-cols li{margin:3px 0;font-size:12.5px}\n.lisa-gate-report .lgr-count{float:right;color:var(--lgr-ink);font-size:13px}\n.lisa-gate-report .lgr-upstream{background:var(--lgr-panel);border:1px solid var(--lgr-line);\nborder-left:3px solid var(--lgr-accent);border-radius:10px;padding:14px 16px;margin-bottom:12px}\n.lisa-gate-report .lgr-upstream h3{text-transform:none;letter-spacing:0;font-size:14px;color:var(--lgr-ink)}\n.lisa-gate-report .lgr-upstream p{color:var(--lgr-dim);font-size:12.5px}\n.lisa-gate-report .lgr-upstream-meta{margin:0}\n.lisa-gate-report .lgr-foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--lgr-line);\ncolor:var(--lgr-faint);font-size:12px}\n.lisa-gate-report .lgr-surface{margin:18px 0 8px;color:var(--lgr-ink);\ntext-transform:none;letter-spacing:0;font-size:14px}\n.lisa-gate-report .lgr-why{color:var(--lgr-dim);font-size:11.5px;margin:3px 0 8px}\n";
19
19
  //# sourceMappingURL=gate-report-style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report-style.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,stMA8E7B,CAAC"}
1
+ {"version":3,"file":"gate-report-style.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,w6MAiF7B,CAAC"}
@@ -93,5 +93,8 @@ border-left:3px solid var(--lgr-accent);border-radius:10px;padding:14px 16px;mar
93
93
  .lisa-gate-report .lgr-upstream-meta{margin:0}
94
94
  .lisa-gate-report .lgr-foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--lgr-line);
95
95
  color:var(--lgr-faint);font-size:12px}
96
+ .lisa-gate-report .lgr-surface{margin:18px 0 8px;color:var(--lgr-ink);
97
+ text-transform:none;letter-spacing:0;font-size:14px}
98
+ .lisa-gate-report .lgr-why{color:var(--lgr-dim);font-size:11.5px;margin:3px 0 8px}
96
99
  `;
97
100
  //# sourceMappingURL=gate-report-style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report-style.js","sourceRoot":"","sources":["../../src/cli/gate-report-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhC,CAAC"}
1
+ {"version":3,"file":"gate-report-style.js","sourceRoot":"","sources":["../../src/cli/gate-report-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFhC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { EnforcedContext } from "../core/gate-declaration-drift.js";
2
+ import type { Finding } from "./gate-report-types.js";
3
+ /** Reads the contexts the shipped templates require. Injectable for tests. */
4
+ export type TemplateEnforcementReader = (projectRoot: string) => Promise<readonly EnforcedContext[]>;
5
+ /**
6
+ * The default reader: the shipped templates, normalized as apply normalizes.
7
+ * @param projectRoot - Project root
8
+ * @returns The contexts the templates require
9
+ */
10
+ export declare const defaultTemplateEnforcementReader: TemplateEnforcementReader;
11
+ /**
12
+ * Read the templates, degrading to `unknown` and never to a pass.
13
+ * @param options - Inputs
14
+ * @param options.projectRoot - Project root
15
+ * @param options.read - Injectable reader, so tests never touch the package
16
+ * @returns The contexts, or an honest unknown
17
+ */
18
+ export declare function readTemplateEnforcement(options: {
19
+ projectRoot: string;
20
+ read?: TemplateEnforcementReader;
21
+ }): Promise<Finding<readonly EnforcedContext[]>>;
22
+ //# sourceMappingURL=gate-report-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-report-templates.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-templates.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAIzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,8EAA8E;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CACtC,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;AA+BzC;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,yBAkB5C,CAAC;AAgBJ;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,yBAAyB,CAAC;CAClC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC,CAwB/C"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Tier 1 — what the shipped ruleset templates require, read offline.
3
+ *
4
+ * The declaration-versus-live half of this comparison needs the network and
5
+ * degrades to `unknown`; this half needs nothing but the Lisa package and the
6
+ * project's settings file, so it answers in a repository with no credentials,
7
+ * no `gh`, and no network at all. That matters because the template is what a
8
+ * repository's protection is provisioned FROM: a declaration that disagrees
9
+ * with the template is drift the moment anyone runs the provisioner, whether or
10
+ * not the live ruleset has caught up yet.
11
+ *
12
+ * Every failure lands on `unknown` carrying a reason. In particular an empty
13
+ * template set is `unknown`, never an empty pass: a comparison against nothing
14
+ * would report every declaration as enforcing nothing, which is a false claim
15
+ * rather than a missing one.
16
+ * @module cli/gate-report-templates
17
+ */
18
+ import { readFile, realpath } from "node:fs/promises";
19
+ import * as path from "node:path";
20
+ import { expectedRequiredContexts } from "../health/ruleset-inspection.js";
21
+ import { detectHealthProjectTypes } from "../health/template-inspection.js";
22
+ import { resolveLisaPackageRoot } from "./gate-report-registry.js";
23
+ /**
24
+ * Read `.lisa.config.json` as a plain record.
25
+ *
26
+ * The whole file rather than only its `gates` block, because the per-repo
27
+ * `github.rulesets.addRequiredChecks` and `dropRequiredChecks` opt-ins change
28
+ * which contexts a template actually ends up requiring.
29
+ * @param projectRoot - Project root
30
+ * @returns The parsed object, or null when it could not be read
31
+ */
32
+ async function readRawConfig(projectRoot) {
33
+ const source = await readFile(path.join(projectRoot, ".lisa.config.json"), "utf8").catch(() => undefined);
34
+ if (source === undefined)
35
+ return null;
36
+ try {
37
+ const parsed = JSON.parse(source);
38
+ return parsed !== null &&
39
+ typeof parsed === "object" &&
40
+ !Array.isArray(parsed)
41
+ ? parsed
42
+ : null;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * The default reader: the shipped templates, normalized as apply normalizes.
50
+ * @param projectRoot - Project root
51
+ * @returns The contexts the templates require
52
+ */
53
+ export const defaultTemplateEnforcementReader = async (projectRoot) => {
54
+ const lisaRoot = resolveLisaPackageRoot();
55
+ if (lisaRoot === null)
56
+ throw new Error("LISA_PACKAGE_NOT_FOUND");
57
+ // The health readers confine every read to a CANONICAL root and reject a
58
+ // path that resolves outside it. A caller-supplied root that is merely
59
+ // absolute — a symlinked temporary directory, a checkout reached through
60
+ // one — resolves elsewhere and is refused, so it is canonicalized here
61
+ // rather than at each of the reads it is threaded through.
62
+ const canonical = await realpath(projectRoot).catch(() => projectRoot);
63
+ const config = await readRawConfig(canonical);
64
+ if (config === null)
65
+ throw new Error("CONFIG_UNREADABLE");
66
+ return await expectedRequiredContexts(lisaRoot, canonical, await detectHealthProjectTypes(canonical), config);
67
+ };
68
+ /** Why a template read failed, in words an operator can act on. */
69
+ const REASONS = {
70
+ LISA_PACKAGE_NOT_FOUND: {
71
+ reason: "lisa-package-not-found",
72
+ message: "The running Lisa package could not be located, so the ruleset templates were not read. Nothing here claims a declaration does or does not match the protection it will be provisioned into.",
73
+ },
74
+ CONFIG_UNREADABLE: {
75
+ reason: "config-unreadable",
76
+ message: ".lisa.config.json could not be read, so the per-repo required-check opt-ins that change what a template requires are unknown. The comparison was not made.",
77
+ },
78
+ };
79
+ /**
80
+ * Read the templates, degrading to `unknown` and never to a pass.
81
+ * @param options - Inputs
82
+ * @param options.projectRoot - Project root
83
+ * @param options.read - Injectable reader, so tests never touch the package
84
+ * @returns The contexts, or an honest unknown
85
+ */
86
+ export async function readTemplateEnforcement(options) {
87
+ const read = options.read ?? defaultTemplateEnforcementReader;
88
+ try {
89
+ const value = await read(options.projectRoot);
90
+ if (value.length === 0) {
91
+ return {
92
+ state: "unknown",
93
+ reason: "templates-not-found",
94
+ message: "No shipped ruleset template named a required status check for this project, so there is nothing to hold the declarations against. An empty template set is reported as unread rather than as a project whose merges are blocked on nothing.",
95
+ };
96
+ }
97
+ return { state: "verified", value };
98
+ }
99
+ catch (error) {
100
+ const key = error instanceof Error ? error.message : String(error);
101
+ return {
102
+ state: "unknown",
103
+ ...(REASONS[key] ?? {
104
+ reason: "templates-unreadable",
105
+ message: "Reading the shipped ruleset templates failed, so what the protection they provision would require is unknown for this run.",
106
+ }),
107
+ };
108
+ }
109
+ }
110
+ //# sourceMappingURL=gate-report-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-report-templates.js","sourceRoot":"","sources":["../../src/cli/gate-report-templates.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * every count states its unknown band explicitly.
15
15
  * @module cli/gate-report-types
16
16
  */
17
+ import type { DeclarationDriftReport, DeclarationState } from "../core/gate-declaration-drift.js";
17
18
  /** Report format version, bumped when a consumer would have to change. */
18
19
  export declare const GATE_REPORT_VERSION = 2;
19
20
  /**
@@ -39,12 +40,12 @@ export type Finding<T> = {
39
40
  /**
40
41
  * What the settings file says about one gate at one moment.
41
42
  *
42
- * `off` and `not-declared` are deliberately separate. Collapsing them is what
43
- * let a declaration govern nothing: the CI façade read both as
44
- * `configured=false` and ran its built-in fallback, so `off` could not turn a
45
- * job off.
43
+ * Defined once in `core/gate-declaration-drift` and re-exported here. The
44
+ * declaration-versus-ruleset comparison turns on the difference between `off`
45
+ * and `not-declared`, so a second definition that drifted by one member would
46
+ * be a defect in exactly the place the comparison exists to protect.
46
47
  */
47
- export type DeclarationState = "required" | "optional" | "off" | "not-declared";
48
+ export type { DeclarationState };
48
49
  /** How a declared gate is proved. */
49
50
  export type ProofMode = "run" | "await" | "intercept" | "off";
50
51
  /**
@@ -233,6 +234,19 @@ export interface GateReport {
233
234
  readonly skipJobs: Finding<readonly SkipJobRow[]>;
234
235
  /** Declared contexts against the live ruleset — Tier 2. */
235
236
  readonly ruleset: Finding<RulesetComparison>;
237
+ /**
238
+ * The declaration held against each surface that enforces it.
239
+ *
240
+ * Two surfaces, reported separately and never merged. `templates` needs no
241
+ * network and says what protection would require the moment anyone
242
+ * provisions it; `live` says what the repository requires right now, and is
243
+ * `unknown` whenever this run could not read it. Folding them into one
244
+ * verdict would let a reachable surface vouch for an unreachable one.
245
+ */
246
+ readonly declarationDrift: {
247
+ readonly templates: Finding<DeclarationDriftReport>;
248
+ readonly live: Finding<DeclarationDriftReport>;
249
+ };
236
250
  /**
237
251
  * Every context a merge is blocked on, with who owns it.
238
252
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report-types.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-report-types.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report-types.js","sourceRoot":"","sources":["../../src/cli/gate-report-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"gate-report-types.js","sourceRoot":"","sources":["../../src/cli/gate-report-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type GateRegistryModule } from "./gate-report-registry.js";
2
+ import { type TemplateEnforcementReader } from "./gate-report-templates.js";
2
3
  import { type RequiredContextsReader } from "./gate-report-ruleset.js";
3
4
  import { type SkipJobTokensReader } from "./gate-report-skip-jobs.js";
4
5
  import { type GateReport } from "./gate-report-types.js";
@@ -12,6 +13,8 @@ export interface GateReportOptions {
12
13
  readonly readRequiredContexts?: RequiredContextsReader;
13
14
  /** Injectable `skip_jobs` reader, for the same reason. */
14
15
  readonly readSkipJobTokens?: SkipJobTokensReader;
16
+ /** Injectable Tier 1 ruleset-template reader, for the same reason. */
17
+ readonly readTemplateContexts?: TemplateEnforcementReader;
15
18
  /** Injectable home directory, so agent-hook discovery is testable. */
16
19
  readonly homedir?: () => string;
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report.ts"],"names":[],"mappings":"AAyCA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,wBAAwB,CAAC;AAWhC,8BAA8B;AAC9B,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IACvD,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACjD,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACjC;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,EAAE,CASV;AA4JD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC,CA6DrB"}
1
+ {"version":3,"file":"gate-report.d.ts","sourceRoot":"","sources":["../../src/cli/gate-report.ts"],"names":[],"mappings":"AAyCA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,wBAAwB,CAAC;AAWhC,8BAA8B;AAC9B,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IACvD,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACjD,sEAAsE;IACtE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;IAC1D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACjC;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,EAAE,CASV;AA6LD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC,CAsErB"}
@@ -26,7 +26,8 @@ import { facadeFinding, facadeSourceOf, readFacadeFacts, } from "./gate-report-f
26
26
  import { mergeVerdict } from "./gate-report-merge.js";
27
27
  import { collectUpstream, PRE_TOOL } from "./gate-report-upstream.js";
28
28
  import { loadGateRegistry, } from "./gate-report-registry.js";
29
- import { buildRequiredContexts, buildRulesetFinding, mergeBlockResolver, } from "./gate-report-joins.js";
29
+ import { buildDeclarationDrift, buildRequiredContexts, buildRulesetFinding, liveEnforcement, mergeBlockResolver, } from "./gate-report-joins.js";
30
+ import { readTemplateEnforcement, } from "./gate-report-templates.js";
30
31
  import { defaultRequiredContextsReader, readRequiredContexts, } from "./gate-report-ruleset.js";
31
32
  import { buildSkipJobRows, defaultSkipJobTokensReader, } from "./gate-report-skip-jobs.js";
32
33
  import { readConfig } from "./gate-report-config.js";
@@ -134,6 +135,7 @@ function registryMissingReport() {
134
135
  gates: [],
135
136
  skipJobs: missing,
136
137
  ruleset: missing,
138
+ declarationDrift: { templates: missing, live: missing },
137
139
  requiredContexts: missing,
138
140
  agentHooks: missing,
139
141
  facadeSource: { present: false, files: [] },
@@ -203,8 +205,29 @@ async function readInputs(registry, options) {
203
205
  readFacadeFacts(projectRoot),
204
206
  collectAgentHooks(projectRoot, options.homedir === undefined ? {} : { homedir: options.homedir }),
205
207
  readProjectIsUpstream(projectRoot),
208
+ readTemplateEnforcement(options.readTemplateContexts === undefined
209
+ ? { projectRoot }
210
+ : { projectRoot, read: options.readTemplateContexts }),
206
211
  ]);
207
212
  }
213
+ /**
214
+ * The declaration held against both surfaces that enforce it.
215
+ *
216
+ * Two surfaces, never merged into one verdict: the template needs no network
217
+ * and says what protection would require the moment anyone provisions it; the
218
+ * live ruleset says what the repository requires right now, and is `unknown`
219
+ * whenever this run did not read it. Folding them would let a reachable
220
+ * surface vouch for an unreachable one.
221
+ * @param joins - The join inputs
222
+ * @param templates - What the shipped templates require, or why that is unknown
223
+ * @returns One comparison per surface
224
+ */
225
+ function declarationDrift(joins, templates) {
226
+ return {
227
+ templates: buildDeclarationDrift(joins, "ruleset-templates", templates),
228
+ live: buildDeclarationDrift(joins, "live-ruleset", liveEnforcement(joins.contexts)),
229
+ };
230
+ }
208
231
  /**
209
232
  * Build the gate report for one project.
210
233
  * @param options - Report inputs
@@ -218,7 +241,7 @@ export async function buildGateReport(options) {
218
241
  const parsed = readConfig(registry, projectRoot);
219
242
  const gates = parsed.gates;
220
243
  const axis = momentAxis(registry, gates);
221
- const [scripts, hooks, contexts, skipJobs, facade, agentHooks, isUpstream] = await readInputs(registry, options);
244
+ const [scripts, hooks, contexts, skipJobs, facade, agentHooks, isUpstream, templates,] = await readInputs(registry, options);
222
245
  const joins = {
223
246
  registry,
224
247
  gates,
@@ -260,6 +283,7 @@ export async function buildGateReport(options) {
260
283
  gates: rows,
261
284
  skipJobs,
262
285
  ruleset: buildRulesetFinding(joins),
286
+ declarationDrift: declarationDrift(joins, templates),
263
287
  requiredContexts: buildRequiredContexts(joins),
264
288
  agentHooks,
265
289
  facadeSource: facadeSourceOf(facade),
@@ -1 +1 @@
1
- {"version":3,"file":"gate-report.js","sourceRoot":"","sources":["../../src/cli/gate-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-report.js","sourceRoot":"","sources":["../../src/cli/gate-report.ts"],"names":[],"mappings":"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"}