@miller-tech/uap 1.212.6 → 1.214.1

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 (83) hide show
  1. package/config/model-profiles/qwen38.json +70 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/bin/cli.js +4 -2
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/cli/deliver.d.ts.map +1 -1
  6. package/dist/cli/deliver.js +107 -4
  7. package/dist/cli/deliver.js.map +1 -1
  8. package/dist/cli/self-harness.js +1 -1
  9. package/dist/cli/self-harness.js.map +1 -1
  10. package/dist/cli/self-tuning.js +1 -1
  11. package/dist/cli/verify.d.ts +5 -0
  12. package/dist/cli/verify.d.ts.map +1 -1
  13. package/dist/cli/verify.js +50 -1
  14. package/dist/cli/verify.js.map +1 -1
  15. package/dist/cli/wizard-config.d.ts.map +1 -1
  16. package/dist/cli/wizard-config.js +26 -1
  17. package/dist/cli/wizard-config.js.map +1 -1
  18. package/dist/config/settings-registry.js +1 -1
  19. package/dist/config/settings-registry.js.map +1 -1
  20. package/dist/delivery/agentic-executor.d.ts.map +1 -1
  21. package/dist/delivery/agentic-executor.js +5 -1
  22. package/dist/delivery/agentic-executor.js.map +1 -1
  23. package/dist/delivery/await-run.d.ts +47 -0
  24. package/dist/delivery/await-run.d.ts.map +1 -1
  25. package/dist/delivery/await-run.js +392 -2
  26. package/dist/delivery/await-run.js.map +1 -1
  27. package/dist/delivery/capability-profile.d.ts +124 -0
  28. package/dist/delivery/capability-profile.d.ts.map +1 -0
  29. package/dist/delivery/capability-profile.js +392 -0
  30. package/dist/delivery/capability-profile.js.map +1 -0
  31. package/dist/delivery/convergence-loop.d.ts.map +1 -1
  32. package/dist/delivery/convergence-loop.js +21 -1
  33. package/dist/delivery/convergence-loop.js.map +1 -1
  34. package/dist/delivery/execution-gate.d.ts +29 -0
  35. package/dist/delivery/execution-gate.d.ts.map +1 -1
  36. package/dist/delivery/execution-gate.js +237 -9
  37. package/dist/delivery/execution-gate.js.map +1 -1
  38. package/dist/delivery/mission-acceptance.d.ts +4 -0
  39. package/dist/delivery/mission-acceptance.d.ts.map +1 -1
  40. package/dist/delivery/mission-acceptance.js +35 -1
  41. package/dist/delivery/mission-acceptance.js.map +1 -1
  42. package/dist/delivery/run-state.d.ts +31 -0
  43. package/dist/delivery/run-state.d.ts.map +1 -1
  44. package/dist/delivery/run-state.js +49 -0
  45. package/dist/delivery/run-state.js.map +1 -1
  46. package/dist/mcp-router/tools/deliver.d.ts.map +1 -1
  47. package/dist/mcp-router/tools/deliver.js +5 -2
  48. package/dist/mcp-router/tools/deliver.js.map +1 -1
  49. package/dist/models/local-model.d.ts +59 -0
  50. package/dist/models/local-model.d.ts.map +1 -0
  51. package/dist/models/local-model.js +123 -0
  52. package/dist/models/local-model.js.map +1 -0
  53. package/dist/models/openai-compat-client.d.ts.map +1 -1
  54. package/dist/models/openai-compat-client.js +6 -1
  55. package/dist/models/openai-compat-client.js.map +1 -1
  56. package/dist/models/profile-map.d.ts.map +1 -1
  57. package/dist/models/profile-map.js +9 -2
  58. package/dist/models/profile-map.js.map +1 -1
  59. package/dist/models/types.d.ts.map +1 -1
  60. package/dist/models/types.js +69 -21
  61. package/dist/models/types.js.map +1 -1
  62. package/dist/self-tuning/profiles/index.d.ts +1 -0
  63. package/dist/self-tuning/profiles/index.d.ts.map +1 -1
  64. package/dist/self-tuning/profiles/index.js +3 -0
  65. package/dist/self-tuning/profiles/index.js.map +1 -1
  66. package/dist/self-tuning/profiles/qwen38.d.ts +23 -0
  67. package/dist/self-tuning/profiles/qwen38.d.ts.map +1 -0
  68. package/dist/self-tuning/profiles/qwen38.js +46 -0
  69. package/dist/self-tuning/profiles/qwen38.js.map +1 -0
  70. package/dist/utils/model-slots.d.ts +17 -1
  71. package/dist/utils/model-slots.d.ts.map +1 -1
  72. package/dist/utils/model-slots.js +25 -3
  73. package/dist/utils/model-slots.js.map +1 -1
  74. package/package.json +2 -2
  75. package/scripts/lib/llama-upstream.sh +64 -16
  76. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  77. package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
  78. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
  79. package/tools/agents/scripts/anthropic_proxy.py +306 -7
  80. package/tools/agents/scripts/confidence_escalation.py +57 -0
  81. package/tools/agents/tests/test_anthropic_proxy_streaming.py +12 -6
  82. package/tools/agents/tests/test_confidence_escalation.py +140 -2
  83. package/tools/agents/tests/test_thinking_template_kwargs.py +366 -1
