@miller-tech/uap 1.221.0 → 2.0.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 +19 -9
- package/config/exl3-profiles/qwen38-27b-exl3.env +68 -0
- package/config/llama-profiles/qwen38-27b-dflash2.env +6 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/paired/adapter.d.ts +15 -0
- package/dist/benchmarks/paired/adapter.d.ts.map +1 -1
- package/dist/benchmarks/paired/adapter.js +22 -1
- package/dist/benchmarks/paired/adapter.js.map +1 -1
- package/dist/bin/cli.js +20 -24
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/deliver.d.ts +34 -0
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +147 -20
- package/dist/cli/deliver.js.map +1 -1
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +15 -0
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +8 -2
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/policy.d.ts.map +1 -1
- package/dist/cli/policy.js +104 -2
- package/dist/cli/policy.js.map +1 -1
- package/dist/cli/quality.d.ts +11 -0
- package/dist/cli/quality.d.ts.map +1 -0
- package/dist/cli/quality.js +213 -0
- package/dist/cli/quality.js.map +1 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +19 -9
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/cli/worktree.d.ts.map +1 -1
- package/dist/cli/worktree.js +8 -1
- package/dist/cli/worktree.js.map +1 -1
- package/dist/dashboard/savings.d.ts +1 -4
- package/dist/dashboard/savings.d.ts.map +1 -1
- package/dist/dashboard/savings.js +2 -52
- package/dist/dashboard/savings.js.map +1 -1
- package/dist/delivery/acceptance-judge.d.ts +10 -0
- package/dist/delivery/acceptance-judge.d.ts.map +1 -1
- package/dist/delivery/acceptance-judge.js +45 -3
- package/dist/delivery/acceptance-judge.js.map +1 -1
- package/dist/delivery/agentic-executor.d.ts +12 -1
- package/dist/delivery/agentic-executor.d.ts.map +1 -1
- package/dist/delivery/agentic-executor.js +25 -5
- package/dist/delivery/agentic-executor.js.map +1 -1
- package/dist/delivery/bash-sweep.d.ts +12 -0
- package/dist/delivery/bash-sweep.d.ts.map +1 -1
- package/dist/delivery/bash-sweep.js +8 -1
- package/dist/delivery/bash-sweep.js.map +1 -1
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +6 -4
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/execution-gate.d.ts +1 -1
- package/dist/delivery/execution-gate.d.ts.map +1 -1
- package/dist/delivery/execution-gate.js +248 -5
- package/dist/delivery/execution-gate.js.map +1 -1
- package/dist/delivery/snapshot.d.ts +16 -0
- package/dist/delivery/snapshot.d.ts.map +1 -1
- package/dist/delivery/snapshot.js +113 -2
- package/dist/delivery/snapshot.js.map +1 -1
- package/dist/delivery/user-validation.d.ts.map +1 -1
- package/dist/delivery/user-validation.js +55 -10
- package/dist/delivery/user-validation.js.map +1 -1
- package/dist/delivery/verifier-ladder.d.ts +24 -0
- package/dist/delivery/verifier-ladder.d.ts.map +1 -1
- package/dist/delivery/verifier-ladder.js +119 -2
- package/dist/delivery/verifier-ladder.js.map +1 -1
- package/dist/delivery/visual-gate.d.ts +24 -0
- package/dist/delivery/visual-gate.d.ts.map +1 -1
- package/dist/delivery/visual-gate.js +70 -9
- package/dist/delivery/visual-gate.js.map +1 -1
- package/dist/generators/claude-md.js +17 -4
- package/dist/generators/claude-md.js.map +1 -1
- package/dist/policies/liveness.d.ts +105 -0
- package/dist/policies/liveness.d.ts.map +1 -0
- package/dist/policies/liveness.js +251 -0
- package/dist/policies/liveness.js.map +1 -0
- package/dist/policies/policy-memory.d.ts.map +1 -1
- package/dist/policies/policy-memory.js +3 -4
- package/dist/policies/policy-memory.js.map +1 -1
- package/dist/quality/baseline.d.ts +29 -0
- package/dist/quality/baseline.d.ts.map +1 -0
- package/dist/quality/baseline.js +79 -0
- package/dist/quality/baseline.js.map +1 -0
- package/dist/quality/complexity.d.ts +38 -0
- package/dist/quality/complexity.d.ts.map +1 -0
- package/dist/quality/complexity.js +239 -0
- package/dist/quality/complexity.js.map +1 -0
- package/dist/quality/config.d.ts +40 -0
- package/dist/quality/config.d.ts.map +1 -0
- package/dist/quality/config.js +77 -0
- package/dist/quality/config.js.map +1 -0
- package/dist/quality/crap.d.ts +11 -0
- package/dist/quality/crap.d.ts.map +1 -0
- package/dist/quality/crap.js +54 -0
- package/dist/quality/crap.js.map +1 -0
- package/dist/quality/languages.d.ts +25 -0
- package/dist/quality/languages.d.ts.map +1 -0
- package/dist/quality/languages.js +150 -0
- package/dist/quality/languages.js.map +1 -0
- package/dist/quality/report.d.ts +38 -0
- package/dist/quality/report.d.ts.map +1 -0
- package/dist/quality/report.js +251 -0
- package/dist/quality/report.js.map +1 -0
- package/dist/quality/scanner.d.ts +32 -0
- package/dist/quality/scanner.d.ts.map +1 -0
- package/dist/quality/scanner.js +127 -0
- package/dist/quality/scanner.js.map +1 -0
- package/dist/quality/tools.d.ts +28 -0
- package/dist/quality/tools.d.ts.map +1 -0
- package/dist/quality/tools.js +189 -0
- package/dist/quality/tools.js.map +1 -0
- package/dist/types/config.d.ts +148 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +35 -0
- package/dist/types/config.js.map +1 -1
- package/docs/ATTRIBUTION.md +0 -1
- package/docs/INDEX.md +38 -4
- package/docs/analysis/MARKET_POSITION.md +179 -0
- package/docs/architecture/OVERVIEW.md +82 -18
- package/docs/architecture/PROTOCOL.md +1 -1
- package/docs/benchmarks/PAIRED_FINDINGS.md +106 -0
- package/docs/benchmarks/PAIRED_HARNESS.md +16 -0
- package/docs/benchmarks/README.md +59 -0
- package/docs/design/UAP_REACTOR.md +0 -1
- package/docs/getting-started/INSTALLATION.md +1 -1
- package/docs/guides/AUTOMATIC.md +0 -14
- package/docs/guides/AUTOMATIC_FEATURES.md +1 -9
- package/docs/guides/COORDINATION.md +1 -1
- package/docs/guides/DELIVERY_PIPELINE.md +5 -0
- package/docs/guides/DEPLOY_BATCHING.md +1 -1
- package/docs/guides/DROIDS_AND_SKILLS.md +1 -1
- package/docs/guides/LOCAL_MODELS.md +6 -1
- package/docs/guides/MCP_ROUTER.md +1 -1
- package/docs/guides/MEMORY.md +1 -1
- package/docs/guides/MULTI_MODEL.md +1 -1
- package/docs/guides/ORCHESTRATOR.md +1 -1
- package/docs/guides/POLICIES.md +19 -3
- package/docs/guides/QWEN38_EXL3.md +114 -0
- package/docs/guides/WORKTREE_WORKFLOW.md +45 -1
- package/docs/integrations/MCP_ROUTER.md +1 -4
- package/docs/plans/deliver-hardening-plan-2026-07-13.md +173 -0
- package/docs/plans/deliver-hardening-review-response-2026-07-13.md +180 -0
- package/docs/plans/k3-uap-uplift-validation.md +216 -0
- package/docs/plans/qwen38-uap-retest-plan.md +196 -0
- package/docs/reference/API.md +1 -1
- package/docs/reference/CLI.md +49 -14
- package/docs/reference/COMPARISON.md +248 -0
- package/docs/reference/CONFIGURATION.md +1 -3
- package/docs/reference/DATABASE_SCHEMA.md +1 -1
- package/docs/reference/FEATURES.md +3 -3
- package/docs/reference/PATTERNS.md +1 -1
- package/docs/reference/PLATFORMS.md +1 -1
- package/package.json +2 -2
- package/scripts/maintenance/update-skills.py +0 -22
- package/scripts/maintenance/verify-compliance.sh +3 -3
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/src/policies/enforcers/__pycache__/quality_metrics_gate.cpython-312.pyc +0 -0
- package/src/policies/enforcers/adr_guard.py +0 -0
- package/src/policies/enforcers/bearer_lockdown.py +0 -0
- package/src/policies/enforcers/branch_freshness.py +0 -0
- package/src/policies/enforcers/design_token_gate.py +0 -0
- package/src/policies/enforcers/enforcement_self_protect.py +70 -0
- package/src/policies/enforcers/expert_review_required.py +22 -0
- package/src/policies/enforcers/iac_plan_destruction_check.py +0 -0
- package/src/policies/enforcers/quality_metrics_gate.py +447 -0
- package/src/policies/enforcers/ship_loop_gate.py +0 -0
- package/src/policies/enforcers/validate_plan_on_change.py +0 -0
- package/src/policies/enforcers/visual_verification.py +0 -0
- package/src/policies/enforcers/workdir_scope.py +0 -0
- package/src/policies/schemas/policies/expert-review-required.md +9 -1
- package/src/policies/schemas/policies/quality-metrics-gate.md +74 -0
- package/templates/CLAUDE.template.md +1 -1
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/templates/hooks/pre-tool-use-bash.sh +50 -3
- package/templates/hooks/pre-tool-use-edit-write.sh +31 -0
- package/templates/hooks/session-start.sh +15 -0
- package/templates/hooks/uap-policy-gate.sh +187 -5
- package/templates/stryker.config.json +14 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
- package/tools/agents/scripts/anthropic_proxy.py +254 -28
- package/tools/agents/tests/run_acceptance.py +0 -0
- package/tools/agents/tests/test_client_disconnect.py +0 -0
- package/tools/agents/tests/test_cycle_break_exploration.py +0 -0
- package/tools/agents/tests/test_deferral_break.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_all_langs.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_exemptions.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_filepath.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_web_and_bash.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_worktree.py +0 -0
- package/tools/agents/tests/test_delivery_enforcement_write_complexity.py +0 -0
- package/tools/agents/tests/test_disconnect_watcher.py +0 -0
- package/tools/agents/tests/test_doubling_break.py +0 -0
- package/tools/agents/tests/test_empty_maxtokens_recovery.py +0 -0
- package/tools/agents/tests/test_empty_tool_loop_break.py +0 -0
- package/tools/agents/tests/test_enforcement_self_protect.py +90 -0
- package/tools/agents/tests/test_enforcer_escape_hatches.py +0 -0
- package/tools/agents/tests/test_error_loop_break.py +0 -0
- package/tools/agents/tests/test_expert_review_pr_scope.py +13 -5
- package/tools/agents/tests/test_fastpath_config.py +0 -0
- package/tools/agents/tests/test_finalize_suppression.py +0 -0
- package/tools/agents/tests/test_gate_evidence.py +0 -0
- package/tools/agents/tests/test_gate_failclosed_indirection.py +0 -0
- package/tools/agents/tests/test_gate_integrity.py +0 -0
- package/tools/agents/tests/test_live_deliver_kill.py +0 -0
- package/tools/agents/tests/test_malformed_unclosed_think.py +0 -0
- package/tools/agents/tests/test_mandate_beats_recon.py +0 -0
- package/tools/agents/tests/test_mandate_deliver.py +0 -0
- package/tools/agents/tests/test_non_stream_resp_log.py +0 -0
- package/tools/agents/tests/test_output_token_ceilings.py +0 -0
- package/tools/agents/tests/test_overflow_truncate_count_tokens.py +0 -0
- package/tools/agents/tests/test_path_containment.py +0 -0
- package/tools/agents/tests/test_path_normalizer_hardened.py +0 -0
- package/tools/agents/tests/test_repeat_call_guard.py +0 -0
- package/tools/agents/tests/test_repeat_guard.py +0 -0
- package/tools/agents/tests/test_session_admission.py +0 -0
- package/tools/agents/tests/test_stream_heartbeat.py +0 -0
- package/tools/agents/tests/test_stream_thinking_deltas.py +405 -0
- package/tools/agents/tests/test_stuck_break_hard.py +0 -0
- package/tools/agents/tests/test_stuck_break_reattach.py +0 -0
- package/tools/agents/tests/test_turn_count_breaker_periodic.py +0 -0
- package/tools/agents/tests/test_upstream_chokepoint.py +0 -0
- package/tools/agents/tests/test_upstream_model_aliases.py +0 -0
- package/tools/agents/tests/test_validate_plan_gate.py +0 -0
- package/tools/agents/tests/test_vision_passthrough.py +0 -0
- package/tools/agents/tests/test_workdir_scope_enforcer.py +0 -0
- package/dist/cli/rtk.d.ts +0 -34
- package/dist/cli/rtk.d.ts.map +0 -1
- package/dist/cli/rtk.js +0 -401
- package/dist/cli/rtk.js.map +0 -1
- package/docs/integrations/RTK.md +0 -113
- package/scripts/setup/install-rtk.sh +0 -184
- package/src/policies/enforcers/rtk_wrap.py +0 -205
- package/src/policies/schemas/policies/rtk-wrap.md +0 -50
- package/tools/agents/tests/test_rtk_wrap.py +0 -151
package/README.md
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
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.224.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
|
|
|
@@ -76,6 +76,8 @@ What happens under the hood:
|
|
|
76
76
|
|
|
77
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)**.
|
|
78
78
|
|
|
79
|
+
Hardened for shared floors (v1.224): rollback is scoped to the run's own write-set (a shared-worktree rollback can't revert another agent's work), projects can declare extra gates in `delivery.gates[]`, the execution gate is polyglot (Python packages, native binaries), and `delivery.model`/`routing`/`criticality` in `.uap.json` steer model choice — with root-owned, expiring operator overrides for emergencies.
|
|
80
|
+
|
|
79
81
|
---
|
|
80
82
|
|
|
81
83
|
## The line, station by station
|
|
@@ -91,7 +93,7 @@ It works with frontier models *and* local models (llama.cpp / Qwen) served over
|
|
|
91
93
|
| **Shipping** | Regressions, red CI, skipped version bumps | Worktree→PR flow, version gates, CI feedback watcher |
|
|
92
94
|
| **Feedback** | The same mistake every session | Memory promotion, pattern learning, session analysis |
|
|
93
95
|
|
|
94
|
-
Running the whole length of the floor: **policy gates** (
|
|
96
|
+
Running the whole length of the floor: **policy gates** (32 executable enforcers that *block* non-compliant tool calls — worktree, test, schema-diff, expert-review, delivery-enforcement, quality-metrics, design-token, visual-verification…), the **quality-metrics gate** (deterministic complexity/coverage/mutation budgets with a ratchet baseline, so standards can only tighten), and the **MCP Router** (keeps the context window lean). Full catalog: **[docs/reference/FEATURES.md](docs/reference/FEATURES.md)**.
|
|
95
97
|
|
|
96
98
|
---
|
|
97
99
|
|
|
@@ -109,14 +111,16 @@ UAP installs hooks into your agent harness, then mediates every tool call throug
|
|
|
109
111
|
┌─────────────────────────────────────────────────────────────┐
|
|
110
112
|
│ UAP CLI (uap) │
|
|
111
113
|
│ setup · memory · deliver · verify · worktree · policy │
|
|
112
|
-
│
|
|
114
|
+
│ quality · plan · fidelity · interaction · task · coord · │
|
|
115
|
+
│ droids · model · mcp-router · proxy · orchestrator · │
|
|
116
|
+
│ self-harness · tune · design · principles · bench … │
|
|
113
117
|
└──┬─────────┬──────────┬──────────┬──────────┬───────────────┘
|
|
114
118
|
▼ ▼ ▼ ▼ ▼
|
|
115
119
|
Memory Policy MCP Router Delivery Coordination
|
|
116
|
-
4 tiers
|
|
120
|
+
4 tiers 32 gates compression + verify + deploy batch
|
|
117
121
|
```
|
|
118
122
|
|
|
119
|
-
- **
|
|
123
|
+
- **60 CLI commands** across 26 source subsystems (367 TypeScript modules).
|
|
120
124
|
- Deep dive: **[docs/architecture/OVERVIEW.md](docs/architecture/OVERVIEW.md)** · protocol spec: **[docs/architecture/PROTOCOL.md](docs/architecture/PROTOCOL.md)**.
|
|
121
125
|
|
|
122
126
|
---
|
|
@@ -187,11 +191,17 @@ Start at the **[documentation index](docs/INDEX.md)**.
|
|
|
187
191
|
|
|
188
192
|
```bash
|
|
189
193
|
npm install
|
|
190
|
-
npm run build
|
|
191
|
-
npm test
|
|
192
|
-
npm run
|
|
194
|
+
npm run build # TypeScript compile
|
|
195
|
+
npm test # vitest — 459 suites (~5,000 tests)
|
|
196
|
+
npm run test:enforcers # Python policy-enforcer suite (~1,200 tests)
|
|
197
|
+
npm run bench # benchmark suite
|
|
193
198
|
```
|
|
194
199
|
|
|
200
|
+
Every ship is gated: `npm test` and `npm run build` must be green, the change
|
|
201
|
+
must come from a worktree, and the version bump goes through
|
|
202
|
+
`npm run version:patch|minor|major` (no manual edits). Details:
|
|
203
|
+
[CONTRIBUTING.md](CONTRIBUTING.md).
|
|
204
|
+
|
|
195
205
|
---
|
|
196
206
|
|
|
197
207
|
## Acknowledgements
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# =====================================================================
|
|
2
|
+
# Qwen 3.8 27B EXL3 3.5bpw + DFlash2 EXL3 5.0bpw draft, exllamav3
|
|
3
|
+
# (MiaAI-Lab fork 1.4.2) @ 131072 ctx/request, batch-1 -- 2026-09-04.
|
|
4
|
+
# THIS IS THE PRODUCTION PROFILE. Service: uap-exl3-server.service ->
|
|
5
|
+
# /home/cogtek/Qwen3.8-EXL3-kit/start.sh
|
|
6
|
+
# Install: this is a REFERENCE copy; the live file is the kit's .env at
|
|
7
|
+
# /home/cogtek/Qwen3.8-EXL3-kit/.env
|
|
8
|
+
#
|
|
9
|
+
# Supersedes config/llama-profiles/qwen38-27b-dflash2.env (kept as the
|
|
10
|
+
# rollback profile). Same base model, same per-request context -- the
|
|
11
|
+
# serving engine changes: GGUF/llama.cpp -> EXL3/exllamav3.
|
|
12
|
+
#
|
|
13
|
+
# MEASURED on the RTX 3090 (sm_86) after cutover 2026-09-04:
|
|
14
|
+
# decode, short ctx, warm: ~82 tok/s (vs ~55 llama.cpp baseline,
|
|
15
|
+
# same 600-word essay probe, 1192 tokens)
|
|
16
|
+
# decode, deep long ctx: ~41-51 tok/s (KV cache growth falloff)
|
|
17
|
+
# VRAM resident: 20964 MiB / 24576 MiB
|
|
18
|
+
# model load: < 90 s
|
|
19
|
+
# tool calling: native OpenAI-style tool_calls, verified
|
|
20
|
+
#
|
|
21
|
+
# 3090 (sm_86) CAVEATS -- do not copy the 4090 recipe blindly:
|
|
22
|
+
# * CACHE_QUANT=nvfp4 / fp8 need CC >= 8.9 (Ada/Hopper). sm_86 is fixed
|
|
23
|
+
# in hardware; CACHE_QUANT=4 (Hadamard int4) is the same ~4.5
|
|
24
|
+
# bits/elem and is what runs.
|
|
25
|
+
# * nvcc is 12.4 (deb layout at /usr/bin, no /usr/local/cuda), so torch
|
|
26
|
+
# is pinned to cu124 wheels and CUDA_HOME=/usr.
|
|
27
|
+
# * The engine fork needs triton >= 3.3 (ASTSource constexprs kwarg)
|
|
28
|
+
# while torch 2.6 pins triton 3.2 and its inductor breaks on 3.3
|
|
29
|
+
# (AttrsDescriptor removed). Working pair: torch 2.6.0+cu124 +
|
|
30
|
+
# triton 3.3.1 + the torch.compile->identity shim in the kit's
|
|
31
|
+
# tools/serve_openai.py. pip's dependency-conflict warning about
|
|
32
|
+
# this is expected; do not "fix" it by downgrading triton.
|
|
33
|
+
# * start.sh re-runs its bootstrap if its health check fails; the
|
|
34
|
+
# unshimmed import check fails for the reason above, so the kit
|
|
35
|
+
# carries tools/healthcheck.py (shimmed) as the gate. Without it,
|
|
36
|
+
# every start downgraded triton 3.3.1 -> 3.2.0 and broke the engine.
|
|
37
|
+
#
|
|
38
|
+
# PROXY RAILS (unchanged, still correct): PROXY_CONTEXT_WINDOW=131072
|
|
39
|
+
# (--cache_size is per-request here, matching llama.cpp's per-slot 131072
|
|
40
|
+
# at --parallel 1) and PROXY_CONCURRENCY_LIMIT=1 (the server is batch-1
|
|
41
|
+
# and queues concurrent callers internally). The server accepts ANY
|
|
42
|
+
# client-sent model id, so presets (qwen3.8-27b, ...) need no alias
|
|
43
|
+
# maintenance -- the llama.cpp std::set alias-ordering trap is gone.
|
|
44
|
+
# =====================================================================
|
|
45
|
+
|
|
46
|
+
# --- engine install ------------------------------------------
|
|
47
|
+
TORCH_INDEX_URL=https://download.pytorch.org/whl/cu124
|
|
48
|
+
|
|
49
|
+
# --- models ---------------------------------------------------
|
|
50
|
+
MODEL_DIR=models/Qwen3.8-27B-EXL3-3.5bpw
|
|
51
|
+
|
|
52
|
+
# --- speculative decoding -------------------------------------
|
|
53
|
+
DRAFT=dflash2
|
|
54
|
+
DRAFT_DIR=models/Qwen3.8-27B-DFlash2-EXL3-5.0bpw
|
|
55
|
+
|
|
56
|
+
# --- HTTP ------------------------------------------------------
|
|
57
|
+
PORT=8080
|
|
58
|
+
HOST=0.0.0.0
|
|
59
|
+
|
|
60
|
+
# --- cache / context -------------------------------------------
|
|
61
|
+
CONTEXT_SIZE=131072
|
|
62
|
+
CACHE_QUANT=4
|
|
63
|
+
GPU_MEM_GB=22
|
|
64
|
+
CPU_CACHE_GB=0
|
|
65
|
+
|
|
66
|
+
# Box layout: nvcc is /usr/bin/nvcc (deb), no /usr/local/cuda
|
|
67
|
+
CUDA_HOME=/usr
|
|
68
|
+
CUDA_PATH=/usr
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# =====================================================================
|
|
2
2
|
# Qwen 3.8 27B (dense, UD-IQ4_XS) @ 131072 ctx/slot / 2 slots, DFlash2
|
|
3
|
-
# speculative decoding -- 2026-08-20.
|
|
3
|
+
# speculative decoding -- 2026-08-20.
|
|
4
|
+
# SUPERSEDED 2026-09-04 by the EXL3/exllamav3 stack (see
|
|
5
|
+
# docs/guides/QWEN38_EXL3.md, config/exl3-profiles/qwen38-27b-exl3.env) --
|
|
6
|
+
# ~1.5x faster decode at the same 131072 context. This profile is kept as
|
|
7
|
+
# the ROLLBACK path: systemctl --user stop uap-exl3-server && systemctl
|
|
8
|
+
# --user enable --now uap-llama-server.
|
|
4
9
|
# Service: uap-llama-server.service -> scripts/run-llama-server-continuity.sh
|
|
5
10
|
# Install: cp to ~/.config/uap/llama-server.env
|
|
6
11
|
#
|