@miller-tech/uap 1.52.0 → 1.53.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.
@@ -11,6 +11,15 @@
11
11
  * Whole-file emission is deliberate: small models are far more reliable
12
12
  * emitting complete files than unified diffs. Fences of 3+ backticks are
13
13
  * supported so file contents containing ``` can be wrapped in ````.
14
+ *
15
+ * Small/local models (e.g. qwen) frequently ignore the `file:` contract and
16
+ * emit language-tagged or bare fences with the path stated as a header, an
17
+ * info-string label, or a leading comment. When the strict parse finds nothing
18
+ * the decoder falls back to a lenient recovery pass (parseFileBlocksLenient)
19
+ * that handles those conventions. The fallback only runs on an otherwise-empty
20
+ * parse, so compliant output is never reinterpreted, and every recovered path
21
+ * still passes validatePath — the lenient layer widens decode coverage, not the
22
+ * security boundary.
14
23
  */
15
24
  export interface FileBlock {
16
25
  path: string;
@@ -80,7 +89,26 @@ export declare function findProtectedTestFiles(projectRoot: string): Set<string>
80
89
  * (e.g. spec transitive-import analysis).
81
90
  */
82
91
  export declare function listTestFiles(projectRoot: string): string[];
83
- /** Extract file blocks from model output without writing anything. */
92
+ /**
93
+ * True when `p` plausibly names a relative source file rather than prose. Used
94
+ * only by the lenient fallback to keep narration / language tags / pathless
95
+ * fences from being written to disk. validatePath remains the security gate;
96
+ * this is a false-positive filter, not a trust boundary.
97
+ */
98
+ export declare function looksLikeFilePath(p: string): boolean;
99
+ /**
100
+ * Lenient recovery for models that ignore the strict `file:` contract (common
101
+ * with small/local models like qwen, which emit language-tagged or bare fences
102
+ * with the path stated as a header, label, or leading comment). Runs ONLY when
103
+ * the strict parse finds nothing. Every recovered path is still subject to
104
+ * validatePath; looksLikeFilePath keeps prose and pathless fences out.
105
+ */
106
+ export declare function parseFileBlocksLenient(output: string): FileBlock[];
107
+ /**
108
+ * Extract file blocks from model output without writing anything. Prefers the
109
+ * strict `file:` contract; falls back to lenient recovery only when the strict
110
+ * parse is empty, so compliant output is never reinterpreted.
111
+ */
84
112
  export declare function parseFileBlocks(output: string): FileBlock[];
85
113
  /**
86
114
  * Default applier: parse file blocks and write them under projectRoot.
@@ -1 +1 @@
1
- {"version":3,"file":"applier.d.ts","sourceRoot":"","sources":["../../src/delivery/applier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,OAAO,GAAG,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,KACnB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAmED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,kBAAkB,UAAO,GACxB,MAAM,GAAG,IAAI,CAef;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2C3D;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAQ3D;AAyHD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CAiCb;AAiBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,CA6EjB"}
1
+ {"version":3,"file":"applier.d.ts","sourceRoot":"","sources":["../../src/delivery/applier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAeH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,OAAO,GAAG,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,KACnB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAmED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,kBAAkB,UAAO,GACxB,MAAM,GAAG,IAAI,CAef;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2C3D;AA4DD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAUpD;AAgDD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CA6BlE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAI3D;AAyHD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CAiCb;AAiBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,CA6EjB"}
@@ -11,6 +11,15 @@
11
11
  * Whole-file emission is deliberate: small models are far more reliable
12
12
  * emitting complete files than unified diffs. Fences of 3+ backticks are
13
13
  * supported so file contents containing ``` can be wrapped in ````.
14
+ *
15
+ * Small/local models (e.g. qwen) frequently ignore the `file:` contract and
16
+ * emit language-tagged or bare fences with the path stated as a header, an
17
+ * info-string label, or a leading comment. When the strict parse finds nothing
18
+ * the decoder falls back to a lenient recovery pass (parseFileBlocksLenient)
19
+ * that handles those conventions. The fallback only runs on an otherwise-empty
20
+ * parse, so compliant output is never reinterpreted, and every recovered path
21
+ * still passes validatePath — the lenient layer widens decode coverage, not the
22
+ * security boundary.
14
23
  */
15
24
  import { existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, realpathSync, rmdirSync, rmSync, writeFileSync, } from 'fs';
16
25
  import { dirname, isAbsolute, join, relative, resolve, sep } from 'path';
