@jevitate/cli 0.7.0 → 0.8.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 (220) hide show
  1. package/dist/ai-cli.d.ts +3 -1
  2. package/dist/ai-cli.js +60 -16
  3. package/dist/ai-cli.js.map +1 -1
  4. package/dist/approval-provenance.d.ts +120 -0
  5. package/dist/approval-provenance.js +300 -0
  6. package/dist/approval-provenance.js.map +1 -0
  7. package/dist/author-journey-cli.js +4 -2
  8. package/dist/author-journey-cli.js.map +1 -1
  9. package/dist/bin.js +29019 -22450
  10. package/dist/build-info.generated.js +2 -2
  11. package/dist/builtin-analyzers.d.ts +7 -0
  12. package/dist/builtin-analyzers.js +19 -0
  13. package/dist/builtin-analyzers.js.map +1 -0
  14. package/dist/campaign-cli.d.ts +6 -0
  15. package/dist/campaign-cli.js +9 -4
  16. package/dist/campaign-cli.js.map +1 -1
  17. package/dist/catalog-analysis.d.ts +70 -0
  18. package/dist/catalog-analysis.js +507 -0
  19. package/dist/catalog-analysis.js.map +1 -0
  20. package/dist/catalog-api.d.ts +73 -0
  21. package/dist/catalog-api.js +97 -0
  22. package/dist/catalog-api.js.map +1 -0
  23. package/dist/catalog-cli.d.ts +12 -0
  24. package/dist/catalog-cli.js +224 -0
  25. package/dist/catalog-cli.js.map +1 -0
  26. package/dist/catalog-review.d.ts +29 -0
  27. package/dist/catalog-review.js +290 -0
  28. package/dist/catalog-review.js.map +1 -0
  29. package/dist/catalog.d.ts +133 -0
  30. package/dist/catalog.js +352 -0
  31. package/dist/catalog.js.map +1 -0
  32. package/dist/check-api.js +24 -2
  33. package/dist/check-api.js.map +1 -1
  34. package/dist/check-cli.d.ts +3 -0
  35. package/dist/check-cli.js +18 -4
  36. package/dist/check-cli.js.map +1 -1
  37. package/dist/check-execute.js +25 -9
  38. package/dist/check-execute.js.map +1 -1
  39. package/dist/check-plan.js +4 -1
  40. package/dist/check-plan.js.map +1 -1
  41. package/dist/check-suite.js +6 -3
  42. package/dist/check-suite.js.map +1 -1
  43. package/dist/check-types.d.ts +12 -1
  44. package/dist/check-types.js.map +1 -1
  45. package/dist/cli-output.js +82 -4
  46. package/dist/cli-output.js.map +1 -1
  47. package/dist/cli-shared.d.ts +22 -2
  48. package/dist/cli-shared.js +34 -5
  49. package/dist/cli-shared.js.map +1 -1
  50. package/dist/demo-aspect-api.d.ts +15 -0
  51. package/dist/demo-aspect-api.js +26 -1
  52. package/dist/demo-aspect-api.js.map +1 -1
  53. package/dist/demo-aspect-cli.js +64 -5
  54. package/dist/demo-aspect-cli.js.map +1 -1
  55. package/dist/exit-codes.js +4 -0
  56. package/dist/exit-codes.js.map +1 -1
  57. package/dist/explore-adversarial.d.ts +3 -1
  58. package/dist/explore-adversarial.js +2 -2
  59. package/dist/explore-adversarial.js.map +1 -1
  60. package/dist/explore-author.js +5 -2
  61. package/dist/explore-author.js.map +1 -1
  62. package/dist/explore-cli.js +144 -9
  63. package/dist/explore-cli.js.map +1 -1
  64. package/dist/explore-coverage.d.ts +6 -2
  65. package/dist/explore-coverage.js +4 -3
  66. package/dist/explore-coverage.js.map +1 -1
  67. package/dist/explore-feature.d.ts +3 -1
  68. package/dist/explore-feature.js +2 -2
  69. package/dist/explore-feature.js.map +1 -1
  70. package/dist/explore-goal.d.ts +37 -6
  71. package/dist/explore-goal.js +61 -48
  72. package/dist/explore-goal.js.map +1 -1
  73. package/dist/explore-shared.d.ts +12 -7
  74. package/dist/explore-shared.js +9 -1
  75. package/dist/explore-shared.js.map +1 -1
  76. package/dist/goal-run-flags.d.ts +2 -0
  77. package/dist/goal-run-flags.js +8 -1
  78. package/dist/goal-run-flags.js.map +1 -1
  79. package/dist/http-5xx-outcome.d.ts +8 -3
  80. package/dist/http-5xx-outcome.js +5 -15
  81. package/dist/http-5xx-outcome.js.map +1 -1
  82. package/dist/init-cli.d.ts +7 -0
  83. package/dist/init-cli.js +79 -9
  84. package/dist/init-cli.js.map +1 -1
  85. package/dist/init-codeowners.d.ts +39 -0
  86. package/dist/init-codeowners.js +91 -0
  87. package/dist/init-codeowners.js.map +1 -0
  88. package/dist/init-keys.d.ts +3 -1
  89. package/dist/init-keys.js +20 -8
  90. package/dist/init-keys.js.map +1 -1
  91. package/dist/init-skills.d.ts +85 -7
  92. package/dist/init-skills.js +303 -36
  93. package/dist/init-skills.js.map +1 -1
  94. package/dist/jev-advisor.d.ts +72 -0
  95. package/dist/jev-advisor.js +172 -0
  96. package/dist/jev-advisor.js.map +1 -0
  97. package/dist/journey-api.d.ts +34 -2
  98. package/dist/journey-api.js +51 -20
  99. package/dist/journey-api.js.map +1 -1
  100. package/dist/journey-cli.js +156 -12
  101. package/dist/journey-cli.js.map +1 -1
  102. package/dist/journey-review-api.d.ts +19 -0
  103. package/dist/journey-review-api.js +46 -0
  104. package/dist/journey-review-api.js.map +1 -0
  105. package/dist/journey-review-store.d.ts +16 -0
  106. package/dist/journey-review-store.js +95 -0
  107. package/dist/journey-review-store.js.map +1 -0
  108. package/dist/journey-review.d.ts +47 -0
  109. package/dist/journey-review.js +499 -0
  110. package/dist/journey-review.js.map +1 -0
  111. package/dist/journey-verify.js +14 -1
  112. package/dist/journey-verify.js.map +1 -1
  113. package/dist/key-report.d.ts +20 -5
  114. package/dist/key-report.js +32 -9
  115. package/dist/key-report.js.map +1 -1
  116. package/dist/kill-signal.js +10 -2
  117. package/dist/kill-signal.js.map +1 -1
  118. package/dist/load-cli.js +4 -2
  119. package/dist/load-cli.js.map +1 -1
  120. package/dist/log-classes.d.ts +73 -0
  121. package/dist/log-classes.js +167 -0
  122. package/dist/log-classes.js.map +1 -0
  123. package/dist/log-correlation.d.ts +29 -10
  124. package/dist/log-correlation.js +44 -21
  125. package/dist/log-correlation.js.map +1 -1
  126. package/dist/login-cli.d.ts +15 -0
  127. package/dist/login-cli.js +116 -0
  128. package/dist/login-cli.js.map +1 -0
  129. package/dist/logs-cli.js +3 -1
  130. package/dist/logs-cli.js.map +1 -1
  131. package/dist/mcp-api.d.ts +1 -0
  132. package/dist/mcp-api.js +61 -12
  133. package/dist/mcp-api.js.map +1 -1
  134. package/dist/mcp-cli-runner.d.ts +2 -0
  135. package/dist/mcp-cli-runner.js +3 -1
  136. package/dist/mcp-cli-runner.js.map +1 -1
  137. package/dist/mcp-cli-tools.d.ts +5 -0
  138. package/dist/mcp-cli-tools.js +158 -23
  139. package/dist/mcp-cli-tools.js.map +1 -1
  140. package/dist/mission-cli.js +8 -4
  141. package/dist/mission-cli.js.map +1 -1
  142. package/dist/mission-journal.d.ts +4 -1
  143. package/dist/mission-journal.js +9 -3
  144. package/dist/mission-journal.js.map +1 -1
  145. package/dist/mission-queue-cli.js +21 -2
  146. package/dist/mission-queue-cli.js.map +1 -1
  147. package/dist/mission-queue-runner.d.ts +6 -0
  148. package/dist/mission-queue-runner.js +33 -3
  149. package/dist/mission-queue-runner.js.map +1 -1
  150. package/dist/multi-run-cli.d.ts +7 -1
  151. package/dist/multi-run-cli.js +10 -3
  152. package/dist/multi-run-cli.js.map +1 -1
  153. package/dist/multi-run.d.ts +38 -3
  154. package/dist/multi-run.js +115 -23
  155. package/dist/multi-run.js.map +1 -1
  156. package/dist/persona-login.d.ts +199 -0
  157. package/dist/persona-login.js +574 -0
  158. package/dist/persona-login.js.map +1 -0
  159. package/dist/pre-approval.d.ts +98 -0
  160. package/dist/pre-approval.js +175 -0
  161. package/dist/pre-approval.js.map +1 -0
  162. package/dist/program.js +10 -0
  163. package/dist/program.js.map +1 -1
  164. package/dist/project-dir.d.ts +2 -1
  165. package/dist/project-dir.js +3 -1
  166. package/dist/project-dir.js.map +1 -1
  167. package/dist/readiness.d.ts +29 -0
  168. package/dist/readiness.js +291 -0
  169. package/dist/readiness.js.map +1 -0
  170. package/dist/regression-cli.js +4 -2
  171. package/dist/regression-cli.js.map +1 -1
  172. package/dist/report-api.d.ts +24 -2
  173. package/dist/report-api.js +33 -5
  174. package/dist/report-api.js.map +1 -1
  175. package/dist/report-cli.js +8 -1
  176. package/dist/report-cli.js.map +1 -1
  177. package/dist/result-schema.d.ts +12 -0
  178. package/dist/result-schema.js +8 -0
  179. package/dist/result-schema.js.map +1 -1
  180. package/dist/run-index.d.ts +4 -2
  181. package/dist/run-index.js +3 -1
  182. package/dist/run-index.js.map +1 -1
  183. package/dist/run-key-preflight.d.ts +2 -1
  184. package/dist/run-key-preflight.js +3 -2
  185. package/dist/run-key-preflight.js.map +1 -1
  186. package/dist/run-metadata.d.ts +26 -0
  187. package/dist/run-metadata.js +41 -0
  188. package/dist/run-metadata.js.map +1 -0
  189. package/dist/run-tags-cli.d.ts +12 -0
  190. package/dist/run-tags-cli.js +35 -0
  191. package/dist/run-tags-cli.js.map +1 -0
  192. package/dist/site-cli.d.ts +1 -1
  193. package/dist/site-cli.js +24 -1
  194. package/dist/site-cli.js.map +1 -1
  195. package/dist/source-cli.js +4 -2
  196. package/dist/source-cli.js.map +1 -1
  197. package/dist/suite-explore-options.d.ts +14 -0
  198. package/dist/suite-explore-options.js +7 -0
  199. package/dist/suite-explore-options.js.map +1 -1
  200. package/dist/sweep-api.d.ts +266 -0
  201. package/dist/sweep-api.js +828 -0
  202. package/dist/sweep-api.js.map +1 -0
  203. package/dist/sweep-cli.d.ts +9 -0
  204. package/dist/sweep-cli.js +115 -0
  205. package/dist/sweep-cli.js.map +1 -0
  206. package/dist/target-config.d.ts +5 -2
  207. package/dist/target-config.js +15 -0
  208. package/dist/target-config.js.map +1 -1
  209. package/dist/ux-cli.js +3 -1
  210. package/dist/ux-cli.js.map +1 -1
  211. package/dist/ux-usability.d.ts +9 -3
  212. package/dist/ux-usability.js +5 -3
  213. package/dist/ux-usability.js.map +1 -1
  214. package/dist/verify-fix-cli.js +4 -2
  215. package/dist/verify-fix-cli.js.map +1 -1
  216. package/package.json +12 -12
  217. package/skills/jevitate-demo/SKILL.md +5 -2
  218. package/skills/jevitate-getting-started/SKILL.md +12 -0
  219. package/skills/jevitate-run-journey/SKILL.md +17 -4
  220. package/skills/jevitate-test-campaign/SKILL.md +26 -5
