@jevitate/cli 0.10.0 → 0.12.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 (141) hide show
  1. package/dist/approval-provenance.d.ts +6 -0
  2. package/dist/approval-provenance.js +9 -1
  3. package/dist/approval-provenance.js.map +1 -1
  4. package/dist/approved-demo.d.ts +86 -0
  5. package/dist/approved-demo.js +184 -0
  6. package/dist/approved-demo.js.map +1 -0
  7. package/dist/author-journey-cli.js +2 -1
  8. package/dist/author-journey-cli.js.map +1 -1
  9. package/dist/bin.js +16525 -13523
  10. package/dist/build-info.generated.js +2 -2
  11. package/dist/campaign-api.d.ts +15 -0
  12. package/dist/campaign-api.js +67 -6
  13. package/dist/campaign-api.js.map +1 -1
  14. package/dist/campaign-cli.js +7 -2
  15. package/dist/campaign-cli.js.map +1 -1
  16. package/dist/campaign-preflight.d.ts +76 -0
  17. package/dist/campaign-preflight.js +117 -0
  18. package/dist/campaign-preflight.js.map +1 -0
  19. package/dist/catalog-bundle-api.d.ts +15 -5
  20. package/dist/catalog-bundle-api.js +117 -14
  21. package/dist/catalog-bundle-api.js.map +1 -1
  22. package/dist/catalog-bundle-findings.d.ts +10 -0
  23. package/dist/catalog-bundle-findings.js +75 -1
  24. package/dist/catalog-bundle-findings.js.map +1 -1
  25. package/dist/catalog-bundle.d.ts +111 -7
  26. package/dist/catalog-bundle.js +208 -9
  27. package/dist/catalog-bundle.js.map +1 -1
  28. package/dist/catalog-cli.js +3 -2
  29. package/dist/catalog-cli.js.map +1 -1
  30. package/dist/check-api.js +20 -2
  31. package/dist/check-api.js.map +1 -1
  32. package/dist/check-cli.d.ts +2 -0
  33. package/dist/check-cli.js +25 -0
  34. package/dist/check-cli.js.map +1 -1
  35. package/dist/check-execute.d.ts +6 -0
  36. package/dist/check-execute.js +1 -0
  37. package/dist/check-execute.js.map +1 -1
  38. package/dist/check-types.d.ts +7 -0
  39. package/dist/check-types.js.map +1 -1
  40. package/dist/cli-output.js +15 -1
  41. package/dist/cli-output.js.map +1 -1
  42. package/dist/cold-start-report.d.ts +32 -0
  43. package/dist/cold-start-report.js +31 -0
  44. package/dist/cold-start-report.js.map +1 -0
  45. package/dist/defect-evidence.js +10 -5
  46. package/dist/defect-evidence.js.map +1 -1
  47. package/dist/demo-aspect-api.d.ts +11 -0
  48. package/dist/demo-aspect-api.js +27 -2
  49. package/dist/demo-aspect-api.js.map +1 -1
  50. package/dist/demo-aspect-cli.js +7 -1
  51. package/dist/demo-aspect-cli.js.map +1 -1
  52. package/dist/demo-capture.d.ts +79 -2
  53. package/dist/demo-capture.js +504 -12
  54. package/dist/demo-capture.js.map +1 -1
  55. package/dist/environments.d.ts +8 -1
  56. package/dist/environments.js +14 -3
  57. package/dist/environments.js.map +1 -1
  58. package/dist/exit-codes.js +1 -0
  59. package/dist/exit-codes.js.map +1 -1
  60. package/dist/explore-adversarial.js +2 -2
  61. package/dist/explore-adversarial.js.map +1 -1
  62. package/dist/explore-cli.js +3 -2
  63. package/dist/explore-cli.js.map +1 -1
  64. package/dist/explore-goal.js +4 -3
  65. package/dist/explore-goal.js.map +1 -1
  66. package/dist/explore-shared.d.ts +11 -0
  67. package/dist/explore-shared.js +9 -0
  68. package/dist/explore-shared.js.map +1 -1
  69. package/dist/findings-filing.js +7 -3
  70. package/dist/findings-filing.js.map +1 -1
  71. package/dist/github-issue-filer.js +15 -9
  72. package/dist/github-issue-filer.js.map +1 -1
  73. package/dist/journeeze-api.d.ts +8 -2
  74. package/dist/journeeze-api.js +105 -19
  75. package/dist/journeeze-api.js.map +1 -1
  76. package/dist/journey-anchor-api.d.ts +37 -0
  77. package/dist/journey-anchor-api.js +58 -0
  78. package/dist/journey-anchor-api.js.map +1 -0
  79. package/dist/journey-anchor-cli.d.ts +17 -0
  80. package/dist/journey-anchor-cli.js +104 -0
  81. package/dist/journey-anchor-cli.js.map +1 -0
  82. package/dist/journey-api.d.ts +38 -1
  83. package/dist/journey-api.js +107 -10
  84. package/dist/journey-api.js.map +1 -1
  85. package/dist/journey-cli.d.ts +0 -1
  86. package/dist/journey-cli.js +124 -22
  87. package/dist/journey-cli.js.map +1 -1
  88. package/dist/journey-demo-api.d.ts +29 -0
  89. package/dist/journey-demo-api.js +29 -7
  90. package/dist/journey-demo-api.js.map +1 -1
  91. package/dist/journey-labels-migrate-api.d.ts +100 -0
  92. package/dist/journey-labels-migrate-api.js +194 -0
  93. package/dist/journey-labels-migrate-api.js.map +1 -0
  94. package/dist/journey-lint-sarif.js +6 -0
  95. package/dist/journey-lint-sarif.js.map +1 -1
  96. package/dist/journey-network-checks.d.ts +11 -0
  97. package/dist/journey-network-checks.js +36 -13
  98. package/dist/journey-network-checks.js.map +1 -1
  99. package/dist/journey-review.d.ts +12 -2
  100. package/dist/journey-review.js +522 -108
  101. package/dist/journey-review.js.map +1 -1
  102. package/dist/load-api.js +4 -2
  103. package/dist/load-api.js.map +1 -1
  104. package/dist/mcp-api.d.ts +3 -1
  105. package/dist/mcp-api.js +21 -2
  106. package/dist/mcp-api.js.map +1 -1
  107. package/dist/mcp-cli-tools.d.ts +1 -0
  108. package/dist/mcp-cli-tools.js +32 -9
  109. package/dist/mcp-cli-tools.js.map +1 -1
  110. package/dist/openrouter-call.d.ts +23 -10
  111. package/dist/openrouter-call.js +14 -11
  112. package/dist/openrouter-call.js.map +1 -1
  113. package/dist/png-pixels.d.ts +12 -0
  114. package/dist/png-pixels.js +96 -0
  115. package/dist/png-pixels.js.map +1 -0
  116. package/dist/regression-api.js +8 -5
  117. package/dist/regression-api.js.map +1 -1
  118. package/dist/review-render-options.d.ts +17 -0
  119. package/dist/review-render-options.js +17 -0
  120. package/dist/review-render-options.js.map +1 -0
  121. package/dist/server-log-verify.js +2 -1
  122. package/dist/server-log-verify.js.map +1 -1
  123. package/dist/signal-triage.js +7 -3
  124. package/dist/signal-triage.js.map +1 -1
  125. package/dist/source-run-api.js +2 -2
  126. package/dist/source-run-api.js.map +1 -1
  127. package/dist/ux-usability.js +5 -2
  128. package/dist/ux-usability.js.map +1 -1
  129. package/dist/verify-fix-api.d.ts +29 -0
  130. package/dist/verify-fix-api.js +45 -2
  131. package/dist/verify-fix-api.js.map +1 -1
  132. package/dist/verify-fix-cli.js +4 -0
  133. package/dist/verify-fix-cli.js.map +1 -1
  134. package/dist/zip-store.d.ts +15 -0
  135. package/dist/zip-store.js +93 -0
  136. package/dist/zip-store.js.map +1 -0
  137. package/package.json +14 -14
  138. package/skills/jevitate-demo/SKILL.md +4 -1
  139. package/skills/jevitate-run-journey/SKILL.md +4 -0
  140. package/skills/jevitate-test-campaign/SKILL.md +13 -0
  141. package/skills/jevitate-verify-fix/SKILL.md +5 -0
