@miller-tech/uap 1.92.0 → 1.93.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.
- package/README.md +46 -44
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +23 -0
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/wizard-config.d.ts +2 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +13 -0
- package/dist/cli/wizard-config.js.map +1 -1
- package/docs/INDEX.md +28 -7
- package/docs/architecture/OVERVIEW.md +106 -17
- package/docs/architecture/PROTOCOL.md +31 -13
- package/docs/design/SELF_HARNESS.md +8 -0
- package/docs/design/UAP_REACTOR.md +17 -2
- package/docs/getting-started/CONFIGURATION.md +16 -7
- package/docs/getting-started/INSTALLATION.md +37 -18
- package/docs/getting-started/QUICKSTART.md +20 -14
- package/docs/guides/AUTOMATIC.md +9 -1
- package/docs/guides/AUTOMATIC_FEATURES.md +7 -1
- package/docs/guides/COORDINATION.md +5 -2
- package/docs/guides/DELIVER.md +3 -1
- package/docs/guides/DELIVERY_PIPELINE.md +122 -0
- package/docs/guides/DEPLOY_BATCHING.md +13 -4
- package/docs/guides/DROIDS_AND_SKILLS.md +13 -3
- package/docs/guides/LOCAL_MODELS.md +22 -7
- package/docs/guides/MCP_ROUTER.md +3 -1
- package/docs/guides/MEMORY.md +9 -4
- package/docs/guides/MULTI_MODEL.md +19 -3
- package/docs/guides/POLICIES.md +4 -2
- package/docs/guides/QWEN36_LLAMACPP.md +12 -3
- package/docs/guides/WORKTREE_WORKFLOW.md +6 -2
- package/docs/integrations/MCP_ROUTER.md +12 -3
- package/docs/integrations/RTK.md +15 -4
- package/docs/reference/API.md +9 -2
- package/docs/reference/CLI.md +13 -7
- package/docs/reference/CONFIGURATION.md +9 -3
- package/docs/reference/DATABASE_SCHEMA.md +13 -6
- package/docs/reference/FEATURES.md +135 -38
- package/docs/reference/PATTERNS.md +28 -12
- package/docs/reference/PLATFORMS.md +12 -5
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
package/README.md
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
# Universal Agent Protocol (UAP)
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**The discipline layer that turns a talented-but-unreliable AI coding agent into a dependable member of your software delivery line.**
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@miller-tech/uap)
|
|
8
8
|
[](https://nodejs.org)
|
|
9
|
-
[](#testing)
|
|
10
10
|
[](LICENSE)
|
|
11
11
|
|
|
12
|
-
`v1.
|
|
12
|
+
`v1.93.1` · 220+ modules · 170+ test suites · 9 agent harnesses
|
|
13
13
|
|
|
14
|
-
[Quickstart](#quickstart) · [Why UAP?](#why-uap) · [`uap deliver`](#the-deliver-harness) · [
|
|
14
|
+
[Quickstart](#quickstart) · [Why UAP?](#why-uap) · [The delivery pipeline](docs/guides/DELIVERY_PIPELINE.md) · [`uap deliver`](#the-deliver-harness) · [Docs](docs/INDEX.md)
|
|
15
15
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
@@ -19,19 +19,21 @@
|
|
|
19
19
|
|
|
20
20
|
## Why UAP?
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Shipping software with an AI agent is a lot like running a small factory floor. Intent comes in one end; working, verified, merged code should come out the other. In between are stations — understand the job, set up a bench, build it, **check it actually works**, ship it — and a jam at any one of them quietly ruins everything downstream.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Coding agents are capable but undisciplined line workers. They forget yesterday's shift, grab the wrong tool, build something that *looks* right, stamp it "done" without plugging it in, and trip over the other workers on the floor. That's not a problem you fix by swapping in a smarter model — it's a *process* problem. UAP is the process: it sits **underneath your agent harness** (Claude Code, Factory, Cursor, OpenCode, and more) and puts a station at every point where the line usually breaks — no model change required.
|
|
25
|
+
|
|
26
|
+
| Where the line jams | What UAP puts there | What you get |
|
|
25
27
|
|---|---|---|
|
|
26
|
-
|
|
|
27
|
-
| Tool output floods the context | MCP Router — tool-hiding +
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
28
|
+
| Agent starts every session amnesiac | 4-tier memory with semantic recall + write-gates | It remembers your codebase and past decisions |
|
|
29
|
+
| Tool output floods the context window | MCP Router — tool-hiding + output compression | Up to **~98%** smaller on big tool calls |
|
|
30
|
+
| "Looks right" but doesn't run | `uap deliver` — a loop against your **real** gates | Code that compiles, not a mock-up of it |
|
|
31
|
+
| Agent grades its own homework | Execution/runtime verify + a separate acceptance judge | "Done" means *verified* done |
|
|
32
|
+
| Two agents clobber each other | Worktree isolation + live file coordination | Conflict-free parallel work |
|
|
33
|
+
| "Guidelines" get ignored | Policy gates as executable hooks, not prose | Violations are **blocked**, not politely suggested |
|
|
34
|
+
| Same mistake, every session | Memory promotion + pattern learning | The floor gets better every run |
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
**→ Take the full station-by-station tour: [The UAP Delivery Pipeline](docs/guides/DELIVERY_PIPELINE.md).**
|
|
35
37
|
|
|
36
38
|
---
|
|
37
39
|
|
|
@@ -41,12 +43,12 @@ AI coding agents are capable but undisciplined. They forget everything between s
|
|
|
41
43
|
# Install globally
|
|
42
44
|
npm install -g @miller-tech/uap
|
|
43
45
|
|
|
44
|
-
# One-
|
|
46
|
+
# One friendly, arrow-key guided setup in your project
|
|
45
47
|
cd your-project
|
|
46
48
|
uap setup
|
|
47
49
|
```
|
|
48
50
|
|
|
49
|
-
|
|
51
|
+
`uap setup` walks you through the whole line — memory, patterns, policy gates, model routing, multi-agent coordination, and the verification gates — and wires it into every agent session. Take the defaults and you're one Enter away from a disciplined agent.
|
|
50
52
|
|
|
51
53
|
```bash
|
|
52
54
|
uap memory query "how did we handle auth last time?" # semantic recall
|
|
@@ -58,7 +60,7 @@ uap dashboard overview # live task / agent / me
|
|
|
58
60
|
|
|
59
61
|
## The `deliver` harness
|
|
60
62
|
|
|
61
|
-
`uap deliver`
|
|
63
|
+
The two stations that matter most are **Build** and **QC**, and `uap deliver` owns both. It's a **convergence loop that iterates a model against your project's real completion gates until the work is actually delivered** — build passes, tests pass, lint is clean — not until the model *thinks* it's done.
|
|
62
64
|
|
|
63
65
|
```bash
|
|
64
66
|
uap deliver "implement the password reset flow"
|
|
@@ -66,36 +68,36 @@ uap deliver "implement the password reset flow"
|
|
|
66
68
|
|
|
67
69
|
What happens under the hood:
|
|
68
70
|
|
|
69
|
-
1. **Explore → plan → apply** — the model proposes changes; the applier writes them safely (
|
|
70
|
-
2. **Verify against real gates** — a verifier ladder runs your build, tests, and lint. Nothing is "done" until they're green.
|
|
71
|
-
3. **Critique & iterate** — failures feed back as structured guidance
|
|
72
|
-
4. **
|
|
71
|
+
1. **Explore → plan → apply** — the model proposes changes; the applier writes them safely (existing tests and gate configs are protected from being overwritten).
|
|
72
|
+
2. **Verify against real gates** — a verifier ladder runs your build, tests, and lint, and can *execute* the result (headless browser / vm-dom / child process) to prove it runs. Nothing is "done" until they're green.
|
|
73
|
+
3. **Critique & iterate** — failures feed back as structured guidance and the loop continues, persisting until delivered.
|
|
74
|
+
4. **Generator ≠ evaluator** — the check that signs off is deliberately not the model that wrote the code, so an agent can't confirm its own success.
|
|
73
75
|
5. **Autonomy with a guidance channel** — runs the full mission without stopping to ask, while still accepting operator guidance mid-flight.
|
|
74
76
|
|
|
75
77
|
It works with frontier models *and* local models (llama.cpp / Qwen) served over the Anthropic Messages API. See **[docs/guides/DELIVER.md](docs/guides/DELIVER.md)**.
|
|
76
78
|
|
|
77
79
|
---
|
|
78
80
|
|
|
79
|
-
##
|
|
81
|
+
## The line, station by station
|
|
80
82
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
| Station | The break it prevents | Key machinery |
|
|
84
|
+
|---|---|---|
|
|
85
|
+
| **Intake** | Amnesiac sessions, invented scope | [Memory](docs/guides/MEMORY.md), reactor injection, [DESIGN.md](DESIGN.md) |
|
|
86
|
+
| **Prep / routing** | Wrong approach, wrong-sized model | [Multi-model routing](docs/guides/MULTI_MODEL.md), [patterns](docs/reference/PATTERNS.md), [droids & skills](docs/guides/DROIDS_AND_SKILLS.md) |
|
|
87
|
+
| **Isolation** | Editing `main`, clobbering files | [Worktrees](docs/guides/WORKTREE_WORKFLOW.md), live file coordination, delivery gate |
|
|
88
|
+
| **Build** | Plausible-but-wrong code, stubs, empty output | [`uap deliver`](docs/guides/DELIVER.md), serving-layer recipes, [local-model guardrails](docs/guides/LOCAL_MODELS.md) |
|
|
89
|
+
| **QC / verify** | "Done" on code that never ran | Completion gates, `uap verify`, acceptance judge, generator≠evaluator |
|
|
90
|
+
| **Coordination** | Parallel agents colliding/deadlocking | [Coordination](docs/guides/COORDINATION.md), model-slot concurrency, [deploy batching](docs/guides/DEPLOY_BATCHING.md) |
|
|
91
|
+
| **Shipping** | Regressions, red CI, skipped version bumps | Worktree→PR flow, version gates, CI feedback watcher |
|
|
92
|
+
| **Feedback** | The same mistake every session | Memory promotion, pattern learning, session analysis |
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
Running the whole length of the floor: **policy gates** (24 executable enforcers that *block* non-compliant tool calls — worktree, test, schema-diff, expert-review, delivery-enforcement…) and the **MCP Router** (keeps the context window lean). Full catalog: **[docs/reference/FEATURES.md](docs/reference/FEATURES.md)**.
|
|
93
95
|
|
|
94
96
|
---
|
|
95
97
|
|
|
96
98
|
## Architecture
|
|
97
99
|
|
|
98
|
-
UAP installs hooks into your agent harness, then mediates every tool call through memory, policy, and token-optimization layers.
|
|
100
|
+
UAP installs hooks into your agent harness, then mediates every tool call through the memory, policy, and token-optimization layers — a control booth over the whole line.
|
|
99
101
|
|
|
100
102
|
```
|
|
101
103
|
┌─────────────────────────────────────────────────────────────┐
|
|
@@ -106,32 +108,29 @@ UAP installs hooks into your agent harness, then mediates every tool call throug
|
|
|
106
108
|
▼
|
|
107
109
|
┌─────────────────────────────────────────────────────────────┐
|
|
108
110
|
│ UAP CLI (uap) │
|
|
109
|
-
│ setup · memory · deliver ·
|
|
110
|
-
│ task · droids · model · mcp-router ·
|
|
111
|
+
│ setup · memory · deliver · verify · worktree · policy │
|
|
112
|
+
│ task · coord · droids · model · mcp-router · design … │
|
|
111
113
|
└──┬─────────┬──────────┬──────────┬──────────┬───────────────┘
|
|
112
114
|
▼ ▼ ▼ ▼ ▼
|
|
113
115
|
Memory Policy MCP Router Delivery Coordination
|
|
114
|
-
4 tiers
|
|
116
|
+
4 tiers 24 gates compression + verify + deploy batch
|
|
115
117
|
```
|
|
116
118
|
|
|
117
|
-
- **30+ CLI commands** across 18 source subsystems (
|
|
119
|
+
- **30+ CLI commands** across 18 source subsystems (220+ TypeScript modules).
|
|
118
120
|
- Deep dive: **[docs/architecture/OVERVIEW.md](docs/architecture/OVERVIEW.md)** · protocol spec: **[docs/architecture/PROTOCOL.md](docs/architecture/PROTOCOL.md)**.
|
|
119
121
|
|
|
120
122
|
---
|
|
121
123
|
|
|
122
124
|
## Benchmarks
|
|
123
125
|
|
|
124
|
-
The honest, controlled result (paired A/B — same model, tasks, and seeds,
|
|
125
|
-
toggling only UAP, with confidence intervals): **UAP's accuracy lift depends on
|
|
126
|
-
whether the base agent already self-verifies.**
|
|
126
|
+
The honest, controlled result (paired A/B — same model, tasks, and seeds, toggling only UAP, with confidence intervals): **UAP's accuracy lift depends on whether the base agent already checks its own work at the QC station.**
|
|
127
127
|
|
|
128
128
|
| Baseline | UAP accuracy lift | |
|
|
129
129
|
|---|---|---|
|
|
130
130
|
| Agentic harness (self-tests) | **~0pp** (CI spans 0) | overhead only — value is efficiency/coordination |
|
|
131
131
|
| Non-agentic single-shot model | **+20pp** (78%→98%, 95% CI [+8,+32], p=0.008) | gate loop repairs edge-case bugs |
|
|
132
132
|
|
|
133
|
-
Run it yourself: `uap bench paired --adapter raw --suite benchmarks/suites/real-gate-gated`.
|
|
134
|
-
Full analysis: **[docs/benchmarks/PAIRED_FINDINGS.md](docs/benchmarks/PAIRED_FINDINGS.md)**.
|
|
133
|
+
That's the pipeline thesis in one table: the more an agent skips the QC station on its own, the more UAP's gates are worth. Run it yourself: `uap bench paired --adapter raw --suite benchmarks/suites/real-gate-gated`. Full analysis: **[docs/benchmarks/PAIRED_FINDINGS.md](docs/benchmarks/PAIRED_FINDINGS.md)**.
|
|
135
134
|
|
|
136
135
|
<details><summary>Earlier uncontrolled Terminal-Bench numbers (confounded — see TBench Investigation)</summary>
|
|
137
136
|
|
|
@@ -150,6 +149,8 @@ Methodology, raw runs, and cost analysis: **[docs/benchmarks/](docs/benchmarks/)
|
|
|
150
149
|
|
|
151
150
|
## Supported harnesses
|
|
152
151
|
|
|
152
|
+
Same line, whichever floor you code on.
|
|
153
|
+
|
|
153
154
|
| Harness | Hooks | MCP Router | Policy gates |
|
|
154
155
|
|---|---|---|---|
|
|
155
156
|
| Claude Code | ✅ | ✅ | ✅ |
|
|
@@ -170,6 +171,7 @@ Install into all detected harnesses with `uap hooks install`; audit coverage wit
|
|
|
170
171
|
|
|
171
172
|
| | |
|
|
172
173
|
|---|---|
|
|
174
|
+
| **[The Delivery Pipeline](docs/guides/DELIVERY_PIPELINE.md)** | The station-by-station tour — start here for the big picture |
|
|
173
175
|
| **[Getting Started](docs/getting-started/)** | Installation, quickstart, configuration |
|
|
174
176
|
| **[Guides](docs/guides/)** | deliver, memory, MCP router, worktrees, policies, multi-model, local models |
|
|
175
177
|
| **[Architecture](docs/architecture/)** | System overview + the UAP protocol |
|
|
@@ -186,7 +188,7 @@ Start at the **[documentation index](docs/INDEX.md)**.
|
|
|
186
188
|
```bash
|
|
187
189
|
npm install
|
|
188
190
|
npm run build # TypeScript compile
|
|
189
|
-
npm test # vitest —
|
|
191
|
+
npm test # vitest — 170+ suites
|
|
190
192
|
npm run bench # benchmark suite
|
|
191
193
|
```
|
|
192
194
|
|