@miller-tech/uap 1.205.1 → 1.206.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.
@@ -17,6 +17,9 @@ import { measureQueryComplexity, } from '../utils/query-complexity.js';
17
17
  export const DELIVERY_COMPLEXITY_THRESHOLDS = {
18
18
  moderate: 1,
19
19
  complex: 2,
20
+ // Delivery takes the r4 right-sizing bet: one-file single-step missions run
21
+ // the plain single-shot loop no matter how precisely they are specified.
22
+ scopeCap: true,
20
23
  };
21
24
  /**
22
25
  * Map instruction complexity to a convergence-aid plan.
@@ -1 +1 @@
1
- {"version":3,"file":"auto-optimizer.js","sourceRoot":"","sources":["../../src/delivery/auto-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,sBAAsB,GAGvB,MAAM,8BAA8B,CAAC;AAItC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;CACX,CAAC;AA6BF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,WAAkD,CAAC,CAAC,EAAE,EAAE,CACtD,sBAAsB,CAAC,CAAC,EAAE,8BAA8B,CAAC;IAE3D,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEzC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,UAAU;YACV,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,gCAAgC;SAC1C,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,UAAU;YACV,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,qEAAqE;YACrE,qEAAqE;YACrE,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EACL,qHAAqH;SACxH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,OAAO,EACL,4KAA4K;KAC/K,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auto-optimizer.js","sourceRoot":"","sources":["../../src/delivery/auto-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,sBAAsB,GAGvB,MAAM,8BAA8B,CAAC;AAItC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,4EAA4E;IAC5E,yEAAyE;IACzE,QAAQ,EAAE,IAAI;CACf,CAAC;AA6BF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,WAAkD,CAAC,CAAC,EAAE,EAAE,CACtD,sBAAsB,CAAC,CAAC,EAAE,8BAA8B,CAAC;IAE3D,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEzC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,UAAU;YACV,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,gCAAgC;SAC1C,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,UAAU;YACV,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,qEAAqE;YACrE,qEAAqE;YACrE,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EACL,qHAAqH;SACxH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,OAAO,EACL,4KAA4K;KAC/K,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"complexity.d.ts","sourceRoot":"","sources":["../../src/models/complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;CAC/B;AA6BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,gBAAgB,CAgCnB;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAEhF"}
1
+ {"version":3,"file":"complexity.d.ts","sourceRoot":"","sources":["../../src/models/complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;CAC/B;AA6BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,gBAAgB,CAmCnB;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAEhF"}
@@ -58,7 +58,10 @@ export function classifyComplexity(input) {
58
58
  reasons.push('high-complexity keyword');
59
59
  return { tier: 'high', score: SCORE.high, reasons, source: 'heuristic' };
60
60
  }
61
- const q = measureQueryComplexity(text, { moderate: 1, complex: 2 });
61
+ // scopeCap: routing takes the same r4 bet as delivery — a one-file
62
+ // single-step mission routes to the cheap tier. CRITICAL_KW/HIGH_KW above
63
+ // still outrank this (security/architecture words can never be capped).
64
+ const q = measureQueryComplexity(text, { moderate: 1, complex: 2, scopeCap: true });
62
65
  reasons.push(`query-complexity=${q}`);
63
66
  let tier = q === 'simple' ? 'low' : q === 'moderate' ? 'medium' : 'high';
64
67
  // Many files raises the floor a notch (capped at high; critical is keyword-only).
@@ -1 +1 @@
1
- {"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/models/complexity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/models/complexity.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,15 @@ export interface ComplexityThresholds {
15
15
  moderate: number;
16
16
  /** Score at or above which a query is 'complex' */
17
17
  complex: number;
18
+ /**
19
+ * Opt-in scope cap: a one-file, single-step, narrow-scope query returns
20
+ * 'simple' regardless of verbosity (bench r4 right-sizing). OPT-IN because
21
+ * each consumer owns its own tuning — delivery and routing take the r4 bet;
22
+ * memory retrieval depth and recipe selection keep score-based behavior
23
+ * (review 2026-08-14 F4: a shared-scorer hard return silently retunes every
24
+ * consumer at once).
25
+ */
26
+ scopeCap?: boolean;
18
27
  }
19
28
  export declare const DEFAULT_COMPLEXITY_THRESHOLDS: ComplexityThresholds;
