@hypersoniclabs/helix-cli 0.1.25-helix3.460 → 0.1.25-helix3.461

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 (41) hide show
  1. package/dist/character/check/check.d.ts +23 -3
  2. package/dist/character/check/check.js +38 -12
  3. package/dist/character/check/check.js.map +1 -1
  4. package/dist/character/check/sheets.d.ts +1 -1
  5. package/dist/character/check/types.d.ts +1 -1
  6. package/dist/index.js +22 -7
  7. package/dist/index.js.map +1 -1
  8. package/dist/tsconfig.build.tsbuildinfo +1 -1
  9. package/dist/visualQa/avatarSeverity.d.ts +22 -0
  10. package/dist/visualQa/avatarSeverity.js +86 -0
  11. package/dist/visualQa/avatarSeverity.js.map +1 -0
  12. package/dist/visualQa/command.d.ts +7 -1
  13. package/dist/visualQa/command.js +3 -1
  14. package/dist/visualQa/command.js.map +1 -1
  15. package/dist/visualQa/hosted.d.ts +18 -2
  16. package/dist/visualQa/hosted.js +2 -2
  17. package/dist/visualQa/hosted.js.map +1 -1
  18. package/dist/visualQa/moveUx.js +2 -0
  19. package/dist/visualQa/moveUx.js.map +1 -1
  20. package/dist/visualQa/types.d.ts +71 -1
  21. package/dist/visualQa/verdictText.d.ts +37 -0
  22. package/dist/visualQa/verdictText.js +83 -0
  23. package/dist/visualQa/verdictText.js.map +1 -0
  24. package/docs/character-check.md +30 -2
  25. package/docs/visual-qa.md +38 -1
  26. package/package.json +1 -1
  27. package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
  28. package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
  29. package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.cpython-312.pyc +0 -0
  30. package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
  31. package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
  32. package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
  33. package/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
  34. package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
  35. package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
  36. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
  37. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
  38. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
  39. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
  40. package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
  41. package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
@@ -1,4 +1,4 @@
1
- import type { VisualQaAssert } from '../../visualQa/types';
1
+ import type { VisualQaAssert, VisualQaVerdictItem } from '../../visualQa/types';
2
2
  import { type HostRendition } from './host';
3
3
  import { type MotionRead, type RawPose } from './session';
4
4
  import { AVATAR_CHECK_SCHEMA, type MotionId } from './types';
