@miller-tech/uap 1.55.0 → 1.56.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.
@@ -0,0 +1,96 @@
1
+ /**
2
+ * `uap verify` — run the project's completion gates against whatever is on disk
3
+ * and report pass/fail, independent of `uap deliver`.
4
+ *
5
+ * Why this exists: deliver's convergence loop verifies what IT produced, but an
6
+ * agentic/opencode/Claude session that edits files directly never goes through
7
+ * that loop — so a crash-class bug (the octopus TDZ) ships unverified. `uap
8
+ * verify` closes that hole: it can be run manually, in CI, or from the Stop hook
9
+ * (--strict, --runtime-only) to block a session from finishing on broken code.
10
+ */
11
+ import { detectRungs, runTieredLadder, tierOf } from '../delivery/verifier-ladder.js';
12
+ /** Core verify logic — pure-ish (no process.exit), so it is unit-testable. */
13
+ export async function runVerify(opts = {}) {
14
+ const dir = opts.dir ?? process.cwd();
15
+ let rungs = detectRungs(dir);
16
+ if (opts.gates) {
17
+ const want = new Set(opts.gates.split(',').map((s) => s.trim()).filter(Boolean));
18
+ rungs = rungs.filter((r) => want.has(r.id));
19
+ }
20
+ if (opts.runtimeOnly) {
21
+ rungs = rungs.filter((r) => tierOf(r) === 'runtime');
22
+ }
23
+ if (rungs.length === 0) {
24
+ // Fail-closed in strict mode: refuse to report "verified" when nothing could
25
+ // actually be checked. Otherwise it's an honest no-op, not a failure.
26
+ const passed = !opts.strict;
27
+ const msg = opts.runtimeOnly
28
+ ? 'no runnable artifact detected — nothing to execute'
29
+ : 'no verifiable gates detected (no build/test/runnable artifact)';
30
+ return {
31
+ passed,
32
+ exitCode: passed ? 0 : 1,
33
+ empty: true,
34
+ report: `${opts.strict && !passed ? 'UNVERIFIED' : 'SKIP'}: ${msg}`,
35
+ rungs,
36
+ };
37
+ }
38
+ const maxTier = opts.full ? 'deploy-dev' : 'runtime';
39
+ const ladder = await runTieredLadder(rungs, dir, {
40
+ maxTier,
41
+ ...(opts.timeoutMs ? { timeoutMs: opts.timeoutMs } : {}),
42
+ });
43
+ const report = formatReport(ladder);
44
+ // Exit-code contract for the Stop hook: 0 = verified, 1 = a REAL gate failure
45
+ // (the code is broken), 3 = INFRA failure (gate timed out / could not spawn /
46
+ // killed by signal). The hook hard-blocks only on 1; 3 fails OPEN so a flaky
47
+ // runner or a hung browser can never wedge a session on broken tooling.
48
+ let exitCode = 0;
49
+ if (!ladder.passed) {
50
+ const realFailures = ladder.results.filter((r) => !r.passed && !r.skipped && r.failureReason === 'exit');
51
+ exitCode = realFailures.length > 0 ? 1 : 3;
52
+ }
53
+ return {
54
+ passed: ladder.passed,
55
+ exitCode,
56
+ empty: false,
57
+ report,
58
+ ladder,
59
+ rungs,
60
+ };
61
+ }
62
+ function formatReport(ladder) {
63
+ const lines = [];
64
+ for (const r of ladder.results) {
65
+ const mark = r.skipped ? 'SKIP' : r.passed ? 'PASS' : 'FAIL';
66
+ lines.push(` [${mark}] ${r.name}${r.failureReason ? ` — ${r.failureReason}` : ''}`);
67
+ if (!r.passed && !r.skipped && r.outputTail) {
68
+ lines.push(r.outputTail
69
+ .split('\n')
70
+ .slice(0, 12)
71
+ .map((l) => ` ${l}`)
72
+ .join('\n'));
73
+ }
74
+ }
75
+ const header = ladder.passed
76
+ ? `VERIFIED ✓ (${Math.round(ladder.score * 100)}% of gates passed)`
77
+ : `NOT VERIFIED ✗ (${Math.round(ladder.score * 100)}% of gates passed)`;
78
+ return `${header}\n${lines.join('\n')}`;
79
+ }
80
+ /** CLI entry: print the report and exit with the gate-derived code. */
81
+ export async function verifyCommand(options) {
82
+ const result = await runVerify(options);
83
+ if (options.json) {
84
+ process.stdout.write(JSON.stringify({
85
+ passed: result.passed,
86
+ empty: result.empty,
87
+ score: result.ladder?.score ?? null,
88
+ results: result.ladder?.results ?? [],
89
+ }, null, 2) + '\n');
90
+ }
91
+ else {
92
+ process.stdout.write(result.report + '\n');
93
+ }
94
+ process.exit(result.exitCode);
95
+ }
96
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/cli/verify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution-gate.d.ts","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAmBrD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;CACvD;AAED,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC;CACtC;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,SAAS,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAMD,uEAAuE;AACvE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBlE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAsB3E;AAmBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CA+E1F;AAkGD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CA2EpG;AAuLD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAiB1B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,QAAQ,GAAG,IAAI,CAY5G"}
1
+ {"version":3,"file":"execution-gate.d.ts","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAmBrD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;CACvD;AAED,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC;CACtC;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,SAAS,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAuBD,uEAAuE;AACvE,wBAAgB,mBAAmB,IAAI,MAAM,CAM5C;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBlE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAsB3E;AAmBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CA+E1F;AAkGD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAkIpG;AA8OD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAgC1B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,QAAQ,GAAG,IAAI,CAgB5G"}
@@ -17,7 +17,7 @@
17
17
  import { spawnSync } from 'child_process';
