@miller-tech/uap 1.47.0 → 1.48.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/dist/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +1 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +19 -0
- package/dist/cli/setup.js.map +1 -1
- package/dist/utils/self-update.d.ts +53 -0
- package/dist/utils/self-update.d.ts.map +1 -0
- package/dist/utils/self-update.js +135 -0
- package/dist/utils/self-update.js.map +1 -0
- package/docs/INDEX.md +2 -2
- package/docs/getting-started/INSTALLATION.md +16 -7
- package/docs/guides/AUTOMATIC_FEATURES.md +14 -0
- package/docs/guides/DELIVER.md +47 -1
- package/docs/reference/CLI.md +23 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
package/docs/guides/DELIVER.md
CHANGED
|
@@ -51,7 +51,46 @@ uap deliver "big refactor across modules" --optimize # enable every aid
|
|
|
51
51
|
uap deliver "trivial typo fix" --no-auto # disable dynamic optimization
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
`--optimize` enables exploration, critic, practices, escalation, ideation, HALO spans, and coordination together.
|
|
54
|
+
`--optimize` enables exploration, critic, practices, escalation, ideation, HALO spans, and coordination together. It also turns on the local **integration** and **deploy-dev** gate tiers (below); the commit/push boundary (`--watch-ci`) stays opt-in.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Tiered validation gates (cheap-first)
|
|
59
|
+
|
|
60
|
+
Real delivery is more than unit tests — it also has to integrate and deploy. `deliver` groups gates into **tiers** and runs them **cheapest-first**, only promoting to the next, more expensive tier once the prior one is green:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
fast → integration → deploy-dev → │ commit │ → ci → deploy-staging → deploy-prod
|
|
64
|
+
└──────── run locally ───────────┘ └──── verified by CI (the watcher) ────┘
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- **`fast`** — build, typecheck, unit tests, lint (the original ladder). Always on.
|
|
68
|
+
- **`integration`** — `test:integration` / `test:e2e` scripts, or a pytest `integration` marker. **Auto-detected and on by default** (like lint); disable with `--no-integration`.
|
|
69
|
+
- **`deploy-dev`** — a local dev deploy + smoke check: brings a `docker compose` stack up (or runs a `deploy:dev` / `smoke` script), health-checks it, then **always tears it down**. Opt-in with `--deploy-dev`. If docker is unavailable the tier is *skipped*, never failed.
|
|
70
|
+
|
|
71
|
+
Because promotion is cheap-first, a turn that fails the build never pays for integration or deploy — the expensive tiers run only once the cheap ones pass.
|
|
72
|
+
|
|
73
|
+
### CI / deploy feedback loop
|
|
74
|
+
|
|
75
|
+
The `ci`, `deploy-staging`, and `deploy-prod` tiers are **never run locally** — they are verified by CI after commit. With `--watch-ci`, once the local tiers are green `deliver`:
|
|
76
|
+
|
|
77
|
+
1. commits the applied files and **pushes the current worktree branch** (never `master`/`main`, never force-push);
|
|
78
|
+
2. resolves the CI run for that exact commit (matched by SHA) and watches it;
|
|
79
|
+
3. on CI / deploy failure, feeds the **sanitized failure logs back into a fresh convergence pass** and re-converges (bounded by `--ci-passes`).
|
|
80
|
+
|
|
81
|
+
`--until-deployed` implies `--watch-ci` and additionally requires the `deploy-staging` and `deploy-prod` jobs to be green before exiting 0 — so "delivered" means *deployed and verified*, not just "tests pass locally".
|
|
82
|
+
|
|
83
|
+
The bundled workflow [`.github/workflows/deploy-verify.yml`](../../.github/workflows/deploy-verify.yml) provides the `deploy-dev` / `deploy-staging` / `deploy-prod` jobs the watcher reads. Add `deploy:dev` / `deploy:staging` / `deploy:prod` and `smoke` npm scripts to your project and the no-op verification steps become real.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# iterate locally through fast → integration → local dev deploy+smoke
|
|
87
|
+
uap deliver "add the orders endpoint" --deploy-dev
|
|
88
|
+
|
|
89
|
+
# …then push, watch CI, and re-converge until staging + prod deploy verify green
|
|
90
|
+
uap deliver "add the orders endpoint" --until-deployed
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
> Gate inputs are protected like tests: the model cannot "pass" by editing `docker-compose.yml`, `Dockerfile`, `*.tf`, CI workflows, or runner configs (`--no-protect-tests` lifts this).
|
|
55
94
|
|
|
56
95
|
---
|
|
57
96
|
|
|
@@ -67,6 +106,13 @@ uap deliver "trivial typo fix" --no-auto # disable dynamic optimiz
|
|
|
67
106
|
| `--escalate-model <preset>` | Stronger model for escalation (default `$UAP_ESCALATE_MODEL`) |
|
|
68
107
|
| `--temperature <t>` | Sampling temperature (default: execution-profile value) |
|
|
69
108
|
| `--gates <ids>` | Gate subset: `build,typecheck,test,lint` |
|
|
109
|
+
| `--tiers <list>` | Explicit local tiers to run, e.g. `fast,integration,deploy-dev` (overrides auto-detection) |
|
|
110
|
+
| `--integration` / `--no-integration` | Run the integration tier (on by default when a suite is detected) |
|
|
111
|
+
| `--deploy-dev` / `--no-deploy-dev` | Run a local dev deploy + smoke tier (compose up → smoke → teardown) |
|
|
112
|
+
| `--watch-ci` | After local-green, commit + push the worktree branch and watch CI; re-converge on failure |
|
|
113
|
+
| `--until-deployed` | Imply `--watch-ci` and require CI + staging/prod deploy jobs green before exiting 0 |
|
|
114
|
+
| `--ci-passes <n>` | Max CI re-converge passes on failure (1–10, default `2`) |
|
|
115
|
+
| `--ci-timeout <minutes>` | CI watch budget in minutes (1–120, default `20`) |
|
|
70
116
|
| `--candidates <n>` | Best-of-N exploration: candidates per turn (2–8) |
|
|
71
117
|
| `--critic` | Structured critique of failed turns |
|
|
72
118
|
| `--practices` / `--no-semantic` | Inject/record best-practice cards (keyword retrieval with `--no-semantic`) |
|
package/docs/reference/CLI.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# UAP CLI Reference
|
|
2
2
|
|
|
3
3
|
> Complete command reference for the Universal Agent Protocol command-line interface (`uap`).
|
|
4
|
-
> Version v1.
|
|
4
|
+
> Version v1.48.0.
|
|
5
5
|
|
|
6
6
|
The `uap` binary is the single entry point for every UAP capability: project
|
|
7
7
|
initialization, the tiered memory system, git worktree workflow, multi-agent
|
|
@@ -97,13 +97,23 @@ uap setup [options]
|
|
|
97
97
|
| `-p, --platform <platforms...>` | Targets: `claude`, `factory`, `vscode`, `opencode`, `omp`, `cline`, `codex`, `aider`, `continue`, `windsurf`, `zed`, `copilot`, `jetbrains`, `swe-agent`, `all` (default `all`) |
|
|
98
98
|
| `--no-patterns` | Skip pattern RAG setup |
|
|
99
99
|
| `--no-memory` | Skip memory system setup |
|
|
100
|
+
| `--no-self-update` | Skip the automatic UAP CLI version check / self-update (also `UAP_NO_SELF_UPDATE=1`) |
|
|
100
101
|
| `--systemd-services` | Scaffold user systemd services for llama.cpp + anthropic proxy |
|
|
101
102
|
| `-d, --project-dir <path>` | Target project directory (defaults to cwd) |
|
|
102
103
|
| `-i, --interactive` | Run the interactive setup wizard with feature toggles |
|
|
103
104
|
|
|
105
|
+
Before configuring the project, `setup` ensures the **globally-installed UAP CLI
|
|
106
|
+
is at the latest published npm version** and self-updates if it is behind. It is
|
|
107
|
+
safe and non-fatal: it only updates a real global install (a source checkout or a
|
|
108
|
+
local/monorepo dependency is left untouched), is downgrade-proof, and is
|
|
109
|
+
**skipped in CI** for reproducibility (`UAP_SELF_UPDATE=1` forces it). The update
|
|
110
|
+
takes effect on the next `uap` invocation. Disable with `--no-self-update` or
|
|
111
|
+
`UAP_NO_SELF_UPDATE=1`.
|
|
112
|
+
|
|
104
113
|
```bash
|
|
105
114
|
uap setup -i
|
|
106
115
|
uap setup -p claude -d ~/projects/myapp
|
|
116
|
+
uap setup --no-self-update # configure without touching the global CLI
|
|
107
117
|
```
|
|
108
118
|
|
|
109
119
|
---
|
|
@@ -293,6 +303,13 @@ uap deliver <instruction...> [options]
|
|
|
293
303
|
| `--endpoint <url>` | Override the model endpoint (OpenAI-compatible `/v1`) |
|
|
294
304
|
| `--temperature <t>` | Sampling temperature (default: execution-profile value) |
|
|
295
305
|
| `--gates <ids>` | Comma-separated gate subset: `build,typecheck,test,lint` |
|
|
306
|
+
| `--tiers <list>` | Local tiers to run: `fast,integration,deploy-dev` (overrides auto-detection) |
|
|
307
|
+
| `--integration` / `--no-integration` | Run the integration tier (on by default when `test:integration`/`test:e2e`/pytest marker is detected) |
|
|
308
|
+
| `--deploy-dev` / `--no-deploy-dev` | Run a local dev deploy + smoke tier (compose up -> smoke -> teardown) |
|
|
309
|
+
| `--watch-ci` | After local-green, commit + push the worktree branch and watch CI; re-converge on CI/deploy failure (never pushes master/main) |
|
|
310
|
+
| `--until-deployed` | Imply `--watch-ci` and require CI + staging/prod deploy jobs green before exiting 0 |
|
|
311
|
+
| `--ci-passes <n>` | Max CI re-converge passes on failure (1-10, default 2) |
|
|
312
|
+
| `--ci-timeout <minutes>` | CI watch budget in minutes (1-120, default 20) |
|
|
296
313
|
| `--candidates <n>` | Best-of-N exploration: candidates per turn (2-8) |
|
|
297
314
|
| `--critic` | Structured critique of failed turns (extra model call per failure) |
|
|
298
315
|
| `--practices` | Inject learned best-practice cards; record new ones on success |
|
|
@@ -316,9 +333,14 @@ uap deliver <instruction...> [options]
|
|
|
316
333
|
```bash
|
|
317
334
|
uap deliver "add a /healthz endpoint with a test" --gates build,test
|
|
318
335
|
uap deliver "refactor the auth module" --optimize --ceiling 20
|
|
336
|
+
uap deliver "add the orders endpoint" --deploy-dev # incl. local dev deploy+smoke
|
|
337
|
+
uap deliver "add the orders endpoint" --until-deployed # push, watch CI, verify staging/prod
|
|
319
338
|
uap deliver "fix the failing CI" --dry-run
|
|
320
339
|
```
|
|
321
340
|
|
|
341
|
+
See the [deliver guide](../guides/DELIVER.md#tiered-validation-gates-cheap-first)
|
|
342
|
+
for the tiered gate model and the CI/deploy feedback loop.
|
|
343
|
+
|
|
322
344
|
---
|
|
323
345
|
|
|
324
346
|
## `harness`
|
package/package.json
CHANGED
|
Binary file
|