@@ -1 +1 @@
1
- {"version":3,"file":"convergence-loop.js","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convergence-loop.js","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,29 @@ export interface BrowserDriver {
54
54
  addInitScript?(script: string): Promise<void>;
55
55
  close(): Promise<void>;
56
56
  }
57
+ /**
58
+ * Pre-load instrumentation (addInitScript): wrap requestAnimationFrame with a
59
+ * counter BEFORE the page's own scripts run, so the gate can tell a LIVE render
60
+ * loop (counter keeps climbing) from a DEAD/FROZEN one (climbed, then stopped)
61
+ * from a legitimately STATIC page (never climbed). Fail-soft in the page.
62
+ */
63
+ /**
64
+ * A per-session random key for the read-back hooks.
65
+ *
66
+ * Not paranoia — measured. The hooks used to live on fixed, writable names, and
67
+ * `addInitScript` guarantees they exist BEFORE the page's own scripts, which
68
+ * guarantees the page's scripts run AFTER and can replace them. A four-line
69
+ * empty page reported 1,000,000 frames / 99 programs / 99 listener types and the
70
+ * gate read it as a capability INCREASE. For a rung whose entire purpose is
71
+ * catching a model that bought a clean verdict, "the code under test can write
72
+ * its own score" is disqualifying.
73
+ *
74
+ * The key is generated host-side (never project-controlled, so interpolating it
75
+ * is safe) and the hooks are installed non-writable and non-configurable, so a
76
+ * page can neither overwrite them nor delete and redefine them. It can still
77
+ * refuse to render — that is a real regression and gets reported as one.
78
+ */
79
+ export declare function capabilityKey(): string;
57
80
  /** Resolve the compiled sibling runner so a GateRung can `node` it. */
58
81
  export declare function executionRunnerPath(): string;
59
82
  /**
@@ -85,6 +108,12 @@ export declare function startStaticServer(dir: string, entry?: string): Promise<
85
108
  url: string;
86
109
  close: () => void;
87
110
  }>;
111
+ /** Steady-state window. 2s at 60fps is ~120 frames — far above any floor, and a
112
+ * 17x separation from the measured gutted case (3.6fps) survives it intact.
113
+ * 5s was the first guess and cost 2.5s per acceptance turn for no extra
114
+ * discriminating power. */
115
+ export declare const DEFAULT_CAPABILITY_WINDOW_MS = 2000;
116
+ export declare function capabilityWindowMs(): number;
88
117
  /**
89
118
  * No-browser fallback: load the page's classic scripts in order inside a vm with
90
119
  * a mocked DOM/canvas/AudioContext/requestAnimationFrame, boot, dispatch a click
@@ -1 +1 @@
1
- {"version":3,"file":"execution-gate.d.ts","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-gate.d.ts","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,11 @@ import { createServer } from 'http';
19
19
  import { createReadStream, existsSync, readdirSync, readFileSync, realpathSync, statSync } from 'fs';
20
20
  import { extname, join, relative, resolve, sep } from 'path';
21
21
  import { fileURLToPath } from 'url';
22
+ import { randomBytes } from 'crypto';
22
23
  import vm from 'vm';
23
24
  import { sanitizedEnv } from './sanitized-env.js';
24
25
  import { loadPlaywrightDriver } from './playwright-driver.js';
26
+ import { invalidateCapabilityCurrent, sanitizeProfile, unmeasured, writeCapabilityCurrent, } from './capability-profile.js';
25
27
  /**
26
28
  * Env for spawned smoke-runs with secret-bearing vars stripped, mirroring
27
29
  * verifier-ladder's sanitizedEnv. Inlined (not imported) so the type-only
@@ -106,10 +108,49 @@ function usesWebGl(entryDir, entry) {
106
108
  * loop (counter keeps climbing) from a DEAD/FROZEN one (climbed, then stopped)
107
109
  * from a legitimately STATIC page (never climbed). Fail-soft in the page.
108
110
  */