@@ -24,7 +24,11 @@ export interface CheckOptions {
24
24
  export interface CheckResult {
25
25
  schema: typeof AVATAR_CHECK_SCHEMA;
26
26
  revision: string;
27
- verdict: 'pass' | 'fail' | 'error';
27
+ /**
28
+ * `pass` every blocking assert passed · `warn` nothing blocks but generator-limit defects were measured (exit 0, see
29
+ * `warnings`) · `fail` a blocking assert failed · `error` could not measure. Same words as the hosted gate's verdict.
30
+ */
31
+ verdict: 'pass' | 'warn' | 'fail' | 'error';
28
32
  exitCode: 0 | 1 | 2;
29
33
  avatar: {
30
34
  file: string;
@@ -53,6 +57,10 @@ export interface CheckResult {
53
57
  id: string;
54
58
  detail: string;
55
59
  }>;
60
+ /** Generator-limit defects that do not stop the avatar (empty on pass/fail/error unless the run also measured some). Same shape as the server's. */
61
+ warnings: VisualQaVerdictItem[];
62
+ /** What stops the avatar, machine-readable: every failing or unmeasured blocking assert and every harness error. */
63
+ blockers: VisualQaVerdictItem[];
56
64
  errors: string[];
57
65
  inspection: {
58
66
  dir: string;
@@ -64,12 +72,24 @@ export interface CheckResult {
64
72
  }
65
73
  /** The first `measured` value of an assert, as one short string for the failure line. */
66
74
  export declare function measuredSummary(a: VisualQaAssert): string;
67
- /** Classify the asserts: a failing block assert = exit 1; a block assert that could not be measured (and no other failure) = exit 2. */
75
+ /** A failing assert that is a generator limit, not a defect that stops the avatar: warn-severity, or in the mirrored `AVATAR_WARN_ASSERTS` table. */
76
+ export declare const isWarnFailure: (a: VisualQaAssert) => boolean;
77
+ /**
78
+ * Classify the asserts: a failing block assert = exit 1 (`fail`); a block assert that could not be measured (and no other
79
+ * failure) = exit 2 (`error`); otherwise a failing warn-class assert (see `isWarnFailure`) = `warn`, which STAYS exit 0 so
80
+ * every script and MCP that treats a nonzero exit as a stop keeps working; the warnings are in the JSON and the text.
81
+ */
68
82
  export declare function exitFor(asserts: VisualQaAssert[], errors: string[], holes: string[]): {
69
83
  exitCode: 0 | 1 | 2;
70
84
  verdict: CheckResult['verdict'];
71
85
  failing: VisualQaAssert[];
72
86
  unmeasured: VisualQaAssert[];
87
+ warned: VisualQaAssert[];
88
+ };
89
+ /** The machine-readable verdict lines (the server's `VisualQaVerdictItem`): warnings from `warned`, blockers from the failing/unmeasured asserts and harness errors. */
90
+ export declare function verdictItems(ex: Pick<ReturnType<typeof exitFor>, 'failing' | 'unmeasured' | 'warned'>, errors: string[], holes: string[]): {
91
+ warnings: VisualQaVerdictItem[];
92
+ blockers: VisualQaVerdictItem[];
73
93
  };
74
94
  interface CachedRead {
75
95
  duration: number;
@@ -36,9 +36,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ControlCache = exports.CHECK_REVISION = void 0;
39
+ exports.ControlCache = exports.isWarnFailure = exports.CHECK_REVISION = void 0;
40
40
  exports.measuredSummary = measuredSummary;
41
41
  exports.exitFor = exitFor;
42
+ exports.verdictItems = verdictItems;
42
43
  exports.runAvatarCheck = runAvatarCheck;
43
44
  exports.renderReport = renderReport;
44
45
  // `helix character check <avatar.glb>`: the local, free, pre-publish gate on a bare GLB. See docs/character-check.md.
@@ -58,6 +59,7 @@ const avatarMath_1 = require("../../visualQa/avatarMath");
58
59
  const avatarPreview_1 = require("../../visualQa/avatarPreview");
59
60
  const avatarPreview_2 = require("../../visualQa/avatarPreview");
60
61
  const browser_1 = require("../../visualQa/browser");
62
+ const avatarSeverity_1 = require("../../visualQa/avatarSeverity");
61
63
  const restFrameGuard_1 = require("../restFrameGuard");
62
64
  const offline_1 = require("./offline");
63
65
  const engineClips_1 = require("./engineClips");
@@ -81,16 +83,39 @@ function measuredSummary(a) {
81
83
  const v = JSON.stringify(m[k]);
82
84
  return `${k}=${v.length > 100 ? `${v.slice(0, 97)}...` : v}`;
83
85
  }
84
- /** Classify the asserts: a failing block assert = exit 1; a block assert that could not be measured (and no other failure) = exit 2. */
86
+ /** A failing assert that is a generator limit, not a defect that stops the avatar: warn-severity, or in the mirrored `AVATAR_WARN_ASSERTS` table. */
87
+ const isWarnFailure = (a) => !a.pass && (a.severity !== 'block' || (0, avatarSeverity_1.isAvatarWarnAssert)(a.id));
88
+ exports.isWarnFailure = isWarnFailure;
89
+ /**
90
+ * Classify the asserts: a failing block assert = exit 1 (`fail`); a block assert that could not be measured (and no other
91
+ * failure) = exit 2 (`error`); otherwise a failing warn-class assert (see `isWarnFailure`) = `warn`, which STAYS exit 0 so
92
+ * every script and MCP that treats a nonzero exit as a stop keeps working; the warnings are in the JSON and the text.
93
+ */
85
94
  function exitFor(asserts, errors, holes) {
86
- const blocks = asserts.filter((a) => a.severity === 'block' && !a.pass);
95
+ const warned = asserts.filter(exports.isWarnFailure);
96
+ const blocks = asserts.filter((a) => a.severity === 'block' && !a.pass && !(0, exports.isWarnFailure)(a));
87
97
  const unmeasured = blocks.filter((a) => /^not measured/.test(a.detail));
88
98
  const failing = blocks.filter((a) => !/^not measured/.test(a.detail));
89
99
  if (failing.length)
90
- return { exitCode: 1, verdict: 'fail', failing, unmeasured };
100
+ return { exitCode: 1, verdict: 'fail', failing, unmeasured, warned };
91
101
  if (errors.length || unmeasured.length || holes.length)
92
- return { exitCode: 2, verdict: 'error', failing, unmeasured };
93
- return { exitCode: 0, verdict: 'pass', failing, unmeasured };
102
+ return { exitCode: 2, verdict: 'error', failing, unmeasured, warned };
103
+ if (warned.length)
104
+ return { exitCode: 0, verdict: 'warn', failing, unmeasured, warned };
105
+ return { exitCode: 0, verdict: 'pass', failing, unmeasured, warned };
106
+ }
107
+ /** The machine-readable verdict lines (the server's `VisualQaVerdictItem`): warnings from `warned`, blockers from the failing/unmeasured asserts and harness errors. */
108
+ function verdictItems(ex, errors, holes) {
109
+ const warnings = (0, avatarSeverity_1.mergeVerdictItems)(ex.warned.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, avatarSeverity_1.isAvatarWarnAssert)(a.id) ? (0, avatarSeverity_1.warnAssertFixHint)(a.id) : ((0, avatarSeverity_1.assertFixHint)(a.id) ?? (0, remedies_1.nextStep)(a)), source: 'measured', checks: [a.id] })));
110
+ const blockers = [
111
+ ...ex.failing.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, avatarSeverity_1.assertFixHint)(a.id) ?? (0, remedies_1.nextStep)(a), source: 'measured', checks: [a.id] })),
112
+ ...ex.unmeasured.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, remedies_1.nextStep)(a), source: 'measured', checks: [a.id] })),
113
+ ...errors.map((e) => ({ id: 'harness.error', summary: e, fixHint: 'The check could not run to the end, which is never a pass: fix what the message names (network, Chrome, an unreadable GLB) and re-run.', source: 'harness', checks: [] })),
114
+ ];
115
+ if (holes.length && !ex.unmeasured.some((a) => a.id === 'avatar.inspection.complete')) {
116
+ blockers.push({ id: 'harness.inspection_incomplete', summary: `the inspection set has holes: ${holes.slice(0, 8).join(', ')}`, fixHint: avatarSeverity_1.GENERIC_FIX_HINT, source: 'harness', checks: [] });
117
+ }
118
+ return { warnings, blockers: (0, avatarSeverity_1.mergeVerdictItems)(blockers) };
94
119
  }
