@jevitate/cli 0.2.0 → 0.4.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 (217) hide show
  1. package/dist/ai-cli.d.ts +31 -11
  2. package/dist/ai-cli.js +100 -67
  3. package/dist/ai-cli.js.map +1 -1
  4. package/dist/author-journey-cli.js +3 -1
  5. package/dist/author-journey-cli.js.map +1 -1
  6. package/dist/bin.js +48715 -40027
  7. package/dist/browser-run-options.d.ts +32 -1
  8. package/dist/browser-run-options.js +69 -0
  9. package/dist/browser-run-options.js.map +1 -1
  10. package/dist/build-info.generated.js +2 -2
  11. package/dist/campaign-api.d.ts +153 -0
  12. package/dist/campaign-api.js +447 -0
  13. package/dist/campaign-api.js.map +1 -0
  14. package/dist/campaign-cli.d.ts +8 -0
  15. package/dist/campaign-cli.js +109 -0
  16. package/dist/campaign-cli.js.map +1 -0
  17. package/dist/check-api.js +3 -2
  18. package/dist/check-api.js.map +1 -1
  19. package/dist/check-budget.js +2 -1
  20. package/dist/check-budget.js.map +1 -1
  21. package/dist/check-execute.d.ts +4 -0
  22. package/dist/check-execute.js +46 -10
  23. package/dist/check-execute.js.map +1 -1
  24. package/dist/check-plan.d.ts +5 -0
  25. package/dist/check-plan.js +77 -4
  26. package/dist/check-plan.js.map +1 -1
  27. package/dist/check-suite.d.ts +14 -1
  28. package/dist/check-suite.js +26 -1
  29. package/dist/check-suite.js.map +1 -1
  30. package/dist/cli-output.d.ts +4 -0
  31. package/dist/cli-output.js +52 -5
  32. package/dist/cli-output.js.map +1 -1
  33. package/dist/cli-shared.d.ts +13 -3
  34. package/dist/cli-shared.js +52 -7
  35. package/dist/cli-shared.js.map +1 -1
  36. package/dist/defect-evidence.d.ts +3 -2
  37. package/dist/defect-evidence.js +12 -8
  38. package/dist/defect-evidence.js.map +1 -1
  39. package/dist/demo-aspect-api.js +2 -1
  40. package/dist/demo-aspect-api.js.map +1 -1
  41. package/dist/demo-aspect-cli.js +3 -1
  42. package/dist/demo-aspect-cli.js.map +1 -1
  43. package/dist/demo-capture.d.ts +37 -3
  44. package/dist/demo-capture.js +119 -20
  45. package/dist/demo-capture.js.map +1 -1
  46. package/dist/explore-adversarial.d.ts +11 -4
  47. package/dist/explore-adversarial.js +22 -13
  48. package/dist/explore-adversarial.js.map +1 -1
  49. package/dist/explore-cli.js +282 -31
  50. package/dist/explore-cli.js.map +1 -1
  51. package/dist/explore-coverage.d.ts +17 -2
  52. package/dist/explore-coverage.js +20 -14
  53. package/dist/explore-coverage.js.map +1 -1
  54. package/dist/explore-feature.d.ts +0 -2
  55. package/dist/explore-feature.js +7 -9
  56. package/dist/explore-feature.js.map +1 -1
  57. package/dist/explore-goal.d.ts +25 -7
  58. package/dist/explore-goal.js +62 -19
  59. package/dist/explore-goal.js.map +1 -1
  60. package/dist/explore-shared.d.ts +53 -3
  61. package/dist/explore-shared.js +48 -1
  62. package/dist/explore-shared.js.map +1 -1
  63. package/dist/fixture-auth.d.ts +13 -2
  64. package/dist/fixture-auth.js +19 -6
  65. package/dist/fixture-auth.js.map +1 -1
  66. package/dist/fixture-cli.d.ts +29 -0
  67. package/dist/fixture-cli.js +121 -7
  68. package/dist/fixture-cli.js.map +1 -1
  69. package/dist/github-issue-filer.js +2 -1
  70. package/dist/github-issue-filer.js.map +1 -1
  71. package/dist/host-health-run.d.ts +2 -1
  72. package/dist/host-health-run.js +8 -2
  73. package/dist/host-health-run.js.map +1 -1
  74. package/dist/init-cli.js +34 -5
  75. package/dist/init-cli.js.map +1 -1
  76. package/dist/init-keys.d.ts +11 -0
  77. package/dist/init-keys.js +5 -2
  78. package/dist/init-keys.js.map +1 -1
  79. package/dist/journey-annotate-api.js +17 -4
  80. package/dist/journey-annotate-api.js.map +1 -1
  81. package/dist/journey-annotate-cli.js +3 -1
  82. package/dist/journey-annotate-cli.js.map +1 -1
  83. package/dist/journey-api.d.ts +26 -1
  84. package/dist/journey-api.js +51 -25
  85. package/dist/journey-api.js.map +1 -1
  86. package/dist/journey-cli.d.ts +1 -1
  87. package/dist/journey-cli.js +44 -3
  88. package/dist/journey-cli.js.map +1 -1
  89. package/dist/journey-demo-api.d.ts +2 -0
  90. package/dist/journey-demo-api.js +23 -10
  91. package/dist/journey-demo-api.js.map +1 -1
  92. package/dist/journey-demo-cli.js +5 -2
  93. package/dist/journey-demo-cli.js.map +1 -1
  94. package/dist/journey-prefix.d.ts +194 -0
  95. package/dist/journey-prefix.js +279 -0
  96. package/dist/journey-prefix.js.map +1 -0
  97. package/dist/key-report.d.ts +49 -0
  98. package/dist/key-report.js +101 -0
  99. package/dist/key-report.js.map +1 -0
  100. package/dist/kill-signal.js +0 -1
  101. package/dist/kill-signal.js.map +1 -1
  102. package/dist/ledger-api.js +3 -1
  103. package/dist/ledger-api.js.map +1 -1
  104. package/dist/log-correlation.d.ts +63 -1
  105. package/dist/log-correlation.js +125 -16
  106. package/dist/log-correlation.js.map +1 -1
  107. package/dist/log-sources.js +6 -5
  108. package/dist/log-sources.js.map +1 -1
  109. package/dist/log-trace.d.ts +80 -0
  110. package/dist/log-trace.js +210 -0
  111. package/dist/log-trace.js.map +1 -0
  112. package/dist/logs-cli.js +60 -1
  113. package/dist/logs-cli.js.map +1 -1
  114. package/dist/logs-retention.js +2 -1
  115. package/dist/logs-retention.js.map +1 -1
  116. package/dist/masked-input.d.ts +22 -0
  117. package/dist/masked-input.js +99 -0
  118. package/dist/masked-input.js.map +1 -0
  119. package/dist/mcp-api.d.ts +3 -1
  120. package/dist/mcp-api.js +49 -7
  121. package/dist/mcp-api.js.map +1 -1
  122. package/dist/mcp-args.d.ts +12 -0
  123. package/dist/mcp-args.js +33 -0
  124. package/dist/mcp-args.js.map +1 -1
  125. package/dist/mcp-cli-tools.d.ts +6 -1
  126. package/dist/mcp-cli-tools.js +103 -16
  127. package/dist/mcp-cli-tools.js.map +1 -1
  128. package/dist/mission-api.js +2 -1
  129. package/dist/mission-api.js.map +1 -1
  130. package/dist/mission-cli.js +3 -1
  131. package/dist/mission-cli.js.map +1 -1
  132. package/dist/mission-fixtures.d.ts +10 -1
  133. package/dist/mission-fixtures.js +49 -15
  134. package/dist/mission-fixtures.js.map +1 -1
  135. package/dist/mission-queue-runner.d.ts +2 -0
  136. package/dist/mission-queue-runner.js +18 -5
  137. package/dist/mission-queue-runner.js.map +1 -1
  138. package/dist/multi-run-cli.js +7 -1
  139. package/dist/multi-run-cli.js.map +1 -1
  140. package/dist/openrouter-call.js +3 -2
  141. package/dist/openrouter-call.js.map +1 -1
  142. package/dist/program.js +4 -0
  143. package/dist/program.js.map +1 -1
  144. package/dist/project-dir.js +3 -2
  145. package/dist/project-dir.js.map +1 -1
  146. package/dist/record-api.d.ts +3 -1
  147. package/dist/record-api.js +5 -2
  148. package/dist/record-api.js.map +1 -1
  149. package/dist/record-cli.js +14 -2
  150. package/dist/record-cli.js.map +1 -1
  151. package/dist/regression-api.d.ts +6 -0
  152. package/dist/regression-api.js +4 -2
  153. package/dist/regression-api.js.map +1 -1
  154. package/dist/regression-cli.js +56 -4
  155. package/dist/regression-cli.js.map +1 -1
  156. package/dist/report-api.js +2 -1
  157. package/dist/report-api.js.map +1 -1
  158. package/dist/resource-preflight.d.ts +87 -0
  159. package/dist/resource-preflight.js +160 -0
  160. package/dist/resource-preflight.js.map +1 -0
  161. package/dist/result-schema.d.ts +1 -1
  162. package/dist/result-schema.js +1 -1
  163. package/dist/run-key-preflight.d.ts +42 -0
  164. package/dist/run-key-preflight.js +82 -0
  165. package/dist/run-key-preflight.js.map +1 -0
  166. package/dist/run-screenshots.js +11 -5
  167. package/dist/run-screenshots.js.map +1 -1
  168. package/dist/runtime-env.js +3 -2
  169. package/dist/runtime-env.js.map +1 -1
  170. package/dist/server-log-verify.d.ts +2 -0
  171. package/dist/server-log-verify.js +8 -3
  172. package/dist/server-log-verify.js.map +1 -1
  173. package/dist/signal-triage.d.ts +147 -0
  174. package/dist/signal-triage.js +281 -0
  175. package/dist/signal-triage.js.map +1 -0
  176. package/dist/site-gate-cli.js +2 -1
  177. package/dist/site-gate-cli.js.map +1 -1
  178. package/dist/source-api.js +2 -1
  179. package/dist/source-api.js.map +1 -1
  180. package/dist/suite-explore-options.d.ts +36 -0
  181. package/dist/suite-explore-options.js +23 -0
  182. package/dist/suite-explore-options.js.map +1 -1
  183. package/dist/target-config.d.ts +12 -0
  184. package/dist/target-config.js +15 -0
  185. package/dist/target-config.js.map +1 -1
  186. package/dist/type-fixture-file.d.ts +9 -0
  187. package/dist/type-fixture-file.js +48 -0
  188. package/dist/type-fixture-file.js.map +1 -0
  189. package/dist/ui-api.js +4 -3
  190. package/dist/ui-api.js.map +1 -1
  191. package/dist/usability-capture.js +4 -3
  192. package/dist/usability-capture.js.map +1 -1
  193. package/dist/usage-config.d.ts +1 -1
  194. package/dist/usage-config.js +1 -1
  195. package/dist/ux-claim-probe.d.ts +45 -0
  196. package/dist/ux-claim-probe.js +386 -0
  197. package/dist/ux-claim-probe.js.map +1 -0
  198. package/dist/ux-cli.js +8 -1
  199. package/dist/ux-cli.js.map +1 -1
  200. package/dist/ux-product.d.ts +14 -0
  201. package/dist/ux-product.js +39 -0
  202. package/dist/ux-product.js.map +1 -0
  203. package/dist/ux-review.d.ts +4 -0
  204. package/dist/ux-review.js +27 -7
  205. package/dist/ux-review.js.map +1 -1
  206. package/dist/ux-usability.d.ts +34 -9
  207. package/dist/ux-usability.js +102 -16
  208. package/dist/ux-usability.js.map +1 -1
  209. package/dist/verify-fix-api.d.ts +21 -0
  210. package/dist/verify-fix-api.js +85 -33
  211. package/dist/verify-fix-api.js.map +1 -1
  212. package/dist/verify-fix-cli.js +7 -2
  213. package/dist/verify-fix-cli.js.map +1 -1
  214. package/package.json +11 -11
  215. package/skills/jevitate-explore/SKILL.md +13 -0
  216. package/skills/jevitate-getting-started/SKILL.md +2 -1
  217. package/skills/jevitate-test-campaign/SKILL.md +206 -0