109
- const RAF_INSTRUMENT = `(() => { try {
110
- var n = 0; var orig = window.requestAnimationFrame;
111
+ /**
112
+ * A per-session random key for the read-back hooks.
113
+ *
114
+ * Not paranoia — measured. The hooks used to live on fixed, writable names, and
115
+ * `addInitScript` guarantees they exist BEFORE the page's own scripts, which
116
+ * guarantees the page's scripts run AFTER and can replace them. A four-line
117
+ * empty page reported 1,000,000 frames / 99 programs / 99 listener types and the
118
+ * gate read it as a capability INCREASE. For a rung whose entire purpose is
119
+ * catching a model that bought a clean verdict, "the code under test can write
120
+ * its own score" is disqualifying.
121
+ *
122
+ * The key is generated host-side (never project-controlled, so interpolating it
123
+ * is safe) and the hooks are installed non-writable and non-configurable, so a
124
+ * page can neither overwrite them nor delete and redefine them. It can still
125
+ * refuse to render — that is a real regression and gets reported as one.
126
+ */
127
+ export function capabilityKey() {
128
+ return `__uapCap${randomBytes(9).toString('hex')}`;
129
+ }
130
+ const RAF_INSTRUMENT_FOR = (key) => `(() => { try {
131
+ var KEY = ${JSON.stringify(key)};
132
+ var n = 0; var executed = 0; var lastT = -1; var orig = window.requestAnimationFrame;
111
133
  if (typeof orig === 'function') {
112
- window.requestAnimationFrame = function(cb){ n++; return orig.call(window, cb); };
134
+ // Two counters, deliberately different. \`n\` counts SCHEDULED callbacks and
135
+ // feeds the existing liveness rung, which asks "is a loop still being
136
+ // driven". \`executed\` counts callbacks that actually RAN and feeds the
137
+ // capability profile, which asks "how much is actually happening" — a loop
138
+ // that schedules a callback which then throws has scheduled a frame it never
139
+ // drew, and the scheduled count would hide exactly that death.
140
+ window.requestAnimationFrame = function(cb){
141
+ n++;
142
+ return orig.call(window, function(t){
143
+ var r = cb(t);
144
+ // Count DISTINCT timestamps, not callbacks. rAF happily runs any number
145
+ // of callbacks against the same frame, so counting callbacks let a page
146
+ // scheduling 8000 no-op callbacks per tick report 632,000 frames -- and
147
+ // frame rate is the metric the liveness floor rests on. Distinct
148
+ // timestamps is also simply the correct definition: it is what "a frame"
149
+ // means, and it collapses that forgery to the ~120 real frames drawn.
150
+ if (t !== lastT) { lastT = t; executed++; }
151
+ return r;
152
+ });
153
+ };
113
154
  Object.defineProperty(window, '__uapRafCount', { configurable: true, get: function(){ return n; } });
114
155
  }
115
156
  // Ask the GL context whether the shaders it was given actually compiled.
@@ -152,6 +193,90 @@ const RAF_INSTRUMENT = `(() => { try {
152
193
  patch(window.WebGL2RenderingContext);
153
194
  patch(window.WebGLRenderingContext);
154
195
  Object.defineProperty(window, '__uapGlErrors', { configurable: true, get: function(){ return glErrs.slice(); } });
196
+
197
+ // ---- capability counters -------------------------------------------------
198
+ // Both graphics APIs are patched. Keying only on WebGL would leave the
199
+ // capability profile inert for every 2D-canvas deliverable — the same defect
200
+ // class as the WebGL probe that was never called.
201
+ var glDraws = 0, ctxDraws = 0, listeners = 0, t0 = 0;
202
+ var progs = [], types = [];
203
+ var addUniq = function(arr, v){ if (arr.length < 512 && arr.indexOf(v) === -1) arr.push(v); };
204
+ var countIn = function(proto, names, bump){
205
+ if (!proto) return;
206
+ for (var i = 0; i < names.length; i++) {
207
+ (function(nm){
208
+ var o = proto[nm];
209
+ if (typeof o !== 'function') return;
210
+ // One parameter declared, so only ONE consumer of \`arguments\` remains —
211
+ // the forwarding \`apply\` that V8 elides. Passing \`arguments\` to the
212
+ // bump as well defeated escape analysis and materialised a mapped
213
+ // arguments object on every draw call.
214
+ proto[nm] = function(p){ try { bump.call(this, p); } catch (e) {} return o.apply(this, arguments); };
215
+ })(names[i]);
216
+ }
217
+ };
218
+ var GLD = ['drawArrays','drawElements','drawArraysInstanced','drawElementsInstanced','drawRangeElements'];
219
+ // clearRect is deliberately ABSENT: it is the canonical ERASE at the top of
220
+ // every 2D loop, not a paint, and counting it adds a constant +1/frame that a
221
+ // gutted build coasts on.
222
+ var CTXD = ['fillRect','strokeRect','drawImage','fillText','strokeText','fill','stroke','putImageData'];
223
+ countIn(window.WebGL2RenderingContext && window.WebGL2RenderingContext.prototype, GLD, function(){ glDraws++; });
224
+ countIn(window.WebGLRenderingContext && window.WebGLRenderingContext.prototype, GLD, function(){ glDraws++; });
225
+ // Programs are counted over the PAGE LIFETIME, not the window: an app that
226
+ // binds its program once at init and never again would otherwise read 0, and
227
+ // hoisting a useProgram out of the render loop — a textbook optimisation —
228
+ // would read as deleting a shader.
229
+ countIn(window.WebGL2RenderingContext && window.WebGL2RenderingContext.prototype, ['useProgram'], function(p){ if (p) addUniq(progs, p); });
230
+ countIn(window.WebGLRenderingContext && window.WebGLRenderingContext.prototype, ['useProgram'], function(p){ if (p) addUniq(progs, p); });
231
+ countIn(window.CanvasRenderingContext2D && window.CanvasRenderingContext2D.prototype, CTXD, function(){ ctxDraws++; });
232
+ // Guarded like every other global. Unguarded, a throw here reached the outer
233
+ // catch BEFORE the hooks below were installed, so the whole profile reported
234
+ // "instrumentation did not install" — inert, with a misleading reason.
235
+ if (window.EventTarget && window.EventTarget.prototype) {
236
+ var ael = window.EventTarget.prototype.addEventListener;
237
+ if (typeof ael === 'function') {
238
+ window.EventTarget.prototype.addEventListener = function(type){
239
+ try { listeners++; addUniq(types, String(type)); } catch (e) {}
240
+ return ael.apply(this, arguments);
241
+ };
242
+ }
243
+ }
244
+ var seal = function(name, fn){
245
+ Object.defineProperty(window, name, { value: fn, writable: false, configurable: false, enumerable: false });
246
+ };
247
+ // PRISTINE CAPTURES. Taken now, at init time, before the page's own scripts
248
+ // run — not looked up when Read() is called.
249
+ //
250
+ // Measured: overwriting Document.prototype.querySelector with a thrower is
251
+ // ONE LINE that made Read() throw, which the host reads as "unmeasurable",
252
+ // which fails open. A gate whose off-switch is a single line in the code under
253
+ // test is not a gate. performance.now is the same shape: it feeds elapsedMs,
254
+ // and elapsedMs is the denominator of the fps floor, so owning it means owning
255
+ // the liveness verdict.
256
+ var _now = (window.performance && typeof performance.now === 'function')
257
+ ? performance.now.bind(performance) : function(){ return 0; };
258
+ var _qs = (window.Document && Document.prototype && Document.prototype.querySelector)
259
+ ? Document.prototype.querySelector : null;
260
+ seal(KEY + 'Reset', function(){
261
+ glDraws = 0; ctxDraws = 0; executed = 0;
262
+ t0 = _now();
263
+ return true;
264
+ });
265
+ seal(KEY + 'Read', function(){
266
+ var hasCanvas = false;
267
+ try { hasCanvas = _qs ? !!_qs.call(document, 'canvas') : false; } catch (e) {}
268
+ return {
269
+ measured: true,
270
+ elapsedMs: Math.max(0, _now() - t0),
271
+ frames: executed,
272
+ glDrawCalls: glDraws,
273
+ ctx2dDrawCalls: ctxDraws,
274
+ programsUsed: progs.length,
275
+ listeners: listeners,
276
+ listenerTypes: types.length,
277
+ canvas: hasCanvas
278
+ };
279
+ });
155
280
  } catch (e) {} })()`;
156
281
  /**
157
282
  * FUNCTIONAL check for a <canvas> app: it must actually RENDER and, if it drives
@@ -596,7 +721,9 @@ async function runCanvasLivenessCheck(entryDir, opts, entry,
596
721
  * will be made. Console errors are then not "noise on someone else's
597
722
  * verdict" -- they are the whole verdict, and dropping them leaves the model
598
723
  * with a percentage. */
599
- soleJudge = false) {
724
+ soleJudge = false,
725
+ /** PROJECT root for the capability profile — passed, never inferred. */
726
+ capabilityRoot) {
600
727
  const start = Date.now();
601
728
  let server = null;
602
729
  let browser = null;
@@ -635,8 +762,9 @@ soleJudge = false) {
635
762
  return null; // no browser — fail-open (vm-dom verdict stands)
636
763
  }
637
764
  const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
765
+ const capKey = capabilityKey();
638
766
  if (typeof browser.addInitScript === 'function') {
639
- await browser.addInitScript(RAF_INSTRUMENT).catch(() => undefined);
767
+ await browser.addInitScript(RAF_INSTRUMENT_FOR(capKey)).catch(() => undefined);
640
768
  }
641
769
  await withTimeout(browser.goto(server.url), timeoutMs, 'goto').catch(() => undefined);
642
770
  await Promise.race([browser.waitForLoadState('load'), delay(timeoutMs)]).catch(() => undefined);
@@ -645,6 +773,8 @@ soleJudge = false) {
645
773
  const { hard, all } = pageErrorFailure(browser);
646
774
  if (liveness)
647
775
  return withBrowserErrors(liveness, all);
776
+ if (capabilityRoot)
777
+ await persistCapability(browser, capKey, capabilityRoot, entry);
648
778
  // The loop looked alive, but the page threw. A WebGL app whose shaders did
649
779
  // not compile can still tick requestAnimationFrame while drawing nothing —
650
780
  // which is exactly how a blank page passed a liveness probe.
@@ -674,7 +804,88 @@ soleJudge = false) {
674
804
  server?.close();
675
805
  }
676
806
  }