@@ -5,8 +5,8 @@ import { type BrowserPort, type EmulationSpec } from "@jevitate/playwright";
5
5
  import { type BrowserRunOptions } from "./browser-run-options.js";
6
6
  import { type ScreenshotsSpec } from "./run-screenshots.js";
7
7
  import { type InvariantSpec } from "@jevitate/recording";
8
- import type { DefectRecord, HostHealthSampler, InvariantDefect, InvariantReport, SideEffect } from "@jevitate/explore";
9
- import type { EnvironmentDegraded, HostHealthSummary } from "@jevitate/domain";
8
+ import type { DefectRecord, HostHealthSampler, InvariantDefect, InvariantReport, SafetyOverride, SideEffect } from "@jevitate/explore";
9
+ import type { DefectOutcome, EnvironmentDegraded, HostHealthSummary } from "@jevitate/domain";
10
10
  import { type Bounds, type CoverageReport, type MissionRouteScope, type BudgetTrajectory, type Http5xxDefect, type HangFinding, type TimingSummary } from "@jevitate/explore";
11
11
  import { type MissionFailure, type MissionOutcome } from "@jevitate/domain";
12
12
  import { type EngineInfo } from "./engine.js";
@@ -147,6 +147,8 @@ export interface RunCoverageMissionResult {
147
147
  /** The writes the frontier's actions fired (#116), marked when the control was paid / destructive. */
148
148
  readonly sideEffects: SideEffect[];
149
149
  readonly sideEffectsTruncated?: number;
150
+ /** #428: every --allow-control exemption the run used. */
151
+ readonly safetyOverrides?: readonly SafetyOverride[];
150
152
  /** #303 (`--action-deltas`): verdict counts and the actions that changed nothing. */
151
153
  readonly actionDeltas?: ActionDeltaStats & {
152
154
  readonly noEffect?: readonly string[];
@@ -160,6 +162,8 @@ export interface RunCoverageMissionResult {
160
162
  * declared-invariant defects (#86, each with its own path Recording) and `server-log` defects (#142).
161
163
  */
162
164
  readonly defects: Array<CoverageFrontierDefect | InvariantDefect | Http5xxDefect | ServerLogDefect>;
165
+ /** #421/#423: the gating defects counted per kind (`defectOutcomeOf(defects)`). */
166
+ readonly defectOutcome: DefectOutcome;
163
167
  readonly invariants?: InvariantReport[];
164
168
  readonly invariantSpec?: InvariantSpec;
165
169
  /** Judgment/generation call counts and tokens for this run (#100); present only when `opts.usage` was supplied. */
@@ -10,7 +10,7 @@ import { runInductionMission, assertAuthorizedExploreTarget, startRouteGlobs, Ht
10
10
  import { combineOutcomes, gatingDefects, clock, } from "@jevitate/domain";
11
11
  import { currentEngineInfo } from "./engine.js";
12
12
  import { MissionJournal, artifactStamp, closeQuietly, resultPathFor, writeMissionResult } from "./mission-journal.js";
13
- import { MISSION_RESULT_SCHEMA_VERSION, unifiedDefects } from "./result-schema.js";
13
+ import { MISSION_RESULT_SCHEMA_VERSION, defectFields, unifiedDefects } from "./result-schema.js";
14
14
  import { missionExitCode } from "./mission-exit.js";
15
15
  import { launchArmed } from "./launch-armed.js";
16
16
  import { branchFields, startFromJourney } from "./journey-prefix.js";
@@ -217,6 +217,7 @@ export async function runCoverageMission(opts) {
217
217
  transcriptPath: journal.transcriptPath,
218
218
  sideEffects: result.sideEffects ?? [],
219
219
  ...(result.sideEffectsTruncated === undefined ? {} : { sideEffectsTruncated: result.sideEffectsTruncated }),
220
+ ...(result.safetyOverrides === undefined ? {} : { safetyOverrides: result.safetyOverrides }),
220
221
  ...(result.actionDeltas === undefined ? {} : { actionDeltas: result.actionDeltas }),
221
222
  ...(result.budget === undefined ? {} : { budget: result.budget }),
222
223
  engine: currentEngineInfo(),
@@ -225,12 +226,12 @@ export async function runCoverageMission(opts) {
225
226
  ...serverLogResult(serverLogRun),
226
227
  // #209: EVERY defect in `defects` (#195) — the frontier's own (a horizontal overflow, a flagged
227
228
  // state; also in `coverage.defects`), then declared-invariant, then HTTP 5xx (#208), then server-log ones.
228
- defects: unifiedDefects([
229
+ ...defectFields(unifiedDefects([
229
230
  // Slim: the repro Recording stays in `coverage.defects` (not copied twice into the result).
230
231
  ...stampedDefects.map(({ recording: _repro, reason, ...d }) => ({ ...d, title: reason })),
231
232
  ...(opts.invariants === undefined ? [] : (result.invariantDefects ?? [])),
232
233
  ...httpDefects,
233
- ], serverLogRun?.defects),
234
+ ], serverLogRun?.defects)),
234
235
  resultPath: resultPathFor(journal.recordingPath),
235
236
  ...host.fields,
236
237
  };
@@ -1 +1 @@
1
- {"version":3,"file":"explore-coverage.js","sourceRoot":"","sources":["../src/explore-coverage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAwC,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAA0B,MAAM,0BAA0B,CAAC;AAChK,OAAO,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAI7B,eAAe,EAIf,aAAa,EACb,WAAW,GAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,aAAa,EAEQ,KAAK,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,6BAA6B,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAEf,eAAe,EAEf,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oCAAoC,EACpC,mBAAmB,EAEnB,cAAc,EACd,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AA4J7B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAA+B;IACtE,wEAAwE;IACxE,MAAM,MAAM,GAAG,6BAA6B,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvE,oCAAoC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5D,+FAA+F;IAC/F,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1B,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,mGAAmG;IACnG,2FAA2F;IAC3F,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS;QACrD,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa;QACzC,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,WAAW,IAAI,CAAC,GAAG,EAAE;KAC3D,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,+DAA+D;IAC/D,+FAA+F;IAC/F,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;IAChF,oFAAoF;IACpF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG;QACb,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC/C,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,MAAM;QACf,GAAG,IAAI,CAAC,SAAS;QACjB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;IACF,oFAAoF;IACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IACrC,uGAAuG;IACvG,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAAC;QAC3E,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,KAAK,SAAS;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnB,wFAAwF;YACxF,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,UAAU;YACrC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAC/J,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU;YACpC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;SAC5H,CAAC;KACH,CAAC,CAAC;IAEH,qFAAqF;IACrF,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACrC,GAAG,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1C,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IACH,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,GAA+B,EAAQ,EAAE;QAC1F,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,SAAS,EAAE,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxE,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,oGAAoG;IACpG,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACvE,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,0FAA0F;QAC1F,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1G,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClF,0FAA0F;YAC1F,gBAAgB,EAAE,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5E,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,UAAU,EAAE,IAAI,CAAC,GAAG;YACpB,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YAC7D,kGAAkG;YAClG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,iBAAiB;YACjB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpG,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACrF,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5E,QAAQ,EAAE;gBACR,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACrG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAClG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC3G,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aACnF;YACD,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;SACzC,CAAC,CAAC;QAEH,+FAA+F;QAC/F,mFAAmF;QACnF,MAAM,GAAG,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,CAAC,CAAY,EAAa,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACrJ,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACvG,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QACxE,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrG,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,SAAS,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3F,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;QACvE,2FAA2F;QAC3F,iGAAiG;QACjG,gGAAgG;QAChG,gFAAgF;QAChF,iFAAiF;QACjF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,8FAA8F;QAC9F,mGAAmG;QACnG,kGAAkG;QAClG,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QAC1D,MAAM,KAAK,GAAG,YAAY,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QACzF,uGAAuG;QACvG,+FAA+F;QAC/F,mGAAmG;QACnG,MAAM,IAAI,GACR,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,mBAAmB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBACtE,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,2FAA2F;oBAC3F,4FAA4F;oBAC5F,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,uBAAuB,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;wBACrI,CAAC,CAAC,KAAK,GAAG,CAAC;4BACT,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,cAAc;wBAClB,CAAC,CAAC,IAAI,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;QACrF,MAAM,aAAa,GAAmB,eAAe,CAAC;YACpD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC/D,CAAC,CAAC;QACH,8FAA8F;QAC9F,8EAA8E;QAC9E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QAChG,MAAM,cAAc,GAAmB,IAAI,CAAC,OAAO,CAAC;QACpD,MAAM,eAAe,GAA+B,IAAI;YACtD,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,8BAA8B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC/H,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC;QAElE,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;QACjD,0FAA0F;QAC1F,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG;YACZ,aAAa,EAAE,6BAA6B;YAC5C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK,CAAC,UAAU;gBACzB,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjG;YACD,GAAG,YAAY,CAAC,KAAK,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,UAAU;YACrC,4FAA4F;YAC5F,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;gBACjD,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAE,WAAqB;aAC3G;YACD,QAAQ,EAAE,eAAe;YACzB,2FAA2F;YAC3F,wFAAwF;YACxF,8CAA8C;YAC9C,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAE,uBAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;YACrG,cAAc;YACd,QAAQ;YACR,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,cAAc;YACd,GAAG,MAAM;YACT,GAAG,UAAU;YACb,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,GAAG,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC3G,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACjE,MAAM,EAAE,iBAAiB,EAAE;YAC3B,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9E,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjE,GAAG,eAAe,CAAC,YAAY,CAAC;YAChC,gGAAgG;YAChG,2GAA2G;YAC3G,OAAO,EAAE,cAAc,CACrB;gBACE,4FAA4F;gBAC5F,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzF,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBACzE,GAAG,WAAW;aACf,EACD,YAAY,EAAE,OAAO,CACtB;YACD,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;YAChD,GAAG,IAAI,CAAC,MAAM;SACf,CAAC;QACF,OAAO,MAAM,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IACvM,CAAC;YAAS,CAAC;QACT,gBAAgB,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,SAAS,EAAE,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"explore-coverage.js","sourceRoot":"","sources":["../src/explore-coverage.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { type BrowserRunOptions } from "./browser-run-options.js";
4
4
  import { type ScreenshotsSpec } from "./run-screenshots.js";
5
5
  import { type InvariantSpec } from "@jevitate/recording";
6
6
  import type { HostHealthSampler, InvariantDefect, SafetyConfig } from "@jevitate/explore";
7
- import type { EnvironmentDegraded, HostHealthSummary } from "@jevitate/domain";
7
+ import type { DefectOutcome, EnvironmentDegraded, HostHealthSummary } from "@jevitate/domain";
8
8
  import { type Bounds, type FeatureRunResult, type MissionRouteScope, type Http5xxDefect } from "@jevitate/explore";
9
9
  import { type MissionOutcome } from "@jevitate/domain";
10
10
  import { type EngineInfo } from "./engine.js";
@@ -110,6 +110,8 @@ export type FeatureCliMissionResult = Omit<FeatureRunResult, "outcome"> & {
110
110
  readonly target: MissionTarget;
111
111
  /** EVERY defect the run found (#195): declared-invariant defects (#86, each with its own path Recording) and `server-log` defects (#142). */
112
112
  readonly defects: Array<InvariantDefect | Http5xxDefect | ServerLogDefect>;
113
+ /** #421/#423: the gating defects counted per kind (`defectOutcomeOf(defects)`). */
114
+ readonly defectOutcome: DefectOutcome;
113
115
  readonly invariantSpec?: InvariantSpec;
114
116
  /** Backend log correlation summary (#142) — present only when `--log-source` was given. */
115
117
  readonly serverLogs?: ServerLogsSummary;
@@ -11,7 +11,7 @@ import { runFeatureMission, assertAuthorizedExploreTarget, resolveRouteScope, re
11
11
  import { combineOutcomes, clock } from "@jevitate/domain";
12
12
  import { currentEngineInfo } from "./engine.js";
13
13
  import { MissionJournal, artifactStamp, closeQuietly, resultPathFor, writeMissionResult } from "./mission-journal.js";
14
- import { MISSION_RESULT_SCHEMA_VERSION, unifiedDefects } from "./result-schema.js";
14
+ import { MISSION_RESULT_SCHEMA_VERSION, defectFields, unifiedDefects } from "./result-schema.js";
15
15
  import { missionExitCode } from "./mission-exit.js";
16
16
  import { launchArmed } from "./launch-armed.js";
17
17
  import { finishHostHealth } from "./host-health-run.js";
@@ -201,7 +201,7 @@ export async function runFeatureCliMission(opts) {
201
201
  },
202
202
  ...declaredResult(opts.invariants, result.invariantDefects, result.invariants),
203
203
  ...serverLogResult(serverLogRun),
204
- defects: unifiedDefects([...(opts.invariants === undefined ? [] : (result.invariantDefects ?? [])), ...httpDefects], serverLogRun?.defects),
204
+ ...defectFields(unifiedDefects([...(opts.invariants === undefined ? [] : (result.invariantDefects ?? [])), ...httpDefects], serverLogRun?.defects)),
205
205
  resultPath: resultPathFor(journal.recordingPath),
206
206
  usage: NO_MODEL_USAGE,
207
207
  ...host.fields,
@@ -1 +1 @@
1
- {"version":3,"file":"explore-feature.js","sourceRoot":"","sources":["../src/explore-feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore-feature.js","sourceRoot":"","sources":["../src/explore-feature.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import { type BrowserPort, type EmulationSpec } from "@jevitate/playwright";
3
3
  import { type BrowserRunOptions } from "./browser-run-options.js";
4
4
  import { type ScreenshotsSpec } from "./run-screenshots.js";
5
5
  import { type Assertion, type InvariantSpec, type Recording } from "@jevitate/recording";
6
- import type { ActionDeltaStats, HostHealthSampler, InvariantDefect, InvariantReport, SideEffect } from "@jevitate/explore";
7
- import type { EnvironmentDegraded, HostHealthSummary } from "@jevitate/domain";
6
+ import type { ActionDeltaStats, HostHealthSampler, InvariantDefect, InvariantReport, MinEffortRequest, PartialReport, RunDepth, SafetyOverride, SideEffect } from "@jevitate/explore";
7
+ import type { DefectOutcome, EnvironmentDegraded, GoalReason, HostHealthSummary } from "@jevitate/domain";
8
8
  import { type Bounds, type GoalBasedOutcome, type StopReason, type TranscriptEntry, type RunAnswer, type RunOutcome, type SuccessCheck, type SuccessCheckResult, type SuccessWhen, type SecretField, type SecretCommandRunner, type TypeFixture, type BudgetTrajectory, type CrashReport, type Http5xxDefect } from "@jevitate/explore";
9
9
  import { type ConversationOptions } from "./conversation-options.js";
10
10
  import { type FilingConfig, type IssueFilerPort, type MissionFailure, type MissionOutcome } from "@jevitate/domain";
@@ -18,6 +18,7 @@ import type { JourneyBranchPoint } from "@jevitate/journey";
18
18
  import { type ServerLogDefect, type ServerLogsSummary, type TranscriptEntryWithLogs } from "./log-correlation.js";
19
19
  import { type MissionFixtureResult, type MissionFixtures } from "./mission-fixtures.js";
20
20
  import { type MissionActors } from "./mission-actors.js";
21
+ import type { LogClassCause } from "./log-classes.js";
21
22
  import { type ServerLogOptions, type MissionTarget } from "./explore-shared.js";
22
23
  /**
23
24
  * The programmatic surface behind `jevitate explore` — wires a real Playwright
@@ -65,6 +66,12 @@ export interface RunExplorationOptions {
65
66
  */
66
67
  readonly usage?: UsageTracker;
67
68
  readonly bounds?: Partial<Bounds>;
69
+ /**
70
+ * #424 (`--min-actions` / `--min-distinct-states`): the minimum exploration effort before the model
71
+ * may conclude. Each value wins over its default; without one, an open-ended find-out gets the
72
+ * default (`resolveMinEffort`). Capped by the budget, with a warning in `checkWarnings`.
73
+ */
74
+ readonly minEffort?: MinEffortRequest;
68
75
  readonly secrets?: readonly string[];
69
76
  /**
70
77
  * Secret field bindings (CLI `--secret-field` / `--totp`, resolved from the environment): typed
@@ -175,16 +182,25 @@ export interface RunExplorationResult {
175
182
  readonly reason: string;
176
183
  };
177
184
  /**
178
- * The portable verdict — ALWAYS canonical (#217): `goalOutcome` folded by the domain's single
179
- * mapping (`GOAL_OUTCOME_FOLD`): succeeded → clean; failed/exhausted/blocked → defects-found.
185
+ * The portable verdict — ALWAYS canonical (#217), derived (#423) from `goalOutcome` and
186
+ * `defectOutcome` by the domain's ONE table (`goalMissionOutcome`): succeeded → clean, or
187
+ * defects-found with defects; failed/exhausted/blocked → defects-found; a hang/broken run keeps its own.
180
188
  */
181
189
  readonly missionOutcome: MissionOutcome;
182
- /** The goal run's own ending (#217): succeeded/failed/exhausted/blocked, or a shared outcome. Equal to `outcome`. */
190
+ /**
191
+ * The goal run's own ending (#217): succeeded/failed/exhausted/blocked, or a shared outcome. Equal
192
+ * to `outcome`. #423: a defect never replaces it — a goal reached on an app that 500'd is `succeeded`
193
+ * here and `defects` in `defectOutcome`.
194
+ */
183
195
  readonly goalOutcome: GoalBasedOutcome;
196
+ /** #423: why the goal was not achieved (absent when `succeeded`). */
197
+ readonly goalReason?: GoalReason;
184
198
  readonly outcome: GoalBasedOutcome;
185
199
  /** The writes the run's actions fired (#116), marked when the control was paid / destructive. */
186
200
  readonly sideEffects: SideEffect[];
187
201
  readonly sideEffectsTruncated?: number;
202
+ /** #428: every --allow-control exemption the run used. */
203
+ readonly safetyOverrides?: readonly SafetyOverride[];
188
204
  /** #303: the run's action deltas (verdict counts, per-action overhead) — only with `--action-deltas`. */
189
205
  readonly actionDeltas?: ActionDeltaStats;
190
206
  /**
@@ -194,6 +210,13 @@ export interface RunExplorationResult {
194
210
  readonly runOutcome: RunOutcome;
195
211
  /** A find-out goal's answer (#101), present only when code grounded it on the observed pages. */
196
212
  readonly answer?: RunAnswer;
213
+ /**
214
+ * #424: a run whose answer is its verdict that ended WITHOUT a grounded answer — per page visited,
215
+ * what it showed (its own text, grounded), its controls, and what was tried there. Absent otherwise.
216
+ */
217
+ readonly partialReport?: PartialReport;
218
+ /** #424: how deep the run went — distinct states and pages, actions, decisions, forms submitted, the minimum. */
219
+ readonly depth: RunDepth;
197
220
  readonly assertionPassed: boolean;
198
221
  /** Each success check's verdict and what the oracle saw. */
199
222
  readonly checks: SuccessCheckResult[];
@@ -214,7 +237,7 @@ export interface RunExplorationResult {
214
237
  */
215
238
  readonly transcriptPath: string;
216
239
  readonly transcript: readonly TranscriptEntry[];
217
- /** Process exit code for this outcome (see `goalExitCode`). */
240
+ /** Process exit code of `missionOutcome` (#423: derived from `goalOutcome` + `defectOutcome`). */
218
241
  readonly exitCode: number;
219
242
  /** Why the run ended `crashed`/`inconclusive`. */
220
243
  readonly failure?: MissionFailure;
@@ -245,6 +268,8 @@ export interface RunExplorationResult {
245
268
  * `server-log` defects (#142, with `--log-defect`) — `verify-fix` replays any of them by fingerprint.
246
269
  */
247
270
  readonly defects: Array<InvariantDefect | Http5xxDefect | ServerLogDefect>;
271
+ /** #421/#423: the gating defects counted per kind — orthogonal to `goalOutcome`. */
272
+ readonly defectOutcome: DefectOutcome;
248
273
  /** Per declared invariant: applied / held / violated / unreadable counts. */
249
274
  readonly invariants?: InvariantReport[];
250
275
  /** The declared spec the run evaluated — persisted so `verify-fix` re-checks the SAME invariants. */
@@ -253,6 +278,12 @@ export interface RunExplorationResult {
253
278
  readonly usage?: UsageCounts;
254
279
  /** Backend log correlation summary (#142) — present only when `--log-source` was given. */
255
280
  readonly serverLogs?: ServerLogsSummary;
281
+ /** #422: `--log-defect` lines classed `environment` by `.jevitate/log-classes.json`/the defaults (absent when none). */
282
+ readonly environmentFaults?: {
283
+ readonly causes: readonly LogClassCause[];
284
+ };
285
+ /** #422: `--log-defect` lines classed `expected-validation` (absent when none). */
286
+ readonly expectedValidation?: readonly LogClassCause[];
256
287
  /** The fixture the mission started from (#140/#144): identity, non-secret outputs, the setup/restore log. */
257
288
  readonly fixtures?: MissionFixtureResult;
258
289
  /** The host's health over the run (#203): peaks, the slowest render, starved steps. */
@@ -9,14 +9,14 @@ import { evidenceOf, withRunEvidence } from "./defect-evidence.js";
9
9
  import { CastActor, BrowseTheWeb } from "@jevitate/screenplay";
10
10
  import { runGoalBasedMission, assertAuthorizedExploreTarget, resolveMissionFixture, Http5xxOracle, secretFieldSecrets } from "@jevitate/explore";
11
11
  import { conversationConfig } from "./conversation-options.js";
12
- import { foldGoalOutcome, clock } from "@jevitate/domain";
12
+ import { GOAL_ONLY_OUTCOMES, defectOutcomeOf, goalMissionOutcome, goalReasonOf, clock } from "@jevitate/domain";
13
13
  import { draftForCrash, draftForHang } from "@jevitate/explore";
14
14
  import { processIssueDrafts } from "./findings-filing.js";
15
15
  import { currentEngineInfo } from "./engine.js";
16
16
  import { MissionJournal, artifactStamp, closeQuietly, resultPathFor, writeMissionResult } from "./mission-journal.js";
17
17
  import { MISSION_RESULT_SCHEMA_VERSION, unifiedDefects } from "./result-schema.js";
18
- import { applyHttp5xxGoalOutcome, describeHttp5xx, http5xxGoalReason } from "./http-5xx-outcome.js";
19
- import { goalExitCode } from "./mission-exit.js";
18
+ import { describeHttp5xx, http5xxGoalReason } from "./http-5xx-outcome.js";
19
+ import { missionExitCode } from "./mission-exit.js";
20
20
  import { launchArmed } from "./launch-armed.js";
21
21
  import { branchFields, startFromJourney } from "./journey-prefix.js";
22
22
  import { redactSecretValues } from "./journey-api.js";
@@ -25,36 +25,18 @@ import { openServerLogRuntime } from "./log-correlation.js";
25
25
  import { fixtureReplayOpener, recordingFixture } from "./mission-fixtures.js";
26
26
  import { observerSessions, persistedActors } from "./mission-actors.js";
27
27
  import { triageOf, serverLogResult, serverLogRuntimeOptions, recordingEmulation, DRAFTS_ONLY, NO_FILER, draftContext, freshSessionOpener, currentUrlSafe, assertSaveStorageStateOutsideProject, persistStorageState, browserVersionOf, declaredResult } from "./explore-shared.js";
28
- /** Outcomes that already mean the run itself broke or hung — a server-log finding never downgrades
29
- * (or, for the oracle-unreadable case, elevates) one of these; they already prove more, or the same. */
30
- const BROKEN_GOAL_OUTCOMES = new Set(["inconclusive", "crashed", "hang", "intermittent"]);
31
- /**
32
- * Folds a server-log correlation result into the goal mission's own `GoalBasedOutcome` (#142): a
33
- * found `server-log` defect makes an otherwise-not-broken run `defects-found`; an unreadable
34
- * `--log-defect` oracle turns an otherwise-`succeeded` run `inconclusive` — mirrors
35
- * `applyServerLogOutcome` (the `MissionOutcome` version the other three builders use), but
36
- * `GoalBasedOutcome` has its own extra values (`succeeded`/`exhausted`/`blocked`).
37
- */
38
- function applyServerLogGoalOutcome(outcome, run) {
39
- if (run === undefined)
40
- return outcome;
41
- if (run.defects.length > 0 && !BROKEN_GOAL_OUTCOMES.has(outcome))
42
- return "defects-found";
43
- if (!run.summary.oracleOk && outcome === "succeeded")
44
- return "inconclusive";
45
- return outcome;
46
- }
28
+ /** #423: a goal's own endings a violated invariant may override (`GoalBasedResult.goalEnding`) — restored as `goalOutcome`. */
29
+ const GOAL_ONLY = new Set(GOAL_ONLY_OUTCOMES);
47
30
  /** One-line reason for a server-log-driven outcome change (`reason` is unset otherwise for `succeeded`). */
48
31
  function serverLogOutcomeReason(newOutcome, run) {
49
32
  if (newOutcome === "defects-found") {
50
33
  const n = run?.defects.length ?? 0;
51
34
  return `${n} server-log defect${n === 1 ? "" : "s"} found (--log-defect)`;
52
35
  }
53
- // #169: the summary already knows WHICH source(s) made the oracle unhealthy and why (failed to
54
- // open vs. declared but silent) — this default only covers the (should-be-unreachable) case of no
55
- // summary at all.
36
+ // #169: the summary already knows WHICH source(s) failed to attach and their error text — this
37
+ // default only covers the (should-be-unreachable) case of no summary at all.
56
38
  return (run?.summary.oracleReason ??
57
- "the --log-defect oracle could not run: every declared --log-source failed to open or read a line — an absence of server-log defects proves nothing");
39
+ "the --log-defect oracle could not run: every declared --log-source failed to attach — an absence of server-log defects proves nothing");
58
40
  }
59
41
  /** Outcomes whose `reason` describes a UI-side blocker worth pairing with a correlated server cause. */
60
42
  const BLOCKED_LIKE_OUTCOMES = new Set(["blocked", "exhausted", "failed", "inconclusive"]);
@@ -278,6 +260,7 @@ export async function runExploration(opts) {
278
260
  ...(opts.successWhen === undefined ? {} : { successWhen: opts.successWhen }),
279
261
  ...(opts.allowVacuousChecks === true ? { allowVacuousChecks: true } : {}),
280
262
  bounds: opts.bounds,
263
+ ...(opts.minEffort === undefined ? {} : { minEffort: opts.minEffort }),
281
264
  secrets,
282
265
  ...(opts.secretFields === undefined ? {} : { secretFields: opts.secretFields }),
283
266
  ...(secretCommand === undefined ? {} : { secretCommand }),
@@ -307,20 +290,38 @@ export async function runExploration(opts) {
307
290
  };
308
291
  // Never blocks the mission itself: the drain wait happens AFTER `runGoalBasedMission` returned.
309
292
  const serverLogRun = serverLog === undefined ? undefined : await serverLog.finish(mission.transcript);
310
- // #142 follow-up: a found server-log defect counts as `defects-found` (exit 1); an unreadable
311
- // `--log-defect` oracle turns an otherwise-`succeeded` run `inconclusive` (exit 2) — never clean.
312
- const loggedOutcome = applyServerLogGoalOutcome(mission.outcome, serverLogRun);
293
+ // #423: the goal's own ending. A violated invariant's `defects-found` (#86) no longer replaces a
294
+ // goal-only ending (`goalEnding`): defects are their own, orthogonal verdict (`defectOutcome`).
295
+ const ownGoal = mission.outcome === "defects-found" && mission.goalEnding !== undefined && GOAL_ONLY.has(mission.goalEnding) ? mission.goalEnding : mission.outcome;
296
+ // #142 follow-up: an unreadable `--log-defect` oracle (and no server-log defect to show) turns an
297
+ // otherwise-`succeeded` run `inconclusive` (exit 2) — its silence proves nothing, never clean.
298
+ const oracleBroken = serverLogRun !== undefined && serverLogRun.defects.length === 0 && !serverLogRun.summary.oracleOk && ownGoal === "succeeded";
299
+ const goalSoFar = oracleBroken ? "inconclusive" : ownGoal;
313
300
  // #208: an HTTP 5xx is a hard-signal defect — `defects-found` even when the goal's checks held.
314
301
  const httpDefects = http5xx.defects(mission.transcript, mission.recording.pages.flatMap((p) => p.steps)[0]?.step.kind === "navigate" ? 1 : 0);
315
- const hardOutcome = applyHttp5xxGoalOutcome(loggedOutcome, httpDefects);
316
- // #203: most steps on a starved host → `inconclusive` (degraded-environment), never a pass/fail.
317
- // #213: a starved `failed` goal keeps the check that did not hold in its degraded reason.
318
- const host = await finishHostHealth(health, hardOutcome, {
319
- ...(hardOutcome === mission.outcome && (mission.failure?.message ?? mission.reason) !== undefined
302
+ // #195/#421: every defect in ONE list — server-log defects as structured entries, never only prose.
303
+ const defects = unifiedDefects([...(opts.invariants === undefined ? [] : (mission.invariantDefects ?? [])), ...httpDefects], serverLogRun?.defects);
304
+ const defectOutcome = defectOutcomeOf(defects);
305
+ // #203: most steps on a starved host → `inconclusive` (degraded-environment), never a pass/fail —
306
+ // judged on what the run would report (`goalMissionOutcome`, never `clean` with defects): a found
307
+ // defect is never overridden, a goal-only miss is. #213: a starved `failed` goal keeps the check
308
+ // that did not hold in its degraded reason.
309
+ const preHost = defectOutcome.status === "defects" ? goalMissionOutcome(goalSoFar, "defects") : goalSoFar;
310
+ const host = await finishHostHealth(health, preHost, {
311
+ ...(preHost === mission.outcome && (mission.failure?.message ?? mission.reason) !== undefined
320
312
  ? { wouldHaveBeen: mission.failure?.message ?? mission.reason }
321
313
  : {}),
322
314
  });
323
- const goalOutcome = host.outcome;
315
+ const goalOutcome = host.outcome === preHost ? goalSoFar : host.outcome;
316
+ // #423: THE table (domain `goalMissionOutcome`) — the exit code is unchanged for every combination.
317
+ const missionOutcome = goalMissionOutcome(goalOutcome, defectOutcome.status);
318
+ const goalReason = goalReasonOf({
319
+ goalOutcome,
320
+ ...(mission.goalEnding === undefined ? {} : { overridden: mission.goalEnding }),
321
+ stop: mission.run.stop,
322
+ ...((mission.run.failure ?? host.failure ?? mission.failure) === undefined ? {} : { failureKind: (mission.run.failure ?? host.failure ?? mission.failure).kind }),
323
+ ...(mission.run.missCause === undefined ? {} : { missCause: mission.run.missCause }),
324
+ });
324
325
  journal.writeRecording(recording);
325
326
  journal.writeTranscript(serverLogRun?.transcript ?? mission.transcript);
326
327
  const engine = currentEngineInfo();
@@ -342,13 +343,16 @@ export async function runExploration(opts) {
342
343
  const result = {
343
344
  schemaVersion: MISSION_RESULT_SCHEMA_VERSION,
344
345
  strategy: "goal",
345
- missionOutcome: foldGoalOutcome(goalOutcome),
346
+ missionOutcome,
346
347
  goalOutcome,
348
+ ...(goalReason === undefined ? {} : { goalReason }),
347
349
  issues,
348
350
  timing: mission.run.timing,
349
351
  outcome: goalOutcome,
350
352
  runOutcome: mission.run.outcome,
351
353
  ...(mission.run.answer === undefined ? {} : { answer: mission.run.answer }),
354
+ ...(mission.run.partialReport === undefined ? {} : { partialReport: mission.run.partialReport }),
355
+ depth: mission.run.depth,
352
356
  assertionPassed: mission.assertionPassed,
353
357
  checks: mission.checks,
354
358
  ...(mission.warnings === undefined ? {} : { checkWarnings: mission.warnings }),
@@ -368,7 +372,7 @@ export async function runExploration(opts) {
368
372
  ...shotFields,
369
373
  transcriptPath: journal.transcriptPath,
370
374
  transcript: serverLogRun?.transcript ?? mission.transcript,
371
- exitCode: goalExitCode(goalOutcome),
375
+ exitCode: missionExitCode(missionOutcome),
372
376
  resultPath,
373
377
  target: {
374
378
  seedUrl: start.persistUrl,
@@ -385,6 +389,7 @@ export async function runExploration(opts) {
385
389
  ...(mission.budget === undefined ? {} : { budget: mission.budget }),
386
390
  sideEffects: mission.run.sideEffects,
387
391
  ...(mission.run.sideEffectsTruncated === undefined ? {} : { sideEffectsTruncated: mission.run.sideEffectsTruncated }),
392
+ ...(mission.run.safetyOverrides === undefined ? {} : { safetyOverrides: mission.run.safetyOverrides }),
388
393
  ...(mission.run.actionDeltas === undefined ? {} : { actionDeltas: mission.run.actionDeltas }),
389
394
  engine,
390
395
  ...(fx === undefined || missionFixture === undefined
@@ -407,20 +412,28 @@ export async function runExploration(opts) {
407
412
  })(),
408
413
  ...(host.failure !== undefined
409
414
  ? { reason: host.failure.message }
410
- : goalOutcome === mission.outcome
411
- ? (() => {
412
- const reason = withServerCause(mission.reason, goalOutcome, serverLogRun?.transcript);
413
- // #208: a broken run keeps its outcome, but its reason still names the server error.
414
- const withHttp = httpDefects.length === 0 ? reason : `${reason ?? goalOutcome}; HTTP 5xx: ${describeHttp5xx(httpDefects)}`;
415
- return withHttp === undefined ? {} : { reason: withHttp };
416
- })()
417
- : loggedOutcome === mission.outcome
418
- ? { reason: http5xxGoalReason(httpDefects, mission.assertionPassed) }
419
- : { reason: serverLogOutcomeReason(goalOutcome, serverLogRun) }),
415
+ : (() => {
416
+ // #423: `reason` stays prose — the goal's own account (with its correlated server cause),
417
+ // then what the defect oracles found; the structured verdicts are goalOutcome/defectOutcome.
418
+ const parts = [];
419
+ const own = withServerCause(mission.reason, goalOutcome, serverLogRun?.transcript);
420
+ if (own !== undefined)
421
+ parts.push(own);
422
+ if (oracleBroken)
423
+ parts.push(serverLogOutcomeReason("inconclusive", serverLogRun));
424
+ if ((serverLogRun?.defects.length ?? 0) > 0)
425
+ parts.push(serverLogOutcomeReason("defects-found", serverLogRun));
426
+ if (httpDefects.length > 0) {
427
+ // #208: a 5xx alone on a goal whose checks held says both; otherwise it is named beside the rest.
428
+ parts.push(parts.length === 0 ? http5xxGoalReason(httpDefects, mission.assertionPassed) : `HTTP 5xx: ${describeHttp5xx(httpDefects)}`);
429
+ }
430
+ return parts.length === 0 ? {} : { reason: parts.join("; ") };
431
+ })()),
420
432
  ...declaredResult(opts.invariants, mission.invariantDefects, mission.invariants),
421
433
  ...(runUsage === undefined ? {} : { usage: runUsage.snapshot() }),
422
434
  ...serverLogResult(serverLogRun),
423
- defects: unifiedDefects([...(opts.invariants === undefined ? [] : (mission.invariantDefects ?? [])), ...httpDefects], serverLogRun?.defects),
435
+ defects,
436
+ defectOutcome,
424
437
  ...host.fields,
425
438
  };
426
439
  // Persisted so `verify-fix` can replay a hang later (the typed result next to the Recording).