20
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"query-complexity.d.ts","sourceRoot":"","sources":["../../src/utils/query-complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,6BAA6B,EAAE,oBAG3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,oBAAoD,GAC/D,eAAe,CAmDjB"}
1
+ {"version":3,"file":"query-complexity.d.ts","sourceRoot":"","sources":["../../src/utils/query-complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,6BAA6B,EAAE,oBAG3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,oBAAoD,GAC/D,eAAe,CAqGjB"}
@@ -59,6 +59,45 @@ export function measureQueryComplexity(query, thresholds = DEFAULT_COMPLEXITY_TH
59
59
  if (actionWords && actionWords.length > 1) {
60
60
  score += actionWords.length * 0.3;
61
61
  }
62
+ // Scope cap — verbosity is not complexity (measured: bench r4, 2026-08-14).
63
+ // Every additive signal above rewards precision: a 50-word spec for ONE
64
+ // small function crosses `complex` on length + tech words alone, which made
65
+ // deliver's auto-plan enable the FULL aid stack on katas. 47/50 bench cells
66
+ // then hit the 15-minute guillotine in both arms, and the full stack scored
67
+ // -16pp because rails consumed the budget before implementation landed.
68
+ // A mission whose SCOPE is one named code file, with no multi-step
69
+ // connectives and no broad-scope nouns, is simple no matter how precisely
70
+ // it is specified. Two files or any breadth signal leaves the score-based
71
+ // verdict untouched.
72
+ if (thresholds.scopeCap && score >= thresholds.moderate && score < thresholds.complex + 2) {
73
+ // Upper bound (`complex + 2`): a score far past complex earned it on
74
+ // signal density no single-file phrasing explains away — never cap those
75
+ // (review F2: the cap had no ceiling). Calibrated by measurement, not
76
+ // taste: the r4 katas (rle-encode) score in the [complex+1, complex+2)
77
+ // band on verbosity alone, so a +1 ceiling silently un-capped the exact
78
+ // population the cap exists for.
79
+ const named = new Set((query.match(/[\w./\\-]+\.(ts|tsx|js|jsx|mjs|cjs|py|rs|go|java|rb|php|c|cc|cpp|h|hpp|kt|swift|vue|svelte|html|css|json|yaml|yml|toml|sh|sql)\b/gi) ?? []).map((f) => f.toLowerCase()));
80
+ // Well-known runtime/library names read as filenames but scope nothing
81
+ // (review finding: "fix the node.js worker" capped with zero target files).
82
+ for (const rt of ['node.js', 'vue.js', 'next.js', 'react.js', 'three.js', 'd3.js', 'angular.js', 'express.js']) {
83
+ named.delete(rt);
84
+ }
85
+ // Only genuine SEQUENCING forms. Descriptive prose uses "followed by" for
86
+ // data shapes ("each run … followed by the run length") — that is a
87
+ // format spec, not a second step. Plain additive "also" stays uncapped
88
+ // ("also add round-trip tests" grows the SAME file), but action-verbed
89
+ // "also wire/update/fix/integrate/connect" reaches OUTSIDE the named file
90
+ // (review F2's evasion phrasings).
91
+ const multiStep = /\band then\b|\bafter that\b|\bstep \d|first,? then\b|\balso\s+(wire|integrate|update|fix|connect)\b/i.test(query);
92
+ // Scope-expander nouns join the breadth list: "update everything it
93
+ // imports", "fix all callers" are multi-file missions wearing a one-file
94
+ // phrase. And a one-FILE app (game/canvas/ui) is the octopus shape where
95
+ // the journey rails were decisive for weak models — breadth, not brevity.
96
+ const broadScope = /\b(system|architecture|migrat\w*|orchestrat\w*|pipeline|end.to.end|refactor|dashboard|service|server|deploy\w*|epic|whole|entire|across|codebase|repo|everything|consumers?|game|canvas|\bui\b|\bapp\b)\b/i.test(query) || /\ball\b[^.]*\b(callers|files|usages|imports|references|modules|tests)\b/i.test(query);
97
+ if (named.size === 1 && !multiStep && !broadScope && wordCount <= 80) {
98
+ return 'simple';
99
+ }
100
+ }
62
101
  if (score >= thresholds.complex)
63
102
  return 'complex';
64
103
  if (score >= thresholds.moderate)
@@ -1 +1 @@
1
- {"version":3,"file":"query-complexity.js","sourceRoot":"","sources":["../../src/utils/query-complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,MAAM,CAAC,MAAM,6BAA6B,GAAyB;IACjE,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,aAAmC,6BAA6B;IAEhE,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,0CAA0C;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,SAAS,GAAG,EAAE;QAAE,KAAK,IAAI,GAAG,CAAC;SAC5B,IAAI,SAAS,GAAG,EAAE;QAAE,KAAK,IAAI,IAAI,CAAC;SAClC,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,IAAI,IAAI,CAAC;IAEtC,sCAAsC;IACtC,MAAM,YAAY,GAAG;QACnB,gCAAgC;QAChC,oCAAoC;QACpC,iCAAiC;QACjC,kCAAkC;QAClC,iCAAiC;QACjC,kCAAkC;QAClC,0BAA0B;KAC3B,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;IACxC,CAAC;IAED,8CAA8C;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC7F,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC;IACpC,CAAC;IAED,+BAA+B;IAC/B,IAAI,wEAAwE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,8CAA8C;IAC9C,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,KAAK,IAAI,GAAG,CAAC;IACf,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAC7B,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,IAAI,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,IAAI,UAAU,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,KAAK,IAAI,UAAU,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"query-complexity.js","sourceRoot":"","sources":["../../src/utils/query-complexity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.205.1",
3
+ "version": "1.206.1",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",