18
18
  import { createServer } from 'http';
19
19
  import { createReadStream, existsSync, readdirSync, readFileSync, realpathSync, statSync } from 'fs';
20
- import { extname, join, resolve } from 'path';
20
+ import { extname, join, resolve, sep } from 'path';
21
21
  import { fileURLToPath } from 'url';
22
22
  import vm from 'vm';
23
23
  /**
@@ -39,10 +39,31 @@ function gateEnv() {
39
39
  }
40
40
  const DEFAULT_TIMEOUT_MS = 60_000;
41
41
  const DEFAULT_SETTLE_MS = 1_500;
42
+ /**
43
+ * Browser globals the vm-DOM harness does not model. A `ReferenceError` naming
44
+ * one of these is an environment limitation, NOT the app's bug, so the harness
45
+ * fails OPEN (advisory) rather than hard-blocking working code. The most common
46
+ * ones are stubbed in buildDomSandbox so apps that use them still execute; this
47
+ * list catches the long tail.
48
+ */
49
+ const BROWSER_GLOBALS = new Set([
50
+ 'Image', 'fetch', 'localStorage', 'sessionStorage', 'WebSocket', 'Worker',
51
+ 'SharedWorker', 'IntersectionObserver', 'ResizeObserver', 'MutationObserver',
52
+ 'requestIdleCallback', 'matchMedia', 'location', 'screen', 'history',
53
+ 'alert', 'confirm', 'prompt', 'FileReader', 'Blob', 'File', 'indexedDB',
54
+ 'crypto', 'OffscreenCanvas', 'WebGLRenderingContext', 'WebGL2RenderingContext',
55
+ 'getComputedStyle', 'customElements', 'Notification', 'Audio', 'XMLHttpRequest',
56
+ 'navigator', 'caches', 'BroadcastChannel', 'speechSynthesis', 'gtag', 'dataLayer',
57
+ ]);
42
58
  const SKIP_DIRS = new Set(['node_modules', '.git', 'dist', 'build', 'out', 'coverage', '.uap', 'agents']);
43
59
  /** Resolve the compiled sibling runner so a GateRung can `node` it. */
44
60
  export function executionRunnerPath() {
45
- return fileURLToPath(new URL('./execution-gate-runner.js', import.meta.url));
61
+ const p = fileURLToPath(new URL('./execution-gate-runner.js', import.meta.url));
62
+ if (existsSync(p))
63
+ return p;
64
+ // Running from TS source (vitest / tsx): the sibling .js lives in dist.
65
+ const distP = p.replace(`${sep}src${sep}`, `${sep}dist${sep}`);
66
+ return existsSync(distP) ? distP : p;
46
67
  }
47
68
  /** Find the directory containing an index.html within depth 2 (root + subdirs). */