95
120
  // ------------------------------------------------------------------------------------------------------ control cache
96
121
  function cacheRoot() {
@@ -156,7 +181,7 @@ async function runAvatarCheck(opts) {
156
181
  };
157
182
  const fail = (msg) => {
158
183
  errors.push(msg);
159
- const res = { ...base, verdict: 'error', exitCode: 2, asserts: [], failing: [], unmeasured: [], inspection: null, timingsMs: { total: Date.now() - t00 } };
184
+ const res = { ...base, verdict: 'error', exitCode: 2, asserts: [], failing: [], unmeasured: [], warnings: [], blockers: verdictItems({ failing: [], unmeasured: [], warned: [] }, errors, []).blockers, inspection: null, timingsMs: { total: Date.now() - t00 } };
160
185
  node_fs_1.default.writeFileSync(node_path_1.default.join(out, 'check.json'), JSON.stringify(res, null, 2));
161
186
  return res;
162
187
  };
@@ -360,6 +385,7 @@ async function runAvatarCheck(opts) {
360
385
  ...base, verdict: ex.verdict, exitCode: ex.exitCode, asserts,
361
386
  failing: ex.failing.map((a) => ({ id: a.id, measured: measuredSummary(a), detail: a.detail, next: (0, remedies_1.nextStep)(a) })),
362
387
  unmeasured: ex.unmeasured.map((a) => ({ id: a.id, detail: a.detail })),
388
+ ...verdictItems(ex, errors, inspection?.holes ?? []),
363
389
  inspection, timingsMs: timings,
364
390
  };
365
391
  numbers.schema = types_1.AVATAR_CHECK_SCHEMA;
@@ -383,8 +409,8 @@ async function runAvatarCheck(opts) {
383
409
  function renderReport(r) {
384
410
  const lines = [];
385
411
  lines.push(`helix character check — ${node_path_1.default.basename(r.avatar.file)} (${(r.avatar.bytes / 1e6).toFixed(2)} MB) vs ${r.control?.name ?? 'Base Female'} [host ${r.host?.name ?? '?'}, ${Math.round((r.timingsMs.total ?? 0) / 1000)} s]`);
386
- const blocks = r.asserts.filter((a) => a.severity === 'block');
387
- const warns = r.asserts.filter((a) => a.severity !== 'block' && !a.pass);
412
+ const blocks = r.asserts.filter((a) => a.severity === 'block' && !(0, exports.isWarnFailure)(a));
413
+ const warns = r.warnings ?? [];
388
414
  lines.push(`${blocks.filter((a) => a.pass).length}/${blocks.length} blocking asserts passed${warns.length ? `, ${warns.length} warning(s)` : ''}`);
389
415
  for (const f of r.failing) {
390
416
  lines.push('', `FAIL ${f.id}`, ` measured: ${f.measured}`, ` ${f.detail}`, ` next: ${f.next}`);
@@ -394,12 +420,12 @@ function renderReport(r) {
394
420
  for (const e of r.errors)
395
421
  lines.push('', `ERROR ${e}`);
396
422
  for (const w of warns)
397
- lines.push('', `warn ${w.id}: ${w.detail}`);
423
+ lines.push('', `warn ${w.id}: ${w.summary}`, ` fix: ${w.fixHint}`);
398
424
  lines.push('');
399
425
  if (r.inspection)
400
426
  lines.push(`inspection: ${r.inspection.sheets} sheets in ${node_path_1.default.join(r.inspection.dir, 'index.json')} (read them in order; each has one LOOK question)`);
401
- lines.push(`result: ${r.verdict === 'pass' ? 'PASS (exit 0)' : r.verdict === 'fail' ? `FAIL (exit 1): ${r.failing.length} blocking assert(s) failed` : 'COULD NOT MEASURE (exit 2): this is never a pass'}`);
402
- if (r.verdict === 'pass')
427
+ lines.push(`result: ${r.verdict === 'pass' ? 'PASS (exit 0)' : r.verdict === 'warn' ? `WARN (exit 0): released privately would carry ${warns.length} warning(s); nothing blocks` : r.verdict === 'fail' ? `FAIL (exit 1): ${r.failing.length} blocking assert(s) failed` : 'COULD NOT MEASURE (exit 2): this is never a pass'}`);
428
+ if (r.verdict === 'pass' || r.verdict === 'warn')
403
429
  lines.push(` ${sheets_1.NOT_A_VERDICT}`);
404
430
  lines.push(` numbers: ${node_path_1.default.join(r.out, 'numbers.json')}`);
405
431
  return lines.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/character/check/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/character/check/check.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface WriteSheetsInput {
31
31
  severity: 'block' | 'warn';
32
32
  detail: string;
33
33
  }>;
34
- verdict: 'pass' | 'fail' | 'error';
34
+ verdict: 'pass' | 'warn' | 'fail' | 'error';
35
35
  }
36
36
  /** Render every sheet into `<out>/inspection/` and write `index.json`. Returns the index and the list of holes. */
37
37
  export declare function writeSheets(input: WriteSheetsInput): Promise<{
@@ -37,7 +37,7 @@ export interface InspectionSheet {
37
37
  }
38
38
  export interface InspectionIndex {
39
39
  schema: typeof AVATAR_INSPECTION_SCHEMA;
40
- verdict: 'pass' | 'fail' | 'error';
40
+ verdict: 'pass' | 'warn' | 'fail' | 'error';
41
41
  avatar: string;
42
42
  control: string;
43
43
  /** Read the sheets in this order; each `look` is the question to answer from that sheet alone. */
package/dist/index.js CHANGED
@@ -2262,7 +2262,7 @@ item
2262
2262
  .description('Render an item headless in the real HELIX runtime, measure it, and (with --submit) record the visual-QA verdict that Marketplace/Vault listing requires. --hosted asks the platform to render it on a GPU runner instead')
2263
2263
  .argument('[item-id]', 'universal item UUID (its CURRENT package version is rendered, or --package-version); omit with --hosted-worker')
2264
2264
  .option('--submit', 'submit frames + measurements to the backend, which judges and records the verdict (needs `helix login`)')
2265
- .option('--hosted', 'queue a hosted render on the platform GPU runner and wait for the verdict (needs `helix login`; exit 0 pass, 1 fail, 2 error)')
2265
+ .option('--hosted', 'queue a hosted render on the platform GPU runner and wait for the verdict (needs `helix login`; exit 0 pass, 0 warn (an avatar judged with generator-limit warnings only: released privately, `verdict: "warn"` + `warnings` in --json), 1 fail, 2 error)')
2266
2266
  .option('--retry', 'with --hosted: REQUEUE this version after a failed, errored or exhausted hosted run (a fresh job, attempts start again; inside the backend cooldown it waits it out, up to --timeout)')
2267
2267
  .option('--no-wait', 'with --hosted: queue the render and return without waiting')
2268
2268
  .option('--timeout <minutes>', 'with --hosted: how long to wait for the verdict', '30')
@@ -2339,7 +2339,9 @@ item
2339
2339
  console.log(JSON.stringify(st, null, 2));
2340
2340
  else {
2341
2341
  // Current version first, with ITS hosted job; pending versions (each with their own job) follow.
2342
- console.log(`current version: ${st.currentVersion ? (st.currentVersion.passed ? 'PASSED' : 'no passing run') : 'not pinned to a package version'}`);
2342
+ const { describeStatus } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
2343
+ for (const line of describeStatus(st))
2344
+ console.log(line);
2343
2345
  console.log(` hosted job for the current version: ${hosted.describeJob(job)}`);
2344
2346
  if (job?.contactSheetUrl)
2345
2347
  console.log(` contact sheet: ${job.contactSheetUrl}`);
@@ -2365,6 +2367,8 @@ item
2365
2367
  console.log('✔ exempt: this item has nothing to render');
2366
2368
  else if (!req.job)
2367
2369
  console.log(`✖ nothing queued${req.skipped ? ` (${req.skipped})` : ''}${req.message ? `: ${req.message}` : ''}`);
2370
+ else if (req.skipped === 'warned_run')
2371
+ console.log(`! this version already has a WARN run (judged, nothing blocks; released privately with warnings): nothing to re-queue. Read the warnings with: helix item visual-qa ${id} --status`);
2368
2372
  else if (req.skipped)
2369
2373
  console.log(`✖ not re-queued (${req.skipped})${req.message ? `: ${req.message}` : ''}${req.retryAfter ? ` Retry after ${req.retryAfter}.` : ''} Showing the existing job: ${hosted.describeJob(req.job)}`);
2370
2374
  else
@@ -2384,13 +2388,20 @@ item
2384
2388
  if (opts.json)
2385
2389
  console.log(JSON.stringify({ ...req, job, timedOut }, null, 2));
2386
2390
  else if (job && hosted.isTerminal(job.status)) {
2387
- console.log(`${job.status === 'passed' ? '✔' : '✖'} visual QA ${job.status.toUpperCase()}`);
2391
+ const warned = job.status === 'passed' && job.verdict === 'warn';
2392
+ console.log(`${warned ? '!' : job.status === 'passed' ? '✔' : '✖'} visual QA ${warned ? 'WARN' : job.status.toUpperCase()}`);
2388
2393
  for (const r of job.reasons)
2389
2394
  console.log(` - ${r}`);
2390
2395
  if (job.error)
2391
2396
  console.log(` error: ${job.error}`);
2392
2397
  if (job.contactSheetUrl)
2393
2398
  console.log(` contact sheet: ${job.contactSheetUrl}`);
2399
+ if (warned || job.status === 'failed') {
2400
+ const { describeVerdictBody, statusVerdictSource } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
2401
+ const st = await hosted.getItemVisualQaStatus(apiBase, id).catch(() => null);
2402
+ for (const line of describeVerdictBody(warned ? 'warn' : 'fail', statusVerdictSource(st)))
2403
+ console.log(line);
2404
+ }
2394
2405
  }
2395
2406
  else if (timedOut)
2396
2407
  console.log(`… still ${job?.status ?? 'queued'} after ${opts.timeout ?? 30} min; check later with: helix item visual-qa ${id} --status`);
@@ -2417,13 +2428,16 @@ item
2417
2428
  quiet: opts.json,
2418
2429
  });
2419
2430
  if (opts.json) {
2420
- console.log(JSON.stringify({ verdict: outcome.verdict, reasons: outcome.reasons, nextStep: (0, moveUx_1.nextStepAfterPass)({ itemId: id, packageVersion: outcome.bundle.item.packageVersion, candidate: !!outcome.candidate, submitted: !!outcome.server, verdict: outcome.verdict, vehiclePackageFile: opts.vehiclePackage })[0]?.replace(/^\s*next:\s*/, '') ?? null, bundleDir: outcome.bundleDir, contactSheet: outcome.contactSheet, server: outcome.server, critic: outcome.critic, timings: outcome.timings }, null, 2));
2431
+ console.log(JSON.stringify({ verdict: outcome.verdict, reasons: outcome.reasons, warnings: outcome.warnings, blockers: outcome.blockers, nextStep: (0, moveUx_1.nextStepAfterPass)({ itemId: id, packageVersion: outcome.bundle.item.packageVersion, candidate: !!outcome.candidate, submitted: !!outcome.server, verdict: outcome.verdict, vehiclePackageFile: opts.vehiclePackage })[0]?.replace(/^\s*next:\s*/, '') ?? null, bundleDir: outcome.bundleDir, contactSheet: outcome.contactSheet, server: outcome.server, critic: outcome.critic, timings: outcome.timings }, null, 2));
2421
2432
  }
2422
2433
  else {
2423
- const mark = outcome.verdict === 'pass' ? '✔' : '✖';
2434
+ const { describeVerdictBody, exitCodeForVerdict, verdictMark } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
2435
+ const mark = verdictMark(outcome.verdict);
2424
2436
  console.log(`${mark} visual QA ${outcome.verdict.toUpperCase()} — ${outcome.bundle.item.title} (${outcome.bundle.item.category}, package ${outcome.bundle.item.packageVersion ?? '?'})`);
2425
2437
  for (const r of outcome.reasons)
2426
2438
  console.log(` - ${r}`);
2439
+ for (const line of describeVerdictBody(outcome.verdict, outcome))
2440
+ console.log(line);
2427
2441
  if (outcome.contactSheet)
2428
2442
  console.log(` contact sheet: ${outcome.contactSheet}`);
2429
2443
  if (outcome.server?.contactSheetUrl)
@@ -2434,7 +2448,8 @@ item
2434
2448
  console.log(line);
2435
2449
  console.log(` ${(outcome.timings.totalMs / 1000).toFixed(1)} s (render ${(outcome.timings.renderMs / 1000).toFixed(1)} s)`);
2436
2450
  }
2437
- process.exitCode = outcome.verdict === 'pass' ? 0 : outcome.verdict === 'fail' ? 1 : 2;
2451
+ // pass 0 · warn 0 (an avatar judged with generator-limit warnings: released privately, nothing blocks) · fail 1 · error 2
2452
+ process.exitCode = (await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')))).exitCodeForVerdict(outcome.verdict);
2438
2453
  }
2439
2454
  catch (error) {
2440
2455
  fail(error instanceof lib_1.ApiError ? error.render() : String(error?.message ?? error));
@@ -4711,7 +4726,7 @@ character
4711
4726
  .option('--api-url <url>', 'platform API base URL')
4712
4727
  .option('--web-url <url>', 'website base URL (default: the site that serves --api-url)')
4713
4728
  .option('--dump <dir>', 'calibration: also write what the page read (rest + 16 posed meshes per clip) here')
4714
- .addHelpText('after', '\nExit codes: 0 = every blocking assert passed (a floor, NOT a quality verdict: open the inspection sheets) · 1 = a blocking assert failed (each failure prints its measured value and the next step) · 2 = could not measure (never a pass).' +
4729
+ .addHelpText('after', '\nExit codes: 0 = every blocking assert passed (a floor, NOT a quality verdict: open the inspection sheets); verdict `warn` is still exit 0 and lists generator-limit warnings (JSON: `verdict`, `warnings`, `blockers`) · 1 = a blocking assert failed (each failure prints its measured value and the next step) · 2 = could not measure (never a pass).' +
4715
4730
  '\nNeeds network (the platform\'s production viewer, clips and DynamicsLayer) but no login, no item id and no LIX. Docs: docs/character-check.md.')
4716
4731
  .action(async (glb, opts) => {
4717
4732
  try {