@miller-tech/uap 1.60.0 → 1.61.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/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/paired/adapter.d.ts.map +1 -1
- package/dist/benchmarks/paired/adapter.js +14 -1
- package/dist/benchmarks/paired/adapter.js.map +1 -1
- package/dist/benchmarks/paired/scaffold.d.ts.map +1 -1
- package/dist/benchmarks/paired/scaffold.js +6 -1
- package/dist/benchmarks/paired/scaffold.js.map +1 -1
- package/dist/bin/cli.js +58 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/self-harness.d.ts +36 -0
- package/dist/cli/self-harness.d.ts.map +1 -0
- package/dist/cli/self-harness.js +213 -0
- package/dist/cli/self-harness.js.map +1 -0
- package/dist/mcp-router/executor/client.d.ts.map +1 -1
- package/dist/mcp-router/executor/client.js +16 -2
- package/dist/mcp-router/executor/client.js.map +1 -1
- package/dist/mcp-router/output-compressor.d.ts.map +1 -1
- package/dist/mcp-router/output-compressor.js +51 -0
- package/dist/mcp-router/output-compressor.js.map +1 -1
- package/dist/self-harness/decide.d.ts +41 -0
- package/dist/self-harness/decide.d.ts.map +1 -0
- package/dist/self-harness/decide.js +69 -0
- package/dist/self-harness/decide.js.map +1 -0
- package/dist/self-harness/index.d.ts +23 -0
- package/dist/self-harness/index.d.ts.map +1 -0
- package/dist/self-harness/index.js +23 -0
- package/dist/self-harness/index.js.map +1 -0
- package/dist/self-harness/middleware/path-normalizer.d.ts +53 -0
- package/dist/self-harness/middleware/path-normalizer.d.ts.map +1 -0
- package/dist/self-harness/middleware/path-normalizer.js +116 -0
- package/dist/self-harness/middleware/path-normalizer.js.map +1 -0
- package/dist/self-harness/mine.d.ts +25 -0
- package/dist/self-harness/mine.d.ts.map +1 -0
- package/dist/self-harness/mine.js +78 -0
- package/dist/self-harness/mine.js.map +1 -0
- package/dist/self-harness/mods.d.ts +136 -0
- package/dist/self-harness/mods.d.ts.map +1 -0
- package/dist/self-harness/mods.js +152 -0
- package/dist/self-harness/mods.js.map +1 -0
- package/dist/self-harness/orchestrator.d.ts +61 -0
- package/dist/self-harness/orchestrator.d.ts.map +1 -0
- package/dist/self-harness/orchestrator.js +110 -0
- package/dist/self-harness/orchestrator.js.map +1 -0
- package/dist/self-harness/pending.d.ts +57 -0
- package/dist/self-harness/pending.d.ts.map +1 -0
- package/dist/self-harness/pending.js +86 -0
- package/dist/self-harness/pending.js.map +1 -0
- package/dist/self-harness/profile.d.ts +38 -0
- package/dist/self-harness/profile.d.ts.map +1 -0
- package/dist/self-harness/profile.js +80 -0
- package/dist/self-harness/profile.js.map +1 -0
- package/dist/self-harness/propose.d.ts +25 -0
- package/dist/self-harness/propose.d.ts.map +1 -0
- package/dist/self-harness/propose.js +86 -0
- package/dist/self-harness/propose.js.map +1 -0
- package/dist/self-harness/trace-mine.d.ts +39 -0
- package/dist/self-harness/trace-mine.d.ts.map +1 -0
- package/dist/self-harness/trace-mine.js +109 -0
- package/dist/self-harness/trace-mine.js.map +1 -0
- package/dist/self-harness/transfer.d.ts +99 -0
- package/dist/self-harness/transfer.d.ts.map +1 -0
- package/dist/self-harness/transfer.js +140 -0
- package/dist/self-harness/transfer.js.map +1 -0
- package/dist/self-harness/weakness.d.ts +56 -0
- package/dist/self-harness/weakness.d.ts.map +1 -0
- package/dist/self-harness/weakness.js +0 -0
- package/dist/self-harness/weakness.js.map +1 -0
- package/dist/tasks/coordination.d.ts.map +1 -1
- package/dist/tasks/coordination.js +9 -7
- package/dist/tasks/coordination.js.map +1 -1
- package/dist/tasks/service.d.ts +10 -0
- package/dist/tasks/service.d.ts.map +1 -1
- package/dist/tasks/service.js +41 -5
- package/dist/tasks/service.js.map +1 -1
- package/docs/INDEX.md +1 -0
- package/docs/design/SELF_HARNESS.md +206 -0
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/tools/agents/scripts/anthropic_proxy.py +160 -18
- package/tools/agents/scripts/toolcall_path_normalizer.py +140 -0
- package/tools/agents/tests/test_anthropic_proxy_streaming.py +93 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tasks/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tasks/service.ts"],"names":[],"mappings":"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"}
|
package/docs/INDEX.md
CHANGED
|
@@ -38,6 +38,7 @@ New here? Start with the [project README](../README.md), then [Getting Started](
|
|
|
38
38
|
| [Overview](architecture/OVERVIEW.md) | System architecture, subsystems, tool-call flow |
|
|
39
39
|
| [Protocol](architecture/PROTOCOL.md) | The harness↔UAP contract, hook lifecycle, decision loop |
|
|
40
40
|
| [Reactor (auto-apply)](design/UAP_REACTOR.md) | Dynamic experts/skills/patterns injected per prompt across harnesses; the assist vs enforce model, per-harness wiring |
|
|
41
|
+
| [Self-Harness (proposal)](design/SELF_HARNESS.md) | Self-improving harness: autonomous mine→propose→validate loop over a bounded Mod DSL (scaffold/proxy-knob/middleware), cross-model transfer, online mining; grounds arXiv:2606.09498 in UAP's HALO + paired-bench |
|
|
41
42
|
|
|
42
43
|
## Reference
|
|
43
44
|
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Self-Harness for UAP — Design Doc
|
|
2
|
+
|
|
3
|
+
> Status: **Proposal / for review** · Scope: **Option C (full vision)** · Author: design pass 2026-06-23
|
|
4
|
+
>
|
|
5
|
+
> Grounds: *Self-Harness: Harnesses That Improve Themselves* (Zhang et al., arXiv:2606.09498) — an
|
|
6
|
+
> agent that rewrites its own operating harness from failure traces via a 3-stage loop
|
|
7
|
+
> (Weakness Mining → Harness Proposal → Proposal Validation), no human engineer. Reports
|
|
8
|
+
> Terminal-Bench-2.0 lifts incl. **Qwen3.5-35B-A3B 23.8%→38.1%** (our model's sibling).
|
|
9
|
+
|
|
10
|
+
## 1. Why this, why now
|
|
11
|
+
|
|
12
|
+
The paper's thesis is exactly the lesson of our manual harness-tuning campaign on Qwen3.6-35B-A3B:
|
|
13
|
+
effective harnesses are **model-specific** and hand-engineering them doesn't scale. We *manually* ran
|
|
14
|
+
the Self-Harness loop this cycle — mined a failure (tool-call path-garbling), proposed mods (n-predict
|
|
15
|
+
cap, loop breakers, the recon-poison fix, pattern-RAG), and validated via the paired benchmark. The
|
|
16
|
+
result was a null UAP-lift but several real harness fixes. **Self-Harness automates that loop.**
|
|
17
|
+
|
|
18
|
+
Crucially, UAP already owns **two of the paper's three stages** and a richer modification surface than
|
|
19
|
+
the paper (which only edits prompts). This doc specifies closing the loop and going beyond — cross-model
|
|
20
|
+
transfer and online learning.
|
|
21
|
+
|
|
22
|
+
## 2. What UAP already has (the 70%)
|
|
23
|
+
|
|
24
|
+
| Self-Harness stage | Existing UAP asset | File / command |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| **Weakness Mining** | **HALO** trace analysis for "systemic failure modes" | `src/observability/halo-exporter.ts`, `src/delivery/halo-trace.ts`, `uap harness analyze` (spans via `UAP_HALO_TRACE=1` → `.uap/halo/traces.jsonl`) |
|
|
27
|
+
| **Proposal Validation** | **Paired A/B + component ablation** with real-test ground truth and paired stats (bootstrap CI / McNemar / permutation / pass@k) | `src/benchmarks/paired/` (`runner.ts`, `ablation.ts`, `stats.ts`, `report.ts`), `uap bench paired [--ablation]` |
|
|
28
|
+
| Modification surface (scaffold) | `UAP_COMPONENTS` = gates/worktree/memory/experts/skills/patterns | `src/benchmarks/paired/scaffold.ts`, `types.ts` |
|
|
29
|
+
| Modification surface (runtime) | ~80 `PROXY_*` + ~25 `LLAMA_*` env knobs | `tools/agents/scripts/anthropic_proxy.py`, `scripts/run-llama-server-continuity.sh` |
|
|
30
|
+
| Learned-fix store | pattern-RAG over qdrant `agent_patterns` | `agents/scripts/{index_patterns_to_qdrant,query_patterns}.py` |
|
|
31
|
+
| Safety precedent | guardrail death-spiral is real (recon-convergence poison, fixed `2e82e88`) | — |
|
|
32
|
+
|
|
33
|
+
**The gap:** the middle stage (**Harness Proposal**) and the **autonomous orchestrator** that chains
|
|
34
|
+
mine→propose→validate→accept and persists results. Humans do both today.
|
|
35
|
+
|
|
36
|
+
## 3. Architecture
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
┌──────────────────────────── uap self-harness run ─────────────────────────────┐
|
|
40
|
+
│ │
|
|
41
|
+
traces ─────▶│ (1) MINE (2) PROPOSE (3) VALIDATE (4) DECIDE │
|
|
42
|
+
(.uap/halo, or │ HALO over → LLM proposer emits → paired bench / ablation → accept iff │
|
|
43
|
+
prod export) │ traces + N candidate Mods on each candidate Mod, Δ>0 & no │
|
|
44
|
+
│ bench fails from the typed DSL held-out regression set regression │
|
|
45
|
+
│ │ │ │ │ │
|
|
46
|
+
│ ▼ ▼ ▼ ▼ │
|
|
47
|
+
│ WeaknessReport Mod[] (bounded) PairedResult[] commit + log │
|
|
48
|
+
└──────────────────────────────┬───────────────────────────────────────┬─────────┘
|
|
49
|
+
│ rejected → memory (negative) │
|
|
50
|
+
▼ ▼
|
|
51
|
+
cross-model pattern-RAG store versioned harness profile
|
|
52
|
+
key=(model_family, failure_sig) (env + scaffold snapshot)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
New code lives under `src/self-harness/`: `orchestrator.ts`, `mine.ts`, `propose.ts`, `mods.ts` (the
|
|
56
|
+
DSL), `apply.ts`, `transfer.ts`, plus `uap self-harness` CLI. It **reuses** `benchmarks/paired/` for
|
|
57
|
+
validation and the HALO exporter for mining — no reimplementation.
|
|
58
|
+
|
|
59
|
+
## 4. The Modification DSL — bounded, typed, reversible
|
|
60
|
+
|
|
61
|
+
The paper warns against "generic instruction padding" and unbounded edits. We constrain proposals to a
|
|
62
|
+
**typed `Mod` union**, each member *mechanically* applicable and *automatically* reversible. The proposer
|
|
63
|
+
may only emit these — never free-form code.
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
type Mod =
|
|
67
|
+
| { kind: 'env'; target: 'proxy'|'llama'; key: KnownKnob; from: string; to: string }
|
|
68
|
+
| { kind: 'scaffold'; component: UapComponent; op: 'replace'|'append'; text: string }
|
|
69
|
+
| { kind: 'middleware'; id: MiddlewareId; params: Record<string, JsonScalar> } // Phase 2
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
- **`env`** — only an **allow-listed** subset of `PROXY_*` / `LLAMA_*` knobs with declared ranges
|
|
73
|
+
(e.g. `LLAMA_N_PREDICT ∈ [512,16384]`, `PROXY_HARD_FINALIZE_TURNS ∈ [10,80]`,
|
|
74
|
+
`PROXY_RECON_CONVERGENCE_THRESHOLD ∈ [20,200]`, narrowing keep/core-set, repeat-penalty, DRY). This
|
|
75
|
+
is the layer that *actually moved our model* (n-predict 8192→4096). **No model/ctx/KV/spec knob is
|
|
76
|
+
allow-listed** (those need slot-clears and risk OOM — out of the autonomous loop's reach).
|
|
77
|
+
- **`scaffold`** — edits to a single `UAP_COMPONENTS` instruction block (the paper's surface).
|
|
78
|
+
- **`middleware`** (Phase 2) — toggles/params for purpose-built proxy interceptors, the highest-value
|
|
79
|
+
class. First member: **`toolcall-path-normalizer`** — snaps a garbled tool-call `path` to the nearest
|
|
80
|
+
real file in the workdir (the exact failure that beat every prompt-level fix this cycle). A Mod here is
|
|
81
|
+
a *mechanical* fix the model can't fumble, which is where Self-Harness can beat the paper.
|
|
82
|
+
|
|
83
|
+
Every Mod carries a `revert()` (env knob → prior value; scaffold → prior text; middleware → off). The
|
|
84
|
+
applied set is a **versioned harness profile** (env snapshot + scaffold snapshot + middleware config),
|
|
85
|
+
committed to git per accepted iteration so any change is bisectable and rollback is one revert.
|
|
86
|
+
|
|
87
|
+
## 5. Stage 1 — Weakness Mining
|
|
88
|
+
|
|
89
|
+
- Input: HALO spans (`.uap/halo/traces.jsonl`) from the just-run validation suite **plus** the paired
|
|
90
|
+
bench's per-run records (which already capture `correct`, `error`, latency, turns).
|
|
91
|
+
- Run `uap harness analyze` (HALO engine) with a structured prompt to emit a **`WeaknessReport`**:
|
|
92
|
+
`[{ signature, evidence_spans[], frequency, hypothesis, affected_tasks[] }]`. `signature` is a stable
|
|
93
|
+
hash of the failure shape (e.g. `toolcall.path.garbled`, `gen.runaway.npredict`, `loop.nonterminate`).
|
|
94
|
+
- Extend HALO span capture so the proxy emits spans for the failure modes we now know matter: tool-call
|
|
95
|
+
arg corruption, n-predict-cap hits, breaker fires, recon/finalize fires, verify-fail vs timeout. (Most
|
|
96
|
+
are already logged as text — promote them to structured spans.)
|
|
97
|
+
- Output ranked by `frequency × est_impact`. Mining is **read-only**.
|
|
98
|
+
|
|
99
|
+
## 6. Stage 2 — Harness Proposal
|
|
100
|
+
|
|
101
|
+
- An LLM proposer (a *capable* model — Opus/Sonnet via the same proxy, or a configured remote) receives:
|
|
102
|
+
the top weakness signatures + evidence, the **current harness profile**, the **Mod DSL schema**, and
|
|
103
|
+
**prior accepted/rejected Mods for this `(model_family, signature)`** from the transfer store.
|
|
104
|
+
- It emits 1–`K` candidate `Mod`s (validated against the DSL schema; out-of-DSL → rejected at parse).
|
|
105
|
+
Bias toward **minimal** (single-knob / single-block) per the paper.
|
|
106
|
+
- Determinism/repro: proposer seeded; proposals logged with the prompt and the weakness report that
|
|
107
|
+
produced them.
|
|
108
|
+
|
|
109
|
+
## 7. Stage 3 — Proposal Validation (reuse `benchmarks/paired/`)
|
|
110
|
+
|
|
111
|
+
- For each candidate Mod, apply it in isolation (others reverted) and run `runPaired` over a **fixed
|
|
112
|
+
validation suite** + a **held-out regression suite** (disjoint tasks, to catch overfitting).
|
|
113
|
+
- **Accept iff**: paired Δ(resolve-rate) > 0 with CI excluding 0 (or McNemar net-positive) on the
|
|
114
|
+
validation suite **AND** no significant regression on the held-out suite **AND** no cost blow-up beyond
|
|
115
|
+
a budget (tokens/turns). This is exactly the paper's "conservative validation preventing regressions,"
|
|
116
|
+
implemented with statistics we already ship.
|
|
117
|
+
- Multiple accepted Mods are then **stacked and re-validated together** (interactions are real — cf. how
|
|
118
|
+
narrowing + recon + finalize interacted this cycle) before the profile is committed.
|
|
119
|
+
- The **ablation matrix** (`ablation.ts`) runs periodically to prune Mods that have stopped paying off.
|
|
120
|
+
|
|
121
|
+
## 8. Beyond the paper #1 — Cross-model transfer
|
|
122
|
+
|
|
123
|
+
The paper's stated limitation is that fixes stay model-specific. UAP's pattern-RAG makes transfer cheap:
|
|
124
|
+
|
|
125
|
+
- Each accepted Mod is stored as a pattern-RAG entry in qdrant, **keyed by `(model_family, failure
|
|
126
|
+
signature)`** with payload = the Mod + its measured Δ + validation provenance.
|
|
127
|
+
- On a new model (e.g. Qwen3.6→3.7, or a GLM family), the proposer **seeds** from transfer hits:
|
|
128
|
+
signatures with the same shape retrieve their prior winning Mods as *priors*, which still go through
|
|
129
|
+
full validation on the new model (transfer is a hypothesis, not a shortcut). Negative results are
|
|
130
|
+
stored too, so we don't re-propose known-bad Mods.
|
|
131
|
+
- This turns N independent per-model tuning runs into a **shared, growing harness-knowledge base** —
|
|
132
|
+
the system gets faster at adapting to each new model.
|
|
133
|
+
|
|
134
|
+
## 9. Beyond the paper #2 — Online / continuous self-harness
|
|
135
|
+
|
|
136
|
+
- The same mining stage runs on **production** HALO traces (not just bench), so real Shannon/Cline
|
|
137
|
+
traffic surfaces failures the bench misses. Proposals from prod traces are **never auto-applied** —
|
|
138
|
+
they enqueue a validation run on the bench, and only a passing, regression-clean Mod is promoted.
|
|
139
|
+
- Cadence: a scheduled `uap self-harness run --since <window>` (cron) that mines recent prod traces,
|
|
140
|
+
proposes, validates offline, and opens a PR-like profile diff for a human gate (configurable to
|
|
141
|
+
auto-commit for low-risk env-knob Mods, human-gate for scaffold/middleware).
|
|
142
|
+
|
|
143
|
+
## 10. Safety, rollback, and self-poisoning prevention
|
|
144
|
+
|
|
145
|
+
This is non-negotiable: an auto-modifying harness that can tune guardrail thresholds **can wedge itself**
|
|
146
|
+
— we have direct evidence (the recon-convergence death-spiral, `2e82e88`, that stripped tools forever).
|
|
147
|
+
Controls:
|
|
148
|
+
|
|
149
|
+
1. **Bounded DSL + allow-list + ranges** — the loop physically cannot touch model/ctx/KV/spec, cannot
|
|
150
|
+
emit arbitrary code, cannot set a knob outside its safe range.
|
|
151
|
+
2. **Held-out regression gate** — no Mod that regresses the held-out suite is accepted, even if it helps
|
|
152
|
+
validation.
|
|
153
|
+
3. **Versioned profiles + one-command revert** — every accepted iteration is a git commit; rollback is
|
|
154
|
+
`git revert` of the profile + a proxy/llama restart.
|
|
155
|
+
4. **Liveness canary** — after applying a profile, a fast smoke suite must pass *and* the guardrail-fire
|
|
156
|
+
rates (breaker/recon/finalize per N requests) must stay within a sane band; a Mod that spikes them
|
|
157
|
+
(the poison signature) is auto-reverted.
|
|
158
|
+
5. **Budget ceiling** — max iterations / token budget per run (we already have the workflow budget
|
|
159
|
+
primitive); the loop stops when it converges or exhausts budget.
|
|
160
|
+
|
|
161
|
+
## 11. Phasing
|
|
162
|
+
|
|
163
|
+
- **P0 — Plumbing (small).** Promote the failure-mode logs to structured HALO spans; add the held-out
|
|
164
|
+
regression suite; pin a stable `signature` hashing. *Exit:* `uap harness analyze` emits a typed
|
|
165
|
+
`WeaknessReport`.
|
|
166
|
+
- **P1 — Closed loop, env+scaffold DSL (Option A).** `uap self-harness run` orchestrating
|
|
167
|
+
mine→propose→validate→accept over `env`+`scaffold` Mods, reusing `benchmarks/paired/`. *Exit:* one
|
|
168
|
+
autonomous iteration that accepts a real Mod (e.g. re-discovers `LLAMA_N_PREDICT=4096`) with stats.
|
|
169
|
+
- **P2 — Middleware Mods (Option B).** Add the `middleware` Mod class + the `toolcall-path-normalizer`.
|
|
170
|
+
*Exit:* the loop proposes+validates the normalizer and measurably cuts path-garbling on the medium
|
|
171
|
+
suite (the ceiling manual fixes couldn't crack).
|
|
172
|
+
- **P3 — Transfer + online (Option C). [BUILT]** Cross-model transfer store keyed by (model family,
|
|
173
|
+
failure kind, signature) + transfer-seeded proposer (`src/self-harness/transfer.ts`); online mining from
|
|
174
|
+
HALO spans AND proxy-log signals (`trace-mine.ts`); gated promotion queue (`pending.ts`) — prod-mined
|
|
175
|
+
proposals enqueue for validation, env knobs may auto-promote after validation, scaffold/middleware are
|
|
176
|
+
human-gated. CLI: `uap self-harness {transfer,mine-prod,pending}`. *Exit met:* a Qwen3.6 normalizer
|
|
177
|
+
acceptance auto-seeds a Qwen3.7 proposal; real proxy-journal mining enqueued the path-normalizer behind
|
|
178
|
+
a human gate. **Scheduling [BUILT]:** `deploy/systemd/uap-self-harness-mine.{service,timer}` — a daily user timer
|
|
179
|
+
runs `mine-prod` (mine + enqueue, gated) then `prune`. **Ablation-prune [BUILT]:** `TransferStore.prune`
|
|
180
|
+
+ `PendingQueue.prune` drop stale / no-longer-paying entries; `uap self-harness prune`. P3 fully closed.
|
|
181
|
+
|
|
182
|
+
## 12. Success metrics
|
|
183
|
+
|
|
184
|
+
- **Primary:** autonomous resolve-rate lift on a held-out suite vs the frozen baseline harness, with CI
|
|
185
|
+
excluding 0 (the paper's headline metric). Target: reproduce a Self-Harness-style lift on a model where
|
|
186
|
+
the failure is harness-reachable.
|
|
187
|
+
- **Secondary:** time-to-adapt to a new model (transfer on vs off); guardrail-fire stability (no poison
|
|
188
|
+
regressions); % of accepted Mods that survive periodic ablation (mod durability).
|
|
189
|
+
- **Guardrail:** zero self-induced wedges escaping the canary.
|
|
190
|
+
|
|
191
|
+
## 13. Open questions / risks
|
|
192
|
+
|
|
193
|
+
- **Reachability ceiling.** This cycle proved Qwen3.6-IQ4_XS's wall is token-level tool-call fidelity,
|
|
194
|
+
which prompt/param Mods can't fix — only P2's middleware can. If middleware Mods are out of scope, the
|
|
195
|
+
loop may correctly converge to "no further lift available," which is a *valid* (if unexciting) result.
|
|
196
|
+
- **Proposer cost/quality.** A weak proposer emits weak Mods; a strong remote proposer adds cost/dependency.
|
|
197
|
+
Mitigate by caching proposals per signature and transferring across models.
|
|
198
|
+
- **Validation expense.** Each Mod costs a paired-bench run (~minutes×N on a slow local model). Mitigate
|
|
199
|
+
with small fast validation suites for the inner loop, full suites only at profile-commit.
|
|
200
|
+
- **Non-stationarity.** Model/quant/driver changes invalidate prior Mods; the ablation-prune cadence and
|
|
201
|
+
`(model_family,…)` keying address this but need tuning.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
*Next step after review: P0 plumbing + the `Mod` DSL types, then the P1 orchestrator wired to the existing
|
|
206
|
+
HALO exporter and `benchmarks/paired/` runner.*
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -254,6 +254,62 @@ PROXY_FINALIZE_CONTINUATION_MAX = int(
|
|
|
254
254
|
PROXY_FINALIZE_SESSION_HARD_CAP = int(
|
|
255
255
|
os.environ.get("PROXY_FINALIZE_SESSION_HARD_CAP", "3")
|
|
256
256
|
)
|
|
257
|
+
# Hard turn-count finalize backstop (2026-06-22). Catches "mode B" runaways: the
|
|
258
|
+
# model keeps emitting DISTINCT, well-formed tool calls and never emits end_turn,
|
|
259
|
+
# so the synthetic-continuation, context-death-spiral, and tool-starvation paths
|
|
260
|
+
# never engage and 'release to auto' just lets it keep choosing tools — it loops
|
|
261
|
+
# until the client's agent timeout. After this many assistant tool-using turns in
|
|
262
|
+
# the (post-prune) transcript, strip tools so the only possible output is a
|
|
263
|
+
# terminal text summary (end_turn). Gated HIGH so only a genuine runaway trips it;
|
|
264
|
+
# pruning-heavy large legitimate sessions keep a low post-prune turn count and are
|
|
265
|
+
# unaffected. Set 0 to disable. Empirically motivated by the paired benchmark
|
|
266
|
+
# where every hard-suite run looped to timeout (see project_uap_paired_bench).
|
|
267
|
+
PROXY_HARD_FINALIZE_TURNS = int(
|
|
268
|
+
os.environ.get("PROXY_HARD_FINALIZE_TURNS", "40")
|
|
269
|
+
)
|
|
270
|
+
# Self-Harness middleware (2026-06-23): conversation-aware tool-call path
|
|
271
|
+
# normalizer. When ON, garbled file paths in outgoing tool_use blocks
|
|
272
|
+
# (case/extension/stray-dir/whitespace mangling — the toolcall.path.garbled
|
|
273
|
+
# failure) are snapped to the nearest path the model already used correctly
|
|
274
|
+
# earlier in the conversation. Default OFF (a Self-Harness `middleware` Mod
|
|
275
|
+
# enables it after the loop validates it). See toolcall_path_normalizer.py and
|
|
276
|
+
# docs/design/SELF_HARNESS.md §4.
|
|
277
|
+
PROXY_TOOLCALL_PATH_NORMALIZE = os.environ.get(
|
|
278
|
+
"PROXY_TOOLCALL_PATH_NORMALIZE", "off"
|
|
279
|
+
).lower() in ("on", "1", "true", "yes")
|
|
280
|
+
try:
|
|
281
|
+
import sys as _sys
|
|
282
|
+
_sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) # launch-robust sibling import
|
|
283
|
+
from toolcall_path_normalizer import extract_known_paths as _shz_known_paths
|
|
284
|
+
from toolcall_path_normalizer import normalize_tool_uses as _shz_normalize_tool_uses
|
|
285
|
+
_TOOLCALL_NORMALIZER_OK = True
|
|
286
|
+
except Exception: # pragma: no cover - optional middleware
|
|
287
|
+
_TOOLCALL_NORMALIZER_OK = False
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
def _maybe_normalize_toolcall_paths(anthropic_resp: dict, request_body: dict) -> None:
|
|
291
|
+
"""Gated: snap garbled tool-call paths in the response to paths the model
|
|
292
|
+
used correctly earlier in the conversation. No-op unless enabled + available."""
|
|
293
|
+
if not (PROXY_TOOLCALL_PATH_NORMALIZE and _TOOLCALL_NORMALIZER_OK):
|
|
294
|
+
return
|
|
295
|
+
try:
|
|
296
|
+
content = anthropic_resp.get("content")
|
|
297
|
+
if not isinstance(content, list):
|
|
298
|
+
return
|
|
299
|
+
tool_uses = [b for b in content if isinstance(b, dict) and b.get("type") == "tool_use"]
|
|
300
|
+
if not tool_uses:
|
|
301
|
+
return
|
|
302
|
+
known = _shz_known_paths(request_body.get("messages", []))
|
|
303
|
+
if not known:
|
|
304
|
+
return
|
|
305
|
+
corrections = _shz_normalize_tool_uses(tool_uses, known)
|
|
306
|
+
for tu_id, key, frm, to, reason in corrections:
|
|
307
|
+
logger.info(
|
|
308
|
+
"TOOLCALL PATH NORMALIZER: %s.%s '%s' -> '%s' (%s)",
|
|
309
|
+
tu_id, key, frm, to, reason,
|
|
310
|
+
)
|
|
311
|
+
except Exception as exc: # never break a response over normalization
|
|
312
|
+
logger.warning("TOOLCALL PATH NORMALIZER: skipped (%s)", type(exc).__name__)
|
|
257
313
|
# Recon-convergence guardrail: after this many consecutive turns that use
|
|
258
314
|
# tools but produce NO write/deliverable tool call (see _WRITE_TOOL_CLASS),
|
|
259
315
|
# the proxy injects a directive telling the model to stop exploring and
|
|
@@ -3090,6 +3146,15 @@ def _tokenize_for_tool_ranking(text: str) -> set[str]:
|
|
|
3090
3146
|
return {m.group(0).lower() for m in re.finditer(r"[a-zA-Z0-9_]{2,}", text)}
|
|
3091
3147
|
|
|
3092
3148
|
|
|
3149
|
+
# Core action tools a coding agent must always retain through narrowing — losing
|
|
3150
|
+
# any of these strands the agent (it can read/think but not act). Names are the
|
|
3151
|
+
# Claude Code canonical tool names, matched case-insensitively.
|
|
3152
|
+
_CORE_TOOL_NAMES = frozenset({
|
|
3153
|
+
"read", "write", "edit", "multiedit", "notebookedit",
|
|
3154
|
+
"bash", "glob", "grep", "ls", "applypatch", "apply_patch",
|
|
3155
|
+
})
|
|
3156
|
+
|
|
3157
|
+
|
|
3093
3158
|
def _narrow_tools_for_request(
|
|
3094
3159
|
anthropic_body: dict, openai_tools: list[dict]
|
|
3095
3160
|
) -> list[dict]:
|
|
@@ -3150,6 +3215,16 @@ def _narrow_tools_for_request(
|
|
|
3150
3215
|
|
|
3151
3216
|
scored.sort(reverse=True)
|
|
3152
3217
|
selected = {id(tool) for _, _, tool in scored[:keep]}
|
|
3218
|
+
# Always retain core action tools, regardless of lexical score. A real task
|
|
3219
|
+
# description ("build an octopus invaders game") rarely contains tool names
|
|
3220
|
+
# like "write"/"edit", so overlap ties at 0 and the -idx tiebreaker would
|
|
3221
|
+
# otherwise keep an arbitrary first-N subset — observed dropping
|
|
3222
|
+
# Write/Edit/Bash entirely and stalling the agent on meta-tools. `keep` thus
|
|
3223
|
+
# acts as a soft floor: core tools are added on top of the top-scored set.
|
|
3224
|
+
for tool in openai_tools:
|
|
3225
|
+
nm = tool.get("function", {}).get("name", "").lower()
|
|
3226
|
+
if nm in _CORE_TOOL_NAMES:
|
|
3227
|
+
selected.add(id(tool))
|
|
3153
3228
|
narrowed = [tool for tool in openai_tools if id(tool) in selected]
|
|
3154
3229
|
|
|
3155
3230
|
top_names = [t.get("function", {}).get("name", "") for t in narrowed[:4]]
|
|
@@ -3534,6 +3609,18 @@ def _maybe_inject_recon_convergence(
|
|
|
3534
3609
|
openai_body.pop("tools", None)
|
|
3535
3610
|
openai_body.pop("tool_choice", None)
|
|
3536
3611
|
openai_body.pop("grammar", None)
|
|
3612
|
+
# POISON FIX (2026-06-22): reset the no-write streak after forcing the
|
|
3613
|
+
# terminal summary. Without this, escalate is a permanent death-spiral:
|
|
3614
|
+
# recon_hard_fires is monotonic so `escalate` stays true for the whole
|
|
3615
|
+
# session, and stripping tools means the model CAN'T write, so
|
|
3616
|
+
# consecutive_no_write_turns never falls back below threshold — every
|
|
3617
|
+
# subsequent request (including unrelated ones sharing the session
|
|
3618
|
+
# fingerprint) gets tools stripped forever, until a proxy restart.
|
|
3619
|
+
# Resetting the streak makes escalate a ONE-SHOT per window: it forces
|
|
3620
|
+
# a terminal summary once, then the next turn falls below threshold so
|
|
3621
|
+
# tools are restored; if the model genuinely keeps exploring without
|
|
3622
|
+
# writing it rebuilds the streak and re-fires — bounded, not permanent.
|
|
3623
|
+
monitor.consecutive_no_write_turns = 0
|
|
3537
3624
|
else:
|
|
3538
3625
|
if hard:
|
|
3539
3626
|
# Fix C: at the hard tier, drop the structural requirement to call a
|
|
@@ -3939,6 +4026,44 @@ def build_openai_request(
|
|
|
3939
4026
|
openai_body["speculative.n_max"] = 0
|
|
3940
4027
|
return openai_body
|
|
3941
4028
|
|
|
4029
|
+
# TURN-COUNT FINALIZE BREAKER (mode-B runaway backstop): the model keeps
|
|
4030
|
+
# emitting distinct, well-formed tool calls and never emits end_turn, so
|
|
4031
|
+
# none of the other terminal paths engage and 'release to auto' just lets
|
|
4032
|
+
# it keep choosing tools — it loops to the client's agent timeout. After a
|
|
4033
|
+
# high tool-turn ceiling, strip tools so the only possible output is a
|
|
4034
|
+
# terminal text summary (end_turn), ending the loop. Gated HIGH so only a
|
|
4035
|
+
# genuine runaway trips it; see PROXY_HARD_FINALIZE_TURNS.
|
|
4036
|
+
if PROXY_HARD_FINALIZE_TURNS > 0:
|
|
4037
|
+
_agent_tool_turns = _count_agent_tool_turns(anthropic_body)
|
|
4038
|
+
if _agent_tool_turns >= PROXY_HARD_FINALIZE_TURNS:
|
|
4039
|
+
openai_body.pop("tool_choice", None)
|
|
4040
|
+
openai_body.pop("tools", None)
|
|
4041
|
+
openai_body.pop("grammar", None)
|
|
4042
|
+
msgs = openai_body.get("messages", [])
|
|
4043
|
+
msgs.append({
|
|
4044
|
+
"role": "user",
|
|
4045
|
+
"content": (
|
|
4046
|
+
f"You have made {_agent_tool_turns} tool calls without "
|
|
4047
|
+
"converging on a final answer. STOP now. No tools are "
|
|
4048
|
+
"available this turn. Reply with a brief plain-text summary "
|
|
4049
|
+
"of what you accomplished and what remains. Do NOT emit any "
|
|
4050
|
+
"tool call or tool-call-like syntax."
|
|
4051
|
+
),
|
|
4052
|
+
})
|
|
4053
|
+
openai_body["messages"] = msgs
|
|
4054
|
+
monitor.reset_tool_turn_state(reason="turn_count_finalize_breaker")
|
|
4055
|
+
logger.warning(
|
|
4056
|
+
"TURN-COUNT FINALIZE BREAKER: %d agent tool turns >= ceiling %d "
|
|
4057
|
+
"-- stripped tools to force terminal summary (end_turn).",
|
|
4058
|
+
_agent_tool_turns,
|
|
4059
|
+
PROXY_HARD_FINALIZE_TURNS,
|
|
4060
|
+
)
|
|
4061
|
+
if PROXY_DISABLE_THINKING_ON_TOOL_TURNS:
|
|
4062
|
+
openai_body["enable_thinking"] = False
|
|
4063
|
+
if PROXY_DISABLE_SPEC_ON_TOOL_TURNS:
|
|
4064
|
+
openai_body["speculative.n_max"] = 0
|
|
4065
|
+
return openai_body
|
|
4066
|
+
|
|
3942
4067
|
# Check if forced-tool dampener or loop breaker should override tool_choice
|
|
3943
4068
|
if monitor.consume_forced_auto_turn():
|
|
3944
4069
|
openai_body["tool_choice"] = "auto"
|
|
@@ -4361,6 +4486,26 @@ def _build_reasoning_fallback_text(
|
|
|
4361
4486
|
return None
|
|
4362
4487
|
|
|
4363
4488
|
|
|
4489
|
+
def _count_agent_tool_turns(anthropic_body: dict) -> int:
|
|
4490
|
+
"""Count assistant turns that emitted at least one tool_use block — i.e. how
|
|
4491
|
+
many tool-using steps the agent has already taken in the (post-prune)
|
|
4492
|
+
transcript. Used by the TURN-COUNT FINALIZE BREAKER to detect mode-B
|
|
4493
|
+
runaways that never converge. Counting from the possibly-pruned history is
|
|
4494
|
+
intentional: a pruning-heavy legitimate long session keeps a low post-prune
|
|
4495
|
+
count and is left alone, while a small-context non-terminating loop (no
|
|
4496
|
+
pruning) accumulates turns until the ceiling trips."""
|
|
4497
|
+
n = 0
|
|
4498
|
+
for msg in anthropic_body.get("messages", []):
|
|
4499
|
+
if msg.get("role") != "assistant":
|
|
4500
|
+
continue
|
|
4501
|
+
content = msg.get("content")
|
|
4502
|
+
if isinstance(content, list) and any(
|
|
4503
|
+
isinstance(b, dict) and b.get("type") == "tool_use" for b in content
|
|
4504
|
+
):
|
|
4505
|
+
n += 1
|
|
4506
|
+
return n
|
|
4507
|
+
|
|
4508
|
+
|
|
4364
4509
|
def _last_assistant_was_text_only(anthropic_body: dict) -> bool:
|
|
4365
4510
|
"""Check if the last assistant message in the conversation was text-only
|
|
4366
4511
|
(no tool_use blocks). This indicates the model may be prematurely ending
|
|
@@ -4882,36 +5027,31 @@ def _repair_tool_call_json(raw: str) -> str | None:
|
|
|
4882
5027
|
s = raw.strip()
|
|
4883
5028
|
if not s.startswith("{"):
|
|
4884
5029
|
return None
|
|
4885
|
-
# Strip trailing
|
|
5030
|
+
# Strip runaway trailing closers (safe: only removes excess closers at the
|
|
5031
|
+
# very end, where count is already unbalanced).
|
|
4886
5032
|
while s.endswith("}}") and s.count("{") < s.count("}"):
|
|
4887
5033
|
s = s[:-1]
|
|
4888
5034
|
while s.endswith("]]") and s.count("[") < s.count("]"):
|
|
4889
5035
|
s = s[:-1]
|
|
4890
|
-
# Balance braces
|
|
5036
|
+
# Balance braces by APPENDING closers only — never delete or trim interior
|
|
5037
|
+
# content. A lossy tail-trim silently drops a truncated trailing field (e.g.
|
|
5038
|
+
# a cut-off Write "content"), producing empty/partial files like the 0-byte
|
|
5039
|
+
# "audio.j" seen in octopus_invaders. If the payload was genuinely truncated
|
|
5040
|
+
# mid-value, appending closers won't yield valid JSON → return None so the
|
|
5041
|
+
# caller routes it to the existing truncated_tool_args retry path instead of
|
|
5042
|
+
# executing a content-less tool call.
|
|
4891
5043
|
open_b = s.count("{") - s.count("}")
|
|
4892
5044
|
if open_b > 0:
|
|
4893
5045
|
s += "}" * open_b
|
|
4894
5046
|
elif open_b < 0:
|
|
4895
|
-
# Too many
|
|
4896
|
-
|
|
4897
|
-
|
|
4898
|
-
if idx > 0:
|
|
4899
|
-
s = s[:idx] + s[idx + 1:]
|
|
4900
|
-
# Try to parse
|
|
5047
|
+
# Too many closers and not a simple runaway-tail case: can't fix by
|
|
5048
|
+
# appending without deleting interior content. Bail out non-destructively.
|
|
5049
|
+
return None
|
|
4901
5050
|
try:
|
|
4902
5051
|
json.loads(s)
|
|
4903
5052
|
return s
|
|
4904
5053
|
except json.JSONDecodeError:
|
|
4905
|
-
|
|
4906
|
-
# Try truncating at last valid comma + closing
|
|
4907
|
-
for end in range(len(s) - 1, max(0, len(s) - 200), -1):
|
|
4908
|
-
candidate = s[:end].rstrip().rstrip(",") + "}" * max(0, s[:end].count("{") - s[:end].count("}"))
|
|
4909
|
-
try:
|
|
4910
|
-
json.loads(candidate)
|
|
4911
|
-
return candidate
|
|
4912
|
-
except json.JSONDecodeError:
|
|
4913
|
-
continue
|
|
4914
|
-
return None
|
|
5054
|
+
return None
|
|
4915
5055
|
|
|
4916
5056
|
|
|
4917
5057
|
def _extract_tool_calls_from_text(
|
|
@@ -8278,6 +8418,7 @@ async def messages(request: Request):
|
|
|
8278
8418
|
expose_thinking=isinstance(body.get("thinking"), dict)
|
|
8279
8419
|
and (body["thinking"].get("type") or "").lower() == "enabled",
|
|
8280
8420
|
)
|
|
8421
|
+
_maybe_normalize_toolcall_paths(anthropic_resp, body)
|
|
8281
8422
|
# FINALIZE CONTINUATION: inject synthetic tool_use to keep client loop alive
|
|
8282
8423
|
if (
|
|
8283
8424
|
monitor.finalize_turn_active
|
|
@@ -8691,6 +8832,7 @@ async def messages(request: Request):
|
|
|
8691
8832
|
expose_thinking=isinstance(body.get("thinking"), dict)
|
|
8692
8833
|
and (body["thinking"].get("type") or "").lower() == "enabled",
|
|
8693
8834
|
)
|
|
8835
|
+
_maybe_normalize_toolcall_paths(anthropic_resp, body)
|
|
8694
8836
|
# FINALIZE CONTINUATION: inject synthetic tool_use (non-guarded stream path)
|
|
8695
8837
|
if (
|
|
8696
8838
|
monitor.finalize_turn_active
|