@jevitate/cli 0.28.1 → 0.29.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 (180) hide show
  1. package/README.md +1 -1
  2. package/dist/approval-provenance.d.ts +9 -1
  3. package/dist/approval-provenance.js +12 -4
  4. package/dist/approval-provenance.js.map +1 -1
  5. package/dist/author-journey-cli.js +1 -1
  6. package/dist/author-journey-cli.js.map +1 -1
  7. package/dist/bin.js +12657 -8284
  8. package/dist/bin.js.map +1 -1
  9. package/dist/build-info.generated.js +3 -3
  10. package/dist/catalog-analysis.js +3 -2
  11. package/dist/catalog-analysis.js.map +1 -1
  12. package/dist/catalog-bundle.js +2 -2
  13. package/dist/catalog-bundle.js.map +1 -1
  14. package/dist/check-plan.js +12 -0
  15. package/dist/check-plan.js.map +1 -1
  16. package/dist/demo-aspect-cli.d.ts +10 -0
  17. package/dist/demo-aspect-cli.js +4 -1
  18. package/dist/demo-aspect-cli.js.map +1 -1
  19. package/dist/engine.d.ts +8 -1
  20. package/dist/engine.js +16 -2
  21. package/dist/engine.js.map +1 -1
  22. package/dist/explore-adversarial.js +4 -0
  23. package/dist/explore-adversarial.js.map +1 -1
  24. package/dist/explore-cli/feature-strategy.js +1 -0
  25. package/dist/explore-cli/feature-strategy.js.map +1 -1
  26. package/dist/explore-cli/run.js +7 -0
  27. package/dist/explore-cli/run.js.map +1 -1
  28. package/dist/explore-feature.d.ts +2 -0
  29. package/dist/explore-feature.js +15 -8
  30. package/dist/explore-feature.js.map +1 -1
  31. package/dist/explore-goal.js +12 -0
  32. package/dist/explore-goal.js.map +1 -1
  33. package/dist/explore-specs.js +2 -2
  34. package/dist/explore-specs.js.map +1 -1
  35. package/dist/heal-probe-guard.d.ts +7 -3
  36. package/dist/heal-probe-guard.js +8 -2
  37. package/dist/heal-probe-guard.js.map +1 -1
  38. package/dist/http-probe.js +2 -2
  39. package/dist/http-probe.js.map +1 -1
  40. package/dist/journey-annotate-api.d.ts +5 -0
  41. package/dist/journey-annotate-api.js +49 -24
  42. package/dist/journey-annotate-api.js.map +1 -1
  43. package/dist/journey-annotate-cli.js +4 -1
  44. package/dist/journey-annotate-cli.js.map +1 -1
  45. package/dist/journey-api.d.ts +46 -7
  46. package/dist/journey-api.js +111 -43
  47. package/dist/journey-api.js.map +1 -1
  48. package/dist/journey-chain.d.ts +0 -6
  49. package/dist/journey-chain.js +36 -5
  50. package/dist/journey-chain.js.map +1 -1
  51. package/dist/journey-cli/chain.js +6 -0
  52. package/dist/journey-cli/chain.js.map +1 -1
  53. package/dist/journey-cli/lint.js +10 -3
  54. package/dist/journey-cli/lint.js.map +1 -1
  55. package/dist/journey-cli/run.js +39 -4
  56. package/dist/journey-cli/run.js.map +1 -1
  57. package/dist/journey-cli/verify.d.ts +8 -1
  58. package/dist/journey-cli/verify.js +111 -14
  59. package/dist/journey-cli/verify.js.map +1 -1
  60. package/dist/journey-cli-readiness.js +2 -0
  61. package/dist/journey-cli-readiness.js.map +1 -1
  62. package/dist/journey-demo-cli.js +2 -0
  63. package/dist/journey-demo-cli.js.map +1 -1
  64. package/dist/journey-network-checks.d.ts +4 -0
  65. package/dist/journey-network-checks.js +6 -2
  66. package/dist/journey-network-checks.js.map +1 -1
  67. package/dist/journey-prefix.d.ts +2 -0
  68. package/dist/journey-prefix.js +20 -1
  69. package/dist/journey-prefix.js.map +1 -1
  70. package/dist/journey-proof-context.d.ts +7 -1
  71. package/dist/journey-proof-context.js +19 -1
  72. package/dist/journey-proof-context.js.map +1 -1
  73. package/dist/journey-proof-waiver-cli.js +6 -3
  74. package/dist/journey-proof-waiver-cli.js.map +1 -1
  75. package/dist/journey-readiness.js +4 -0
  76. package/dist/journey-readiness.js.map +1 -1
  77. package/dist/journey-review-api.js +23 -0
  78. package/dist/journey-review-api.js.map +1 -1
  79. package/dist/journey-review.d.ts +30 -10
  80. package/dist/journey-review.js +33 -39
  81. package/dist/journey-review.js.map +1 -1
  82. package/dist/journey-run-record.d.ts +91 -0
  83. package/dist/journey-run-record.js +239 -0
  84. package/dist/journey-run-record.js.map +1 -0
  85. package/dist/journey-stale-api.d.ts +7 -0
  86. package/dist/journey-stale-api.js +50 -6
  87. package/dist/journey-stale-api.js.map +1 -1
  88. package/dist/journey-verify-checkpoint.d.ts +656 -0
  89. package/dist/journey-verify-checkpoint.js +923 -0
  90. package/dist/journey-verify-checkpoint.js.map +1 -0
  91. package/dist/journey-verify.d.ts +84 -3
  92. package/dist/journey-verify.js +1387 -110
  93. package/dist/journey-verify.js.map +1 -1
  94. package/dist/kill-signal.d.ts +24 -2
  95. package/dist/kill-signal.js +39 -11
  96. package/dist/kill-signal.js.map +1 -1
  97. package/dist/load-api.js +31 -2
  98. package/dist/load-api.js.map +1 -1
  99. package/dist/load-cli.js +6 -0
  100. package/dist/load-cli.js.map +1 -1
  101. package/dist/logs-retention.js +28 -3
  102. package/dist/logs-retention.js.map +1 -1
  103. package/dist/mask-values.d.ts +5 -0
  104. package/dist/mask-values.js +12 -0
  105. package/dist/mask-values.js.map +1 -0
  106. package/dist/mcp-api.d.ts +2 -0
  107. package/dist/mcp-api.js +19 -3
  108. package/dist/mcp-api.js.map +1 -1
  109. package/dist/mcp-cli-runner.d.ts +7 -1
  110. package/dist/mcp-cli-runner.js +30 -3
  111. package/dist/mcp-cli-runner.js.map +1 -1
  112. package/dist/mcp-cli-tools.d.ts +9 -1
  113. package/dist/mcp-cli-tools.js +29 -4
  114. package/dist/mcp-cli-tools.js.map +1 -1
  115. package/dist/mcp-paths.js +11 -0
  116. package/dist/mcp-paths.js.map +1 -1
  117. package/dist/mcp-run-guard.d.ts +79 -0
  118. package/dist/mcp-run-guard.js +371 -0
  119. package/dist/mcp-run-guard.js.map +1 -0
  120. package/dist/mcp-tools/cli.js +1 -1
  121. package/dist/mcp-tools/cli.js.map +1 -1
  122. package/dist/mcp-tools/findings.js +12 -1
  123. package/dist/mcp-tools/findings.js.map +1 -1
  124. package/dist/mcp-tools/journey.js +25 -8
  125. package/dist/mcp-tools/journey.js.map +1 -1
  126. package/dist/mission-fixtures.d.ts +3 -1
  127. package/dist/mission-fixtures.js +23 -6
  128. package/dist/mission-fixtures.js.map +1 -1
  129. package/dist/mutation-proof-policy.d.ts +2 -0
  130. package/dist/mutation-proof-policy.js +2 -2
  131. package/dist/mutation-proof-policy.js.map +1 -1
  132. package/dist/program.d.ts +6 -0
  133. package/dist/program.js +6 -9
  134. package/dist/program.js.map +1 -1
  135. package/dist/project-dir.d.ts +5 -1
  136. package/dist/project-dir.js +54 -5
  137. package/dist/project-dir.js.map +1 -1
  138. package/dist/readiness.js +3 -1
  139. package/dist/readiness.js.map +1 -1
  140. package/dist/regression-api.d.ts +5 -0
  141. package/dist/regression-api.js +17 -10
  142. package/dist/regression-api.js.map +1 -1
  143. package/dist/regression-cli.js +14 -1
  144. package/dist/regression-cli.js.map +1 -1
  145. package/dist/report-api.js +6 -0
  146. package/dist/report-api.js.map +1 -1
  147. package/dist/resource-preflight.d.ts +2 -1
  148. package/dist/resource-preflight.js +2 -1
  149. package/dist/resource-preflight.js.map +1 -1
  150. package/dist/secret-params.d.ts +82 -0
  151. package/dist/secret-params.js +234 -0
  152. package/dist/secret-params.js.map +1 -0
  153. package/dist/self-heal-adapter.d.ts +2 -2
  154. package/dist/self-heal-adapter.js +7 -9
  155. package/dist/self-heal-adapter.js.map +1 -1
  156. package/dist/source-cli.js +3 -1
  157. package/dist/source-cli.js.map +1 -1
  158. package/dist/source-run-api.d.ts +2 -0
  159. package/dist/source-run-api.js +21 -2
  160. package/dist/source-run-api.js.map +1 -1
  161. package/dist/target-config.d.ts +39 -0
  162. package/dist/target-config.js +76 -1
  163. package/dist/target-config.js.map +1 -1
  164. package/dist/terminal-result.d.ts +181 -0
  165. package/dist/terminal-result.js +609 -0
  166. package/dist/terminal-result.js.map +1 -0
  167. package/dist/usability-capture.js +2 -2
  168. package/dist/usability-capture.js.map +1 -1
  169. package/dist/ux-usability/hang.js +2 -0
  170. package/dist/ux-usability/hang.js.map +1 -1
  171. package/dist/ux-usability.js +6 -0
  172. package/dist/ux-usability.js.map +1 -1
  173. package/dist/verify-fix-api.d.ts +43 -0
  174. package/dist/verify-fix-api.js +138 -10
  175. package/dist/verify-fix-api.js.map +1 -1
  176. package/dist/verify-fix-cli.d.ts +6 -1
  177. package/dist/verify-fix-cli.js +65 -11
  178. package/dist/verify-fix-cli.js.map +1 -1
  179. package/package.json +11 -11
  180. package/skills/jevitate-run-journey/SKILL.md +23 -3
