@miller-tech/uap 1.36.1 → 1.38.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/README.md CHANGED
@@ -89,7 +89,7 @@ uap setup -p all
89
89
  | Deploy Batching | 1 module | Squash, merge, parallelize deploy actions across agents |
90
90
  | Policy Enforcement | 8 modules | Store, evaluate, and enforce operational policies with audit trail |
91
91
  | Browser | 1 module | Stealth web automation via CloakBrowser (Playwright drop-in) |
92
- | MCP Router | 11 modules | 2-tool meta-router + expert-consultation registry (98% token savings) |
92
+ | MCP Router | 12 modules | 3-tool meta-router (discover/execute/deliver) + expert-consultation registry (98% token savings) |
93
93
  | Models | 10 modules | Multi-model routing, planning, execution, validation, 13 model profiles |
94
94
  | Delivery Harness | 14 modules | `uap deliver`: convergence loop, best-of-N explorer, critic, practice recall, escalation, ideation seeds, HALO tracing, coordination + deploy queueing |
95
95
  | Patterns | 23 patterns | Battle-tested workflows from Terminal-Bench 2.0 |
@@ -295,18 +295,19 @@ await browser.close();
295
295
 
296
296
  ## MCP Router
297
297
 
298
- Replaces N tool definitions with 2 meta-tools for 98% token reduction.
298
+ Replaces N tool definitions with 3 meta-tools for 98% token reduction: `discover_tools`, `execute_tool`, and `deliver` (auto-routes a coding task into the `uap deliver` convergence loop, which classifies complexity and drives a model to verified completion against real gates).
299
299
 
300
- ### Components (10 modules)
300
+ ### Components (11 modules)
301
301
 
302
302
  | Component | File | Purpose |
303
303
  | ----------------- | ------------------------------------- | ------------------------------------------- |
304
- | MCP Server | `src/mcp-router/server.ts` | Exposes `discover_tools` and `execute_tool` |
304
+ | MCP Server | `src/mcp-router/server.ts` | Exposes `discover_tools`, `execute_tool`, `deliver` |
305
305
  | Config Parser | `src/mcp-router/config/parser.ts` | Loads MCP configs from standard paths |
306
306
  | Fuzzy Search | `src/mcp-router/search/fuzzy.ts` | Tool discovery with fuzzy matching |
307
307
  | Client Pool | `src/mcp-router/executor/client.ts` | Manages connections to MCP servers |
308
308
  | Tool Execute | `src/mcp-router/tools/execute.ts` | Tool execution with policy gate |
309
309
  | Tool Discover | `src/mcp-router/tools/discover.ts` | Tool discovery definitions |
310
+ | Tool Deliver | `src/mcp-router/tools/deliver.ts` | Routes a task into `uap deliver` (sandbox-confined subprocess) |
310
311
  | Output Compressor | `src/mcp-router/output-compressor.ts` | Compresses tool output |
311
312
  | Session Stats | `src/mcp-router/session-stats.ts` | Per-tool token consumption tracking |
312
313
 
@@ -322,7 +323,7 @@ Tier 2: ModelRouter -- Assigns optimal model per subtask
322
323
  Tier 3: TaskExecutor -- Executes with validation, dynamic temperature, rate limiting
323
324
  ```
324
325
 
325
- ### Components (10 modules)
326
+ ### Components (11 modules)
326
327
 
327
328
  | Component | File | Purpose |
328
329
  | ------------------ | ---------------------------------- | -------------------------------------------- |
@@ -374,6 +375,7 @@ the model's say-so.
374
375
  9. **Deploy batching** (`--deploy`) — on success, queues a commit of the applied files into the deploy batcher; execute with `uap deploy flush`.
375
376
  10. **`--optimize`** — one switch for every convergence aid: 4 candidates/turn + critic + practices + escalation + ideation + HALO + coordination (deploy stays explicit).
376
377
  11. **Test protection (default)** — pre-existing test/spec files are snapshotted at loop start (case-folded, symlink-alias-aware) and the applier refuses model writes to them, with steering feedback and a prompt warning; test-runner/compiler configs (`vitest.config.*`, `tsconfig*.json`, `jest.config.*`, `pytest.ini`, …) are blocked too, closing gate-rigging by indirection. Protection extends to the spec's **transitive oracle material** — helpers/fixtures/mocks the tests import (by convention or data extension, including through tsconfig path aliases like `@fixtures/*` and `baseUrl` bare imports), quoted fixture paths, reserved missing goldens, and recursive helper chains (the unit under test stays writable). A **runtime integrity guard** hashes every protected file and re-verifies after each gate run: tampering from test code executing during the gates is restored and the gate result discarded. New test files remain allowed. Opt out with `--no-protect-tests`.
378
+ 12. **Mission autonomy (default)** — the loop tells the driven model to complete the *entire* task without stopping to ask questions or pausing between phases (state assumptions and proceed; emit a one-line progress note; don't invent unrequested scope). The real gates remain the arbiter. Opt out per-run with `ConvergenceConfig.autonomous: false`. An **operator-guidance channel** lets you steer a running, unattended mission without stopping it: `--guidance-file <path>` is polled each turn and its text is injected as high-priority guidance — write to the file to redirect, clear it to drop the steer. This complements the execution-level `onIteration` directive channel (stop/escalate/switch-model).
377
379
  12. **Dynamic optimization (default)** — every instruction is classified for complexity (simple / moderate / complex); non-trivial requests automatically get the aids that improve outcomes (moderate → exploration ×3 + critic + practices + HALO + coordination; complex → the full `--optimize` stack). Any explicit aid flag, `--no-auto`, or `UAP_DELIVER_AUTO=0` disables auto mode. Deploy queueing is never auto-enabled.
378
380
 
379
381
  ### Components (14 modules)
@@ -443,6 +445,7 @@ uap deliver "..." --ideate --candidates 4 --deploy
443
445
  | `--optimize` | Enable every convergence aid (deploy excluded) |
444
446
  | `--no-auto` | Disable dynamic optimization (auto-classified aids are the default) |
445
447
  | `--no-protect-tests` | Allow modifying pre-existing test files (protected by default) |
448
+ | `--guidance-file <path>` | Poll this file each turn; steer a running mission without stopping it |
446
449
  | `--endpoint <url>` | Override the model endpoint (OpenAI-compatible `/v1`) |
447
450
  | `--dry-run` / `--json` | Show the plan only / emit machine-readable result |
448
451