@miller-tech/uap 2.11.0 → 2.11.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 +7 -6
- package/docs/INDEX.md +6 -1
- package/docs/guides/CAPACITY_POLICY.md +5 -4
- package/docs/plans/system1-uplift-2026-09-18.md +1 -2
- package/docs/reference/automode-risk.md +1 -1
- package/docs/reference/evidence-bound-ship.md +3 -2
- package/docs/reference/semantic-supervisor.md +3 -3
- package/docs/reference/system1-classifier.md +4 -4
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/src/policies/enforcers/__pycache__/expert_review_required.cpython-312.pyc +0 -0
- package/src/policies/enforcers/__pycache__/quality_metrics_gate.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
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](#testing)
|
|
10
10
|
[](LICENSE)
|
|
11
11
|
|
|
12
|
-
`
|
|
12
|
+
`v2.11.0` · 367 TypeScript modules across 26 subsystems · 459 vitest suites (+ a ~1,200-test Python enforcer/proxy suite) · 9 agent harnesses
|
|
13
13
|
|
|
14
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
|
|
|
@@ -110,17 +110,18 @@ UAP installs hooks into your agent harness, then mediates every tool call throug
|
|
|
110
110
|
▼
|
|
111
111
|
┌─────────────────────────────────────────────────────────────┐
|
|
112
112
|
│ UAP CLI (uap) │
|
|
113
|
-
│ setup · memory · deliver · verify · worktree ·
|
|
114
|
-
│ quality · plan · fidelity · interaction · task ·
|
|
115
|
-
│ droids · model · mcp-router · proxy ·
|
|
116
|
-
│ self-harness · tune · design · principles ·
|
|
113
|
+
│ setup · memory · deliver · verify · review · worktree · │
|
|
114
|
+
│ policy · quality · plan · fidelity · interaction · task · │
|
|
115
|
+
│ coord · droids · model · mcp-router · proxy · supervise · │
|
|
116
|
+
│ orchestrator · self-harness · tune · design · principles · │
|
|
117
|
+
│ bench · doctor · classify … │
|
|
117
118
|
└──┬─────────┬──────────┬──────────┬──────────┬───────────────┘
|
|
118
119
|
▼ ▼ ▼ ▼ ▼
|
|
119
120
|
Memory Policy MCP Router Delivery Coordination
|
|
120
121
|
4 tiers 32 gates compression + verify + deploy batch
|
|
121
122
|
```
|
|
122
123
|
|
|
123
|
-
- **60 CLI commands** across 26 source subsystems (367 TypeScript modules).
|
|
124
|
+
- **60+ CLI commands** across 26 source subsystems (367 TypeScript modules).
|
|
124
125
|
- Deep dive: **[docs/architecture/OVERVIEW.md](docs/architecture/OVERVIEW.md)** · protocol spec: **[docs/architecture/PROTOCOL.md](docs/architecture/PROTOCOL.md)**.
|
|
125
126
|
|
|
126
127
|
---
|
package/docs/INDEX.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UAP Documentation
|
|
2
2
|
|
|
3
|
-
The complete documentation for the **Universal Agent Protocol** (`@miller-tech/uap`
|
|
3
|
+
The complete documentation for the **Universal Agent Protocol** (`@miller-tech/uap` v2.11.0) — the discipline layer that turns a talented-but-unreliable AI coding agent into a dependable member of your software delivery line. 367 TypeScript modules across 26 subsystems, 459 vitest suites plus a ~1,200-test Python enforcer/proxy suite, 60+ CLI command registrations, 32 executable policy enforcers, 9 supported agent harnesses.
|
|
4
4
|
|
|
5
5
|
> **Reviewing the system?** The reverse-engineered, code-verified reference set lives in
|
|
6
6
|
> [`documentation/`](../documentation/architecture.md): architecture, flows, permissions
|
|
@@ -78,6 +78,7 @@ Full map: **[The UAP Delivery Pipeline](guides/DELIVERY_PIPELINE.md)**.
|
|
|
78
78
|
| [Self-Harness](design/SELF_HARNESS.md) | Self-improving harness (shipped as `uap self-harness`): autonomous mine→propose→validate loop over a bounded Mod DSL; cross-model transfer, online mining |
|
|
79
79
|
| [LLM Self-Tuning (analysis)](design/LLM_SELF_TUNING_ANALYSIS.md) | The design behind `uap tune`: quality signal, LLM-guided + Gaussian-process flag search, closed-loop validation, model profiles, real-time adaptation |
|
|
80
80
|
| [Product Naming (analysis)](design/PRODUCT_NAMING.md) | UAP rename candidates: availability sweeps (npm/PyPI/domains), AI-space collision checks, railway-theme shortlist, recommendation. No decision committed; availability data is point-in-time |
|
|
81
|
+
| [ADRs](architecture/adr/) | Architecture decision records: [0001 AutoMode risk floor](architecture/adr/0001-automode-risk-floor.md) (Python heuristic scorer ahead of the TS SYS1 head), [0002 Evidence-bound ship](architecture/adr/0002-evidence-bound-ship.md) (gate evidence bound to the candidate SHA) |
|
|
81
82
|
|
|
82
83
|
## Reference
|
|
83
84
|
|
|
@@ -92,6 +93,10 @@ Full map: **[The UAP Delivery Pipeline](guides/DELIVERY_PIPELINE.md)**.
|
|
|
92
93
|
| [Platforms](reference/PLATFORMS.md) | The 9 supported harnesses + support matrix |
|
|
93
94
|
| [Review Pre-Pass](reference/review-prepass.md) | Deterministic ruleset scanner (`uap review prepass`) that feeds line-anchored findings to the parallel review protocol |
|
|
94
95
|
| [Visual Captures](reference/visual-captures.md) | Before/after capture binding for UI diffs (`uap review captures`) — ship-time gate 7 enforcement |
|
|
96
|
+
| [System-1 Classifier](reference/system1-classifier.md) | `uap classify` — the local, airgap-pure assessment backend (noul/score/choice questions) behind the Wave 1 consumers; thresholds ship as policy config |
|
|
97
|
+
| [Semantic Supervisor](reference/semantic-supervisor.md) | `uap supervise` — watchdog loop for `uap deliver` missions; nine assessment dimensions, deterministic safety-first policy, cooperative STOP only |
|
|
98
|
+
| [AutoMode Risk](reference/automode-risk.md) | Pre-execution tool-call risk classification (`tools/agents/scripts/tool_risk.py`) — advisory only, ahead of the deterministic enforcer floor |
|
|
99
|
+
| [Evidence-Bound Ship](reference/evidence-bound-ship.md) | Ship actions blocked unless `.uap/evidence/<head-sha>.json` proves the gates passed for the exact commit being shipped |
|
|
95
100
|
| [Configuration](reference/CONFIGURATION.md) | All config files and env vars |
|
|
96
101
|
| [**Configuration Reference**](reference/CONFIGURATION_REFERENCE.md) | Every setting `uap config` exposes — what it does, default, and a recommendation (generated from the registry); `uap config list/explain/set/doctor/wizard` ⭐ |
|
|
97
102
|
| [Database Schema](reference/DATABASE_SCHEMA.md) | SQLite databases + Qdrant collections |
|
|
@@ -9,7 +9,8 @@ This generalizes the 2026-09-18 llama.cpp OOM fix: four SIGABRT crashes
|
|
|
9
9
|
happened because a KV-cache budget was resolved against a GPU that also runs
|
|
10
10
|
a desktop, and nothing declared that relationship. The fix held, but the
|
|
11
11
|
*discipline* (declare budget + headroom + restart baseline, watch for
|
|
12
|
-
violations) lived in a commit message
|
|
12
|
+
violations) lived only in a commit message; the capacity policy moves it
|
|
13
|
+
into data.
|
|
13
14
|
|
|
14
15
|
## Policy file
|
|
15
16
|
|
|
@@ -73,9 +74,9 @@ elsewhere should ship their own `config/capacity-policy.json` (project) or
|
|
|
73
74
|
`~/.config/uap/capacity-policy.json` (operator); the resolution order above
|
|
74
75
|
makes the committed file the fallback only inside this repo.
|
|
75
76
|
|
|
76
|
-
`uap doctor --strict` is the
|
|
77
|
-
|
|
78
|
-
degraded host.
|
|
77
|
+
`uap doctor --strict` is the health source the monitor service should
|
|
78
|
+
consult before restarting anything, and CI can use it to refuse a deploy
|
|
79
|
+
into a degraded host.
|
|
79
80
|
|
|
80
81
|
## Decisions
|
|
81
82
|
|
|
@@ -145,8 +145,7 @@ policy code.
|
|
|
145
145
|
- **Training data:** UAP's own telemetry — `project_telemetry` events, gate
|
|
146
146
|
decisions and outcomes, escalation results, stuck/attractor events,
|
|
147
147
|
deliver-mission histories, and incident records (e.g., the 2026-09-18 OOM
|
|
148
|
-
timeline).
|
|
149
|
-
pairs.
|
|
148
|
+
timeline). Nobody else has UAP's decision-outcome pairs.
|
|
150
149
|
- **Model form (v1):** small, CPU-fast, calibrated. Start with an embedding +
|
|
151
150
|
calibrated head (nomic-embeddings already deployed; logistic/isotonic on
|
|
152
151
|
top) for noul/score/choice questions. Evaluate against a distilled small
|
|
@@ -21,7 +21,7 @@ This is the Python-side calibrated heuristic floor for AutoMode. Its
|
|
|
21
21
|
vocabulary is *inspired by* the unmerged TypeScript SYS1 baseline
|
|
22
22
|
(`src/classify/baseline.ts` on `feature/301-sys1-classifier`) — not ported:
|
|
23
23
|
the TS baseline scores prose state descriptions, this scorer parses shell
|
|
24
|
-
structure, so the domains and machinery
|
|
24
|
+
structure, so the domains and machinery differ and "cross-stack
|
|
25
25
|
parity" would overclaim. The promotion path is a **Python-resident head (or
|
|
26
26
|
sidecar) behind the same `classify_tool_call` contract**, gated by the
|
|
27
27
|
calibration harness at held-out destructive recall 1.0 — when it lands, the
|
|
@@ -75,7 +75,8 @@ local record, never committed payload.
|
|
|
75
75
|
|
|
76
76
|
Per-gate `at` is **reconstructed**, not measured: rungs carry durations but no
|
|
77
77
|
wall-clock finish time, so a gate's stamp is the recording time minus the
|
|
78
|
-
durations of the gates that ran after it.
|
|
78
|
+
durations of the gates that ran after it. Ordering is preserved; timestamps
|
|
79
|
+
are approximate.
|
|
79
80
|
|
|
80
81
|
## Forgery resistance
|
|
81
82
|
|
|
@@ -88,7 +89,7 @@ refused. The deliver CLI writes artifacts; the agent cannot. The trust root is
|
|
|
88
89
|
|
|
89
90
|
## Scope & limitations
|
|
90
91
|
|
|
91
|
-
This gate is a **local** perimeter,
|
|
92
|
+
This gate is a **local** perimeter, with the following limits:
|
|
92
93
|
|
|
93
94
|
- **Enforcement fires only on ship actions routed through the local policy
|
|
94
95
|
chain.** A merge pressed in the GitHub web UI, or a push from a machine
|
|
@@ -109,9 +109,9 @@ Thresholds ship reviewed in `config/supervise-policy.json`:
|
|
|
109
109
|
"classifierConfidenceMin": 0.7, "classifierTau": 0.6, "maxVerify": 3 }
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
Loading is
|
|
113
|
-
throws `SupervisorError` and the supervisor refuses to run — it never
|
|
114
|
-
defaults. `UAP_SUPERVISE_POLICY` points at an alternate policy file (tests,
|
|
112
|
+
Loading is strict: a missing, corrupt, mis-versioned, or out-of-range file
|
|
113
|
+
throws `SupervisorError` and the supervisor refuses to run — it never
|
|
114
|
+
invents defaults. `UAP_SUPERVISE_POLICY` points at an alternate policy file (tests,
|
|
115
115
|
staged rollouts).
|
|
116
116
|
|
|
117
117
|
## Decisions
|
|
@@ -20,7 +20,7 @@ fixtures work unchanged:
|
|
|
20
20
|
| `action-class` | choice | `proceed` / `verify-first` / `escalate` / `stop` |
|
|
21
21
|
|
|
22
22
|
v1 ships **one dimension end-to-end** (escalation risk) per the plan's scope
|
|
23
|
-
discipline; the other two questions
|
|
23
|
+
discipline; the other two questions use the same plumbing.
|
|
24
24
|
|
|
25
25
|
## CLI
|
|
26
26
|
|
|
@@ -89,9 +89,9 @@ the thresholds that came from it.
|
|
|
89
89
|
- **One GPU/CPU probe budget.** Assessments are synchronous and batched per
|
|
90
90
|
call; Wave 1 consumers batch questions per state.
|
|
91
91
|
- **The baseline is question-scoped, not question-blind.** It answers only
|
|
92
|
-
the built-in questions and
|
|
93
|
-
must not silently inherit the escalation vocabulary. The trained
|
|
94
|
-
the generalizer.
|
|
92
|
+
the built-in questions and rejects others with an error — a custom noul
|
|
93
|
+
question must not silently inherit the escalation vocabulary. The trained
|
|
94
|
+
head is the generalizer.
|
|
95
95
|
- **Kinship:** `src/models/complexity.ts` runs the same
|
|
96
96
|
heuristic-now-model-behind-the-same-interface-later play for task
|
|
97
97
|
complexity. The two should converge deliberately when the trained head
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|