@@ -1,4 +1,9 @@
1
1
  import { Command } from "commander";
2
+ import { runVerifyFix } from "./verify-fix-api.js";
3
+ import { type TerminalResultDeps } from "./terminal-result.js";
2
4
  import { type CliDeps } from "./cli-shared.js";
3
5
  /** Registers `jevitate verify-fix`. */
4
- export declare function registerVerifyFixCommands(program: Command, deps: CliDeps): void;
6
+ export declare function registerVerifyFixCommands(program: Command, deps: CliDeps, seams?: {
7
+ readonly runVerifyFix?: typeof runVerifyFix;
8
+ readonly terminalDeps?: TerminalResultDeps;
9
+ }): void;
@@ -2,7 +2,7 @@ import { TAG_FLAG, TAG_HELP, collectTag, taggedAction } from "./run-tags-cli.js"
2
2
  import { parseScreenshotsArg } from "./run-screenshots.js";
3
3
  import { UnauthorizedExploreTargetError } from "@jevitate/explore";
4
4
  import { ok, fail } from "./envelope.js";
5
- import { runVerifyFix, VerifyFixInputError } from "./verify-fix-api.js";
5
+ import { runVerifyFix, verifyFixArtifactPath, VerifyFixInputError } from "./verify-fix-api.js";
6
6
  import { LedgerError, ledgerEntryFor } from "./ledger-api.js";
