@miller-tech/uap 1.51.0 → 1.52.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 +15 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +4 -0
- package/dist/cli/hooks.js.map +1 -1
- package/docs/INDEX.md +3 -1
- package/docs/architecture/OVERVIEW.md +23 -2
- package/docs/benchmarks/PAIRED_FINDINGS.md +147 -0
- package/docs/benchmarks/README.md +22 -4
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/coordinate-file.sh +94 -0
- package/templates/hooks/pre-tool-use-edit-write.sh +36 -1
- package/templates/hooks/session-end.sh +29 -6
- package/templates/hooks/session-start.sh +17 -1
package/dist/cli/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/cli/hooks.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AACb,KAAK,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAGD,eAAO,MAAM,WAAW,EAAE,WAAW,EAUpC,CAAC;AAcF,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBjG;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/cli/hooks.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AACb,KAAK,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAGD,eAAO,MAAM,WAAW,EAAE,WAAW,EAUpC,CAAC;AAcF,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBjG;AAm8CD,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;AACvD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAUD,iDAAiD;AACjD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAqFzE"}
|
package/dist/cli/hooks.js
CHANGED
|
@@ -76,6 +76,9 @@ function copyHookScripts(targetHooksDir) {
|
|
|
76
76
|
'session-start.sh',
|
|
77
77
|
'pre-compact.sh',
|
|
78
78
|
'pre-tool-use-edit-write.sh',
|
|
79
|
+
// Helper sourced by the edit hook: announce file edits + detect live
|
|
80
|
+
// overlaps in the shared coordination DB. Must co-locate with the edit hook.
|
|
81
|
+
'coordinate-file.sh',
|
|
79
82
|
'pre-tool-use-bash.sh',
|
|
80
83
|
'post-tool-use-edit-write.sh',
|
|
81
84
|
'post-compact.sh',
|
|
@@ -1004,6 +1007,7 @@ async function installOmpHooks(cwd) {
|
|
|
1004
1007
|
'session-start.sh',
|
|
1005
1008
|
'pre-compact.sh',
|
|
1006
1009
|
'pre-tool-use-edit-write.sh',
|
|
1010
|
+
'coordinate-file.sh',
|
|
1007
1011
|
'pre-tool-use-bash.sh',
|
|
1008
1012
|
'uap-policy-gate.sh',
|
|
1009
1013
|
'loop-protection.sh',
|
package/dist/cli/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/cli/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/cli/hooks.ts"],"names":[],"mappings":"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"}
|
package/docs/INDEX.md
CHANGED
|
@@ -62,7 +62,9 @@ New here? Start with the [project README](../README.md), then [Getting Started](
|
|
|
62
62
|
|
|
63
63
|
| Doc | What it covers |
|
|
64
64
|
|---|---|
|
|
65
|
-
| [**
|
|
65
|
+
| [**Paired Findings**](benchmarks/PAIRED_FINDINGS.md) | Controlled A/B results: UAP gate value is +20pp vs a non-agentic baseline [CI +8,+32], ~0pp vs an agentic one — with confidence intervals ⭐ |
|
|
66
|
+
| [Paired Harness](benchmarks/PAIRED_HARNESS.md) | The `uap bench paired` controlled-A/B harness: design, adapters (mock/opencode/claude/raw), authoring tasks |
|
|
67
|
+
| [TBench Investigation](benchmarks/TBENCH_INVESTIGATION.md) | Earlier finding: no measurable UAP-context lift (every uncontrolled gain was a confound), methodology lessons |
|
|
66
68
|
| [Validation Results](benchmarks/VALIDATION_RESULTS.md) | Terminal-Bench 2.0 results (−49.7% tokens, +33pp success) |
|
|
67
69
|
| [Token Optimization](benchmarks/TOKEN_OPTIMIZATION.md) | Where the token savings come from |
|
|
68
70
|
| [Accuracy Analysis](benchmarks/ACCURACY_ANALYSIS.md) | Success-rate and error analysis |
|
|
@@ -190,8 +190,15 @@ mechanism behind UAP's "agents stop declaring victory on broken code." See the
|
|
|
190
190
|
|
|
191
191
|
Lets multiple agents work the same repo without colliding. A singleton SQLite
|
|
192
192
|
DB (`database.ts`) backs an agent registry, work announcements, work claims,
|
|
193
|
-
inter-agent messages, and a deploy queue.
|
|
194
|
-
|
|
193
|
+
inter-agent messages, and a deploy queue. The DB is **shared across all
|
|
194
|
+
worktrees** (resolved via `git --git-common-dir` to the main worktree), so agents
|
|
195
|
+
in different `.worktrees/` see each other. Coordination is **always-on, not
|
|
196
|
+
advisory**: `session-start.sh` auto-registers every agent (+ heartbeat), and the
|
|
197
|
+
pre-edit hook (`coordinate-file.sh`) announces each file edit and **blocks** when
|
|
198
|
+
another *live* agent (heartbeat < 120s) is editing the same repo-relative path,
|
|
199
|
+
warning + self-healing stale announcements otherwise; `session-end.sh` reaps only
|
|
200
|
+
stale state so one agent ending never wipes live peers. `service.ts` detects
|
|
201
|
+
**overlap** when agents announce work on the same files and suggests merge order;
|
|
195
202
|
`deploy-batcher.ts` queues git/CI actions with per-type batch windows
|
|
196
203
|
(commit 30s, push 5s, merge 10s, deploy 60s), folds/squashes similar pending
|
|
197
204
|
actions, and executes batches sequentially or in parallel.
|
|
@@ -236,6 +243,20 @@ real-time updates.
|
|
|
236
243
|
Emits HALO / OpenInference spans for delivery runs and tool calls, consumed by
|
|
237
244
|
`uap harness analyze` to optimize agent execution from real traces.
|
|
238
245
|
|
|
246
|
+
### Benchmark harness (`src/benchmarks/paired/`)
|
|
247
|
+
|
|
248
|
+
A controlled paired-A/B harness (`uap bench paired`) for measuring UAP's impact
|
|
249
|
+
without confounds. It holds the base model + agent constant and toggles **only**
|
|
250
|
+
the UAP scaffold over the same real-gate task suite and seeds, reporting a vector
|
|
251
|
+
of paired deltas (correctness + tokens/turns/latency) with bootstrap confidence
|
|
252
|
+
intervals, a McNemar gate-value 2×2, and per-component leave-one-out ablation.
|
|
253
|
+
Pluggable `AgentAdapter`s drive the agent under test: `opencode`/`claude`
|
|
254
|
+
subprocess adapters, a deterministic `mock`, and a non-agentic `raw`
|
|
255
|
+
single-shot-vs-gate-loop adapter that isolates gate value. Ground truth is a
|
|
256
|
+
deterministic per-task `verifyCmd` (no LLM judge). The headline result lives in
|
|
257
|
+
[benchmarks/PAIRED_FINDINGS.md](../benchmarks/PAIRED_FINDINGS.md): UAP gate value
|
|
258
|
+
is **+20pp** over a non-agentic baseline and **~0pp** over an agentic one.
|
|
259
|
+
|
|
239
260
|
---
|
|
240
261
|
|
|
241
262
|
## How a tool call flows: memory → policy → MCP Router
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Paired Benchmark Findings — When Does UAP Actually Help?
|
|
2
|
+
|
|
3
|
+
Results from the controlled paired harness (`uap bench paired`, see
|
|
4
|
+
[PAIRED_HARNESS.md](PAIRED_HARNESS.md)). These supersede earlier uncontrolled
|
|
5
|
+
numbers and complete the story the [TBench Investigation](TBENCH_INVESTIGATION.md)
|
|
6
|
+
started: every "UAP lift" measured without a controlled baseline turned out to be
|
|
7
|
+
a confound. This is the rigorous version — same model, same tasks, same seeds,
|
|
8
|
+
toggling **only** the UAP layer, with bootstrap confidence intervals on every
|
|
9
|
+
delta.
|
|
10
|
+
|
|
11
|
+
## TL;DR
|
|
12
|
+
|
|
13
|
+
> **UAP's accuracy lift depends entirely on whether the base agent already
|
|
14
|
+
> self-verifies.** Against a strong agentic harness (opencode, which runs the
|
|
15
|
+
> tests itself), UAP adds overhead with **no measurable accuracy gain**. Against
|
|
16
|
+
> a non-agentic single-shot model, UAP's gate loop delivers **+20pp accuracy**
|
|
17
|
+
> (78% → 98%, 95% CI [+8, +32], p=0.008) by catching and repairing edge-case
|
|
18
|
+
> bugs the model ships in one shot.
|
|
19
|
+
|
|
20
|
+
| Baseline type | UAP accuracy lift | What this means |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| **Agentic** (opencode self-tests) | **~0pp** (CI spans 0) | gate is redundant; cost is pure overhead |
|
|
23
|
+
| **Non-agentic** (raw single-shot) | **+20pp** [CI +8, +32] | gate loop rescues failures the model can't self-catch |
|
|
24
|
+
|
|
25
|
+
The headline implication: **UAP's gate value is real and large, but only over a
|
|
26
|
+
baseline that doesn't already loop** — which is exactly the `uap deliver`
|
|
27
|
+
(model-wrapping) case. When you are already driving a capable agentic harness,
|
|
28
|
+
UAP's contribution shifts from *accuracy* to *efficiency, coordination, and
|
|
29
|
+
never-regress*.
|
|
30
|
+
|
|
31
|
+
## The experiments
|
|
32
|
+
|
|
33
|
+
Five controlled runs against `ik-llama/qwen36-35b-a3b-iq4xs` (a 35B-A3B MoE).
|
|
34
|
+
All paired, all with deterministic ground-truth `verifyCmd` scorers (no LLM
|
|
35
|
+
judge). Metrics reported as a vector — correctness **and** tokens/turns/latency —
|
|
36
|
+
each as a paired delta with a 95% bootstrap CI and a sign-flip permutation
|
|
37
|
+
p-value. Correctness deltas additionally get a McNemar 2×2 ("fixed" vs
|
|
38
|
+
"regressed").
|
|
39
|
+
|
|
40
|
+
### 1–3. Agentic baseline (opencode adapter)
|
|
41
|
+
|
|
42
|
+
| Run | Suite | Design | baseline → uap-full | Token Δ |
|
|
43
|
+
|---|---|---|---|---|
|
|
44
|
+
| 1 | real-gate (easy) | 2 tasks × 2 × 6 | 100% → 100% | +34.2k |
|
|
45
|
+
| 2 | real-gate-hard | 6 tasks × 8-arm ablation × 4 | 100% → 100% | +48.7k [13.9k, 93.3k] |
|
|
46
|
+
| 3 | real-gate-gated | 5 edge-case tasks × 8-arm ablation × 4 | 100% → 100% | +25.2k (n.s.) |
|
|
47
|
+
|
|
48
|
+
In every agentic run the **baseline already scored 100%** — there was no headroom
|
|
49
|
+
for UAP to improve accuracy. The per-component ablation (turning off gates /
|
|
50
|
+
worktree / memory / experts / skills / patterns one at a time) found **no
|
|
51
|
+
component with a Δsuccess confidence interval above zero**; the token deltas only
|
|
52
|
+
rank overhead.
|
|
53
|
+
|
|
54
|
+
**Root cause:** opencode is itself an agentic harness that runs the in-repo
|
|
55
|
+
tests and self-corrects by default. The UAP gate instruction is redundant on top
|
|
56
|
+
of an agent that already self-verifies — and adding in-repo tests to give the
|
|
57
|
+
"gate" something to run handed the same self-verification to the *baseline*.
|
|
58
|
+
|
|
59
|
+
### 4. Non-agentic baseline (raw single-shot vs gate loop) — the decisive run
|
|
60
|
+
|
|
61
|
+
To isolate **gate value**, the `raw` adapter calls the model's completion
|
|
62
|
+
endpoint directly:
|
|
63
|
+
|
|
64
|
+
- **baseline** = one completion, no self-check (whatever it writes is final)
|
|
65
|
+
- **uap-full** = execute → run the visible in-repo gate → feed the failure back
|
|
66
|
+
→ regenerate, looping until the gate passes (the `uap deliver` mechanism in
|
|
67
|
+
miniature)
|
|
68
|
+
|
|
69
|
+
5 edge-case tasks × {single-shot, gate-loop} × 10 epochs, temperature 0.6
|
|
70
|
+
(so the first shot sometimes misses edges):
|
|
71
|
+
|
|
72
|
+
| Condition | Success | Errors | Tokens | Turns |
|
|
73
|
+
|---|--:|--:|--:|--:|
|
|
74
|
+
| baseline (single-shot) | **78.0%** | 22% | 1,170 | 1.0 |
|
|
75
|
+
| uap-full (gate loop) | **98.0%** | 2% | 2,242 | 1.3 |
|
|
76
|
+
|
|
77
|
+
- **Correctness: +20.0pp** — 95% CI **[+8.0, +32.0]**, p=0.008 ✅
|
|
78
|
+
- **Gate value (McNemar):** 11 fixed, 1 regressed, **net +10** (p=0.006)
|
|
79
|
+
- **Cost:** +1,072 tokens, +0.3 turns per task — cheap for a 20-point gain
|
|
80
|
+
|
|
81
|
+
When the baseline can't self-verify, it ships edge-case bugs 22% of the time. The
|
|
82
|
+
gate loop catches and repairs 11 of them, cutting the error rate to 2%. The one
|
|
83
|
+
"regressed" case is the honest caveat — once, the loop's rewrite broke something
|
|
84
|
+
single-shot happened to get right.
|
|
85
|
+
|
|
86
|
+
## What the tasks look like
|
|
87
|
+
|
|
88
|
+
Findings only hold if the tasks have real headroom. The `real-gate-gated` suite
|
|
89
|
+
was built so the **obvious solution passes the happy path but fails hidden edge
|
|
90
|
+
cases**, and validated before any run: for every task the stub fails, a correct
|
|
91
|
+
reference passes, **and a naive happy-path solution fails the hidden verify**.
|
|
92
|
+
|
|
93
|
+
| Task | Happy-path trap | Hidden edge the gate must catch |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| `py-roman-strict` | sum the symbols | reject invalid numerals (`IIII`, `VV`, `IL`) |
|
|
96
|
+
| `js-csv-parse` | `split(',')` | quoted commas, escaped `""`, CRLF, trailing newline |
|
|
97
|
+
| `js-deep-equal` | `JSON.stringify` compare | `NaN`, key order, `{a:undefined}` vs `{}` |
|
|
98
|
+
| `py-parse-duration` | single-unit only | combined `1h30m15s`, raise on invalid |
|
|
99
|
+
| `py-merge-intervals` | assume sorted, strict overlap | unsorted input, touching `[1,2],[2,3]→[1,3]` |
|
|
100
|
+
|
|
101
|
+
Each ships an in-repo test suite (the *visible* gate, `task.gateCmd`) distinct
|
|
102
|
+
from the hidden superset `verifyCmd` that remains the authoritative scorer.
|
|
103
|
+
|
|
104
|
+
## Methodology notes (and honest caveats)
|
|
105
|
+
|
|
106
|
+
- **Paired design** removes between-task variance — the dominant noise source.
|
|
107
|
+
Deltas are bootstrap CIs (10k resamples, seeded for reproducibility) + a
|
|
108
|
+
sign-flip permutation test. Single-arm point estimates are never claims.
|
|
109
|
+
- **Small N + a single shared GPU.** Token/latency CIs are wide and latency is
|
|
110
|
+
confounded by request queueing on one GPU; read the *correctness* and *token*
|
|
111
|
+
deltas, not absolute latency. The +20pp result holds with N=50/arm and a CI
|
|
112
|
+
that excludes zero, but it is one model on five tasks — directional, not a
|
|
113
|
+
universal constant.
|
|
114
|
+
- **Ceiling effect** is why the agentic runs show 0pp: a 35B model in an
|
|
115
|
+
agentic harness simply solves these self-contained algorithmic tasks. A weaker
|
|
116
|
+
model, or genuinely harder multi-file tasks, would re-open headroom.
|
|
117
|
+
- **Harness reliability:** an early ablation wedged for ~50 min because
|
|
118
|
+
`spawnSync`'s timeout only SIGTERMs the immediate child while opencode forks a
|
|
119
|
+
detached tree that keeps the pipe open. Fixed with a detached process-group
|
|
120
|
+
spawn + group SIGKILL; subsequent runs completed 158–190/192 cleanly.
|
|
121
|
+
|
|
122
|
+
## Reproduce
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# The decisive gate-value experiment (raw single-shot vs gate loop):
|
|
126
|
+
UAP_RAW_TEMPERATURE=0.6 uap bench paired \
|
|
127
|
+
--adapter raw --model "<model-served-name>" \
|
|
128
|
+
--suite benchmarks/suites/real-gate-gated \
|
|
129
|
+
--epochs 10 --concurrency 3
|
|
130
|
+
|
|
131
|
+
# Agentic baseline + per-component ablation:
|
|
132
|
+
uap bench paired --adapter opencode --model <provider/model> \
|
|
133
|
+
--suite benchmarks/suites/real-gate-hard --ablation --epochs 4
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Artifacts (`records.jsonl`, `report.json`, `report.md`) land in
|
|
137
|
+
`benchmark-results/paired-<timestamp>/`. See [PAIRED_HARNESS.md](PAIRED_HARNESS.md)
|
|
138
|
+
for the harness internals, adapters, and how to author a task.
|
|
139
|
+
|
|
140
|
+
## Bottom line
|
|
141
|
+
|
|
142
|
+
The accuracy-lift hypothesis is **falsified for the agentic-vs-agentic case** and
|
|
143
|
+
**confirmed for the non-agentic case**. Use UAP's gate loop (`uap deliver`) when
|
|
144
|
+
wrapping a model that won't self-verify — that is where the measurable accuracy
|
|
145
|
+
win lives. When you already run a strong agentic harness, value UAP for its
|
|
146
|
+
efficiency (token savings), coordination (multi-agent file safety), and
|
|
147
|
+
never-regress guarantees, not for first-pass accuracy.
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
# UAP Benchmarks
|
|
2
2
|
|
|
3
|
-
Performance and accuracy results for the Universal Agent Protocol
|
|
3
|
+
Performance and accuracy results for the Universal Agent Protocol.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Controlled paired result (start here)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The rigorous, reproducible finding from the [paired harness](PAIRED_HARNESS.md)
|
|
8
|
+
— same model, same tasks, same seeds, toggling **only** UAP, with confidence
|
|
9
|
+
intervals:
|
|
10
|
+
|
|
11
|
+
> **UAP's accuracy lift depends on whether the base agent already self-verifies.**
|
|
12
|
+
> Vs an agentic harness that self-tests → **~0pp** (overhead only). Vs a
|
|
13
|
+
> non-agentic single-shot model → **+20pp** (78% → 98%, 95% CI [+8, +32],
|
|
14
|
+
> p=0.008) from the gate loop repairing edge-case bugs.
|
|
15
|
+
|
|
16
|
+
Full analysis with all five experiments: **[Paired Findings](PAIRED_FINDINGS.md)**.
|
|
17
|
+
|
|
18
|
+
## Earlier (uncontrolled) Terminal-Bench numbers
|
|
19
|
+
|
|
20
|
+
UAP-on vs. baseline, 12 representative tasks across 8 categories. These are
|
|
21
|
+
*uncontrolled* — the [TBench Investigation](TBENCH_INVESTIGATION.md) found the
|
|
22
|
+
apparent lifts were largely confounds; treat the paired results above as
|
|
23
|
+
authoritative.
|
|
8
24
|
|
|
9
25
|
| Metric | Baseline | With UAP | Δ |
|
|
10
26
|
|---|---|---|---|
|
|
@@ -17,10 +33,12 @@ UAP-on vs. baseline, 12 representative tasks across 8 categories:
|
|
|
17
33
|
|
|
18
34
|
| Doc | What it covers |
|
|
19
35
|
|---|---|
|
|
36
|
+
| [**Paired Findings**](PAIRED_FINDINGS.md) | Controlled results: when UAP helps (+20pp vs non-agentic; ~0pp vs agentic), with CIs ⭐ |
|
|
37
|
+
| [Paired Harness](PAIRED_HARNESS.md) | The `uap bench paired` A/B harness: design, adapters, authoring tasks |
|
|
38
|
+
| [TBench Investigation](TBENCH_INVESTIGATION.md) | Earlier finding: uncontrolled "lifts" were confounds |
|
|
20
39
|
| [Validation Results](VALIDATION_RESULTS.md) | Full methodology + per-task breakdown |
|
|
21
40
|
| [Token Optimization](TOKEN_OPTIMIZATION.md) | Where the token savings come from |
|
|
22
41
|
| [Accuracy Analysis](ACCURACY_ANALYSIS.md) | Success-rate and error analysis |
|
|
23
42
|
| [Comprehensive Benchmarks](COMPREHENSIVE_BENCHMARKS.md) | Extended measurements |
|
|
24
|
-
| [Paired Harness](PAIRED_HARNESS.md) | Controlled UAP-on vs UAP-off A/B: `uap bench paired` |
|
|
25
43
|
|
|
26
44
|
See the [documentation index](../INDEX.md) for the rest of the docs.
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# UAP file-coordination helper — announce a file edit to the SHARED coordination
|
|
3
|
+
# DB and detect live overlaps so independently-launched agents never silently
|
|
4
|
+
# clobber the same file (merge conflicts / wasted work).
|
|
5
|
+
#
|
|
6
|
+
# Called by pre-tool-use-edit-write.sh for real worktree source edits.
|
|
7
|
+
#
|
|
8
|
+
# Usage: coordinate-file.sh <COORD_DB> <AGENT_ID> <AGENT_NAME> <WORKTREE_BRANCH> <REL_PATH> <ABS_PATH>
|
|
9
|
+
#
|
|
10
|
+
# Resource key is the REPO-RELATIVE path so the same logical file edited from two
|
|
11
|
+
# different worktrees collides (that IS the future merge conflict).
|
|
12
|
+
#
|
|
13
|
+
# Exit 0 = allow (no conflict, or only a stale/self-healed announcement → warn).
|
|
14
|
+
# Exit 2 = BLOCK: another LIVE agent (heartbeat < THRESHOLD) holds this file.
|
|
15
|
+
#
|
|
16
|
+
# Always fails OPEN: any missing dependency or DB error allows the edit. This
|
|
17
|
+
# hook must never break editing because coordination is unavailable.
|
|
18
|
+
set -uo pipefail
|
|
19
|
+
|
|
20
|
+
DB="${1:-}"
|
|
21
|
+
ME="${2:-}"
|
|
22
|
+
NAME="${3:-agent}"
|
|
23
|
+
WT="${4:-}"
|
|
24
|
+
REL="${5:-}"
|
|
25
|
+
ABS="${6:-}"
|
|
26
|
+
|
|
27
|
+
# Seconds since another agent's last heartbeat for it to count as "live".
|
|
28
|
+
THRESHOLD="${UAP_COORD_LIVE_SECONDS:-120}"
|
|
29
|
+
|
|
30
|
+
# Fail open on any missing prerequisite.
|
|
31
|
+
command -v sqlite3 >/dev/null 2>&1 || exit 0
|
|
32
|
+
[ -n "$DB" ] && [ -f "$DB" ] || exit 0
|
|
33
|
+
[ -n "$ME" ] && [ -n "$REL" ] || exit 0
|
|
34
|
+
|
|
35
|
+
# SQL-escape single quotes.
|
|
36
|
+
q() { printf '%s' "${1:-}" | sed "s/'/''/g"; }
|
|
37
|
+
MEq=$(q "$ME"); NAMEq=$(q "$NAME"); WTq=$(q "$WT"); RELq=$(q "$REL"); ABSq=$(q "$ABS")
|
|
38
|
+
|
|
39
|
+
# 1) Detect a conflicting announcement from ANOTHER agent on the same resource,
|
|
40
|
+
# BEFORE we announce our own (so we never self-detect). Classify live vs stale
|
|
41
|
+
# by the other agent's last heartbeat (fall back to the announcement time when
|
|
42
|
+
# the agent row is absent).
|
|
43
|
+
LIVE=$(sqlite3 "$DB" "
|
|
44
|
+
SELECT wa.agent_name || ' (' || wa.agent_id || ')'
|
|
45
|
+
FROM work_announcements wa
|
|
46
|
+
LEFT JOIN agent_registry ar ON ar.id = wa.agent_id
|
|
47
|
+
WHERE wa.resource = '$RELq'
|
|
48
|
+
AND wa.agent_id <> '$MEq'
|
|
49
|
+
AND wa.completed_at IS NULL
|
|
50
|
+
AND COALESCE(ar.status, 'active') = 'active'
|
|
51
|
+
AND (strftime('%s','now') - strftime('%s', COALESCE(ar.last_heartbeat, wa.announced_at))) < $THRESHOLD
|
|
52
|
+
ORDER BY wa.announced_at DESC LIMIT 1;" 2>/dev/null || true)
|
|
53
|
+
|
|
54
|
+
STALE=$(sqlite3 "$DB" "
|
|
55
|
+
SELECT wa.agent_name || ' (' || wa.agent_id || ')'
|
|
56
|
+
FROM work_announcements wa
|
|
57
|
+
LEFT JOIN agent_registry ar ON ar.id = wa.agent_id
|
|
58
|
+
WHERE wa.resource = '$RELq'
|
|
59
|
+
AND wa.agent_id <> '$MEq'
|
|
60
|
+
AND wa.completed_at IS NULL
|
|
61
|
+
AND (strftime('%s','now') - strftime('%s', COALESCE(ar.last_heartbeat, wa.announced_at))) >= $THRESHOLD
|
|
62
|
+
ORDER BY wa.announced_at DESC LIMIT 1;" 2>/dev/null || true)
|
|
63
|
+
|
|
64
|
+
# 2) Live conflict → block. Do NOT announce (our edit won't happen).
|
|
65
|
+
if [ -n "$LIVE" ]; then
|
|
66
|
+
echo "{\"decision\":\"block\",\"reason\":\"COORDINATION: ${LIVE} is currently editing ${REL} (live agent). Editing it now risks a merge conflict. Coordinate via 'uap agent overlaps --resource ${REL}', pick a different file, or wait for them to finish.\"}" >&2
|
|
67
|
+
exit 2
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# 3) No live conflict → announce our intent (idempotent per open resource).
|
|
71
|
+
EXISTS=$(sqlite3 "$DB" "SELECT 1 FROM work_announcements WHERE agent_id='$MEq' AND resource='$RELq' AND completed_at IS NULL LIMIT 1;" 2>/dev/null || true)
|
|
72
|
+
if [ -z "$EXISTS" ]; then
|
|
73
|
+
sqlite3 "$DB" "INSERT INTO work_announcements
|
|
74
|
+
(agent_id, agent_name, worktree_branch, intent_type, resource, description, files_affected, announced_at)
|
|
75
|
+
VALUES ('$MEq', '$NAMEq', '$WTq', 'editing', '$RELq', NULL, '[\"$ABSq\"]', datetime('now'));" 2>/dev/null || true
|
|
76
|
+
else
|
|
77
|
+
sqlite3 "$DB" "UPDATE work_announcements SET announced_at=datetime('now')
|
|
78
|
+
WHERE agent_id='$MEq' AND resource='$RELq' AND completed_at IS NULL;" 2>/dev/null || true
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# 4) Stale overlap (crashed/idle agent) → warn but allow; self-heal by completing
|
|
82
|
+
# the stale announcement so it stops nagging.
|
|
83
|
+
if [ -n "$STALE" ]; then
|
|
84
|
+
echo "COORDINATION WARNING: ${STALE} has a stale open announcement on ${REL}; proceeding. If they are still active, coordinate to avoid conflicts." >&2
|
|
85
|
+
sqlite3 "$DB" "UPDATE work_announcements SET completed_at=datetime('now')
|
|
86
|
+
WHERE resource='$RELq' AND agent_id<>'$MEq' AND completed_at IS NULL
|
|
87
|
+
AND agent_id IN (
|
|
88
|
+
SELECT wa.agent_id FROM work_announcements wa
|
|
89
|
+
LEFT JOIN agent_registry ar ON ar.id = wa.agent_id
|
|
90
|
+
WHERE (strftime('%s','now') - strftime('%s', COALESCE(ar.last_heartbeat, wa.announced_at))) >= $THRESHOLD
|
|
91
|
+
);" 2>/dev/null || true
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
exit 0
|