@miller-tech/uap 1.205.1 → 1.206.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/deliver.js +14 -1
- package/dist/cli/deliver.js.map +1 -1
- package/dist/delivery/auto-optimizer.d.ts.map +1 -1
- package/dist/delivery/auto-optimizer.js +3 -0
- package/dist/delivery/auto-optimizer.js.map +1 -1
- package/dist/models/complexity.d.ts.map +1 -1
- package/dist/models/complexity.js +4 -1
- package/dist/models/complexity.js.map +1 -1
- package/dist/utils/query-complexity.d.ts +9 -0
- package/dist/utils/query-complexity.d.ts.map +1 -1
- package/dist/utils/query-complexity.js +39 -0
- package/dist/utils/query-complexity.js.map +1 -1
- package/package.json +1 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/models/complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AActE,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,WAAW,GACf,sZAAsZ,CAAC;AAEzZ,oFAAoF;AACpF,kFAAkF;AAClF,8EAA8E;AAC9E,MAAM,OAAO,GACX,kKAAkK,CAAC;AAErK,yEAAyE;AACzE,MAAM,UAAU,GACd,uGAAuG,CAAC;AAE1G,MAAM,KAAK,GAAyB;IAClC,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,SAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,aAAa;YAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACnF,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;
|
|
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;
|
|
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;
|
|
1
|
+
{"version":3,"file":"query-complexity.js","sourceRoot":"","sources":["../../src/utils/query-complexity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|