@@ -9,10 +9,16 @@ import { type GitExec } from "./change-context.js";
9
9
  * pure `buildCatalogBundle` (catalog-bundle.ts — what goes out and what never does is documented
10
10
  * there); this module does the I/O around it.
11
11
  *
12
- * It only writes `bundle.json` under `outDir` (atomically: a temp file renamed into place; over MCP
13
- * `outDir` is a confined path inside the project), refuses an `outDir` holding anything but a
14
- * previous bundle, never uploads (that is `publish journeeze`) and never approves anything.
15
- * 0.10 exports no media files (no demos: see catalog-bundle.ts).
12
+ * It writes `bundle.json` under `outDir` (atomically: a temp file renamed into place; over MCP
13
+ * `outDir` is a confined path inside the project) and, #471, the approved demos' media under
14
+ * `outDir/media/<journey id>/` (contract §2), refuses an `outDir` holding anything but a previous
15
+ * bundle, never uploads (that is `publish journeeze`) and never approves anything.
16
+ *
17
+ * #471 media: a Journey's approved-demo record (approved-demo.ts, `<journeys>/.demos/<id>/`) is
18
+ * read only for a promoted Journey; every file it lists is re-verified here — present, the sha256
19
+ * and size recorded when it was proven masked, and the right kind of file (PNG / WebM signature,
20
+ * WebVTT whose every cue is §7 machine text) — or it is left out with a warning. The pure builder
21
+ * then applies the contract's text rules and limits.
16
22
  *