@@ -1,3 +1,4 @@
1
+ import { type PrefixFromBranchOptions, type RecordedBranch } from "./journey-prefix.js";
1
2
  import { type TargetConfig } from "./target-config.js";
2
3
  import { type InvariantSpec, type Recording } from "@jevitate/recording";
3
4
  import { type FixtureFlags } from "./fixture-cli.js";
@@ -23,6 +24,13 @@ export declare const VERIFY_FIX_EXIT_CODES: Readonly<Record<VerifyFixVerdict, nu
23
24
  export interface RunVerifyFixOptions {
24
25
  /** Path of the mission's `<stem>.result.json`. */
25
26
  readonly resultPath: string;
27
+ /**
28
+ * #293: a finding a journey-anchored run found (its result's `branch`) is replayed THROUGH the same
29
+ * Journey prefix — every replay session replays it first, and the finding's Recording starts on
30
+ * the live anchor page (its leading navigate becomes an assertion). These are the prefix's secret
31
+ * `--param`s (never persisted) and the site-policy database / environment seams it runs under.
32
+ */
33
+ readonly journeyPrefix?: PrefixFromBranchOptions;
26
34
  /** The defect (or hang) fingerprint to verify. */
27
35
  readonly fingerprint: string;
28
36
  /** Overrides the storageState recorded with the mission (CLI `--storage-state`). */
@@ -36,6 +44,8 @@ export interface RunVerifyFixOptions {
36
44
  readonly targets?: Readonly<Record<string, TargetConfig>>;
37
45
  /** Fresh-context replays for a non-hang defect signal (#74, CLI `--replays`). Default 3. */
38
46
  readonly replays?: number;
47
+ /** #303 `--action-deltas`: compare the replayed defect step's delta with the recorded one (evidence). */
48
+ readonly actionDeltas?: boolean;
39
49
  /**
40
50
  * Invariant files (CLI `--invariants`, #86) to re-check a declared-invariant defect with, instead of
41
51
  * the spec persisted with the mission. Validated against the MISSION's allowlist before any replay.
@@ -87,6 +97,13 @@ export interface VerifyFixEvidence {
87
97
  }
88
98
  export interface VerifyFixReport extends VerifyFixResult {
89
99
  readonly exitCode: number;
100
+ /** #293: the Journey step the finding branched from, when its replays went through that prefix. */
101
+ readonly branch?: RecordedBranch;
102
+ /** #293: why the replays proved nothing — `journey-stale` when the prefix no longer replays. */
103
+ readonly failure?: {
104
+ readonly kind: "journey-stale";
105
+ readonly message: string;
106
+ };
90
107
  readonly title?: string;
91
108
  /** The fixture every replay started from (#140/#144): the mission's identity and this run's setup/restore log. */
92
109
  readonly fixtures?: FixtureRecord & {
@@ -127,6 +144,8 @@ export interface PersistedFinding {
127
144
  readonly matcher: string;
128
145
  readonly normalizedMessage: string;
129
146
  readonly drainMs: number;
147
+ /** #282: the run's `--log-scope`. */
148
+ readonly scope?: readonly string[];
130
149
  };
131
150
  }
132
151
  /** #147: a persisted actor — its name, role and storageState PATH (never its contents). */
@@ -158,6 +177,8 @@ interface PersistedMissionFixtures {
158
177
  readonly after?: string;
159
178
  };
160
179
  readonly outputs: Readonly<Record<string, string>>;
180
+ /** #243: the fixture identities the mission's steps authenticated as → storageState paths. */
181
+ readonly identities?: Readonly<Record<string, string>>;
161
182
  }
162
183
  /** Parses a persisted mission result, failing closed on anything it cannot trust. */
163
184
  export declare function parsePersistedMission(raw: unknown): PersistedMission;
@@ -1,3 +1,4 @@
1
+ import { BranchReplayInputError, anchoredRecording, prefixFromBranch, prefixedOpener, recordedBranchOf } from "./journey-prefix.js";
1
2
  import { readFile } from "node:fs/promises";
2
3
  import { resolveTargetConfig } from "./target-config.js";
3
4
  import { existsSync } from "node:fs";
@@ -8,13 +9,14 @@ import { observerSessions } from "./mission-actors.js";
8
9
  import { FixtureSpecError, fixtureReplayOpener, hookHash, loadFixtureFile, parseFixtureSpec, secretFieldNames, } from "./mission-fixtures.js";
9
10
  import { PlaywrightBrowserPort, resolveEmulation } from "@jevitate/playwright";
10
11
  import { dirname as dirnameOf, join as joinPath, resolve as resolveFile } from "node:path";
11
- import { listVideos, runVideoDir, sessionLaunchOptions } from "./browser-run-options.js";
12
+ import { assertSameExtensionBuild, listVideos, runVideoDir, sessionLaunchOptions } from "./browser-run-options.js";
12
13
  import { artifactStamp } from "./mission-journal.js";
13
14
  import { BrowseTheWeb, CastActor } from "@jevitate/screenplay";
14
15
  import { assertAuthorizedExploreTarget, verifyFix, } from "@jevitate/explore";
15
16
  import { verifyServerLogDefect } from "./server-log-verify.js";
16
17
  import { defectSignalText, persistedDefect, replayWithEvidence, signalCheckable } from "./defect-evidence.js";
17
18
  import { RunScreenshots, screenshotsDirFor } from "./run-screenshots.js";
19
+ import { clock } from "@jevitate/domain";
18
20
  /**
19
21
  * The programmatic surface behind `jevitate verify-fix` and the MCP `verify_fix` tool: loads a
20
22
  * finished mission's persisted typed result (`<stem>.result.json`), finds the defect by
@@ -66,6 +68,9 @@ function asPersistedFixtures(v) {
66
68
  ...(typeof hooks.after === "string" ? { after: hooks.after } : {}),
67
69
  },
68
70
  outputs: Object.fromEntries(Object.entries(outputs).filter((e) => typeof e[1] === "string")),
71
+ ...(isRecord(v.identities)
72
+ ? { identities: Object.fromEntries(Object.entries(v.identities).filter((e) => typeof e[1] === "string")) }
73
+ : {}),
69
74
  };
70
75
  }
71
76
  function isRecord(v) {
@@ -79,7 +84,11 @@ function asServerLog(v) {
79
84
  return null;
80
85
  if (typeof v.matcher !== "string" || typeof v.normalizedMessage !== "string" || typeof v.drainMs !== "number")
81
86
  return null;
82
- return { sources: v.sources, matcher: v.matcher, normalizedMessage: v.normalizedMessage, drainMs: v.drainMs };
87
+ // A scope that does not parse is refused (never dropped: that would widen what counts as a reproduction).
88
+ if (v.scope !== undefined && !(Array.isArray(v.scope) && v.scope.every((s) => typeof s === "string")))
89
+ return null;
90
+ const scope = v.scope === undefined ? {} : { scope: v.scope };
91
+ return { sources: v.sources, matcher: v.matcher, normalizedMessage: v.normalizedMessage, drainMs: v.drainMs, ...scope };
83
92
  }
84
93
  function asFinding(v) {
85
94
  if (!isRecord(v) || typeof v.fingerprint !== "string" || typeof v.kind !== "string")
@@ -121,8 +130,9 @@ export function parsePersistedMission(raw) {
121
130
  // A run's own Recording (a coverage run has none; its findings carry their path).
122
131
  const recording = result.recording === null || result.recording === undefined ? null : RecordingSchema.parse(result.recording);
123
132
  const findings = [];
124
- // `defects` holds every defect (#195); `serverLogDefects` is its deprecated server-log alias (and
125
- // the only list a pre-#195 result has) — each fingerprint is taken once.
133
+ // `defects` holds every defect (#195). `serverLogDefects` is no longer written (removed in 0.3.0)
134
+ // but is still read: a 0.2.0 result carries it as an alias, a pre-#195 result as the only list
135
+ // of its server-log defects — each fingerprint is taken once.
126
136
  for (const list of [result.defects, result.hangs, result.serverLogDefects]) {
127
137
  if (!Array.isArray(list))
128
138
  continue;
@@ -210,7 +220,7 @@ export async function runVerifyFix(opts) {
210
220
  const portFactory = opts.browserPortFactory ?? (() => new PlaywrightBrowserPort());
211
221
  // #245: every replay (and observer) session is shown/recorded alike — videos in
212
222
  // `verify-fix-<stamp>.videos/` beside the mission result (or under `--record-video <dir>`).
213
- const vfArtifact = joinPath(dirnameOf(resolveFile(opts.resultPath)), `verify-fix-${artifactStamp(new Date().toISOString())}.json`);
223
+ const vfArtifact = joinPath(dirnameOf(resolveFile(opts.resultPath)), `verify-fix-${artifactStamp(clock.nowIso())}.json`);
214
224
  const videoDir = runVideoDir(opts.browser, vfArtifact);
215
225
  const shown = sessionLaunchOptions(opts.browser, videoDir);
216
226
  const perceiveOpts = {
@@ -218,9 +228,31 @@ export async function runVerifyFix(opts) {
218
228
  ...(target.settle === undefined ? {} : { settleConfig: target.settle }),
219
229
  ...(target.hangs === undefined ? {} : { hangConfig: target.hangs }),
220
230
  };
221
- const recording = finding.recording ?? mission.recording;
222
- if (recording === null)
231
+ const found = finding.recording ?? mission.recording;
232
+ if (found === null)
223
233
  throw new VerifyFixInputError(`finding ${finding.fingerprint} has no Recording to replay`);
234
+ // #293: a finding from a branch point replays through its Journey prefix (resolved now, refused if
235
+ // its secret params are not given again), on the live anchor page — never from the anchor URL.
236
+ const branch = recordedBranchOf(raw?.result);
237
+ let prefix;
238
+ if (branch !== undefined) {
239
+ try {
240
+ prefix = await prefixFromBranch(branch, { ...(opts.journeyPrefix ?? {}), ...(storageState === undefined ? {} : { storageState }) });
241
+ }
242
+ catch (e) {
243
+ if (e instanceof BranchReplayInputError)
244
+ throw new VerifyFixInputError(e.message);
245
+ throw e;
246
+ }
247
+ }
248
+ const recording = prefix === undefined ? found : anchoredRecording(found);
249
+ // #256: replay only under the extension build the finding was recorded with (none ⇔ none).
250
+ try {
251
+ assertSameExtensionBuild(recording.extensions, opts.browser, `finding ${finding.fingerprint}`);
252
+ }
253
+ catch (e) {
254
+ throw new VerifyFixInputError(e instanceof Error ? e.message : String(e));
255
+ }
224
256
  // #149: replay under the finding's OWN recorded emulation by default — a 375px defect reproduces
225
257
  // at 375px, not the caller's desktop default. An explicit --viewport/--device that DIFFERS from
226
258
  // it fails closed (never silently "verifies fixed" at the wrong device) unless overridden.
@@ -264,7 +296,7 @@ export async function runVerifyFix(opts) {
264
296
  }
265
297
  const authTokenValues = [...(invariantAuthTokens?.values() ?? [])];
266
298
  const primaryActor = mission.target.actors?.find((a) => a.role === "primary")?.name;
267
- const fx = missionFixtures(mission, opts.fixtureFlags ?? {}, storageState, [...(opts.secrets ?? []), ...authTokenValues]);
299
+ const fx = missionFixtures(mission, opts.fixtureFlags ?? {}, storageState, [...(opts.secrets ?? []), ...authTokenValues], target.personas);
268
300
  const declared = finding.kind === "invariant" && finding.invariantId !== undefined && invariantSpec !== undefined
269
301
  ? {
270
302
  spec: invariantSpec,
@@ -291,9 +323,12 @@ export async function runVerifyFix(opts) {
291
323
  const actor = CastActor.named("verify-fix").whoCan(new BrowseTheWeb(session, [...mission.target.allowlist]));
292
324
  return { page: session.page, actor, close: () => session.close() };
293
325
  };
326
+ // #293: every replay session first goes back through the finding's Journey prefix.
327
+ const prefixed = prefix === undefined ? undefined : prefixedOpener(openSession, prefix, mission.target.allowlist, opts.browser);
328
+ const branchOpen = prefixed?.open ?? openSession;
294
329
  // Each replay restores the mission's fixture state first; a failed setup makes that replay
295
330
  // "could not open a session" — no evidence, so never `fixed`.
296
- const replaySession = fx === undefined ? openSession : fixtureReplayOpener(openSession, fx, recording.fixture?.outputs ?? mission.fixtures?.outputs ?? {});
331
+ const replaySession = fx === undefined ? branchOpen : fixtureReplayOpener(branchOpen, fx, recording.fixture?.outputs ?? mission.fixtures?.outputs ?? {});
297
332
  let result;
298
333
  try {
299
334
  // A `server-log` defect (#142) is re-checked by REPLAYING and re-tailing the SAME log sources —
@@ -317,6 +352,7 @@ export async function runVerifyFix(opts) {
317
352
  matcher: finding.serverLog.matcher,
318
353
  normalizedMessage: finding.serverLog.normalizedMessage,
319
354
  drainMs: finding.serverLog.drainMs,
355
+ ...(finding.serverLog.scope === undefined ? {} : { scope: finding.serverLog.scope }),
320
356
  // #142 follow-up: an explicit --allow-log-cmd wins; otherwise the operator's own
321
357
  // ~/.jevitate/targets.json entry for this origin may opt in (never an MCP argument).
322
358
  allowLogCmd: opts.allowLogCmd === true || target.allowLogCmd === true,
@@ -341,6 +377,7 @@ export async function runVerifyFix(opts) {
341
377
  ...(finding.occurrences === undefined ? {} : { occurrences: finding.occurrences }),
342
378
  ...(opts.settleCeilingMs === undefined ? {} : { settleCeilingMs: opts.settleCeilingMs }),
343
379
  ...(opts.replays === undefined ? {} : { replays: opts.replays }),
380
+ ...(opts.actionDeltas === true ? { actionDeltas: true, secrets: [...(opts.secrets ?? []), ...authTokenValues] } : {}),
344
381
  openSession: replaySession,
345
382
  });
346
383
  }
@@ -348,6 +385,11 @@ export async function runVerifyFix(opts) {
348
385
  finally {
349
386
  await fx?.restore();
350
387
  }
388
+ // #293: a prefix that no longer replays proved nothing: a typed inconclusive, never `fixed`.
389
+ const stale = prefixed?.stale();
390
+ if (stale !== undefined) {
391
+ result = { ...result, verdict: "inconclusive", reason: `journey-stale: ${stale.message}` };
392
+ }
351
393
  // #250/#251: the captioned "after" replay (video and/or screenshots), paired with the run's own clip.
352
394
  let evidence;
353
395
  let shotFields = {};
@@ -363,28 +405,30 @@ export async function runVerifyFix(opts) {
363
405
  const verdictCard = () => result.verdict === "fixed"
364
406
  ? { text: "After the fix: the defect no longer reproduces", ok: true }
365
407
  : { text: `After: ${result.verdict === "still-reproduces" ? "still reproduces" : result.verdict}`, ok: false };
366
- const after = fx !== undefined || observers.length > 0
367
- ? { screenshots: [], skipped: fx !== undefined ? "the run used mission fixtures: the after-clip replay does not restore them" : "a cross-actor defect: no after-clip replay" }
368
- : await replayWithEvidence({
369
- recording,
370
- stepIndex: finding.repro.recordingStepIndex,
371
- fingerprints: [finding.fingerprint, ...(finding.related ?? [])],
372
- signalCheckable: signalCheckable(finding.kind),
373
- signal: defectSignalText(stored ?? { kind: finding.kind, ...(finding.title === undefined ? {} : { title: finding.title }) }, secrets),
374
- seedUrl: mission.target.seedUrl,
375
- allowlist: mission.target.allowlist,
376
- ...(storageState === undefined ? {} : { storageState }),
377
- ...(effectiveEmulation === undefined ? {} : { emulation: effectiveEmulation }),
378
- outDir: joinPath(dirnameOf(videoDir ?? vfArtifact), `${vfArtifact.replace(/^.*[\\/]/, "").replace(/\.json$/, "")}.evidence`),
379
- video: opts.browser?.recordVideo !== undefined,
380
- ...(shots === undefined ? {} : { screenshots: shots }),
381
- secrets,
382
- ...(opts.browser === undefined ? {} : { browser: opts.browser }),
383
- browserPortFactory: portFactory,
384
- ...(opts.evidencePaceMs === undefined ? {} : { paceMs: opts.evidencePaceMs }),
385
- ...(opts.settleCeilingMs === undefined ? {} : { settleCeilingMs: opts.settleCeilingMs }),
386
- finalCard: verdictCard,
387
- });
408
+ const after = prefix !== undefined
409
+ ? { screenshots: [], skipped: "a finding from a Journey branch point: the after-clip replay does not replay the prefix" }
410
+ : fx !== undefined || observers.length > 0
411
+ ? { screenshots: [], skipped: fx !== undefined ? "the run used mission fixtures: the after-clip replay does not restore them" : "a cross-actor defect: no after-clip replay" }
412
+ : await replayWithEvidence({
413
+ recording,
414
+ stepIndex: finding.repro.recordingStepIndex,
415
+ fingerprints: [finding.fingerprint, ...(finding.related ?? [])],
416
+ signalCheckable: signalCheckable(finding.kind),
417
+ signal: defectSignalText(stored ?? { kind: finding.kind, ...(finding.title === undefined ? {} : { title: finding.title }) }, secrets),
418
+ seedUrl: mission.target.seedUrl,
419
+ allowlist: mission.target.allowlist,
420
+ ...(storageState === undefined ? {} : { storageState }),
421
+ ...(effectiveEmulation === undefined ? {} : { emulation: effectiveEmulation }),
422
+ outDir: joinPath(dirnameOf(videoDir ?? vfArtifact), `${vfArtifact.replace(/^.*[\\/]/, "").replace(/\.json$/, "")}.evidence`),
423
+ video: opts.browser?.recordVideo !== undefined,
424
+ ...(shots === undefined ? {} : { screenshots: shots }),
425
+ secrets,
426
+ ...(opts.browser === undefined ? {} : { browser: opts.browser }),
427
+ browserPortFactory: portFactory,
428
+ ...(opts.evidencePaceMs === undefined ? {} : { paceMs: opts.evidencePaceMs }),
429
+ ...(opts.settleCeilingMs === undefined ? {} : { settleCeilingMs: opts.settleCeilingMs }),
430
+ finalCard: verdictCard,
431
+ });
388
432
  evidence = {
389
433
  ...(beforeVideo === undefined && beforeShots.length === 0 ? {} : { before: { ...(beforeVideo === undefined ? {} : { videoPath: beforeVideo }), screenshots: beforeShots } }),
390
434
  ...(beforeVideo === undefined ? { beforeMissing: "the run recorded no evidence clip for this defect (run it with --evidence-video)" } : {}),
@@ -395,6 +439,8 @@ export async function runVerifyFix(opts) {
395
439
  return {
396
440
  ...result,
397
441
  exitCode: VERIFY_FIX_EXIT_CODES[result.verdict],
442
+ ...(branch === undefined ? {} : { branch }),
443
+ ...(stale === undefined ? {} : { failure: { kind: "journey-stale", message: stale.message } }),
398
444
  ...(evidence === undefined ? {} : { evidence }),
399
445
  ...shotFields,
400
446
  ...(finding.title === undefined ? {} : { title: finding.title }),
@@ -408,10 +454,13 @@ export async function runVerifyFix(opts) {
408
454
  * trusted as-is) or `--fixtures`, plus the operator's re-supplied shell hooks, which must match the
409
455
  * mission's by hash. A mission that ran with a fixture never replays without one.
410
456
  */
411
- function missionFixtures(mission, flags, storageState, secrets) {
457
+ function missionFixtures(mission, flags, storageState, secrets,
458
+ /** #243: the origin's targets.json personas — bind a fixture identity no flag or saved path names. */
459
+ personas) {
412
460
  const saved = mission.fixtures;
413
- if (saved === undefined && flags.fixtures === undefined && flags.before === undefined && flags.after === undefined)
461
+ if (saved === undefined && flags.fixtures === undefined && flags.before === undefined && flags.after === undefined && (flags.fixtureIdentity ?? []).length === 0) {
414
462
  return undefined;
463
+ }
415
464
  const bounds = { allowlist: mission.target.allowlist, baseUrl: mission.target.seedUrl };
416
465
  const hooks = saved?.hooks ?? {};
417
466
  const given = {
@@ -443,6 +492,9 @@ function missionFixtures(mission, flags, storageState, secrets) {
443
492
  secretFields,
444
493
  secrets,
445
494
  ...(spec === undefined ? {} : { spec }),
495
+ // #243: re-mint as the SAME identities (the saved paths), unless re-bound by flag or persona.
496
+ ...(saved?.identities === undefined ? {} : { identities: saved.identities }),
497
+ ...(personas === undefined ? {} : { personas }),
446
498
  });
447
499
  }
448
500
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"verify-fix-api.js","sourceRoot":"","sources":["../src/verify-fix-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-fix-api.js","sourceRoot":"","sources":["../src/verify-fix-api.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { LITERAL_SECRET_WARNING, SecretArgError, resolveSecretArgs } from "./sec
9
9
  import { withEngine } from "./engine.js";
10
10
  import { positiveIntArg } from "./cli-args.js";
11
11
  import { formatVerifyFixHuman } from "./cli-output.js";
12
- import { withBrowserLaunchFlags, browserRunFromFlags, withDemoFlags, withScreenshotsFlag, withEmulationFlags, emulationFromFlags, emitCommandResult, } from "./cli-shared.js";
12
+ import { withBrowserLaunchFlags, browserRunFromFlags, withDemoFlags, withScreenshotsFlag, withEmulationFlags, emulationFromFlags, emitCommandResult, collectParam, environmentSeams, resolveDbPath, } from "./cli-shared.js";
13
13
  /** Registers `jevitate verify-fix`. */
14
14
  export function registerVerifyFixCommands(program, deps) {
15
15
  // `verify-fix`: replays a finding's reproduction N times in FRESH browsers (#74) and reports
@@ -29,6 +29,9 @@ export function registerVerifyFixCommands(program, deps) {
29
29
  .option("--allow-log-cmd", "re-checking a server-log defect whose --log-source includes cmd:<command> needs this too (operator-declared only)", false)
30
30
  .option("--hang-replay-writes", "let a hang's replay re-send a paid/destructive write the run sent (default: the verdict is inconclusive, never replayed)")
31
31
  .option("--secret <value|env:VAR>", "REDACTION ONLY: a value kept out of the fixture log (repeatable), e.g. one a --before hook prints; env:VAR reads it from the environment", (v, prev) => [...prev, v], [])
32
+ .option("--param <kv>", "#293: a Journey param as key=value (repeatable) for a finding found from a Journey branch point — its replays go through the same prefix; " +
33
+ "a secret param (never persisted with the result) must be given again; redacted like --secret", collectParam, {})
34
+ .option("--action-deltas", "opt-in (#303): record what each replayed step changed and compare the defect step's delta with the one the Recording stored — a mismatch is evidence on each attempt (never the verdict)")
32
35
  .option("--json", "emit the JSON envelope (default: a human summary)")
33
36
  .action(async function (positional) {
34
37
  const o = this.opts();
@@ -85,10 +88,12 @@ export function registerVerifyFixCommands(program, deps) {
85
88
  ...(o.allowLogCmd === undefined ? {} : { allowLogCmd: o.allowLogCmd }),
86
89
  ...(o.hangReplayWrites === true ? { hangReplayWrites: true } : {}),
87
90
  fixtureFlags: o,
88
- secrets: o.secret,
91
+ secrets: [...o.secret, ...Object.values(o.param).filter((v) => v !== "")],
92
+ journeyPrefix: { params: o.param, dbPath: resolveDbPath(deps), environmentSeams: environmentSeams(deps) },
89
93
  browserPortFactory: deps.explore?.browserPortFactory,
90
94
  browser,
91
95
  ...(screenshots === undefined ? {} : { screenshots }),
96
+ ...(o.actionDeltas === true ? { actionDeltas: true } : {}),
92
97
  ...(verifyFixEmulation === undefined ? {} : { emulation: verifyFixEmulation }),
93
98
  ...(o.allowEmulationOverride === undefined ? {} : { allowEmulationOverride: o.allowEmulationOverride }),
94
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verify-fix-cli.js","sourceRoot":"","sources":["../src/verify-fix-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-fix-cli.js","sourceRoot":"","sources":["../src/verify-fix-cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jevitate/cli",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Autonomous browser testing that turns discovered bugs into deterministic regression tests: explore a web app in a real browser, confirm findings with evidence, and replay them as regressions in CI.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -61,27 +61,27 @@
61
61
  "devDependencies": {
62
62
  "esbuild": "^0.28.2",
63
63
  "@jevitate/ai-core": "0.1.0",
64
- "@jevitate/daemon": "0.1.0",
65
64
  "@jevitate/domain": "0.1.0",
66
- "@jevitate/explore": "0.1.0",
65
+ "@jevitate/daemon": "0.1.0",
66
+ "@jevitate/example-site": "0.1.0",
67
67
  "@jevitate/findings": "0.1.0",
68
68
  "@jevitate/inbox": "0.1.0",
69
+ "@jevitate/interpreter": "0.1.0",
69
70
  "@jevitate/journey": "0.1.0",
70
71
  "@jevitate/load": "0.1.0",
71
- "@jevitate/interpreter": "0.1.0",
72
- "@jevitate/example-site": "0.1.0",
73
- "@jevitate/missions": "0.1.0",
74
- "@jevitate/playwright": "0.1.0",
75
72
  "@jevitate/mcp-facade": "0.1.0",
73
+ "@jevitate/playwright": "0.1.0",
74
+ "@jevitate/missions": "0.1.0",
75
+ "@jevitate/recorder": "0.1.0",
76
76
  "@jevitate/recording": "0.1.0",
77
77
  "@jevitate/regression": "0.1.0",
78
78
  "@jevitate/runtime": "0.1.0",
79
- "@jevitate/recorder": "0.1.0",
79
+ "@jevitate/explore": "0.1.0",
80
+ "@jevitate/skills": "0.1.0",
80
81
  "@jevitate/sources": "0.1.0",
81
82
  "@jevitate/storage-sqlite": "0.1.0",
82
- "@jevitate/ux": "0.1.0",
83
- "@jevitate/skills": "0.1.0",
84
- "@jevitate/screenplay": "0.1.0"
83
+ "@jevitate/screenplay": "0.1.0",
84
+ "@jevitate/ux": "0.1.0"
85
85
  },
86
86
  "scripts": {
87
87
  "build": "node scripts/generate-build-info.mjs && tsc --build",
@@ -50,10 +50,21 @@ mission and reading the result honestly.
50
50
  - Adversarial: `jevitate explore --strategy adversarial --url <authorized-url> --fake-ai --json`.
51
51
  - Coverage: `jevitate explore --strategy coverage --url <authorized-url> --real --json`.
52
52
  - Feature: `jevitate explore --feature checkout --route "/cart/**" --url <authorized-url> --json`.
53
+ - From deep inside a flow (#293): `jevitate explore --from-journey <promoted-journey-id> --at-step
54
+ <anchor|n> [--param k=v] [--env <env>] --strategy adversarial --real --json` replays the Journey
55
+ up to that step in the mission's own browser (form contents kept), then explores from there.
56
+ `jevitate journey anchors <id>` lists the named steps. `--fixtures` (or `--before`/`--after` with
57
+ `--allow-shell-hooks`) restores state around it with any strategy. A Journey that no longer replays ends the
58
+ run `inconclusive` (`failure.kind: "journey-stale"`). Many anchors at once: `jevitate campaign run
59
+ <spec.json>` (see `jevitate-test-campaign`).
53
60
  - Behind a login: `--storage-state <file>` (a Playwright storageState path; `--save-storage-state
54
61
  <file>` writes the rotated one back). Pass real secrets with `--secret env:VAR` or
55
62
  `--secret-field 'label=Password=env:APP_PASSWORD'` so they stay out of every model call. Never
56
63
  put a secret value in the command line yourself.
64
+ - Backend logs: `--log-source docker:<container>` (or `file:<path>`) with `--log-defect error`; add
65
+ `--log-triage` so each defect carries only its related lines (`defects[].relatedLogs`; Jev scores
66
+ relevance with `--real`; the timeline is `<run>.signals.jsonl`; `jevitate logs triage --result <r>`
67
+ re-triages). Hand `relatedLogs`, not the whole log, to a fix session or an issue.
57
68
  - App rules: `--invariants <file>` checks declared invariants around every action (e.g. "when the
58
69
  page says Saved, the server has the value"). A violation is a code-decided defect.
59
70
  - Evidence: `--evidence-video` (a captioned clip and before/at screenshots per defect),
@@ -69,6 +80,8 @@ mission and reading the result honestly.
69
80
  - `run_exploration({ url, strategy?, goal?, success?, ... })` runs `explore` directly, with every
70
81
  strategy including `usability`, and returns the typed result. Arguments are the flags in
71
82
  camelCase.
83
+ - Journey-anchored: `run_exploration({ fromJourney, atStep, params?, env?, strategy, ... })`;
84
+ `journey_anchors({ id })` lists a Journey's anchors; `run_campaign({ spec })` runs a campaign.
72
85
  - For a PROMOTED mission target, queue instead: `queue_exploration({ target, strategy, goal?,
73
86
  successAssertion?, feature?, route?, recordVideo?, evidenceVideo?, screenshots?, persona? })`
74
87
  returns a `missionId` right away without running it. `run_queued_missions` (or
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jevitate-getting-started
3
- description: Start here for any jevitate task, or when unsure which jevitate skill applies — checks setup (keys, .jevitate/, MCP), gets a first useful result against the user's app URL, routes to the right skill (explore, run-journey, record, demo, verify-fix, ci-check, ux-review, load-test, sources, mission-scope), and says when to use the jevitate MCP tools vs the CLI, what the exit codes mean, and which approvals only a human may give.
3
+ description: Start here for any jevitate task, or when unsure which jevitate skill applies — checks setup (keys, .jevitate/, MCP), gets a first useful result against the user's app URL, routes to the right skill (explore, run-journey, record, demo, verify-fix, ci-check, ux-review, load-test, sources, mission-scope, test-campaign), and says when to use the jevitate MCP tools vs the CLI, what the exit codes mean, and which approvals only a human may give.
4
4
  ---
5
5
 
6
6
  Jevitate tests a web app in a real browser and returns evidence: typed outcomes, exit codes,
@@ -43,6 +43,7 @@ Then pick the matching skill:
43
43
  | get a usability critique | `jevitate-ux-review` |
44
44
  | run a load test | `jevitate-load-test` |
45
45
  | share or run third-party Journeys | `jevitate-sources` |
46
+ | test a whole release end to end (many user jobs, a QA sweep) | `jevitate-test-campaign` |
46
47
 
47
48
  ## 3. MCP tools or the CLI
48
49