7
7
  import { TargetConfigError, loadTargetsFile } from "./target-config.js";
8
8
  import { withFixtureFlags } from "./fixture-cli.js";
@@ -10,9 +10,21 @@ import { LITERAL_SECRET_WARNING, SecretArgError, resolveSecretArgs } from "./sec
10
10
  import { withEngine } from "./engine.js";
11
11
  import { positiveIntArg } from "./cli-args.js";
12
12
  import { formatVerifyFixHuman } from "./cli-output.js";
13
+ import { DEFAULT_ADMISSION_TIMEOUT_MS } from "@jevitate/playwright";
14
+ import { clock } from "@jevitate/domain";
15
+ import { artifactStamp } from "./mission-journal.js";
16
+ import { redactSensitiveText, registerTerminalResult } from "./terminal-result.js";
13
17
  import { withBrowserLaunchFlags, browserRunFromFlags, withDemoFlags, withScreenshotsFlag, withEmulationFlags, emulationFromFlags, emitCommandResult, collectParam, environmentSeams, resolveDbPath, } from "./cli-shared.js";
18
+ const MIN_MASKED_PARAM_LENGTH = 6;
19
+ /**
20
+ * #767: how long one replay may run without a progress report. Progress comes only when a replay
21
+ * opens, so this has to outlast a long but legal replay of a many-step recording: it is a backstop
22
+ * for a run that has stopped, not a measure of a slow one. Added to the 300 s machine-slot admission
23
+ * bound, which can also fall between two `progress()` calls.
24
+ */
25
+ const REPLAY_BOUND_MS = 30 * 60_000;
14
26
  /** Registers `jevitate verify-fix`. */
