@miller-tech/uap 1.163.12 → 1.164.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.
Files changed (112) hide show
  1. package/README.md +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/bin/cli.js +5 -4
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/cli/deliver.d.ts +5 -3
  6. package/dist/cli/deliver.d.ts.map +1 -1
  7. package/dist/cli/deliver.js +95 -19
  8. package/dist/cli/deliver.js.map +1 -1
  9. package/dist/cli/guided-setup.d.ts.map +1 -1
  10. package/dist/cli/guided-setup.js +13 -1
  11. package/dist/cli/guided-setup.js.map +1 -1
  12. package/dist/cli/model.d.ts.map +1 -1
  13. package/dist/cli/model.js +9 -1
  14. package/dist/cli/model.js.map +1 -1
  15. package/dist/cli/proxy-lifecycle.d.ts +66 -13
  16. package/dist/cli/proxy-lifecycle.d.ts.map +1 -1
  17. package/dist/cli/proxy-lifecycle.js +116 -49
  18. package/dist/cli/proxy-lifecycle.js.map +1 -1
  19. package/dist/cli/proxy.d.ts +46 -0
  20. package/dist/cli/proxy.d.ts.map +1 -1
  21. package/dist/cli/proxy.js +353 -23
  22. package/dist/cli/proxy.js.map +1 -1
  23. package/dist/cli/wizard-config.d.ts +4 -0
  24. package/dist/cli/wizard-config.d.ts.map +1 -1
  25. package/dist/cli/wizard-config.js +14 -3
  26. package/dist/cli/wizard-config.js.map +1 -1
  27. package/dist/config/settings-registry.d.ts.map +1 -1
  28. package/dist/config/settings-registry.js +25 -0
  29. package/dist/config/settings-registry.js.map +1 -1
  30. package/dist/coordination/effort-profile.d.ts +39 -0
  31. package/dist/coordination/effort-profile.d.ts.map +1 -0
  32. package/dist/coordination/effort-profile.js +74 -0
  33. package/dist/coordination/effort-profile.js.map +1 -0
  34. package/dist/dashboard/server.d.ts.map +1 -1
  35. package/dist/dashboard/server.js +68 -10
  36. package/dist/dashboard/server.js.map +1 -1
  37. package/dist/delivery/convergence-loop.d.ts +37 -0
  38. package/dist/delivery/convergence-loop.d.ts.map +1 -1
  39. package/dist/delivery/convergence-loop.js +51 -4
  40. package/dist/delivery/convergence-loop.js.map +1 -1
  41. package/dist/delivery/critic.d.ts +7 -0
  42. package/dist/delivery/critic.d.ts.map +1 -1
  43. package/dist/delivery/critic.js.map +1 -1
  44. package/dist/delivery/decompose.d.ts +9 -0
  45. package/dist/delivery/decompose.d.ts.map +1 -1
  46. package/dist/delivery/decompose.js +11 -0
  47. package/dist/delivery/decompose.js.map +1 -1
  48. package/dist/delivery/graph-safety.d.ts +75 -0
  49. package/dist/delivery/graph-safety.d.ts.map +1 -0
  50. package/dist/delivery/graph-safety.js +98 -0
  51. package/dist/delivery/graph-safety.js.map +1 -0
  52. package/dist/delivery/per-phase-escalation-controller.d.ts +37 -0
  53. package/dist/delivery/per-phase-escalation-controller.d.ts.map +1 -0
  54. package/dist/delivery/per-phase-escalation-controller.js +68 -0
  55. package/dist/delivery/per-phase-escalation-controller.js.map +1 -0
  56. package/dist/delivery/per-phase-escalation.d.ts +53 -0
  57. package/dist/delivery/per-phase-escalation.d.ts.map +1 -0
  58. package/dist/delivery/per-phase-escalation.js +57 -0
  59. package/dist/delivery/per-phase-escalation.js.map +1 -0
  60. package/dist/delivery/reflect.d.ts +56 -0
  61. package/dist/delivery/reflect.d.ts.map +1 -0
  62. package/dist/delivery/reflect.js +79 -0
  63. package/dist/delivery/reflect.js.map +1 -0
  64. package/dist/delivery/verification-provenance.d.ts +47 -0
  65. package/dist/delivery/verification-provenance.d.ts.map +1 -0
  66. package/dist/delivery/verification-provenance.js +48 -0
  67. package/dist/delivery/verification-provenance.js.map +1 -0
  68. package/dist/delivery/visual-gate.d.ts +14 -0
  69. package/dist/delivery/visual-gate.d.ts.map +1 -1
  70. package/dist/delivery/visual-gate.js +44 -13
  71. package/dist/delivery/visual-gate.js.map +1 -1
  72. package/dist/models/complexity.d.ts +36 -0
  73. package/dist/models/complexity.d.ts.map +1 -0
  74. package/dist/models/complexity.js +75 -0
  75. package/dist/models/complexity.js.map +1 -0
  76. package/dist/models/router.d.ts.map +1 -1
  77. package/dist/models/router.js +39 -10
  78. package/dist/models/router.js.map +1 -1
  79. package/dist/models/types.d.ts +60 -10
  80. package/dist/models/types.d.ts.map +1 -1
  81. package/dist/models/types.js +128 -11
  82. package/dist/models/types.js.map +1 -1
  83. package/dist/self-tuning/prompt-variants.d.ts +93 -0
  84. package/dist/self-tuning/prompt-variants.d.ts.map +1 -0
  85. package/dist/self-tuning/prompt-variants.js +143 -0
  86. package/dist/self-tuning/prompt-variants.js.map +1 -0
  87. package/dist/tasks/types.d.ts +2 -2
  88. package/dist/types/config.d.ts +8 -0
  89. package/dist/types/config.d.ts.map +1 -1
  90. package/docs/INDEX.md +1 -1
  91. package/docs/benchmarks/COMPREHENSIVE_BENCHMARKS.md +47 -53
  92. package/docs/benchmarks/VALIDATION_RESULTS.md +0 -2
  93. package/docs/guides/COORDINATION.md +1 -1
  94. package/docs/guides/DEPLOY_BATCHING.md +1 -1
  95. package/docs/guides/DROIDS_AND_SKILLS.md +1 -1
  96. package/docs/guides/LOCAL_MODELS.md +1 -1
  97. package/docs/guides/MCP_ROUTER.md +1 -1
  98. package/docs/guides/MEMORY.md +2 -2
  99. package/docs/guides/MULTI_MODEL.md +1 -1
  100. package/docs/guides/POLICIES.md +1 -1
  101. package/docs/guides/PROXY.md +47 -4
  102. package/docs/guides/SANDBOX.md +1 -1
  103. package/docs/guides/WORKTREE_WORKFLOW.md +1 -1
  104. package/docs/reference/CLI.md +16 -3
  105. package/docs/reference/CONFIGURATION.md +1 -1
  106. package/docs/reference/FEATURES.md +1 -1
  107. package/package.json +1 -1
  108. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  109. package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
  110. package/templates/hooks/session-end.sh +9 -0
  111. package/templates/hooks/session-start.sh +10 -0
  112. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
