@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 CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Tests](https://img.shields.io/badge/tests-450%2B_suites-brightgreen)](#testing)
10
10
  [![License](https://img.shields.io/badge/license-MIT-black)](LICENSE)
11
11
 
12
- `v1.224.0` · 367 TypeScript modules across 26 subsystems · 459 vitest suites (+ a ~1,200-test Python enforcer/proxy suite) · 9 agent harnesses
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 · policy │
114
- │ quality · plan · fidelity · interaction · task · coord · │
115
- │ droids · model · mcp-router · proxy · orchestrator · │
116
- │ self-harness · tune · design · principles · bench … │
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` v1.224.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.
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. Now it is data.
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 natural health source for the monitor service
77
- to consult before restarting anything, and for CI to refuse a deploy into a
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). This dataset is the moat: nobody else has UAP's decision-outcome
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 genuinely differ and "cross-stack
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. Honest ordering, approximate clock.
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, and it is honest about what that means:
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 loud: a missing, corrupt, mis-versioned, or out-of-range file
113
- throws `SupervisorError` and the supervisor refuses to run — it never invents
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 ride the same plumbing.
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 refuses others loudly — a custom noul question
93
- must not silently inherit the escalation vocabulary. The trained head is
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "2.11.0",
3
+ "version": "2.11.1",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",