15
- export function registerVerifyFixCommands(program, deps) {
27
+ export function registerVerifyFixCommands(program, deps, seams = {}) {
16
28
  // `verify-fix`: replays a finding's reproduction N times in FRESH browsers (#74) and reports
17
29
  // whether its fingerprint still fires. Exit 0 fixed · 1 still reproduces · 2 inconclusive ·
18
30
  // 4 intermittent (fired on some but not all replays — never reported as fixed) · 64 usage error.
@@ -60,6 +72,11 @@ export function registerVerifyFixCommands(program, deps) {
60
72
  emitVerify(fail("E_VERIFY_FIX_ARGS", err.message));
61
73
  return;
62
74
  }
75
+ // `--secret` is the channel for a secret. A `--param` may still hold one by mistake, so it's masked
76
+ // too, unless it's too short to be one: masking "acme" or "1" everywhere ruins the diagnosis.
77
+ const secrets = [...o.secret, ...Object.values(o.param).filter((v) => v.length >= MIN_MASKED_PARAM_LENGTH)];
78
+ // What this run's own error messages mask: `secrets`, plus what the run learns as it goes.
79
+ const known = [...secrets];
63
80
  let verifyFixEmulation;
64
81
  // #245: demo mode, resolved (a headed run without a display refused) before any browser opens.
65
82
  let browser;
@@ -76,24 +93,56 @@ export function registerVerifyFixCommands(program, deps) {
76
93
  }
77
94
  }
78
95
  catch (err) {
79
- emitVerify(fail("E_VERIFY_FIX_ARGS", err instanceof Error ? err.message : String(err)));
96
+ emitVerify(fail("E_VERIFY_FIX_ARGS", redactSensitiveText(err instanceof Error ? err.message : String(err), known)));
80
97
  return;
81
98
  }
99
+ // #195: without --result, the fingerprint's ledger entry is the repro material (the run's output may be long gone).
100
+ let resultPath;
82
101
  try {
83
- // #195: without --result, the fingerprint's ledger entry is the repro material (the run's output may be long gone).
84
- const resultPath = o.result ?? ledgerEntryFor(fingerprint, o.regressionsDir);
85
- const report = await runVerifyFix({
102
+ resultPath = o.result ?? ledgerEntryFor(fingerprint, o.regressionsDir);
103
+ }
104
+ catch (err) {
105
+ if (err instanceof LedgerError) {
106
+ emitVerify(fail(err.code, redactSensitiveText(err.message, known)));
107
+ return;
108
+ }
109
+ emitVerify(fail("E_VERIFY_FIX", redactSensitiveText(String(err instanceof Error ? err.message : err), known)));
110
+ return;
111
+ }
112
+ // #767: one stamped path, shared by the report writer and the terminal layer, so a signal or
113
+ // parent death overwrites the same artifact instead of leaving two.
114
+ const stamp = artifactStamp(clock.nowIso());
115
+ const vfArtifact = verifyFixArtifactPath(resultPath, stamp);
116
+ const handle = registerTerminalResult({
117
+ command: "verify-fix",
118
+ json: o.json === true,
119
+ secrets,
120
+ artifactPath: vfArtifact,
121
+ inactivityMs: DEFAULT_ADMISSION_TIMEOUT_MS + REPLAY_BOUND_MS,
122
+ progress: { phase: "replay" },
123
+ }, seams.terminalDeps);
124
+ // A property call, so surface-wiring.test.ts still sees this surface's call to the API.
125
+ const api = { runVerifyFix: seams.runVerifyFix ?? runVerifyFix };
126
+ try {
127
+ const report = await api.runVerifyFix({
86
128
  targets: loadTargetsFile(deps.explore?.targetsConfigPath),
87
129
  resultPath,
88
130
  fingerprint,
131
+ resultArtifact: true,
132
+ resultStamp: stamp,
133
+ onReplay: (replay) => handle.progress({ replay }),
134
+ onSecrets: (values) => {
135
+ known.push(...values);
136
+ handle.addSecrets(values);
137
+ },
89
138
  ...(o.storageState !== undefined ? { storageState: o.storageState } : {}),
90
139
  ...(o.replays !== undefined ? { replays: Number(o.replays) } : {}),
91
140
  ...(o.invariants.length > 0 ? { invariantFiles: o.invariants } : {}),
92
141
  ...(o.allowLogCmd === undefined ? {} : { allowLogCmd: o.allowLogCmd }),
93
142
  ...(o.hangReplayWrites === true ? { hangReplayWrites: true } : {}),
94
143
  fixtureFlags: o,
95
- secrets: [...o.secret, ...Object.values(o.param).filter((v) => v !== "")],
96
- journeyPrefix: { params: o.param, dbPath: resolveDbPath(deps), environmentSeams: environmentSeams(deps) },
144
+ secrets,
145
+ journeyPrefix: { params: o.param, warn: (line) => program.configureOutput().writeErr?.(line), dbPath: resolveDbPath(deps), environmentSeams: environmentSeams(deps) },
97
146
  browserPortFactory: deps.explore?.browserPortFactory,
98
147
  browser,
99
148
  ...(screenshots === undefined ? {} : { screenshots }),
@@ -104,16 +153,21 @@ export function registerVerifyFixCommands(program, deps) {
104
153
  ...(o.allowEmulationOverride === undefined ? {} : { allowEmulationOverride: o.allowEmulationOverride }),
105
154
  });
106
155
  emitVerify(ok(withEngine(report)), report.exitCode);
156
+ handle.complete();
107
157
  }
108
158
  catch (err) {
109
159
  if (err instanceof VerifyFixInputError || err instanceof TargetConfigError || err instanceof LedgerError) {
110
- emitVerify(fail(err.code, err.message));
160
+ emitVerify(fail(err.code, redactSensitiveText(err.message, known)));
161
+ handle.complete();
111
162
  }
112
163
  else if (err instanceof UnauthorizedExploreTargetError) {
113
- emitVerify(fail("E_UNAUTHORIZED_EXPLORE_TARGET", err.message));
164
+ emitVerify(fail("E_UNAUTHORIZED_EXPLORE_TARGET", redactSensitiveText(err.message, known)));
165
+ handle.complete();
114
166
  }
115
167
  else {
116
- emitVerify(fail("E_VERIFY_FIX", String(err instanceof Error ? err.message : err)));
168
+ // #767: an internal error is the terminal layer's: it redacts, writes one artifact, emits
169
+ // one envelope and exits. (Typed input errors keep their own code and write no artifact.)
170
+ handle.fail(err);
117
171
  }
118
172
  }
119
173
  }));
@@ -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,7 +1,7 @@
1
1
  {
2
2
  "name": "@jevitate/cli",
3
- "version": "0.28.1",
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.",
3
+ "version": "0.29.0",
4
+ "description": "Browser automation and testing in one tool: parameterized Journeys that do real work in your app, and autonomous exploration that turns discovered bugs into deterministic regression tests.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -65,26 +65,26 @@
65
65
  "zod": "^4.6.5",
66
66
  "@jevitate/ai-core": "0.1.0",
67
67
  "@jevitate/domain": "0.1.0",
68
+ "@jevitate/daemon": "0.1.0",
68
69
  "@jevitate/example-site": "0.1.0",
69
70
  "@jevitate/explore": "0.1.0",
70
71
  "@jevitate/findings": "0.1.0",
71
- "@jevitate/daemon": "0.1.0",
72
- "@jevitate/interpreter": "0.1.0",
73
72
  "@jevitate/inbox": "0.1.0",
74
- "@jevitate/load": "0.1.0",
73
+ "@jevitate/interpreter": "0.1.0",
75
74
  "@jevitate/journey": "0.1.0",
76
- "@jevitate/playwright": "0.1.0",
75
+ "@jevitate/load": "0.1.0",
77
76
  "@jevitate/mcp-facade": "0.1.0",
78
- "@jevitate/recorder": "0.1.0",
77
+ "@jevitate/playwright": "0.1.0",
79
78
  "@jevitate/missions": "0.1.0",
79
+ "@jevitate/recorder": "0.1.0",
80
80
  "@jevitate/recording": "0.1.0",
81
+ "@jevitate/screenplay": "0.1.0",
81
82
  "@jevitate/regression": "0.1.0",
83
+ "@jevitate/skills": "0.1.0",
82
84
  "@jevitate/runtime": "0.1.0",
83
- "@jevitate/screenplay": "0.1.0",
84
85
  "@jevitate/sources": "0.1.0",
85
- "@jevitate/ux": "0.1.0",
86
- "@jevitate/skills": "0.1.0",
87
- "@jevitate/storage-sqlite": "0.1.0"
86
+ "@jevitate/storage-sqlite": "0.1.0",
87
+ "@jevitate/ux": "0.1.0"
88
88
  },
89
89
  "scripts": {
90
90
  "build": "node scripts/generate-build-info.mjs && tsc --build",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jevitate-run-journey
3
- description: Find and replay a promoted jevitate Journey (a saved, deterministic browser flow such as a login, checkout or form submission) by id with typed params, on any named environment (`--env`/`--base-url`), optionally with video and screenshots and self-heal. Runs via `jevitate journey find|run` or MCP `find_capabilities`/`run_journey`. Also covers promoting (human-only). Use when a known flow should be re-run or regression-checked, not explored or recorded fresh.
3
+ description: Find and replay a promoted jevitate Journey (a saved, deterministic browser flow such as a login, checkout or form submission) by id with typed params, on any named environment (`--env`/`--base-url`), optionally with video and screenshots and self-heal. Runs via `jevitate journey find|run` or MCP `find_capabilities`/`run_journey`. Also covers promoting (a person's act). Use when a known flow should be re-run or regression-checked, not explored or recorded fresh.
4
4
  ---
5
5
 
6
6
  You drive already-published, promoted Jevitate Journeys. You never write or invent
@@ -17,7 +17,7 @@ artifact; your job is to find the right one and run it with the right params.
17
17
  - `jevitate journey list --json` shows ALL Journeys including unpromoted ones —
18
18
  use this only for authoring/debugging with a human present, never to find
19
19
  something to run autonomously (an unpromoted Journey is unpromoted for a
20
- reason and `journey run`/`run_journey` will refuse it anyway).
20
+ reason). MCP `run_journey` refuses it; the CLI `journey run` does not (below).
21
21
 
22
22
  ## Run
23
23
 
@@ -28,6 +28,25 @@ artifact; your job is to find the right one and run it with the right params.
28
28
  - MCP: `run_journey({ id, params, storageState? })` — same param-schema
29
29
  validation, same refusal on an unknown id or params. It NEVER accepts inline
30
30
  steps or a raw recording — a published id only.
31
+ - A secret parameter's value (a `secret: true` param, or one named like a
32
+ credential) never goes in an MCP request: `E_SECRET_PARAM_OVER_MCP`, by name.
33
+ Leave it out and pass `env` or `baseUrl` when `~/.jevitate/targets.json` binds
34
+ the field under `secretFields`. On the CLI use `--secret-field
35
+ '<label|testId|id|name>=<value>=env:<VAR>'`; `--param` works and warns.
36
+ - Promotion differs by surface. MCP `run_journey` and `chain_journeys` refuse a
37
+ Journey that is not promoted, or whose content changed since its approval,
38
+ before any browser opens: `{error: "refused", code: E_JOURNEY_NOT_PROMOTED |
39
+ E_JOURNEY_APPROVAL_STALE | E_JOURNEY_APPROVAL_UNKNOWN, fix}`. Do not retry;
40
+ ask the person to review and promote it (`journey review <id>`, then
41
+ `journey promote <id>`). The CLI `journey run` runs an unpromoted or stale
42
+ Journey anyway and prints a `warning:` line on stderr with the same code.
43
+ - MCP runs also refuse, with `outcome: "refused"` and `retryable: false`, a click
44
+ on a session-ending, destructive or paid control (`E_RUN_REFUSED_DESTRUCTIVE`),
45
+ a write to an origin outside the run's allowlist
46
+ (`E_RUN_REFUSED_OFF_ALLOWLIST_WRITE`) and a `production: true` environment
47
+ (`E_RUN_REFUSED_PRODUCTION`). The result's `setting` names what lifts it, in the
48
+ target's `mcpRun` section of `~/.jevitate/targets.json`. Only a person edits
49
+ that; never try to work around it. The CLI applies none of these refusals.
31
50
  - Read the JSON envelope's `outcome` field (MCP: also `exitCode`). Only `"ok"`
32
51
  (exit 0) is a pass. `"healed-pending-review"` (exit 5) is NOT a pass: a
33
52
  self-heal retargeted steps and proposed a Journey revision a person must
@@ -143,7 +162,8 @@ artifact; your job is to find the right one and run it with the right params.
143
162
  fails — it never counts as the person's sign-off. Every authored/recorded Journey starts
144
163
  `metadata.promoted: false` (`explore-author-journey`, `jevitate record` +
145
164
  `recording postdoc`); only a promoted Journey is discoverable via `journey
146
- find`/`find_capabilities` and runnable via `journey run`/`run_journey`.
165
+ find`/`find_capabilities` and runnable over MCP (`run_journey`); the CLI
166
+ `journey run` also runs an unpromoted one, with a warning.
147
167
  There is still no "raw Recording -> promoted Journey in one step" command —
148
168
  a Recording becomes a Journey first (through an authoring path, or the
149
169
  `JourneyRegistry` API), then `journey promote <id>` promotes it.