@@ -200,8 +209,8 @@ export function listTestFiles(projectRoot) {
200
209
  walk(root, '', 0);
201
210
  return [...found];
202
211
  }
203
- /** Extract file blocks from model output without writing anything. */
204
- export function parseFileBlocks(output) {
212
+ /** Extract strict `file:`-fenced blocks (the contract format). */
213
+ function parseStrictFileBlocks(output) {
205
214
  const blocks = [];
206
215
  for (const match of output.matchAll(FILE_BLOCK_RE)) {
207
216
  const path = match[2].trim();
@@ -211,6 +220,164 @@ export function parseFileBlocks(output) {
211
220
  }
212
221
  return blocks;
213
222
  }
223
+ /** Any fenced code block: fence, info string, body, and char offset. `\r?`
224
+ * on the close line keeps recovery working on CRLF (Windows-origin) output. */
225
+ const ANY_FENCE_RE = /^([ \t]*)(`{3,})([^\n]*)\n([\s\S]*?)^\1\2[ \t]*\r?$/gm;
226
+ /**
227
+ * Fence languages that denote shell commands or tool output, not a source
228
+ * file. For these we require an EXPLICIT path (a `file:` label on the fence or
229
+ * a path comment in the body) before recovering — a bare ```bash block sitting
230
+ * under a sentence that happens to mention a filename must NOT be written to
231
+ * that file. The strict `file:` contract is unaffected; this only constrains
232
+ * the lenient preamble heuristic.
233
+ */
234
+ const NON_FILE_LANGS = new Set([
235
+ 'bash',
236
+ 'sh',
237
+ 'shell',
238
+ 'zsh',
239
+ 'console',
240
+ 'terminal',
241
+ 'text',
242
+ 'txt',
243
+ 'output',
244
+ 'plaintext',
245
+ 'log',
246
+ 'diff',
247
+ ]);
248
+ /**
249
+ * A label that, on a fence info string or a line just above a fence, names the
250
+ * file the block belongs to: `file:`, `file=`, `filepath:`, `path:`, `filename:`.
251
+ */
252
+ const PATH_LABEL_RE = /(?:^|[^A-Za-z0-9])(?:file|filepath|filename|path)\s*[:=]\s*[`'"]?([^\s`'"*<>]+)/i;
253
+ /** Strip surrounding markdown/comment decoration from a candidate path token. */
254
+ function cleanPathToken(raw) {
255
+ return raw
256
+ .trim()
257
+ .replace(/^[#>\-*\s]+/, '') // markdown heading / list / bold-dash prefixes
258
+ .replace(/^(?:\/\/|#|<!--|\/\*)\s*/, '') // leading comment openers
259
+ .replace(/\s*(?:-->|\*\/)\s*$/, '') // trailing comment closers
260
+ .replace(/[`'"*]+/g, '') // stray backticks / quotes / bold markers
261
+ .replace(/[::]\s*$/, '') // a trailing label colon ("path:")
262
+ .replace(/^\.\//, '') // normalize leading ./
263
+ .trim();
264
+ }
265
+ /**
266
+ * True when `p` plausibly names a relative source file rather than prose. Used
267
+ * only by the lenient fallback to keep narration / language tags / pathless
268
+ * fences from being written to disk. validatePath remains the security gate;
269
+ * this is a false-positive filter, not a trust boundary.
270
+ */
271
+ export function looksLikeFilePath(p) {
272
+ const t = p.trim();
273
+ if (!t || t.length > 200)
274
+ return false;
275
+ if (/\s/.test(t))
276
+ return false; // real paths emitted here have no spaces
277
+ if (/^[a-z][a-z0-9+.-]*:\/\//i.test(t))
278
+ return false; // URLs (http://, file://)
279
+ if (!/^[A-Za-z0-9._/@+-]+$/.test(t))
280
+ return false; // conservative path charset
281
+ // Must look like a file: contain a directory separator OR a real extension.
282
+ const base = t.slice(t.lastIndexOf('/') + 1);
283
+ const hasExt = /\.[A-Za-z0-9]{1,8}$/.test(base) && !/^\.+$/.test(base);
284
+ return t.includes('/') || hasExt;
285
+ }
286
+ /** Extract the first plausible file path from a fence info string, or null. */
287
+ function pathFromInfoString(info) {
288
+ const labelled = info.match(PATH_LABEL_RE);
289
+ if (labelled) {
290
+ const p = cleanPathToken(labelled[1]);
291
+ if (looksLikeFilePath(p))
292
+ return p;
293
+ }
294
+ // Bare info string that is itself a path (e.g. ```src/game.js). Language tags
295
+ // like `js`/`typescript` fail looksLikeFilePath (no slash/extension).
296
+ for (const tok of info.trim().split(/\s+/)) {
297
+ const p = cleanPathToken(tok);
298
+ if (looksLikeFilePath(p))
299
+ return p;
300
+ }
301
+ return null;
302
+ }
303
+ /** First plausible path among the up-to-2 non-empty lines preceding a fence. */
304
+ function pathFromPreamble(before) {
305
+ const lines = before.split('\n');
306
+ let seen = 0;
307
+ for (let i = lines.length - 1; i >= 0 && seen < 2; i--) {
308
+ const line = lines[i].trim();
309
+ if (!line)
310
+ continue;
311
+ seen++;
312
+ const labelled = line.match(PATH_LABEL_RE);
313
+ if (labelled) {
314
+ const p = cleanPathToken(labelled[1]);
315
+ if (looksLikeFilePath(p))
316
+ return p;
317
+ }
318
+ const cleaned = cleanPathToken(line);
319
+ if (looksLikeFilePath(cleaned))
320
+ return cleaned;
321
+ }
322
+ return null;
323
+ }
324
+ /** A path-only comment as the body's first line: returns [path, restOfBody]. */
325
+ function pathFromBodyComment(body) {
326
+ const nl = body.indexOf('\n');
327
+ const first = (nl === -1 ? body : body.slice(0, nl)).trim();
328
+ if (!/^(?:\/\/|#|<!--|\/\*)/.test(first))
329
+ return null;
330
+ const labelled = first.match(PATH_LABEL_RE);
331
+ const candidate = cleanPathToken(labelled ? labelled[1] : first);
332
+ if (!looksLikeFilePath(candidate))
333
+ return null;
334
+ return [candidate, nl === -1 ? '' : body.slice(nl + 1)];
335
+ }
336
+ /**
337
+ * Lenient recovery for models that ignore the strict `file:` contract (common
338
+ * with small/local models like qwen, which emit language-tagged or bare fences
339
+ * with the path stated as a header, label, or leading comment). Runs ONLY when
340
+ * the strict parse finds nothing. Every recovered path is still subject to
341
+ * validatePath; looksLikeFilePath keeps prose and pathless fences out.
342
+ */
343
+ export function parseFileBlocksLenient(output) {
344
+ const blocks = [];
345
+ for (const m of output.matchAll(ANY_FENCE_RE)) {
346
+ const info = m[3] ?? '';
347
+ let body = m[4] ?? '';
348
+ const lang = info.trim().split(/\s+/)[0]?.toLowerCase() ?? '';
349
+ const isShellOrOutput = NON_FILE_LANGS.has(lang);
350
+ // 1) explicit label/path on the fence info string
351
+ let path = pathFromInfoString(info);
352
+ // 2) a header/label line immediately above the fence — skipped for
353
+ // shell/output fences, where a nearby filename mention is not a target.
354
+ if (!path && !isShellOrOutput) {
355
+ path = pathFromPreamble(output.slice(0, m.index ?? 0));
356
+ }
357
+ // 3) a path-only comment as the first line inside the block
358
+ if (!path) {
359
+ const fromBody = pathFromBodyComment(body);
360
+ if (fromBody) {
361
+ path = fromBody[0];
362
+ body = fromBody[1];
363
+ }
364
+ }
365
+ if (path)
366
+ blocks.push({ path, content: body });
367
+ }
368
+ return blocks;
369
+ }
370
+ /**
371
+ * Extract file blocks from model output without writing anything. Prefers the
372
+ * strict `file:` contract; falls back to lenient recovery only when the strict
373
+ * parse is empty, so compliant output is never reinterpreted.
374
+ */
375
+ export function parseFileBlocks(output) {
376
+ const strict = parseStrictFileBlocks(output);
377
+ if (strict.length > 0)
378
+ return strict;
379
+ return parseFileBlocksLenient(output);
380
+ }
214
381
  /**
215
382
  * Resolve `target`'s parent to its real (symlink-followed) location and
216
383
  * confirm it stays inside the project root. Lexical checks alone let a
@@ -1 +1 @@
1
- {"version":3,"file":"applier.js","sourceRoot":"","sources":["../../src/delivery/applier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applier.js","sourceRoot":"","sources":["../../src/delivery/applier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,EACN,aAAa,GACd,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AA+CzE,6EAA6E;AAC7E,MAAM,cAAc,GAAG,SAAS,CAAC;AAEjC,MAAM,aAAa,GAAG,4CAA4C,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,WAAW;IACX,cAAc;CACf,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,cAAc;IACd,mBAAmB;IACnB,qBAAqB;IACrB,WAAW;IACX,gBAAgB;IAChB,QAAQ;IACR,SAAS;IACT,aAAa;CACd,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG;IACtB,uBAAuB;IACvB,qCAAqC;IACrC,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,6BAA6B;IAC7B,0BAA0B;IAC1B,sBAAsB;IACtB,wBAAwB;IACxB,uBAAuB;IACvB,eAAe;IACf,cAAc;IACd,mBAAmB;IACnB,oDAAoD;IACpD,mCAAmC;IACnC,4BAA4B;IAC5B,cAAc;IACd,qBAAqB;IACrB,UAAU;IACV,cAAc;IACd,iBAAiB;IACjB,qBAAqB;CACtB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,kBAAkB,GAAG,IAAI;IAEzB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,eAAe,GAAG,kBAAkB,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,aAAa,IAAI,iDAAiD,CAAC;IAC5E,CAAC;IACD,IAAI,kBAAkB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,aAAa,IAAI,wEAAwE,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gEAAgE;AAChE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnF,+DAA+D;AAC/D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,GAAG,kBAAkB;IACrB,MAAM;IACN,OAAO;IACP,KAAK;IACL,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CACjG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,0EAA0E;IAC1E,uDAAuD;IACvD,OAAO,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,KAAa,EAAQ,EAAE;QACnE,IAAI,KAAK,GAAG,cAAc,IAAI,KAAK,CAAC,IAAI,IAAI,cAAc;YAAE,OAAO;QACnE,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,IAAI,cAAc,IAAI,EAAE,OAAO,GAAG,gBAAgB;gBAAE,OAAO;YACzE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,oEAAoE;gBACpE,qEAAqE;gBACrE,iBAAiB;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACH,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE;gBAAE,SAAS;YACpC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,qEAAqE;gBACrE,sEAAsE;gBACtE,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBAAE,SAAS;gBAC1D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,kEAAkE;AAClE,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;gFACgF;AAChF,MAAM,YAAY,GAAG,uDAAuD,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,SAAS;IACT,UAAU;IACV,MAAM;IACN,KAAK;IACL,QAAQ;IACR,WAAW;IACX,KAAK;IACL,MAAM;CACP,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,aAAa,GACjB,kFAAkF,CAAC;AAErF,iFAAiF;AACjF,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG;SACP,IAAI,EAAE;SACN,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,+CAA+C;SAC1E,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,0BAA0B;SAClE,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,2BAA2B;SAC9D,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,0CAA0C;SAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,mCAAmC;SAC3D,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,uBAAuB;SAC5C,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,yCAAyC;IACzE,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,0BAA0B;IAChF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,4BAA4B;IAC/E,4EAA4E;IAC5E,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,8EAA8E;IAC9E,sEAAsE;IACtE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,iBAAiB,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,iBAAiB,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEjD,kDAAkD;QAClD,IAAI,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEpC,mEAAmE;QACnE,2EAA2E;QAC3E,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,QAAgB;IACzD,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,yEAAyE;IACzE,oCAAoC;IACpC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,qBAAqB,GACzB,wHAAwH,CAAC;AAC3H,MAAM,kBAAkB,GACtB,6GAA6G,CAAC;AAEhH;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,cAAmC;IAEnC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CACnB,SAAiB,EACjB,WAAmB,EACnB,QAAgB,EAChB,OAAsB;IAEtB,IAAI,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,gCAAgC,CAAC;IAEnE,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,yCAAyC,CAAC;IAEhF,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAED,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,eAAe,GAAG,kBAAkB,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,aAAa,IAAI,iDAAiD,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,iEAAiE;IACjE,IAAI,OAAO,EAAE,kBAAkB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IACE,OAAO,EAAE,cAAc;QACvB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,EACpE,CAAC;QACD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7D,OAAO,qBAAqB,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,sDAAsD,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,WAAmB;IACrC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,WAAmB,EACnB,OAAsB;IAEtB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;YACZ,KAAK,EACH,qHAAqH;SACxH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzE,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,cAAc,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,cAAc,QAAQ,EAAE,CAAC,CAAC;YACpF,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,KAAe,EAAE,WAAmB;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,WAAW,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,4CAA4C;IAC5C,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAc,EACd,WAAmB,EACnB,OAAsB;IAEtB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEzC,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC;YAAE,SAAS;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEpD,2EAA2E;IAC3E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,2DAA2D;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,MAAmB,CAAC;IACxB,IAAI,CAAC;QACH,2EAA2E;QAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,KAAK,EACH,qHAAqH;aACxH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAA4B,EAAE,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACzE,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBACrD,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,cAAc,EAAE,CAAC;oBAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,cAAc,QAAQ,EAAE,CAAC,CAAC;oBACpF,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,GAAG,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;QACV,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
package/docs/INDEX.md CHANGED
@@ -62,7 +62,9 @@ New here? Start with the [project README](../README.md), then [Getting Started](
62
62
 
63
63
  | Doc | What it covers |
64
64
  |---|---|
65
- | [**TBench Investigation**](benchmarks/TBENCH_INVESTIGATION.md) | Rigorous findings: no measurable UAP-context lift (every gain was a confound), methodology lessons, and the improvement plan ⭐ |
65
+ | [**Paired Findings**](benchmarks/PAIRED_FINDINGS.md) | Controlled A/B results: UAP gate value is +20pp vs a non-agentic baseline [CI +8,+32], ~0pp vs an agentic one — with confidence intervals ⭐ |
66
+ | [Paired Harness](benchmarks/PAIRED_HARNESS.md) | The `uap bench paired` controlled-A/B harness: design, adapters (mock/opencode/claude/raw), authoring tasks |
67
+ | [TBench Investigation](benchmarks/TBENCH_INVESTIGATION.md) | Earlier finding: no measurable UAP-context lift (every uncontrolled gain was a confound), methodology lessons |
66
68
  | [Validation Results](benchmarks/VALIDATION_RESULTS.md) | Terminal-Bench 2.0 results (−49.7% tokens, +33pp success) |
67
69
  | [Token Optimization](benchmarks/TOKEN_OPTIMIZATION.md) | Where the token savings come from |
68
70
  | [Accuracy Analysis](benchmarks/ACCURACY_ANALYSIS.md) | Success-rate and error analysis |
@@ -190,8 +190,15 @@ mechanism behind UAP's "agents stop declaring victory on broken code." See the
190
190
 
191
191
  Lets multiple agents work the same repo without colliding. A singleton SQLite
192
192
  DB (`database.ts`) backs an agent registry, work announcements, work claims,
193
- inter-agent messages, and a deploy queue. `service.ts` detects **overlap** when
194
- agents announce work on the same files and suggests merge order;
193
+ inter-agent messages, and a deploy queue. The DB is **shared across all
194
+ worktrees** (resolved via `git --git-common-dir` to the main worktree), so agents
195
+ in different `.worktrees/` see each other. Coordination is **always-on, not
196
+ advisory**: `session-start.sh` auto-registers every agent (+ heartbeat), and the
197
+ pre-edit hook (`coordinate-file.sh`) announces each file edit and **blocks** when
198
+ another *live* agent (heartbeat < 120s) is editing the same repo-relative path,
199
+ warning + self-healing stale announcements otherwise; `session-end.sh` reaps only
200
+ stale state so one agent ending never wipes live peers. `service.ts` detects
201
+ **overlap** when agents announce work on the same files and suggests merge order;
195
202
  `deploy-batcher.ts` queues git/CI actions with per-type batch windows
196
203
  (commit 30s, push 5s, merge 10s, deploy 60s), folds/squashes similar pending
197
204
  actions, and executes batches sequentially or in parallel.
@@ -236,6 +243,20 @@ real-time updates.
236
243
  Emits HALO / OpenInference spans for delivery runs and tool calls, consumed by
237
244
  `uap harness analyze` to optimize agent execution from real traces.
238
245
 
246
+ ### Benchmark harness (`src/benchmarks/paired/`)
247
+
248
+ A controlled paired-A/B harness (`uap bench paired`) for measuring UAP's impact
249
+ without confounds. It holds the base model + agent constant and toggles **only**
250
+ the UAP scaffold over the same real-gate task suite and seeds, reporting a vector
251
+ of paired deltas (correctness + tokens/turns/latency) with bootstrap confidence
252
+ intervals, a McNemar gate-value 2×2, and per-component leave-one-out ablation.
253
+ Pluggable `AgentAdapter`s drive the agent under test: `opencode`/`claude`
254
+ subprocess adapters, a deterministic `mock`, and a non-agentic `raw`
255
+ single-shot-vs-gate-loop adapter that isolates gate value. Ground truth is a
256
+ deterministic per-task `verifyCmd` (no LLM judge). The headline result lives in
257
+ [benchmarks/PAIRED_FINDINGS.md](../benchmarks/PAIRED_FINDINGS.md): UAP gate value
258
+ is **+20pp** over a non-agentic baseline and **~0pp** over an agentic one.
259
+
239
260
  ---
240
261
 
241
262
  ## How a tool call flows: memory → policy → MCP Router
@@ -0,0 +1,147 @@
1
+ # Paired Benchmark Findings — When Does UAP Actually Help?
2
+
3
+ Results from the controlled paired harness (`uap bench paired`, see
4
+ [PAIRED_HARNESS.md](PAIRED_HARNESS.md)). These supersede earlier uncontrolled
5
+ numbers and complete the story the [TBench Investigation](TBENCH_INVESTIGATION.md)
6
+ started: every "UAP lift" measured without a controlled baseline turned out to be
7
+ a confound. This is the rigorous version — same model, same tasks, same seeds,
8
+ toggling **only** the UAP layer, with bootstrap confidence intervals on every
9
+ delta.
10
+
11
+ ## TL;DR
12
+
13
+ > **UAP's accuracy lift depends entirely on whether the base agent already
14
+ > self-verifies.** Against a strong agentic harness (opencode, which runs the
15
+ > tests itself), UAP adds overhead with **no measurable accuracy gain**. Against
16
+ > a non-agentic single-shot model, UAP's gate loop delivers **+20pp accuracy**
17
+ > (78% → 98%, 95% CI [+8, +32], p=0.008) by catching and repairing edge-case
18
+ > bugs the model ships in one shot.
19
+
20
+ | Baseline type | UAP accuracy lift | What this means |
21
+ |---|---|---|
22
+ | **Agentic** (opencode self-tests) | **~0pp** (CI spans 0) | gate is redundant; cost is pure overhead |
23
+ | **Non-agentic** (raw single-shot) | **+20pp** [CI +8, +32] | gate loop rescues failures the model can't self-catch |
24
+
25
+ The headline implication: **UAP's gate value is real and large, but only over a
26
+ baseline that doesn't already loop** — which is exactly the `uap deliver`
27
+ (model-wrapping) case. When you are already driving a capable agentic harness,
28
+ UAP's contribution shifts from *accuracy* to *efficiency, coordination, and
29
+ never-regress*.
30
+
31
+ ## The experiments
32
+
33
+ Five controlled runs against `ik-llama/qwen36-35b-a3b-iq4xs` (a 35B-A3B MoE).
34
+ All paired, all with deterministic ground-truth `verifyCmd` scorers (no LLM
35
+ judge). Metrics reported as a vector — correctness **and** tokens/turns/latency —
36
+ each as a paired delta with a 95% bootstrap CI and a sign-flip permutation
37
+ p-value. Correctness deltas additionally get a McNemar 2×2 ("fixed" vs
38
+ "regressed").
39
+
40
+ ### 1–3. Agentic baseline (opencode adapter)
41
+
42
+ | Run | Suite | Design | baseline → uap-full | Token Δ |
43
+ |---|---|---|---|---|
44
+ | 1 | real-gate (easy) | 2 tasks × 2 × 6 | 100% → 100% | +34.2k |
45
+ | 2 | real-gate-hard | 6 tasks × 8-arm ablation × 4 | 100% → 100% | +48.7k [13.9k, 93.3k] |
46
+ | 3 | real-gate-gated | 5 edge-case tasks × 8-arm ablation × 4 | 100% → 100% | +25.2k (n.s.) |
47
+
48
+ In every agentic run the **baseline already scored 100%** — there was no headroom
49
+ for UAP to improve accuracy. The per-component ablation (turning off gates /
50
+ worktree / memory / experts / skills / patterns one at a time) found **no
51
+ component with a Δsuccess confidence interval above zero**; the token deltas only
52
+ rank overhead.
53
+
54
+ **Root cause:** opencode is itself an agentic harness that runs the in-repo
55
+ tests and self-corrects by default. The UAP gate instruction is redundant on top
56
+ of an agent that already self-verifies — and adding in-repo tests to give the
57
+ "gate" something to run handed the same self-verification to the *baseline*.
58
+
59
+ ### 4. Non-agentic baseline (raw single-shot vs gate loop) — the decisive run
60
+
61
+ To isolate **gate value**, the `raw` adapter calls the model's completion
62
+ endpoint directly:
63
+
64
+ - **baseline** = one completion, no self-check (whatever it writes is final)
65
+ - **uap-full** = execute → run the visible in-repo gate → feed the failure back
66
+ → regenerate, looping until the gate passes (the `uap deliver` mechanism in
67
+ miniature)
68
+
69
+ 5 edge-case tasks × {single-shot, gate-loop} × 10 epochs, temperature 0.6
70
+ (so the first shot sometimes misses edges):
71
+
72
+ | Condition | Success | Errors | Tokens | Turns |
73
+ |---|--:|--:|--:|--:|
74
+ | baseline (single-shot) | **78.0%** | 22% | 1,170 | 1.0 |
75
+ | uap-full (gate loop) | **98.0%** | 2% | 2,242 | 1.3 |
76
+
77
+ - **Correctness: +20.0pp** — 95% CI **[+8.0, +32.0]**, p=0.008 ✅
78
+ - **Gate value (McNemar):** 11 fixed, 1 regressed, **net +10** (p=0.006)
79
+ - **Cost:** +1,072 tokens, +0.3 turns per task — cheap for a 20-point gain
80
+
81
+ When the baseline can't self-verify, it ships edge-case bugs 22% of the time. The
82
+ gate loop catches and repairs 11 of them, cutting the error rate to 2%. The one
83
+ "regressed" case is the honest caveat — once, the loop's rewrite broke something
84
+ single-shot happened to get right.
85
+
86
+ ## What the tasks look like
87
+
88
+ Findings only hold if the tasks have real headroom. The `real-gate-gated` suite
89
+ was built so the **obvious solution passes the happy path but fails hidden edge
90
+ cases**, and validated before any run: for every task the stub fails, a correct
91
+ reference passes, **and a naive happy-path solution fails the hidden verify**.
92
+
93
+ | Task | Happy-path trap | Hidden edge the gate must catch |
94
+ |---|---|---|
95
+ | `py-roman-strict` | sum the symbols | reject invalid numerals (`IIII`, `VV`, `IL`) |
96
+ | `js-csv-parse` | `split(',')` | quoted commas, escaped `""`, CRLF, trailing newline |
97
+ | `js-deep-equal` | `JSON.stringify` compare | `NaN`, key order, `{a:undefined}` vs `{}` |
98
+ | `py-parse-duration` | single-unit only | combined `1h30m15s`, raise on invalid |
99
+ | `py-merge-intervals` | assume sorted, strict overlap | unsorted input, touching `[1,2],[2,3]→[1,3]` |
100
+
101
+ Each ships an in-repo test suite (the *visible* gate, `task.gateCmd`) distinct
102
+ from the hidden superset `verifyCmd` that remains the authoritative scorer.
103
+
104
+ ## Methodology notes (and honest caveats)
105
+
106
+ - **Paired design** removes between-task variance — the dominant noise source.
107
+ Deltas are bootstrap CIs (10k resamples, seeded for reproducibility) + a
108
+ sign-flip permutation test. Single-arm point estimates are never claims.
109
+ - **Small N + a single shared GPU.** Token/latency CIs are wide and latency is
110
+ confounded by request queueing on one GPU; read the *correctness* and *token*
111
+ deltas, not absolute latency. The +20pp result holds with N=50/arm and a CI
112
+ that excludes zero, but it is one model on five tasks — directional, not a
113
+ universal constant.
114
+ - **Ceiling effect** is why the agentic runs show 0pp: a 35B model in an
115
+ agentic harness simply solves these self-contained algorithmic tasks. A weaker
116
+ model, or genuinely harder multi-file tasks, would re-open headroom.
117
+ - **Harness reliability:** an early ablation wedged for ~50 min because
118
+ `spawnSync`'s timeout only SIGTERMs the immediate child while opencode forks a
119
+ detached tree that keeps the pipe open. Fixed with a detached process-group
120
+ spawn + group SIGKILL; subsequent runs completed 158–190/192 cleanly.
121
+
122
+ ## Reproduce
123
+
124
+ ```bash
125
+ # The decisive gate-value experiment (raw single-shot vs gate loop):
126
+ UAP_RAW_TEMPERATURE=0.6 uap bench paired \
127
+ --adapter raw --model "<model-served-name>" \
128
+ --suite benchmarks/suites/real-gate-gated \
129
+ --epochs 10 --concurrency 3
130
+
131
+ # Agentic baseline + per-component ablation:
132
+ uap bench paired --adapter opencode --model <provider/model> \
133
+ --suite benchmarks/suites/real-gate-hard --ablation --epochs 4
134
+ ```
135
+
136
+ Artifacts (`records.jsonl`, `report.json`, `report.md`) land in
137
+ `benchmark-results/paired-<timestamp>/`. See [PAIRED_HARNESS.md](PAIRED_HARNESS.md)
138
+ for the harness internals, adapters, and how to author a task.
139
+
140
+ ## Bottom line
141
+
142
+ The accuracy-lift hypothesis is **falsified for the agentic-vs-agentic case** and
143
+ **confirmed for the non-agentic case**. Use UAP's gate loop (`uap deliver`) when
144
+ wrapping a model that won't self-verify — that is where the measurable accuracy
145
+ win lives. When you already run a strong agentic harness, value UAP for its
146
+ efficiency (token savings), coordination (multi-agent file safety), and
147
+ never-regress guarantees, not for first-pass accuracy.
@@ -1,10 +1,26 @@
1
1
  # UAP Benchmarks
2
2
 
3
- Performance and accuracy results for the Universal Agent Protocol, measured on Terminal-Bench 2.0.
3
+ Performance and accuracy results for the Universal Agent Protocol.
4
4
 
5
- ## Headline results
5
+ ## Controlled paired result (start here)
6
6
 
7
- UAP-on vs. baseline, 12 representative tasks across 8 categories:
7
+ The rigorous, reproducible finding from the [paired harness](PAIRED_HARNESS.md)
8
+ — same model, same tasks, same seeds, toggling **only** UAP, with confidence
9
+ intervals:
10
+
11
+ > **UAP's accuracy lift depends on whether the base agent already self-verifies.**
12
+ > Vs an agentic harness that self-tests → **~0pp** (overhead only). Vs a
13
+ > non-agentic single-shot model → **+20pp** (78% → 98%, 95% CI [+8, +32],
14
+ > p=0.008) from the gate loop repairing edge-case bugs.
15
+
16
+ Full analysis with all five experiments: **[Paired Findings](PAIRED_FINDINGS.md)**.
17
+
18
+ ## Earlier (uncontrolled) Terminal-Bench numbers
19
+
20
+ UAP-on vs. baseline, 12 representative tasks across 8 categories. These are
21
+ *uncontrolled* — the [TBench Investigation](TBENCH_INVESTIGATION.md) found the
22
+ apparent lifts were largely confounds; treat the paired results above as
23
+ authoritative.
8
24
 
9
25
  | Metric | Baseline | With UAP | Δ |
10
26
  |---|---|---|---|
@@ -17,10 +33,12 @@ UAP-on vs. baseline, 12 representative tasks across 8 categories:
17
33
 
18
34
  | Doc | What it covers |
19
35
  |---|---|
36
+ | [**Paired Findings**](PAIRED_FINDINGS.md) | Controlled results: when UAP helps (+20pp vs non-agentic; ~0pp vs agentic), with CIs ⭐ |
37
+ | [Paired Harness](PAIRED_HARNESS.md) | The `uap bench paired` A/B harness: design, adapters, authoring tasks |
38
+ | [TBench Investigation](TBENCH_INVESTIGATION.md) | Earlier finding: uncontrolled "lifts" were confounds |
20
39
  | [Validation Results](VALIDATION_RESULTS.md) | Full methodology + per-task breakdown |
21
40
  | [Token Optimization](TOKEN_OPTIMIZATION.md) | Where the token savings come from |
22
41
  | [Accuracy Analysis](ACCURACY_ANALYSIS.md) | Success-rate and error analysis |
23
42
  | [Comprehensive Benchmarks](COMPREHENSIVE_BENCHMARKS.md) | Extended measurements |
24
- | [Paired Harness](PAIRED_HARNESS.md) | Controlled UAP-on vs UAP-off A/B: `uap bench paired` |
25
43
 
26
44
  See the [documentation index](../INDEX.md) for the rest of the docs.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.52.0",
3
+ "version": "1.53.0",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",