@miller-tech/uap 1.213.0 → 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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +2 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +107 -4
- package/dist/cli/deliver.js.map +1 -1
- package/dist/cli/verify.d.ts +5 -0
- package/dist/cli/verify.d.ts.map +1 -1
- package/dist/cli/verify.js +50 -1
- package/dist/cli/verify.js.map +1 -1
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +26 -1
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/delivery/await-run.d.ts +47 -0
- package/dist/delivery/await-run.d.ts.map +1 -1
- package/dist/delivery/await-run.js +392 -2
- package/dist/delivery/await-run.js.map +1 -1
- package/dist/delivery/capability-profile.d.ts +124 -0
- package/dist/delivery/capability-profile.d.ts.map +1 -0
- package/dist/delivery/capability-profile.js +392 -0
- package/dist/delivery/capability-profile.js.map +1 -0
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +21 -1
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/execution-gate.d.ts +29 -0
- package/dist/delivery/execution-gate.d.ts.map +1 -1
- package/dist/delivery/execution-gate.js +237 -9
- package/dist/delivery/execution-gate.js.map +1 -1
- package/dist/delivery/mission-acceptance.d.ts +4 -0
- package/dist/delivery/mission-acceptance.d.ts.map +1 -1
- package/dist/delivery/mission-acceptance.js +35 -1
- package/dist/delivery/mission-acceptance.js.map +1 -1
- package/dist/delivery/run-state.d.ts +31 -0
- package/dist/delivery/run-state.d.ts.map +1 -1
- package/dist/delivery/run-state.js +49 -0
- package/dist/delivery/run-state.js.map +1 -1
- package/dist/mcp-router/tools/deliver.d.ts.map +1 -1
- package/dist/mcp-router/tools/deliver.js +5 -2
- package/dist/mcp-router/tools/deliver.js.map +1 -1
- package/package.json +1 -1
- package/scripts/lib/llama-upstream.sh +64 -16
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
- package/tools/agents/scripts/confidence_escalation.py +57 -0
- package/tools/agents/tests/test_confidence_escalation.py +140 -2
|
@@ -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":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
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
|
-
|
|
110
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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
|
}
|