@@ -65,6 +65,22 @@ export type ModelPresetId = keyof typeof ModelPresets;
65
65
  * against Anthropic and work with a Claude Max plan via the proxy's OAuth
66
66
  * passthrough; local roles run free on llama.cpp.
67
67
  */
68
+ /** An ordered escalation chain of model ids: index 0 is the primary; later
69
+ * entries are the models to escalate to on failure (consumed in S5). */
70
+ export type ModelChain = string[];
71
+ /** A lifecycle phase a task turn runs in. `reflect` is used by the GEPA reflect
72
+ * phase (S6); `fallback` is the last-resort model. */
73
+ export type Phase = 'plan' | 'execute' | 'review' | 'reflect' | 'fallback';
74
+ /** Per-phase model chains for one complexity tier. A phase omitted from an
75
+ * explicit PhaseModels tier is *skippable* (see `resolvePhaseChain` allowSkip),
76
+ * which is how trivial/low tiers get near-zero overhead (S4). */
77
+ export interface PhaseModels {
78
+ plan?: ModelChain;
79
+ execute?: ModelChain;
80
+ review?: ModelChain;
81
+ reflect?: ModelChain;
82
+ fallback?: ModelChain;
83
+ }
68
84
  export interface RoutingPreset {
69
85
  id: string;
70
86
  name: string;
@@ -84,26 +100,57 @@ export interface RoutingPreset {
84
100
  * map stays coherent. Consumed by `uap model routing use`, which materializes
85
101
  * it into the router's routingMatrix.
86
102
  */
87
- tiers?: Partial<Record<TaskComplexity, string>>;
103
+ tiers?: Partial<Record<TaskComplexity, string | PhaseModels>>;
88
104
  models: string[];
89
105
  routingStrategy?: string;
90
106
  }
91
107
  export declare const RoutingPresets: Record<string, RoutingPreset>;
92
108
  /**
93
- * Materialize a preset's complexity tiers into the router's routingMatrix
94
- * (single-model-per-tier form). Tiers absent from the preset are omitted, so
95
- * the router falls back to the executor role for them coherent by default.
96
- * Exported + pure for testing and for `uap model routing use`.
109
+ * Resolve the ordered model chain for a (complexity, phase) pair. PURE.
110
+ * - string tier → it IS the execute model: `execute`→[string], other phases →
111
+ * the role-model (single-element chain), preserving legacy behavior.
112
+ * - PhaseModels → the phase's chain, or (when the phase is omitted) the
113
+ * role-model fallback — unless `allowSkip`, which returns [] so callers can
114
+ * treat the phase as skipped (S4 effort dial).
115
+ * - no tier → the role-model (single-element chain).
116
+ */
117
+ export declare function resolvePhaseChain(preset: RoutingPreset, opts: {
118
+ complexity?: TaskComplexity;
119
+ phase: Phase;
120
+ allowSkip?: boolean;
121
+ }): ModelChain;
122
+ /**
123
+ * LEGACY COMPATIBILITY SHIM (Q4). Materialize a preset's complexity tiers into
124
+ * router.ts's single-model routingMatrix. String tiers pass through; PhaseModels
125
+ * tiers contribute their EXECUTE primary (losing the per-phase chain). This is
126
+ * DERIVED from the canonical per-phase source (resolvePhaseChain /
127
+ * selectPhaseModel); new code should select through those, not this flat matrix.
128
+ * Retained so router.ts's existing routingMatrix path keeps working. Pure.
97
129
  */
98
130
  export declare function tiersToRoutingMatrix(preset: RoutingPreset): Record<string, string> | undefined;
99
131
  /**
100
- * Resolve the model for a (complexity, role) pair against a preset: the
101
- * complexity tier wins for the execution path; otherwise the role model.
102
- * Pure — the single source of truth for "which model does this task get".
132
+ * Resolve the single model for a (complexity, role/phase) pair against a
133
+ * preset. Returns the primary of the resolved phase chain. Pure — the source
134
+ * of truth for "which model does this task get". Back-compat: `{complexity,
135
+ * role:'executor'}` on a string tier returns that tier model, exactly as before.
103
136
  */
104
137
  export declare function resolvePresetModel(preset: RoutingPreset, opts: {
105
138
  complexity?: TaskComplexity;
106
139
  role?: keyof RoutingPreset['roles'];
140
+ phase?: Phase;
141
+ }): string;
142
+ /**
143
+ * CANONICAL per-phase model selector (Q4). `resolvePhaseChain` is the single
144
+ * source of truth for "which model does this (tier, phase) get"; this returns
145
+ * its primary. New code should route model selection through this (or
146
+ * `resolvePhaseChain` for the full escalation chain), NOT through the flattened
147
+ * `tiersToRoutingMatrix` — that matrix is a LEGACY COMPATIBILITY SHIM for
148
+ * router.ts's single-model routingMatrix and loses the per-phase chain. The flat
149
+ * matrix is derived FROM this canonical source, never the other way round.
150
+ */
151
+ export declare function selectPhaseModel(preset: RoutingPreset, opts: {
152
+ complexity?: TaskComplexity;
153
+ phase: Phase;
107
154
  }): string;
108
155
  /**
109
156
  * Compute the `ANTHROPIC_PASSTHROUGH_MODELS` proxy env value for a routing
@@ -126,13 +173,13 @@ export declare const RoleAssignmentSchema: z.ZodObject<{
126
173
  maxTokensPerRequest: z.ZodOptional<z.ZodNumber>;
127
174
  timeout: z.ZodDefault<z.ZodNumber>;
128
175
  }, "strip", z.ZodTypeAny, {
129
- modelId: string;
130
176
  role: "planner" | "executor" | "reviewer" | "fallback";
177
+ modelId: string;
131
178
  timeout: number;
132
179
  maxTokensPerRequest?: number | undefined;
133
180
  }, {
134
- modelId: string;
135
181
  role: "planner" | "executor" | "reviewer" | "fallback";
182
+ modelId: string;
136
183
  maxTokensPerRequest?: number | undefined;
137
184
  timeout?: number | undefined;
138
185
  }>;
@@ -267,6 +314,7 @@ export declare const MultiModelConfigSchema: z.ZodObject<{
267
314
  executor: string;
268
315
  }>]>>>;
269
316
  routingStrategy: z.ZodDefault<z.ZodEnum<["cost-optimized", "performance-first", "balanced", "adaptive"]>>;
317
+ routingPreset: z.ZodOptional<z.ZodString>;
270
318
  plannerSettings: z.ZodOptional<z.ZodObject<{
271
319
  complexityThreshold: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
272
320
  maxPlanningTokens: z.ZodDefault<z.ZodNumber>;
@@ -333,6 +381,7 @@ export declare const MultiModelConfigSchema: z.ZodObject<{
333
381
  planner: string;
334
382
  executor: string;
335
383
  }>> | undefined;
384
+ routingPreset?: string | undefined;
336
385
  plannerSettings?: {
337
386
  complexityThreshold: "low" | "medium" | "high";
338
387
  maxPlanningTokens: number;
@@ -383,6 +432,7 @@ export declare const MultiModelConfigSchema: z.ZodObject<{
383
432
  executor: string;
384
433
  }>> | undefined;
385
434
  routingStrategy?: "balanced" | "performance-first" | "cost-optimized" | "adaptive" | undefined;
435
+ routingPreset?: string | undefined;
386
436
  plannerSettings?: {
387
437
  complexityThreshold?: "low" | "medium" | "high" | undefined;
388
438
  maxPlanningTokens?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
@@ -286,6 +286,50 @@ export const RoutingPresets = {
286
286
  models: ['sonnet-5', 'opus-4.8', 'qwen36-a3b'],
287
287
  routingStrategy: 'balanced',
288
288
  },
289
+ 'adaptive-tiered': {
290
+ id: 'adaptive-tiered',
291
+ name: 'Adaptive per-phase (complexity × plan/execute/review escalation)',
292
+ description: 'Per-phase model chains that escalate on failure. Low-tier work skips ' +
293
+ 'plan+review for near-zero overhead; high/critical add planning, a distinct ' +
294
+ 'reviewer, a reflect model, and per-phase escalation. Execute local→cloud, ' +
295
+ 'fall back to Opus. Requires the per-phase resolvers (resolvePhaseChain).',
296
+ roles: {
297
+ planner: 'sonnet-5',
298
+ executor: 'qwen36-a3b',
299
+ reviewer: 'sonnet-5',
300
+ fallback: 'opus-4.8',
301
+ },
302
+ tiers: {
303
+ // trivial folds to low for routing; low omits plan+review → they are
304
+ // skipped (overhead control), execute escalates local→cloud.
305
+ low: { execute: ['qwen36-a3b', 'sonnet-5'], fallback: ['sonnet-5'] },
306
+ medium: {
307
+ plan: ['sonnet-5'],
308
+ execute: ['sonnet-5', 'opus-4.8'],
309
+ review: ['sonnet-5'],
310
+ fallback: ['opus-4.8'],
311
+ },
312
+ high: {
313
+ plan: ['sonnet-5', 'opus-4.8'],
314
+ // execute primary is sonnet (not local qwen): hard work should not START
315
+ // on the weakest model, and it keeps the flattened matrix monotonic
316
+ // (medium→sonnet, high→sonnet) rather than inverting to qwen (review C3).
317
+ execute: ['sonnet-5', 'opus-4.8'],
318
+ review: ['sonnet-5', 'opus-4.8'],
319
+ reflect: ['opus-4.8'],
320
+ fallback: ['opus-4.8'],
321
+ },
322
+ critical: {
323
+ plan: ['opus-4.8'],
324
+ execute: ['sonnet-5', 'opus-4.8'],
325
+ review: ['opus-4.8'],
326
+ reflect: ['opus-4.8'],
327
+ fallback: ['opus-4.8'],
328
+ },
329
+ },
330
+ models: ['fable-5', 'qwen36-a3b', 'haiku-4.5', 'sonnet-5', 'opus-4.8'],
331
+ routingStrategy: 'adaptive',
332
+ },
289
333
  };
290
334
  /**
291
335
  * Materialize a preset's complexity tiers into the router's routingMatrix
@@ -293,26 +337,91 @@ export const RoutingPresets = {
293
337
  * the router falls back to the executor role for them — coherent by default.
294
338
  * Exported + pure for testing and for `uap model routing use`.
295
339
  */
340
+ /** Map a lifecycle phase to the closest lifecycle role (role-model fallback). */
341
+ const PHASE_TO_ROLE = {
342
+ plan: 'planner',
343
+ execute: 'executor',
344
+ review: 'reviewer',
345
+ reflect: 'reviewer',
346
+ fallback: 'fallback',
347
+ };
348
+ /** Map a lifecycle role to its phase (for role→phase resolution). */
349
+ const ROLE_TO_PHASE = {
350
+ planner: 'plan',
351
+ executor: 'execute',
352
+ reviewer: 'review',
353
+ fallback: 'fallback',
354
+ };
355
+ /**
356
+ * Resolve the ordered model chain for a (complexity, phase) pair. PURE.
357
+ * - string tier → it IS the execute model: `execute`→[string], other phases →
358
+ * the role-model (single-element chain), preserving legacy behavior.
359
+ * - PhaseModels → the phase's chain, or (when the phase is omitted) the
360
+ * role-model fallback — unless `allowSkip`, which returns [] so callers can
361
+ * treat the phase as skipped (S4 effort dial).
362
+ * - no tier → the role-model (single-element chain).
363
+ */
364
+ export function resolvePhaseChain(preset, opts) {
365
+ const { complexity, phase, allowSkip } = opts;
366
+ const roleModel = preset.roles[PHASE_TO_ROLE[phase]];
367
+ const tier = complexity ? preset.tiers?.[complexity] : undefined;
368
+ if (tier === undefined)
369
+ return [roleModel];
370
+ if (typeof tier === 'string') {
371
+ return phase === 'execute' ? [tier] : [roleModel];
372
+ }
373
+ const chain = tier[phase];
374
+ if (chain && chain.length > 0)
375
+ return [...chain];
376
+ return allowSkip ? [] : [roleModel];
377
+ }
378
+ /**
379
+ * LEGACY COMPATIBILITY SHIM (Q4). Materialize a preset's complexity tiers into
380
+ * router.ts's single-model routingMatrix. String tiers pass through; PhaseModels
381
+ * tiers contribute their EXECUTE primary (losing the per-phase chain). This is
382
+ * DERIVED from the canonical per-phase source (resolvePhaseChain /
383
+ * selectPhaseModel); new code should select through those, not this flat matrix.
384
+ * Retained so router.ts's existing routingMatrix path keeps working. Pure.
385
+ */
296
386
  export function tiersToRoutingMatrix(preset) {
297
387
  if (!preset.tiers)
298
388
  return undefined;
299
389
  const matrix = {};
300
- for (const [complexity, modelId] of Object.entries(preset.tiers)) {
301
- if (modelId)
302
- matrix[complexity] = modelId;
390
+ for (const [complexity, value] of Object.entries(preset.tiers)) {
391
+ if (!value)
392
+ continue;
393
+ if (typeof value === 'string') {
394
+ matrix[complexity] = value;
395
+ }
396
+ else if (value.execute && value.execute.length > 0) {
397
+ matrix[complexity] = value.execute[0];
398
+ }
303
399
  }
304
400
  return Object.keys(matrix).length > 0 ? matrix : undefined;
305
401
  }
306
402
  /**
307
- * Resolve the model for a (complexity, role) pair against a preset: the
308
- * complexity tier wins for the execution path; otherwise the role model.
309
- * Pure — the single source of truth for "which model does this task get".
403
+ * Resolve the single model for a (complexity, role/phase) pair against a
404
+ * preset. Returns the primary of the resolved phase chain. Pure — the source
405
+ * of truth for "which model does this task get". Back-compat: `{complexity,
406
+ * role:'executor'}` on a string tier returns that tier model, exactly as before.
310
407
  */
311
408
  export function resolvePresetModel(preset, opts) {
312
- const { complexity, role = 'executor' } = opts;
313
- if (complexity && preset.tiers?.[complexity])
314
- return preset.tiers[complexity];
315
- return preset.roles[role];
409
+ const { complexity, role = 'executor', phase } = opts;
410
+ const resolvedPhase = phase ?? ROLE_TO_PHASE[role];
411
+ const chain = resolvePhaseChain(preset, { complexity, phase: resolvedPhase });
412
+ return chain[0] ?? preset.roles[role];
413
+ }
414
+ /**
415
+ * CANONICAL per-phase model selector (Q4). `resolvePhaseChain` is the single
416
+ * source of truth for "which model does this (tier, phase) get"; this returns
417
+ * its primary. New code should route model selection through this (or
418
+ * `resolvePhaseChain` for the full escalation chain), NOT through the flattened
419
+ * `tiersToRoutingMatrix` — that matrix is a LEGACY COMPATIBILITY SHIM for
420
+ * router.ts's single-model routingMatrix and loses the per-phase chain. The flat
421
+ * matrix is derived FROM this canonical source, never the other way round.
422
+ */
423
+ export function selectPhaseModel(preset, opts) {
424
+ return resolvePhaseChain(preset, opts)[0] ?? preset.roles.executor;
316
425
  }
317
426
  /**
318
427
  * Compute the `ANTHROPIC_PASSTHROUGH_MODELS` proxy env value for a routing
@@ -388,7 +497,10 @@ export const MultiModelConfigSchema = z.object({
388
497
  fallbackThreshold: z.number().default(3),
389
498
  })
390
499
  .optional(),
391
- // Custom routing matrix override
500
+ // Custom routing matrix (per-complexity model). NOTE: this is a FALLBACK —
501
+ // when `routingPreset` is set and resolvable, the router selects from the
502
+ // canonical per-phase source (resolvePhaseChain) and this matrix is ignored
503
+ // for selection (it is retained for legacy configs and display).
392
504
  routingMatrix: z
393
505
  .record(z.enum(['low', 'medium', 'high', 'critical']), z.union([
394
506
  z.string(), // new: one model id for this complexity tier
@@ -404,6 +516,11 @@ export const MultiModelConfigSchema = z.object({
404
516
  'adaptive', // Learn from task results
405
517
  ])
406
518
  .default('balanced'),
519
+ // Q4: the source RoutingPreset id. When set and resolvable, the router selects
520
+ // models from the CANONICAL per-phase source (resolvePhaseChain) rather than
521
+ // the flattened routingMatrix — which is demoted to a fallback for configs that
522
+ // predate this field. Persisted by `uap model routing use`.
523
+ routingPreset: z.string().optional(),
407
524
  // Planner-specific settings
408
525
  plannerSettings: z
409
526
  .object({
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Tunable prompts (S8 — MIPRO-style instruction optimization).
3
+ *
4
+ * UAP already has a full DSPy/MIPRO-shaped compiler (`uap tune`: GP-BO + LLM
5
+ * tuner over a quality metric with held-out guards). It optimizes FLAGS. This
6
+ * module widens the search space to PROMPTS: named prompt fragments, each with
7
+ * a small set of candidate variants the tuner may select among — so the same
8
+ * model gives better results because its instructions were compiled, not
9
+ * hand-written.
10
+ *
11
+ * Safety: fragments encoding hard rules (output contract, autonomy guardrails)
12
+ * are marked `frozen` — the optimizer can never mutate them, so tuning can
13
+ * improve phrasing without eroding a gate's own instructions. Pure + testable;
14
+ * wiring into defaultPromptBuilder and the tuner's proposer is the follow-up.
15
+ */
16
+ export interface PromptVariant {
17
+ id: string;
18
+ text: string;
19
+ }
20
+ export interface TunablePrompt {
21
+ /** Stable fragment id (e.g. 'critic.persona.build'). */
22
+ id: string;
23
+ /** Human description of what the fragment steers. */
24
+ description: string;
25
+ /** Candidate variants; index 0 is the canonical default. */
26
+ variants: PromptVariant[];
27
+ /** When true, the optimizer must NOT change this fragment (safety-critical). */
28
+ frozen: boolean;
29
+ }
30
+ /**
31
+ * The tunable-prompt catalog. Frozen fragments (output contract, autonomy
32
+ * guardrails) carry a single canonical variant and are never mutated. Only
33
+ * non-frozen fragments expose multiple variants for the tuner to choose.
34
+ */
35
+ export declare const TUNABLE_PROMPTS: Record<string, TunablePrompt>;
36
+ /** True if a fragment is frozen (optimizer must not mutate it). */
37
+ export declare function isFrozen(fragmentId: string): boolean;
38
+ /**
39
+ * Resolve the active variant text for a fragment given a tuning selection map
40
+ * (fragmentId → variantId). Frozen fragments ALWAYS return their canonical
41
+ * variant regardless of the selection (safety). Unknown fragment/variant falls
42
+ * back to the canonical/default. Pure.
43
+ */
44
+ export declare function resolvePromptVariant(fragmentId: string, selection?: Record<string, string>): string;
45
+ /**
46
+ * The optimizer's search space: only NON-frozen fragments, each with its
47
+ * selectable variant ids. Frozen fragments are excluded so they can never be
48
+ * proposed for mutation.
49
+ */
50
+ export declare function tunablePromptSpace(): Array<{
51
+ fragmentId: string;
52
+ variantIds: string[];
53
+ }>;
54
+ /** A synthetic enum tuning dimension for one non-frozen prompt fragment — the
55
+ * adapter shape the GP-BO / LLM tuner consumes (key + enum values + default),
56
+ * outside the settings-registry-derived TUNABLE_FLAGS catalog. */
57
+ export interface PromptDimension {
58
+ /** Tuner flag key, namespaced: `prompt.<fragmentId>`. */
59
+ key: string;
60
+ fragmentId: string;
61
+ /** Enum domain = the fragment's selectable variant ids. */
62
+ values: string[];
63
+ /** Default value = the canonical (index 0) variant id. */
64
+ default: string;
65
+ }
66
+ /**
67
+ * Bind the FROZEN fragments to their real canonical contract text (3a). The
68
+ * frozen fragments ship a `__BIND_FROM__` placeholder to keep them out of the
69
+ * optimizer; the prompt-builder wiring MUST pass the real convergence-loop
70
+ * OUTPUT_CONTRACT / AUTONOMY_CONTRACT here so the emitted prompt uses the actual
71
+ * file-emission contract the applier depends on (arch review's highest concern).
72
+ * Pure — returns a fragmentId→text binding map.
73
+ */
74
+ export declare function bindFrozenFragments(contracts: {
75
+ outputContract: string;
76
+ autonomyGuardrails: string;
77
+ }): Record<string, string>;
78
+ /**
79
+ * Resolve a fragment's text, preferring a FROZEN binding when one is supplied.
80
+ * Frozen fragments resolve to their bound canonical contract (from
81
+ * bindFrozenFragments); non-frozen fragments resolve to the optimizer-selected
82
+ * variant. This is the single entry point the prompt-builder should call. Pure.
83
+ */
84
+ export declare function resolveBoundVariant(fragmentId: string, selection?: Record<string, string>, bindings?: Record<string, string>): string;
85
+ /** One enum dimension per NON-frozen fragment (frozen ones are never proposed). */
86
+ export declare function promptDimensions(): PromptDimension[];
87
+ /**
88
+ * Extract a `fragmentId → variantId` selection from a tuner config, reading only
89
+ * the `prompt.*` keys and ignoring unknown/invalid variant ids. The result feeds
90
+ * resolvePromptVariant, so the optimizer's choices reach the PromptBuilder. Pure.
91
+ */
92
+ export declare function promptSelectionFromConfig(config: Record<string, unknown>): Record<string, string>;
93
+ //# sourceMappingURL=prompt-variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-variants.d.ts","sourceRoot":"","sources":["../../src/self-tuning/prompt-variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA0CzD,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACrC,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAIxF;AAED;;kEAEkE;AAClE,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKzB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACtC,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,MAAM,CAKR;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAOpD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOjG"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Tunable prompts (S8 — MIPRO-style instruction optimization).
3
+ *
4
+ * UAP already has a full DSPy/MIPRO-shaped compiler (`uap tune`: GP-BO + LLM
5
+ * tuner over a quality metric with held-out guards). It optimizes FLAGS. This
6
+ * module widens the search space to PROMPTS: named prompt fragments, each with
7
+ * a small set of candidate variants the tuner may select among — so the same
8
+ * model gives better results because its instructions were compiled, not
9
+ * hand-written.
10
+ *
11
+ * Safety: fragments encoding hard rules (output contract, autonomy guardrails)
12
+ * are marked `frozen` — the optimizer can never mutate them, so tuning can
13
+ * improve phrasing without eroding a gate's own instructions. Pure + testable;
14
+ * wiring into defaultPromptBuilder and the tuner's proposer is the follow-up.
15
+ */
16
+ /**
17
+ * The tunable-prompt catalog. Frozen fragments (output contract, autonomy
18
+ * guardrails) carry a single canonical variant and are never mutated. Only
19
+ * non-frozen fragments expose multiple variants for the tuner to choose.
20
+ */
21
+ export const TUNABLE_PROMPTS = {
22
+ 'executor.tone': {
23
+ id: 'executor.tone',
24
+ description: 'Framing of the executor system prompt (non-safety wording).',
25
+ frozen: false,
26
+ variants: [
27
+ { id: 'default', text: 'You are an expert engineer. Make the change and stop when the gates pass.' },
28
+ { id: 'terse', text: 'Engineer. Change code to pass the gates. No commentary.' },
29
+ { id: 'stepwise', text: 'You are a careful engineer. Work in small verified steps until the gates pass.' },
30
+ ],
31
+ },
32
+ 'critic.lead': {
33
+ id: 'critic.lead',
34
+ description: 'Lead-in phrasing for the structured critic repair plan.',
35
+ frozen: false,
36
+ variants: [
37
+ { id: 'default', text: 'Analyze the failure and produce a numbered, file-scoped fix list.' },
38
+ { id: 'rootcause', text: 'Identify the ROOT cause first, then the minimal fix for each failing gate.' },
39
+ ],
40
+ },
41
+ // FROZEN fragments carry a NON-AUTHORITATIVE placeholder, NOT the real
42
+ // contract text. The wiring PR MUST bind these to the canonical constants in
43
+ // convergence-loop.ts (OUTPUT_CONTRACT / AUTONOMY_CONTRACT) — the applier
44
+ // parses the real ```file:path``` format, so shipping divergent text here
45
+ // would be a delivery-critical regression. They exist only to keep these
46
+ // fragments OUT of the optimizer's search space (see tunablePromptSpace).
47
+ 'output.contract': {
48
+ id: 'output.contract',
49
+ description: 'File-emission output contract — hard rule, FROZEN. Bind from convergence-loop OUTPUT_CONTRACT.',
50
+ frozen: true,
51
+ variants: [
52
+ { id: 'canonical', text: '__BIND_FROM__ convergence-loop.OUTPUT_CONTRACT (never optimized)' },
53
+ ],
54
+ },
55
+ 'autonomy.guardrails': {
56
+ id: 'autonomy.guardrails',
57
+ description: 'Autonomy/safety guardrails — hard rule, FROZEN. Bind from convergence-loop AUTONOMY_CONTRACT.',
58
+ frozen: true,
59
+ variants: [
60
+ { id: 'canonical', text: '__BIND_FROM__ convergence-loop.AUTONOMY_CONTRACT (never optimized)' },
61
+ ],
62
+ },
63
+ };
64
+ /** True if a fragment is frozen (optimizer must not mutate it). */
65
+ export function isFrozen(fragmentId) {
66
+ return TUNABLE_PROMPTS[fragmentId]?.frozen ?? false;
67
+ }
68
+ /**
69
+ * Resolve the active variant text for a fragment given a tuning selection map
70
+ * (fragmentId → variantId). Frozen fragments ALWAYS return their canonical
71
+ * variant regardless of the selection (safety). Unknown fragment/variant falls
72
+ * back to the canonical/default. Pure.
73
+ */
74
+ export function resolvePromptVariant(fragmentId, selection = {}) {
75
+ const frag = TUNABLE_PROMPTS[fragmentId];
76
+ if (!frag)
77
+ return '';
78
+ if (frag.frozen)
79
+ return frag.variants[0]?.text ?? '';
80
+ const wanted = selection[fragmentId];
81
+ const chosen = (wanted && frag.variants.find((v) => v.id === wanted)) || frag.variants[0];
82
+ return chosen?.text ?? '';
83
+ }
84
+ /**
85
+ * The optimizer's search space: only NON-frozen fragments, each with its
86
+ * selectable variant ids. Frozen fragments are excluded so they can never be
87
+ * proposed for mutation.
88
+ */
89
+ export function tunablePromptSpace() {
90
+ return Object.values(TUNABLE_PROMPTS)
91
+ .filter((f) => !f.frozen)
92
+ .map((f) => ({ fragmentId: f.id, variantIds: f.variants.map((v) => v.id) }));
93
+ }
94
+ /**
95
+ * Bind the FROZEN fragments to their real canonical contract text (3a). The
96
+ * frozen fragments ship a `__BIND_FROM__` placeholder to keep them out of the
97
+ * optimizer; the prompt-builder wiring MUST pass the real convergence-loop
98
+ * OUTPUT_CONTRACT / AUTONOMY_CONTRACT here so the emitted prompt uses the actual
99
+ * file-emission contract the applier depends on (arch review's highest concern).
100
+ * Pure — returns a fragmentId→text binding map.
101
+ */
102
+ export function bindFrozenFragments(contracts) {
103
+ return {
104
+ 'output.contract': contracts.outputContract,
105
+ 'autonomy.guardrails': contracts.autonomyGuardrails,
106
+ };
107
+ }
108
+ /**
109
+ * Resolve a fragment's text, preferring a FROZEN binding when one is supplied.
110
+ * Frozen fragments resolve to their bound canonical contract (from
111
+ * bindFrozenFragments); non-frozen fragments resolve to the optimizer-selected
112
+ * variant. This is the single entry point the prompt-builder should call. Pure.
113
+ */
114
+ export function resolveBoundVariant(fragmentId, selection = {}, bindings = {}) {
115
+ if (isFrozen(fragmentId) && typeof bindings[fragmentId] === 'string') {
116
+ return bindings[fragmentId];
117
+ }
118
+ return resolvePromptVariant(fragmentId, selection);
119
+ }
120
+ /** One enum dimension per NON-frozen fragment (frozen ones are never proposed). */
121
+ export function promptDimensions() {
122
+ return tunablePromptSpace().map((s) => ({
123
+ key: `prompt.${s.fragmentId}`,
124
+ fragmentId: s.fragmentId,
125
+ values: s.variantIds,
126
+ default: s.variantIds[0],
127
+ }));
128
+ }
129
+ /**
130
+ * Extract a `fragmentId → variantId` selection from a tuner config, reading only
131
+ * the `prompt.*` keys and ignoring unknown/invalid variant ids. The result feeds
132
+ * resolvePromptVariant, so the optimizer's choices reach the PromptBuilder. Pure.
133
+ */
134
+ export function promptSelectionFromConfig(config) {
135
+ const sel = {};
136
+ for (const dim of promptDimensions()) {
137
+ const v = config[dim.key];
138
+ if (typeof v === 'string' && dim.values.includes(v))
139
+ sel[dim.fragmentId] = v;
140
+ }
141
+ return sel;
142
+ }
143
+ //# sourceMappingURL=prompt-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-variants.js","sourceRoot":"","sources":["../../src/self-tuning/prompt-variants.ts"],"names":[],"mappings":"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"}