17
23
  * Inputs it reads: `<catalogDir>/personas.json` + `jobs.json`, the Journeys dir, and the
18
24
  * `jevitate check` records — `req.checkFiles`, else `<project>/jevitate-check/check.json` (the
@@ -52,7 +58,9 @@ export interface ExportCatalogBundleResult {
52
58
  readonly journeys: number;
53
59
  readonly checks: number;
54
60
  readonly findings: number;
55
- /** Always 0 in 0.10 (no media exported). */
61
+ /** #471: approved demos exported (with their verified media). */
62
+ readonly demos: number;
63
+ /** #471: media files written beside bundle.json (listed in `files[]`). */
56
64
  readonly media: number;
57
65
  };
58
66
  /** Items left out or degraded, each with why (e.g. an unpromoted Journey, a check without a commit). */
@@ -65,6 +73,8 @@ export declare class CatalogExportOutError extends CatalogInputError {
65
73
  /** The contract's `bundle.json` cap (§10). */
66
74
  export declare const MAX_BUNDLE_BYTES: number;
67
75
  export declare const BUNDLE_FILE = "bundle.json";
76
+ /** #471: the bundle's media folder (contract §2). */
77
+ export declare const MEDIA_DIR = "media";
68
78
  export declare const DEFAULT_CHECK_FILE: string;
69
79
  /** `product.name`: the request's, else the project's package.json name, else its folder name — whichever is one plain line. */
70
80
  export declare function isPlainProductName(s: unknown): s is string;
@@ -1,11 +1,13 @@
1
1
  import { createHash, randomBytes } from "node:crypto";
2
2
  import { existsSync } from "node:fs";
3
- import { lstat, mkdir, readdir, readFile, rename, rm, writeFile } from "node:fs/promises";
4
- import { basename, dirname, join, resolve } from "node:path";
3
+ import { copyFile, lstat, mkdir, open, readdir, readFile, rename, rm, writeFile } from "node:fs/promises";
4
+ import { basename, dirname, join, resolve, sep } from "node:path";
5
5
  import { CatalogInputError, CatalogLoader, PERSONAS_FILE } from "./catalog.js";
6
- import { buildCatalogBundle, BUNDLE_KIND, looksPersonal } from "./catalog-bundle.js";
7
- import { collectBundleFindings } from "./catalog-bundle-findings.js";
6
+ import { buildCatalogBundle, BUNDLE_KIND, looksPersonal, subtitlesTextProblem } from "./catalog-bundle.js";
7
+ import { currentDigest, readApprovedDemo } from "./approved-demo.js";
8
+ import { collectBundleFindings, locatorFindings } from "./catalog-bundle-findings.js";
8
9
  import { execGitReadOnly } from "./change-context.js";
10
+ import { testIdAttributesOrDefault } from "./locator-health-api.js";
9
11
  import { readCliVersion } from "./version.js";
10
12
  /**
11
13
  * #464 — `jevitate catalog export --format journeeze-bundle --out <dir>` / MCP
@@ -15,10 +17,16 @@ import { readCliVersion } from "./version.js";
15
17
  * pure `buildCatalogBundle` (catalog-bundle.ts — what goes out and what never does is documented
16
18
  * there); this module does the I/O around it.
17
19
  *
18
- * It only writes `bundle.json` under `outDir` (atomically: a temp file renamed into place; over MCP
19
- * `outDir` is a confined path inside the project), refuses an `outDir` holding anything but a
20
- * previous bundle, never uploads (that is `publish journeeze`) and never approves anything.
21
- * 0.10 exports no media files (no demos: see catalog-bundle.ts).
20
+ * It writes `bundle.json` under `outDir` (atomically: a temp file renamed into place; over MCP
21
+ * `outDir` is a confined path inside the project) and, #471, the approved demos' media under
22
+ * `outDir/media/<journey id>/` (contract §2), refuses an `outDir` holding anything but a previous
23
+ * bundle, never uploads (that is `publish journeeze`) and never approves anything.
24
+ *
25
+ * #471 media: a Journey's approved-demo record (approved-demo.ts, `<journeys>/.demos/<id>/`) is
26
+ * read only for a promoted Journey; every file it lists is re-verified here — present, the sha256
27
+ * and size recorded when it was proven masked, and the right kind of file (PNG / WebM signature,
28
+ * WebVTT whose every cue is §7 machine text) — or it is left out with a warning. The pure builder
29
+ * then applies the contract's text rules and limits.
22
30
  *
23
31
  * Inputs it reads: `<catalogDir>/personas.json` + `jobs.json`, the Journeys dir, and the
24
32
  * `jevitate check` records — `req.checkFiles`, else `<project>/jevitate-check/check.json` (the
@@ -33,6 +41,8 @@ export class CatalogExportOutError extends CatalogInputError {
33
41
  /** The contract's `bundle.json` cap (§10). */
34
42
  export const MAX_BUNDLE_BYTES = 16 * 1024 * 1024;
35
43
  export const BUNDLE_FILE = "bundle.json";
44
+ /** #471: the bundle's media folder (contract §2). */
45
+ export const MEDIA_DIR = "media";
36
46
  export const DEFAULT_CHECK_FILE = join("jevitate-check", "check.json");
37
47
  function isRecord(v) {
38
48
  return v !== null && typeof v === "object" && !Array.isArray(v);
@@ -117,7 +127,8 @@ async function assertBundleDir(outDir) {
117
127
  if (!st.isDirectory())
118
128
  throw new CatalogExportOutError(`--out ${outDir} exists and is not a directory`);
119
129
  const entries = await readdir(outDir);
120
- const other = entries.filter((e) => e !== BUNDLE_FILE);
130
+ // A previous bundle's media folder is replaced with the bundle (never without its bundle.json).
131
+ const other = entries.filter((e) => e !== BUNDLE_FILE && !(e === MEDIA_DIR && entries.includes(BUNDLE_FILE)));
121
132
  if (other.length > 0) {
122
133
  throw new CatalogExportOutError(`--out ${outDir} holds other content (${other.slice(0, 5).join(", ")}${other.length > 5 ? ", …" : ""}) — export into an empty directory or a previous bundle's`);
123
134
  }
@@ -134,6 +145,82 @@ async function assertBundleDir(outDir) {
134
145
  if (kind !== BUNDLE_KIND)
135
146
  throw new CatalogExportOutError(`--out ${outDir}: ${BUNDLE_FILE} there is not a Journeeze catalog bundle — not overwritten`);
136
147
  }
148
+ if (entries.includes(MEDIA_DIR) && !(await lstat(join(outDir, MEDIA_DIR))).isDirectory())
149
+ throw new CatalogExportOutError(`--out ${outDir}: ${MEDIA_DIR} there is not a directory — not overwritten`);
150
+ }
151
+ const PNG_MAGIC = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
152
+ const WEBM_MAGIC = Buffer.from([0x1a, 0x45, 0xdf, 0xa3]);
153
+ async function head(path, n) {
154
+ const fh = await open(path, "r");
155
+ try {
156
+ const buf = Buffer.alloc(n);
157
+ const { bytesRead } = await fh.read(buf, 0, n, 0);
158
+ return buf.subarray(0, bytesRead);
159
+ }
160
+ finally {
161
+ await fh.close();
162
+ }
163
+ }
164
+ /**
165
+ * #471: the approved demos of the catalog's promoted Journeys, with each media file re-verified on
166
+ * disk (else left out with a warning). A Journey without a record has no exportable demo (a draft,
167
+ * or one approved on an environment that does not declare synthetic data): nothing is said.
168
+ */
169
+ async function approvedDemos(journeysDir, ids, warnings) {
170
+ const out = [];
171
+ for (const id of ids) {
172
+ let found;
173
+ try {
174
+ found = await readApprovedDemo(journeysDir, id);
175
+ }
176
+ catch (err) {
177
+ warnings.push(`demo ${id}: its approved-demo record is unreadable (${err instanceof Error ? err.message : String(err)}) — the demo is left out`);
178
+ continue;
179
+ }
180
+ if (found === null)
181
+ continue;
182
+ const { record, dir } = found;
183
+ const media = {};
184
+ for (const [name, want] of Object.entries(record.files)) {
185
+ const source = join(dir, name);
186
+ const got = await currentDigest(source);
187
+ if (got === null) {
188
+ warnings.push(`demo ${id}: ${name} is missing — left out`);
189
+ continue;
190
+ }
191
+ if (got.sha256 !== want.sha256 || got.bytes !== want.bytes) {
192
+ warnings.push(`demo ${id}: ${name} changed since it was proven masked — left out`);
193
+ continue;
194
+ }
195
+ let kindProblem = null;
196
+ if (name.endsWith(".png"))
197
+ kindProblem = (await head(source, 8)).equals(PNG_MAGIC) ? null : "is not a PNG";
198
+ else if (name.endsWith(".webm"))
199
+ kindProblem = (await head(source, 4)).equals(WEBM_MAGIC) ? null : "is not a WebM";
200
+ else if (name.endsWith(".vtt")) {
201
+ const p = subtitlesTextProblem(await readFile(source, "utf8"));
202
+ kindProblem = p === null ? null : `breaks the text rules (${p})`;
203
+ }
204
+ else
205
+ kindProblem = "is not a demo media file";
206
+ if (kindProblem !== null) {
207
+ warnings.push(`demo ${id}: ${name} ${kindProblem} — left out`);
208
+ continue;
209
+ }
210
+ media[name] = { source, ...got };
211
+ }
212
+ out.push({
213
+ journey: record.journey,
214
+ renderedFrom: record.renderedFrom,
215
+ ...(record.title === undefined ? {} : { title: record.title }),
216
+ steps: record.steps,
217
+ ...(record.video === undefined ? {} : { video: record.video }),
218
+ ...(record.subtitles === undefined ? {} : { subtitles: record.subtitles }),
219
+ privacy: record.privacy,
220
+ media,
221
+ });
222
+ }
223
+ return out;
137
224
  }
138
225
  export async function exportCatalogBundle(req, deps = {}) {
139
226
  const git = deps.git ?? execGitReadOnly;
@@ -160,19 +247,34 @@ export async function exportCatalogBundle(req, deps = {}) {
160
247
  }
161
248
  }
162
249
  const found = deps.findings === undefined ? await collectBundleFindings({ root, dataDir: req.catalogDir }) : { findings: await deps.findings(), warnings: [] };
163
- const { bundle, warnings: buildWarnings } = buildCatalogBundle({
250
+ const demoWarnings = [];
251
+ const demos = await approvedDemos(req.journeysDir, catalog.journeys.filter((j) => j.promoted).map((j) => j.id), demoWarnings);
252
+ const locators = locatorFindings(catalog.journeys.filter((j) => j.promoted), testIdAttributesOrDefault(req.catalogDir));
253
+ const collected = new Set(found.findings.map((f) => f.fingerprint));
254
+ const { bundle, media, warnings: buildWarnings } = buildCatalogBundle({
164
255
  producer: { version: (deps.version ?? readCliVersion)(), ...(head === null || head === "" ? {} : { commit: head }) },
165
256
  productName: await productNameOf(req, root),
166
257
  catalog,
167
258
  personaFields,
168
259
  checks,
169
- findings: found.findings,
260
+ findings: [...found.findings, ...locators.findings.filter((f) => !collected.has(f.fingerprint))],
261
+ demos,
170
262
  });
171
263
  const text = `${JSON.stringify(bundle, null, 2)}\n`;
172
264
  const bytes = Buffer.byteLength(text, "utf8");
173
265
  if (bytes > MAX_BUNDLE_BYTES)
174
266
  throw new CatalogInputError(`the bundle is ${bytes} bytes; the contract's limit is ${MAX_BUNDLE_BYTES} (16 MiB)`);
175
267
  await mkdir(outDir, { recursive: true });
268
+ // #471: the media first (a fresh folder), then bundle.json — a bundle never names a file it lacks.
269
+ const mediaDir = join(outDir, MEDIA_DIR);
270
+ await rm(mediaDir, { recursive: true, force: true });
271
+ for (const m of media) {
272
+ const to = join(outDir, ...m.path.split("/"));
273
+ if (!resolve(to).startsWith(`${mediaDir}${sep}`))
274
+ throw new CatalogInputError(`media path ${m.path} leaves the bundle's media folder`);
275
+ await mkdir(dirname(to), { recursive: true });
276
+ await copyFile(m.source, to);
277
+ }
176
278
  const bundlePath = join(outDir, BUNDLE_FILE);
177
279
  const tmp = join(outDir, `.${BUNDLE_FILE}.${randomBytes(6).toString("hex")}.tmp`);
178
280
  try {
@@ -193,14 +295,15 @@ export async function exportCatalogBundle(req, deps = {}) {
193
295
  journeys: bundle.catalog.journeys.length,
194
296
  checks: bundle.checks.length,
195
297
  findings: bundle.findings.length,
196
- media: 0,
298
+ demos: bundle.demos?.length ?? 0,
299
+ media: bundle.files?.length ?? 0,
197
300
  },
198
- warnings: [...warnings, ...found.warnings, ...buildWarnings],
301
+ warnings: [...warnings, ...found.warnings, ...locators.warnings, ...demoWarnings, ...buildWarnings],
199
302
  };
200
303
  }
201
304
  /** The human rendering (no `--json`). */
202
305
  export function renderCatalogExport(r) {
203
306
  const c = r.counts;
204
- return `wrote ${r.bundlePath} (${r.digest}): ${c.personas} persona(s), ${c.jobs} job(s), ${c.journeys} Journey(s), ${c.checks} check(s), ${c.findings} finding(s)\n${r.warnings.map((w) => `warning: ${w}\n`).join("")}`;
307
+ return `wrote ${r.bundlePath} (${r.digest}): ${c.personas} persona(s), ${c.jobs} job(s), ${c.journeys} Journey(s), ${c.demos} demo(s) with ${c.media} media file(s), ${c.checks} check(s), ${c.findings} finding(s)\n${r.warnings.map((w) => `warning: ${w}\n`).join("")}`;
205
308
  }
206
309
  //# sourceMappingURL=catalog-bundle-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-bundle-api.js","sourceRoot":"","sources":["../src/catalog-bundle-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-bundle-api.js","sourceRoot":"","sources":["../src/catalog-bundle-api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type RunRecord } from "@jevitate/findings";
2
2
  import { type CatalogBundleFinding } from "./catalog-bundle.js";
3
+ import type { CatalogJourney } from "./catalog.js";
3
4
  import type { RunIndexDeps } from "./run-index.js";
4
5
  /**
5
6
  * #464 (d464c) — the machine findings a Journeeze catalog bundle carries (journeeze-saas
@@ -42,6 +43,15 @@ export interface BundleFindings {
42
43
  }
43
44
  /** The bundle's findings from what the runs persisted (pure): one per fingerprint, latest sighting first-class. */
44
45
  export declare function bundleFindings(src: FindingSources): BundleFindings;
46
+ /**
47
+ * #479 (minor 1) — the locator findings: one per brittle ELEMENT (§4.4, spec bundle-minor1 §1). Each
48
+ * promoted Journey's locator health (`journeyLocatorHealth`) becomes suggestions, de-duplicated by
49
+ * element across Journeys; each suggestion is a `kind: "ux"` / claim `other` / producerClaim
50
+ * `locator-brittle` finding, dated at the latest approval of the Journeys it occurs in. A suggestion
51
+ * whose route cannot be a template, that has no approval time, or that fails the builder's privacy
52
+ * guard is LEFT OUT with a warning. Pure: no clock, no I/O.
53
+ */
54
+ export declare function locatorFindings(journeys: readonly CatalogJourney[], testIdAttributes: readonly string[]): BundleFindings;
45
55
  export interface CollectBundleFindingsOptions {
46
56
  /** The project root (where its `.jevitate/` is). */
47
57
  readonly root: string;
@@ -1,8 +1,11 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
2
3
  import { join, resolve } from "node:path";
3
4
  import { consolidate, runFromMissionResult, runFromUxReport } from "@jevitate/findings";
4
5
  import { contractRouteTemplate, uxFindingFingerprint } from "@jevitate/ux";
5
6
  import { findingIssues, isRouteTemplate } from "./catalog-bundle.js";
7
+ import { dedupeSuggestions } from "./locator-health.js";
8
+ import { journeyLocatorHealth } from "./locator-health-api.js";
6
9
  import { defaultReportSources, loadRunFile, scanRuns } from "./report-api.js";
7
10
  const KNOWN_CLAIMS = new Set(["next-step-unclear", "no-feedback", "blocked-action", "error-unrecoverable", "destructive-unguarded", "fact-conflict"]);
8
11
  const PRODUCER_CLAIM_RE = /^[a-z][a-z0-9-]{0,63}$/u;
@@ -139,6 +142,10 @@ function uxFinding(f, run) {
139
142
  },
140
143
  };
141
144
  }
145
+ /** The warning for a finding the builder's guard drops: the fingerprint and rule, never the offending text. */
146
+ function findingDropWarning(fingerprint, kind, issues) {
147
+ return `finding ${fingerprint} (${kind}): ${issues.map((i) => i.replace(/^finding [0-9a-f]+: /u, "").replace(/ "[^"]*"/gu, "")).join("; ")} — left out of the bundle`;
148
+ }
142
149
  /** The bundle's findings from what the runs persisted (pure): one per fingerprint, latest sighting first-class. */
143
150
  export function bundleFindings(src) {
144
151
  const warnings = [];
@@ -153,7 +160,7 @@ export function bundleFindings(src) {
153
160
  const issues = findingIssues(m.finding);
154
161
  if (issues.length > 0) {
155
162
  // Name the fingerprint and the rule only: the offending text never reaches a warning.
156
- warnings.push(`finding ${m.finding.fingerprint} (${m.finding.kind}): ${issues.map((i) => i.replace(/^finding [0-9a-f]+: /u, "").replace(/ "[^"]*"/gu, "")).join("; ")} — left out of the bundle`);
163
+ warnings.push(findingDropWarning(m.finding.fingerprint, m.finding.kind, issues));
157
164
  return;
158
165
  }
159
166
  const prev = latest.get(m.finding.fingerprint);
@@ -177,6 +184,73 @@ export function bundleFindings(src) {
177
184
  }
178
185
  return { findings, warnings };
179
186
  }
187
+ /**
188
+ * #479 (minor 1) — the locator findings: one per brittle ELEMENT (§4.4, spec bundle-minor1 §1). Each
189
+ * promoted Journey's locator health (`journeyLocatorHealth`) becomes suggestions, de-duplicated by
190
+ * element across Journeys; each suggestion is a `kind: "ux"` / claim `other` / producerClaim
191
+ * `locator-brittle` finding, dated at the latest approval of the Journeys it occurs in. A suggestion
192
+ * whose route cannot be a template, that has no approval time, or that fails the builder's privacy
193
+ * guard is LEFT OUT with a warning. Pure: no clock, no I/O.
194
+ */
195
+ export function locatorFindings(journeys, testIdAttributes) {
196
+ const warnings = [];
197
+ const suggestions = dedupeSuggestions(journeys.map((cj) => journeyLocatorHealth(cj.journey, testIdAttributes).suggestions));
198
+ const approvalAt = new Map();
199
+ for (const cj of journeys) {
200
+ const at = cj.approval?.at;
201
+ if (at !== undefined && DATE_TIME_RE.test(at))
202
+ approvalAt.set(cj.id, at);
203
+ }
204
+ const findings = [];
205
+ for (const s of suggestions) {
206
+ const route = bundleRoute(s.route);
207
+ if (route === undefined) {
208
+ // Journeeze requires a route template on every UX finding (catalog bundle v1 §4.4).
209
+ warnings.push(`locator ${s.key}: ${s.route === undefined ? "its page has no route" : "its route is not a route template"} — left out of the bundle`);
210
+ continue;
211
+ }
212
+ const first = s.occurrences[0];
213
+ if (first === undefined)
214
+ continue;
215
+ const at = s.occurrences
216
+ .map((o) => (o.journeyId === undefined ? undefined : approvalAt.get(o.journeyId)))
217
+ .filter((v) => v !== undefined)
218
+ .sort()
219
+ .at(-1);
220
+ if (at === undefined) {
221
+ warnings.push(`locator ${s.key}: no approval time to date it — left out of the bundle`);
222
+ continue;
223
+ }
224
+ const key = s.key.slice(s.key.indexOf("|") + 1);
225
+ const fingerprint = createHash("sha256").update(`ux\nlocator-brittle\n${route ?? ""}\n${key}`, "utf8").digest("hex").slice(0, 16);
226
+ const step = first.index + 1;
227
+ // The fix names the page by its raw path; the bundle only ever carries the route template.
228
+ const fix = s.route !== undefined && route !== undefined && s.route !== route ? s.fix.split(s.route).join(route) : s.fix;
229
+ const finding = {
230
+ fingerprint,
231
+ kind: "ux",
232
+ claim: "other",
233
+ producerClaim: "locator-brittle",
234
+ severity: "minor",
235
+ // Static classification of the recorded locator, not a model judgement: certain.
236
+ confidence: 1,
237
+ at,
238
+ ...(first.journeyId === undefined ? {} : { journey: first.journeyId }),
239
+ ...(step < 1 || step > 200 ? {} : { step }),
240
+ route,
241
+ observation: `${s.element} on ${route} is found by a brittle locator (${s.reasons.join(", ")})`,
242
+ recommendation: fix,
243
+ locator: { element: s.element, attribute: s.attribute, testId: s.testId, fix, steps: s.occurrences.length },
244
+ };
245
+ const issues = findingIssues(finding);
246
+ if (issues.length > 0) {
247
+ warnings.push(findingDropWarning(fingerprint, finding.kind, issues));
248
+ continue;
249
+ }
250
+ findings.push(finding);
251
+ }
252
+ return { findings, warnings };
253
+ }
180
254
  // ── I/O: where the project's findings live ──────────────────────────────────────────────────
181
255
  const OFFLINE_UX_REPORT = /^ux-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-\d{3}Z\.json$/u;
182
256
  function readJsonOrNull(path) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-bundle-findings.js","sourceRoot":"","sources":["../src/catalog-bundle-findings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-bundle-findings.js","sourceRoot":"","sources":["../src/catalog-bundle-findings.ts"],"names":[],"mappings":"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"}