48
69
  export function findWebEntryDir(projectRoot) {
@@ -308,7 +329,9 @@ export function runVmDomHarness(entryDir, startedAt, note) {
308
329
  catch {
309
330
  return { passed: false, exitCode: null, failureReason: 'no index.html', outputTail: '', durationMs: Date.now() - start, via: 'none' };
310
331
  }
311
- if (/<script[^>]+type=["']module["']/i.test(html)) {
332
+ // ES-module pages need real module semantics — the vm harness can't run them.
333
+ // Tolerate unquoted attrs (type=module) too.
334
+ if (/<script[^>]+type=["']?module/i.test(html)) {
312
335
  return {
313
336
  passed: true,
314
337
  exitCode: 0,
@@ -318,25 +341,40 @@ export function runVmDomHarness(entryDir, startedAt, note) {
318
341
  via: 'none',
319
342
  };
320
343
  }
321
- const srcs = [...html.matchAll(/<script[^>]+src=["']([^"']+)["']/gi)].map((m) => m[1]);
322
- if (srcs.length === 0) {
323
- return { passed: true, exitCode: 0, outputTail: 'no scripts to execute', durationMs: Date.now() - start, via: 'vm-dom' };
324
- }
344
+ // Build the bundle from external <script src> (in order) AND inline <script>
345
+ // bodies, mirroring how the browser concatenates classic scripts into one
346
+ // shared global lexical scope. Missing src files are a real (broken) reference.
325
347
  let bundle = '';
326
- for (const s of srcs) {
327
- const p = join(entryDir, s.replace(/^\//, ''));
328
- if (!existsSync(p)) {
329
- return {
330
- passed: false,
331
- exitCode: 1,
332
- failureReason: `script not found: ${s}`,
333
- outputTail: `index.html references ${s} which does not exist`,
334
- durationMs: Date.now() - start,
335
- via: 'vm-dom',
336
- };
348
+ let scriptCount = 0;
349
+ const scriptRe = /<script\b([^>]*)>([\s\S]*?)<\/script>/gi;
350
+ for (const m of html.matchAll(scriptRe)) {
351
+ const attrs = m[1] ?? '';
352
+ const srcMatch = /\bsrc\s*=\s*["']?([^"'\s>]+)/i.exec(attrs);
353
+ if (srcMatch) {
354
+ const s = srcMatch[1];
355
+ const p = join(entryDir, s.replace(/^\//, ''));
356
+ if (!existsSync(p)) {
357
+ return {
358
+ passed: false,
359
+ exitCode: 1,
360
+ failureReason: `script not found: ${s}`,
361
+ outputTail: `index.html references ${s} which does not exist`,
362
+ durationMs: Date.now() - start,
363
+ via: 'vm-dom',
364
+ };
365
+ }
366
+ bundle += `\n//=== ${s} ===\n${readFileSync(p, 'utf-8')}\n`;
367
+ scriptCount++;
337
368
  }
338
- bundle += `\n//=== ${s} ===\n${readFileSync(p, 'utf-8')}\n`;
369
+ else if (m[2] && m[2].trim()) {
370
+ bundle += `\n//=== inline ===\n${m[2]}\n`;
371
+ scriptCount++;
372
+ }
373
+ }
374
+ if (scriptCount === 0) {
375
+ return { passed: true, exitCode: 0, outputTail: 'no scripts to execute', durationMs: Date.now() - start, via: 'vm-dom' };
339
376
  }
377
+ const srcs = { length: scriptCount };
340
378
  const sandbox = buildDomSandbox();
341
379
  try {
342
380
  vm.createContext(sandbox);
@@ -365,13 +403,52 @@ export function runVmDomHarness(entryDir, startedAt, note) {
365
403
  }
366
404
  catch (e) {
367
405
  const stack = e instanceof Error ? (e.stack ?? e.message) : String(e);
406
+ const msg = e instanceof Error ? e.message : String(e);
407
+ const tail = stack.split('\n').slice(0, 6).join('\n').slice(0, 4000);
408
+ // The vm sandbox is a partial browser. To never hard-block WORKING code, only
409
+ // fail on high-confidence real-bug signatures; treat env limitations as a
410
+ // fail-open advisory (the gate exists to catch crashes, not to punish apps
411
+ // for using a browser API the mock lacks).
412
+ const undefName = /(\w+) is not defined/.exec(msg)?.[1];
413
+ // A missing global is the harness's limit (fail-open), not the app's bug, when
414
+ // it's a known browser global OR a PascalCase name — browser/library globals
415
+ // are overwhelmingly constructors (Image, WebSocket, SpeechRecognition, THREE,
416
+ // …). An app's own missing symbol in a real bug is almost always a
417
+ // function/var (lowercase/camelCase), which we DO hard-fail on below.
418
+ const isLikelyBrowserOrLib = undefName !== undefined && (BROWSER_GLOBALS.has(undefName) || /^[A-Z]/.test(undefName));
419
+ if (isLikelyBrowserOrLib) {
420
+ return {
421
+ passed: true,
422
+ exitCode: 0,
423
+ failureReason: `inconclusive: '${undefName}' is not available in the harness`,
424
+ outputTail: `vm-dom can't model '${undefName}'. Install a headless browser for full coverage.`,
425
+ durationMs: Date.now() - start,
426
+ via: 'none',
427
+ };
428
+ }
429
+ const isTDZ = /before initialization/.test(msg);
430
+ const isSyntax = e instanceof SyntaxError;
431
+ const isAppUndefined = undefName !== undefined; // a lowercase/camelCase own symbol
432
+ if (isTDZ || isSyntax || isAppUndefined) {
433
+ return {
434
+ passed: false,
435
+ exitCode: 1,
436
+ failureReason: 'runtime error while executing the page',
437
+ outputTail: tail,
438
+ durationMs: Date.now() - start,
439
+ via: 'vm-dom',
440
+ };
441
+ }
442
+ // Ambiguous (e.g. a TypeError that could stem from the stub's fidelity rather
443
+ // than a real bug) → fail open with the detail surfaced, so we never wedge a
444
+ // session on a harness artifact. A real browser run would adjudicate these.
368
445
  return {
369
- passed: false,
370
- exitCode: 1,
371
- failureReason: 'runtime error while executing the page',
372
- outputTail: stack.split('\n').slice(0, 6).join('\n').slice(0, 4000),
446
+ passed: true,
447
+ exitCode: 0,
448
+ failureReason: `inconclusive (vm-dom): ${msg.slice(0, 120)}`,
449
+ outputTail: tail,
373
450
  durationMs: Date.now() - start,
374
- via: 'vm-dom',
451
+ via: 'none',
375
452
  };
376
453
  }
377
454
  }
@@ -465,6 +542,58 @@ function buildDomSandbox() {
465
542
  (bag[type] || []).forEach((fn) => fn(e));
466
543
  }
467
544
  };
545
+ // Stubs for the most common browser globals so apps that use them actually run
546
+ // (rather than fail-open immediately). Long-tail globals are handled by the
547
+ // BROWSER_GLOBALS fail-open path in runVmDomHarness.
548
+ const makeStorage = () => {
549
+ const m = new Map();
550
+ return {
551
+ getItem: (k) => (m.has(k) ? m.get(k) : null),
552
+ setItem: (k, v) => void m.set(String(k), String(v)),
553
+ removeItem: (k) => void m.delete(k),
554
+ clear: () => m.clear(),
555
+ key: (i) => [...m.keys()][i] ?? null,
556
+ get length() {
557
+ return m.size;
558
+ },
559
+ };
560
+ };
561
+ function ImageStub() {
562
+ this.src = '';
563
+ this.onload = null;
564
+ this.onerror = null;
565
+ this.width = 0;
566
+ this.height = 0;
567
+ this.addEventListener = () => { };
568
+ this.removeEventListener = () => { };
569
+ }
570
+ const common = {
571
+ localStorage: makeStorage(),
572
+ sessionStorage: makeStorage(),
573
+ Image: ImageStub,
574
+ fetch: () => Promise.resolve({
575
+ ok: true,
576
+ status: 200,
577
+ json: () => Promise.resolve({}),
578
+ text: () => Promise.resolve(''),
579
+ arrayBuffer: () => Promise.resolve(new ArrayBuffer(0)),
580
+ blob: () => Promise.resolve({}),
581
+ }),
582
+ location: { href: 'http://localhost/', protocol: 'http:', host: 'localhost', hostname: 'localhost', pathname: '/', search: '', hash: '', reload: () => { }, assign: () => { }, replace: () => { } },
583
+ screen: { width: 1280, height: 720, availWidth: 1280, availHeight: 720 },
584
+ matchMedia: () => ({ matches: false, media: '', addEventListener: () => { }, removeEventListener: () => { }, addListener: () => { }, removeListener: () => { } }),
585
+ getComputedStyle: () => ({ getPropertyValue: () => '' }),
586
+ requestIdleCallback: (cb) => setTimeout(() => cb({ timeRemaining: () => 0, didTimeout: false }), 0),
587
+ cancelIdleCallback: () => { },
588
+ Audio: function () {
589
+ return { play: () => Promise.resolve(), pause: () => { }, addEventListener: () => { }, load: () => { }, currentTime: 0, volume: 1, loop: false };
590
+ },
591
+ URL,
592
+ URLSearchParams,
593
+ TextEncoder,
594
+ TextDecoder,
595
+ };
596
+ Object.assign(win, common);
468
597
  return {
469
598
  window: win,
470
599
  document: doc,
@@ -474,7 +603,7 @@ function buildDomSandbox() {
474
603
  AudioContext: win.AudioContext,
475
604
  webkitAudioContext: win.webkitAudioContext,
476
605
  performance: win.performance,
477
- navigator: { userAgent: 'uap-execution-gate' },
606
+ navigator: { userAgent: 'uap-execution-gate', language: 'en-US', platform: 'uap', maxTouchPoints: 0 },
478
607
  setTimeout,
479
608
  clearTimeout,
480
609
  setInterval: () => 0,
@@ -484,6 +613,7 @@ function buildDomSandbox() {
484
613
  isNaN,
485
614
  parseInt,
486
615
  parseFloat,
616
+ ...common,
487
617
  __raf: raf,
488
618
  __fire: fire,
489
619
  };
@@ -559,8 +689,24 @@ export async function runExecutionGate(projectRoot, opts = {}) {
559
689
  const type = detectArtifactType(projectRoot);
560
690
  if (type === 'web') {
561
691
  const dir = findWebEntryDir(projectRoot);
562
- if (dir)
563
- return runWeb(dir, opts);
692
+ if (dir) {
693
+ // Classic-script apps: the vm-DOM harness is deterministic and reliably
694
+ // catches crash-class bugs (TDZ / undefined globals / init throws). A
695
+ // headless browser's async error capture is wrapper-dependent and has been
696
+ // observed to MISS uncaught errors (false-pass), so the browser is reserved
697
+ // for ES-module apps the vm harness cannot execute. Tests that inject a
698
+ // browserFactory still exercise the browser path explicitly.
699
+ let isModule = false;
700
+ try {
701
+ isModule = /<script[^>]+type=["']module["']/i.test(readFileSync(join(dir, 'index.html'), 'utf-8'));
702
+ }
703
+ catch {
704
+ /* missing index.html — runWeb/vm report it */
705
+ }
706
+ if (opts.browserFactory || isModule)
707
+ return runWeb(dir, opts);
708
+ return runVmDomHarness(dir);
709
+ }
564
710
  }
565
711
  if (type === 'node' || type === 'cli' || type === 'lib') {
566
712
  return runNodeLike(projectRoot, type, opts);
@@ -583,13 +729,17 @@ export function synthesizeExecutionRung(projectRoot, timeoutMs = DEFAULT_TIMEOUT
583
729
  const type = detectArtifactType(projectRoot);
584
730
  if (!type)
585
731
  return null;
732
+ // A smoke-run is quick; cap the budget well under a Stop hook's outer timeout
733
+ // so the rung's own timeout fires first (a clean 'timeout' failureReason →
734
+ // fail-open) and the spawned runner can't outlive the caller and orphan.
735
+ const budget = Math.min(timeoutMs, DEFAULT_TIMEOUT_MS) + 15_000;
586
736
  return {
587
737
  id: 'execution',
588
738
  name: `Execution smoke (runs the ${type} artifact)`,
589
739
  command: 'node',
590
740
  args: [executionRunnerPath(), projectRoot],
591
741
  required: true,
592
- timeoutMs: timeoutMs + 15_000, // runner overhead beyond the inner budget
742
+ timeoutMs: budget,
593
743
  tier: 'runtime',
594
744
  };
595
745
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execution-gate.js","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-gate.js","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.55.0",
3
+ "version": "1.56.0",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,7 +30,10 @@ CHANGED_FILES=$(git -C "$PROJECT_DIR" diff --name-only HEAD 2>/dev/null || true)
30
30
  STAGED_FILES=$(git -C "$PROJECT_DIR" diff --cached --name-only 2>/dev/null || true)
31
31
  UNTRACKED_FILES=$(git -C "$PROJECT_DIR" ls-files --others --exclude-standard 2>/dev/null || true)
32
32
 
33
- ALL_CHANGES="${CHANGED_FILES}${STAGED_FILES}${UNTRACKED_FILES}"
33
+ # Newline-join the three lists: plain concatenation mashes the last file of one
34
+ # list into the first of the next (e.g. "a.jsb.ts"), which breaks the per-line
35
+ # extension greps below.
36
+ ALL_CHANGES=$(printf '%s\n%s\n%s\n' "$CHANGED_FILES" "$STAGED_FILES" "$UNTRACKED_FILES")
34
37
 
35
38
  if [ -n "$ALL_CHANGES" ]; then
36
39
  UNCOMMITTED_CHANGES="true"
@@ -146,6 +149,43 @@ if [ -n "$output" ]; then
146
149
  echo "$output"
147
150
  fi
148
151
 
149
- # Allow stop (exit 0) — we use warnings, not hard blocks, because
150
- # the model needs agency to decide when it's truly done vs still working.
152
+ # ─── Runtime execution gate (HARD block) ─────────────────────────
153
+ # The checklist above is advisory. This is the one hard gate: when code changed,
154
+ # prove the artifact actually RUNS before the session may finish. Catches the
155
+ # crash-class bugs (TDZ ReferenceError, undefined globals, import throws) that
156
+ # static checks miss — exactly the failure that shipped in agentic sessions that
157
+ # bypass `uap deliver`. Cheap by design (--runtime-only runs just the execution
158
+ # gate, not the full test suite). Fails OPEN on any infra problem so it can only
159
+ # ever block on a genuine runtime failure, never on its own malfunction.
160
+ # Opt out with UAP_VERIFY_ON_STOP=0.
161
+ if [ "$CODE_CHANGED" = "true" ] && [ "${UAP_VERIFY_ON_STOP:-1}" != "0" ] && command -v uap >/dev/null 2>&1; then
162
+ set +e
163
+ # Version-skew guard: an older global `uap` without the `verify` subcommand
164
+ # would exit non-zero (looking like a gate failure). Only proceed if `verify`
165
+ # actually exists, so a stale CLI fails OPEN instead of false-blocking.
166
+ uap verify --help >/dev/null 2>&1
167
+ VERIFY_SUPPORTED=$?
168
+ VERIFY_RC=0
169
+ if [ "$VERIFY_SUPPORTED" = "0" ]; then
170
+ # set +e: a failing command substitution under `set -e` would abort the hook
171
+ # (allowing stop) before we can inspect the code and decide to block.
172
+ VERIFY_OUT="$(cd "$PROJECT_DIR" && timeout -k 5 120 uap verify --strict --runtime-only --dir "$PROJECT_DIR" 2>&1)"
173
+ VERIFY_RC=$?
174
+ fi
175
+ set -e
176
+ # RC 1 = a REAL gate failure (code is broken) → block. Everything else fails
177
+ # OPEN: RC 3 = infra (gate timed out / couldn't spawn), 124 = outer timeout,
178
+ # 127 = missing, any other = internal — none should ever wedge a session.
179
+ if [ "$VERIFY_RC" = "1" ]; then
180
+ echo ""
181
+ echo "## RUNTIME EXECUTION GATE FAILED — the code does not run"
182
+ echo "$VERIFY_OUT"
183
+ echo ""
184
+ echo "Fix the runtime error above before finishing. (Set UAP_VERIFY_ON_STOP=0 to bypass.)"
185
+ exit 2
186
+ fi
187
+ fi
188
+
189
+ # Allow stop (exit 0) — completion-gate checklist uses warnings, not hard blocks;
190
+ # the runtime execution gate above is the sole hard block.
151
191
  exit 0