677
- async function runWeb(entryDir, opts, entry = 'index.html') {
807
+ /**
808
+ * Read the capability profile out of the page the liveness probe just drove, and
809
+ * persist it.
810
+ *
811
+ * Runs AFTER checkCanvasLiveness deliberately: that probe has already clicked
812
+ * the start/play control, so by the time this opens its window the app is in its
813
+ * PLAYING state. That matters — the regression this profile exists to catch kept
814
+ * a working menu and gutted the game, so a load-time reading would have read
815
+ * both builds as equivalent. Reusing the probe's click also means the two rungs
816
+ * cannot disagree about what "starting the app" means, which a second copy of
817
+ * the selector list guaranteed they eventually would.
818
+ *
819
+ * Every await is bounded. An unbounded evaluate lets a page with `while(1){}` in
820
+ * a start handler hold a Chromium process and a listening port for the rest of
821
+ * the run — and the page is code a model just wrote.
822
+ */
823
+ /** Identify the driver so two frame-rate regimes are never compared. */
824
+ function driverName(browser) {
825
+ const ctor = browser?.constructor?.name;
826
+ if (ctor && ctor !== 'Object')
827
+ return ctor;
828
+ // The playwright driver is a plain object literal, so it has no useful
829
+ // constructor name; it is the only driver carrying BOTH optional methods.
830
+ return typeof browser.addInitScript === 'function' && typeof browser.evaluate === 'function'
831
+ ? 'playwright'
832
+ : 'unknown';
833
+ }
834
+ /** Best-effort: a capability reading must never change an execution verdict. */
835
+ async function persistCapability(browser, key, root, entry) {
836
+ try {
837
+ // The ACTUAL driver identity. The previous label was
838
+ // `addInitScript ? 'instrumented' : 'plain'`, but a driver without
839
+ // addInitScript never installs the instrument and therefore never yields a
840
+ // measured profile — so every measured profile said 'instrumented' and the
841
+ // mismatch guard in compareCapability could not fire. That guard exists
842
+ // because the gate genuinely swaps drivers based on a REGEX over
843
+ // model-written HTML (usesWebGl), which moves the measurement between two
844
+ // frame-rate regimes mid-run.
845
+ const driver = driverName(browser);
846
+ const profile = await readCapability(browser, key, driver, entry, capabilityWindowMs());
847
+ writeCapabilityCurrent(root, profile);
848
+ }
849
+ catch {
850
+ /* never let the profile break the gate */
851
+ }
852
+ }
853
+ async function readCapability(browser, key, driver, entry, windowMs) {
854
+ if (typeof browser.evaluate !== 'function')
855
+ return unmeasured('no-browser', driver);
856
+ try {
857
+ const armed = await withTimeout(browser.evaluate(`(() => { try { return typeof window[${JSON.stringify(key)} + 'Reset'] === 'function' ? window[${JSON.stringify(key)} + 'Reset']() : false; } catch (e) { return false; } })`), CAPABILITY_EVAL_TIMEOUT_MS, 'cap-reset');
858
+ if (armed !== true)
859
+ return unmeasured('not-installed', driver);
860
+ await delay(windowMs);
861
+ const raw = await withTimeout(browser.evaluate(`(() => { try { return window[${JSON.stringify(key)} + 'Read'](); } catch (e) { return null; } })`), CAPABILITY_EVAL_TIMEOUT_MS, 'cap-read');
862
+ const profile = sanitizeProfile(raw);
863
+ if (!profile)
864
+ return unmeasured('no-reading', driver);
865
+ return { ...profile, driver, entry };
866
+ }
867
+ catch {
868
+ return unmeasured('error', driver);
869
+ }
870
+ }
871
+ /** Steady-state window. 2s at 60fps is ~120 frames — far above any floor, and a
872
+ * 17x separation from the measured gutted case (3.6fps) survives it intact.
873
+ * 5s was the first guess and cost 2.5s per acceptance turn for no extra
874
+ * discriminating power. */
875
+ export const DEFAULT_CAPABILITY_WINDOW_MS = 2_000;
876
+ const CAPABILITY_EVAL_TIMEOUT_MS = 15_000;
877
+ export function capabilityWindowMs() {
878
+ const env = Number(process.env.UAP_CAPABILITY_WINDOW_MS);
879
+ // Upper bound matters: this sleeps once per acceptance turn, and an unbounded
880
+ // env value would sleep for days.
881
+ return Number.isFinite(env) && env > 0 ? Math.min(env, 60_000) : DEFAULT_CAPABILITY_WINDOW_MS;
882
+ }
883
+ async function runWeb(entryDir, opts, entry = 'index.html',
884
+ // The PROJECT root, which is not necessarily the entry dir (findWebEntry
885
+ // searches one level down). Passed, never inferred: a heuristic here wrote the
886
+ // baseline to the parent directory, where nothing reads it, and the gate
887
+ // reported success the whole time.
888
+ capabilityRoot) {
678
889
  const start = Date.now();
679
890
  const settleMs = opts.settleMs ?? DEFAULT_SETTLE_MS;
680
891
  let server = null;
@@ -749,11 +960,12 @@ async function runWeb(entryDir, opts, entry = 'index.html') {
749
960
  }
750
961
  try {
751
962
  const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
963
+ const capKey = capabilityKey();
752
964
  // Instrument requestAnimationFrame BEFORE the page loads so a frozen render
753
965
  // loop is detectable after load. Best-effort — engines without addInitScript
754
966
  // simply skip the frozen-loop half of the canvas check.
755
967
  if (typeof browser.addInitScript === 'function') {
756
- await browser.addInitScript(RAF_INSTRUMENT).catch(() => undefined);
968
+ await browser.addInitScript(RAF_INSTRUMENT_FOR(capKey)).catch(() => undefined);
757
969
  }
758
970
  // Wall-clock guard so a hung goto/load never wedges a direct caller (the
759
971
  // spawned-runner path also has the rung-level spawn timeout as a backstop).
@@ -798,6 +1010,11 @@ async function runWeb(entryDir, opts, entry = 'index.html') {
798
1010
  const livenessFail = await checkCanvasLiveness(browser, start);
799
1011
  if (livenessFail)
800
1012
  return livenessFail;
1013
+ // The page loaded, ran and its loop is alive — so a capability reading is
1014
+ // meaningful and the ordering rule ("never grade the capability of a build
1015
+ // that does not run") is satisfied structurally rather than by convention.
1016
+ if (capabilityRoot)
1017
+ await persistCapability(browser, capKey, capabilityRoot, entry);
801
1018
  return {
802
1019
  passed: true,
803
1020
  exitCode: 0,
@@ -1407,6 +1624,17 @@ function runNodeLike(projectRoot, type, opts) {
1407
1624
  * runnable (the ladder's fail-closed floor lives in detectRungs, not here).
1408
1625
  */
1409
1626
  export async function runExecutionGate(projectRoot, opts = {}) {
1627
+ // Invalidate the capability reading FIRST, so `current.json` can only ever
1628
+ // describe this run. It is written back below by the browser paths that
1629
+ // actually measure.
1630
+ //
1631
+ // Without this it was a stale artifact that no path ever cleared: delete the
1632
+ // entry page and the gate reports "skipped (no detectable artifact)" while
1633
+ // last run's healthy profile stays on disk, so the comparison happily reports
1634
+ // "no regression" for a project with NO PAGE AT ALL. Same for a browser that
1635
+ // failed to launch, or a canvas that was removed. A reading with no way to
1636
+ // expire is not a measurement, it is a memory.
1637
+ invalidateCapabilityCurrent(projectRoot);
1410
1638
  const type = detectArtifactType(projectRoot);
1411
1639
  if (type === 'web') {
1412
1640
  const web = findWebEntry(projectRoot);
@@ -1429,7 +1657,7 @@ export async function runExecutionGate(projectRoot, opts = {}) {
1429
1657
  /* missing entry page — runWeb/vm report it */
1430
1658
  }
1431
1659
  if (opts.browserFactory || isModule)
1432
- return runWeb(dir, opts, entry);
1660
+ return runWeb(dir, opts, entry, projectRoot);
1433
1661
  // Classic scripts → vm-dom for deterministic JS-crash detection (no browser
1434
1662
  // needed). BUT vm-dom cannot drive requestAnimationFrame, so it passes a
1435
1663
  // <canvas> game whose render loop never runs or FREEZES on Start (the
@@ -1446,7 +1674,7 @@ export async function runExecutionGate(projectRoot, opts = {}) {
1446
1674
  // how a page that painted 0 pixels scored green while the model was told
1447
1675
  // only "33% of gates".
1448
1676
  const declined = vm.via === 'none';
1449
- const liveness = await runCanvasLivenessCheck(dir, opts, entry, declined);
1677
+ const liveness = await runCanvasLivenessCheck(dir, opts, entry, declined, projectRoot);
1450
1678
  return liveness ?? vm;
1451
1679
  }
1452
1680
  }