@miller-tech/uap 1.165.0 → 1.169.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.
Files changed (47) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/bin/cli.js +47 -2
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/cli/coord.d.ts +1 -1
  5. package/dist/cli/coord.d.ts.map +1 -1
  6. package/dist/cli/coord.js +59 -0
  7. package/dist/cli/coord.js.map +1 -1
  8. package/dist/cli/merge-queue.d.ts +53 -0
  9. package/dist/cli/merge-queue.d.ts.map +1 -0
  10. package/dist/cli/merge-queue.js +239 -0
  11. package/dist/cli/merge-queue.js.map +1 -0
  12. package/dist/cli/worktree.d.ts +69 -1
  13. package/dist/cli/worktree.d.ts.map +1 -1
  14. package/dist/cli/worktree.js +560 -26
  15. package/dist/cli/worktree.js.map +1 -1
  16. package/dist/config/policy-recommendations.d.ts.map +1 -1
  17. package/dist/config/policy-recommendations.js +4 -0
  18. package/dist/config/policy-recommendations.js.map +1 -1
  19. package/dist/coordination/index.d.ts +1 -0
  20. package/dist/coordination/index.d.ts.map +1 -1
  21. package/dist/coordination/index.js +1 -0
  22. package/dist/coordination/index.js.map +1 -1
  23. package/dist/coordination/ownership.d.ts +51 -0
  24. package/dist/coordination/ownership.d.ts.map +1 -0
  25. package/dist/coordination/ownership.js +175 -0
  26. package/dist/coordination/ownership.js.map +1 -0
  27. package/dist/delivery/self-gate.js +6 -0
  28. package/dist/delivery/self-gate.js.map +1 -1
  29. package/dist/delivery/verifier-ladder.d.ts +16 -0
  30. package/dist/delivery/verifier-ladder.d.ts.map +1 -1
  31. package/dist/delivery/verifier-ladder.js +20 -3
  32. package/dist/delivery/verifier-ladder.js.map +1 -1
  33. package/docs/INDEX.md +2 -1
  34. package/docs/guides/PARALLEL_AGENTS.md +209 -0
  35. package/docs/guides/POLICIES.md +1 -0
  36. package/docs/guides/WORKTREE_WORKFLOW.md +5 -2
  37. package/docs/reference/CLI.md +24 -1
  38. package/package.json +1 -1
  39. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  40. package/src/policies/enforcers/branch_freshness.py +134 -0
  41. package/src/policies/enforcers/coord_overlap.py +126 -47
  42. package/src/policies/schemas/policies/branch-freshness.md +81 -0
  43. package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
  44. package/templates/hooks/coordinate-file.sh +153 -3
  45. package/templates/hooks/session-end.sh +15 -0
  46. package/templates/hooks/session-start.sh +24 -2
  47. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"verifier-ladder.js","sourceRoot":"","sources":["../../src/delivery/verifier-ladder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier-ladder.js","sourceRoot":"","sources":["../../src/delivery/verifier-ladder.ts"],"names":[],"mappings":"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"}
package/docs/INDEX.md CHANGED
@@ -22,7 +22,7 @@ UAP is organized like a delivery line. If you know which part of the pipeline yo
22
22
  | **Isolation** — a bench per job | Editing `main`, clobbering files | [Worktree Workflow](guides/WORKTREE_WORKFLOW.md) |
23
23
  | **Build** — make the thing | Plausible-but-wrong code, stubs, empty output | [`uap deliver`](guides/DELIVER.md) · [Local Models](guides/LOCAL_MODELS.md) · [Inference Proxy](guides/PROXY.md) |
24
24
  | **QC / verify** — prove it runs | "Done" on code that never ran | [`uap deliver`](guides/DELIVER.md) · [Policies](guides/POLICIES.md) |
25
- | **Coordination** — many workers, one floor | Parallel agents colliding | [Coordination](guides/COORDINATION.md) · [Deploy Batching](guides/DEPLOY_BATCHING.md) |
25
+ | **Coordination** — many workers, one floor | Parallel agents colliding, stale branches overwriting landed work | [Parallel Agents](guides/PARALLEL_AGENTS.md) · [Coordination](guides/COORDINATION.md) · [Deploy Batching](guides/DEPLOY_BATCHING.md) |
26
26
  | **Shipping** — out the door safely | Regressions, red CI, skipped bumps | [Worktree Workflow](guides/WORKTREE_WORKFLOW.md) · [Policies](guides/POLICIES.md) |
27
27
  | **Feedback** — the floor learns | The same mistake every session | [Memory](guides/MEMORY.md) · [Self-Harness](design/SELF_HARNESS.md) · [Self-Tuning](guides/SELF_TUNING.md) |
28
28
  | *Cross-cutting* — the whole line | Ignored rules, bloated context | [Policies](guides/POLICIES.md) · [MCP Router](guides/MCP_ROUTER.md) |
@@ -59,6 +59,7 @@ Full map: **[The UAP Delivery Pipeline](guides/DELIVERY_PIPELINE.md)**.
59
59
  | [Droids & Skills](guides/DROIDS_AND_SKILLS.md) | 38 expert droids, 36 skills, the expert router |
60
60
  | [Deploy Batching](guides/DEPLOY_BATCHING.md) | Conflict-free batched git/deploy actions |
61
61
  | [Coordination](guides/COORDINATION.md) | Multi-agent overlap detection |
62
+ | [**Parallel Agents**](guides/PARALLEL_AGENTS.md) | Many agents, one codebase: fresh bases, drift blocking, `uap worktree sync`, the merge queue, ownership lanes ⭐ |
62
63
  | [Local Models](guides/LOCAL_MODELS.md) | Running agents against local llama.cpp / Qwen models |
63
64
  | [Inference Proxy](guides/PROXY.md) | The Anthropic↔local gateway: `uap proxy` lifecycle, reliability guardrails, security, serving recipes |
64
65
  | [Qwen3.6 on llama.cpp by VRAM](guides/QWEN36_LLAMACPP.md) | Tiered 8/12/16/24/32 GB setup; how `uap deliver` uplifts small local models |
@@ -0,0 +1,209 @@
1
+ # Parallel Agents: Staying Collision-Free and Current
2
+
3
+ How several agents work one codebase at once without overwriting each other, and
4
+ without drifting away from the branch everything has to merge into.
5
+
6
+ ## The two failure modes
7
+
8
+ Only one of these is what people mean by "merge conflict", and it is the less
9
+ expensive one.
10
+
11
+ | | Concurrent collision | Sequential drift |
12
+ |---|---|---|
13
+ | **What happens** | Two agents hold the same file at the same moment | Agent A lands a change; agent B's branch predates it and was never re-synced, so B edits a stale copy |
14
+ | **Who notices** | Git, loudly, at merge time | Nobody. B's merge silently reverts A's work, or a model "resolves" the conflict by keeping its own version |
15
+ | **Covered by** | Live-agent lock in `coordinate-file.sh` | Everything on this page |
16
+
17
+ This repo currently has **151 worktrees; the worst is ~1242 commits behind
18
+ `origin/master`; 24 hold unmerged commits and 15 have uncommitted files.** A
19
+ worktree created during the audit that produced this system was born 1 commit
20
+ behind, because creation read local `HEAD` and never fetched.
21
+
22
+ Those numbers are the *starting* state, not a solved problem — the layers below
23
+ stop it getting worse and make it visible. Reconciling the existing backlog is a
24
+ `uap worktree hygiene` / `uap worktree prune` job.
25
+
26
+ ## The layers
27
+
28
+ Each layer catches what the one before it cannot. All of them fail **open** — no
29
+ remote, no git, or an unavailable coordination DB always allows the edit.
30
+
31
+ ### 1. Fresh at birth
32
+
33
+ `uap worktree create <slug>` fetches and bases the new branch on
34
+ `origin/<default>`, not on whatever the local checkout happens to have at HEAD.
35
+
36
+ ```bash
37
+ uap worktree create my-feature # branches from the fetched remote tip
38
+ uap worktree create my-feature --from x # explicit base still wins
39
+ uap worktree create my-feature --no-fetch # offline; accepts a possibly stale base
40
+ ```
41
+
42
+ The default branch is resolved from `origin/HEAD`, then `origin/master`, then
43
+ `origin/main`, then the current local branch, with a final literal `master`
44
+ fallback if even that fails.
45
+
46
+ > If your integration branch is neither `master` nor `main` and `origin/HEAD` is
47
+ > unset (common on `--single-branch` clones), resolution falls through to *the
48
+ > branch you are standing on*. Set it once — `git remote set-head origin -a` — or
49
+ > pass `--from` explicitly.
50
+
51
+ ### 2. Fresh while you work
52
+
53
+ ```bash
54
+ uap worktree sync # run from INSIDE a worktree — syncs the cwd
55
+ uap worktree sync --id 117 # a specific worktree, from anywhere
56
+ uap worktree sync --all # every worktree
57
+ ```
58
+
59
+ With no flags it operates on the current directory and does not verify that it is
60
+ a worktree — run it from the main checkout and it merges into whatever branch that
61
+ checkout is on. Worktrees with uncommitted changes are skipped, not merged.
62
+
63
+ Previously the only sync happened at `uap worktree finish` — the most expensive
64
+ possible moment to discover a conflict. Sync early and often instead.
65
+
66
+ ### 3. Blocked from overwriting landed work
67
+
68
+ Before any worktree edit, `coordinate-file.sh` checks whether **that specific
69
+ file** changed on the integration branch since your branch's merge-base. If it
70
+ did, the edit is blocked:
71
+
72
+ ```
73
+ STALE FILE: src/cli/worktree.ts has changed on origin/master since your branch
74
+ point (you are 12 commits behind). Editing this copy risks silently reverting
75
+ work that already landed. Run 'uap worktree sync' first.
76
+ ```
77
+
78
+ Scoped to the single file, so a stale branch touching untouched files keeps
79
+ working — no blanket freeze. The check depends only on git, so it still runs when
80
+ the coordination DB is missing. Its `git fetch` is throttled (default 600s) so it
81
+ never turns every edit into a network round-trip.
82
+
83
+ | Variable | Effect |
84
+ |---|---|
85
+ | `UAP_COORD_DRIFT=warn` | warn instead of block |
86
+ | `UAP_COORD_DRIFT=off` | disable |
87
+ | `UAP_COORD_FETCH_SECONDS` | fetch throttle (default 600) |
88
+
89
+ An in-progress merge, rebase, cherry-pick or revert is exempt — the files you must
90
+ edit to resolve a conflict are by definition the ones that moved upstream.
91
+
92
+ ### 4. Blocked from drifting too far
93
+
94
+ The `branch-freshness` enforcer (`src/policies/enforcers/branch_freshness.py`)
95
+ warns at 50 commits behind and blocks at 200 — the backstop for a branch whose
96
+ whole model of the codebase has gone stale, where the eventual merge is a rewrite
97
+ rather than a merge. Where layer 3 is file-precise, this is branch-coarse.
98
+
99
+ ```
100
+ branch-freshness: this worktree is 1242 commits behind origin/master (limit 200).
101
+ Edits here are being written against a codebase that has moved on, and the merge
102
+ will be a rewrite rather than a merge. Run `uap worktree sync` first.
103
+ ```
104
+
105
+ | Variable | Effect |
106
+ |---|---|
107
+ | `UAP_FRESHNESS_WARN` | advisory threshold (default 50) |
108
+ | `UAP_FRESHNESS_BLOCK` | blocking threshold (default 200) |
109
+ | `UAP_NO_FRESHNESS=1` | disable |
110
+
111
+ Only worktree edits are in scope; the main checkout is governed by
112
+ `worktree-required`. Fails open on a repo with no remote. It is part of the
113
+ `team` policy scenario — `uap policy select` to enable it.
114
+
115
+ The same 200-commit figure drives the `STALE — safe to prune` marker in
116
+ `uap worktree hygiene`, which is a report, not a gate.
117
+
118
+ The 200-commit figure also drives the `STALE — safe to prune` marker in
119
+ `uap worktree hygiene`, which is a report, not a gate.
120
+
121
+ ### 5. Serialized landing
122
+
123
+ Two independently-green PRs can still break each other on merge. That is not
124
+ hypothetical: PR #577 landed a legitimate infra file while a stale test asserting
125
+ its absence lived on master, turning CI red and blocking every version bump.
126
+
127
+ ```bash
128
+ uap merge queue # prints the plan only — never merges without --yes
129
+ uap merge queue --yes # land one at a time, re-syncing impacted PRs after each
130
+ uap merge queue --yes --limit 3
131
+ ```
132
+
133
+ Merging is irreversible and unattended, so **`--yes` is required**; the bare
134
+ command is a plan. At most 10 PRs per run by default (`--limit`). `--force` lands
135
+ PRs whose checks are not green — the CI safety this page argues for, deliberately
136
+ switched off.
137
+
138
+ Priority bands, highest first:
139
+
140
+ | Band | Matches |
141
+ |---|---|
142
+ | 0 | labels containing `p0`, `critical`, `hotfix`, `security` |
143
+ | 1 | labels containing `bug`, `fix`, `p1`; or branch `fix/…`, `hotfix/…` |
144
+ | 2 | everything else |
145
+ | 3 | branch `chore/…`, `docs/…` |
146
+
147
+ Note the docs/chore band matches on **branch name**, not title — a PR titled
148
+ `docs: …` on `feature/x` sorts into band 2. Ties break on smaller diff first, then
149
+ least-recently-updated. After each merge, every PR that touches the same files
150
+ **or the same ownership lane** is re-synced onto the new base before the next
151
+ merge. PRs whose checks are still running are skipped rather than waited on, so a
152
+ second run is often needed to drain the queue.
153
+
154
+ ### 6. Prevention: ownership lanes
155
+
156
+ The layers above react to collisions. Lanes make them avoidable: partition the
157
+ tree so concurrent agents can be pointed at different areas.
158
+
159
+ `.uap-ownership.json` in the repo root — **tracked on purpose**, since a lane map
160
+ that cannot be committed cannot be shared between agents, clones or CI. An
161
+ untracked `.uap/ownership.json` overrides it for per-machine tweaks.
162
+
163
+ ```json
164
+ {
165
+ "lanes": {
166
+ "cli": ["src/cli/**", "src/bin/**"],
167
+ "delivery": ["src/delivery/**"],
168
+ "policy": ["src/policies/**", "policies/**"]
169
+ }
170
+ }
171
+ ```
172
+
173
+ ```bash
174
+ uap coord ownership # show the lane map
175
+ uap coord ownership src/cli/worktree.ts # which lane, and is it held?
176
+ ```
177
+
178
+ Unmapped paths belong to no lane and are never blocked, so a partial map degrades
179
+ to previous behavior rather than freezing work. Lanes feed the merge queue, where
180
+ they catch the semantic conflict that file-overlap misses entirely: two PRs
181
+ editing *different* files in the same module.
182
+
183
+ > Lanes are currently **advisory plus merge-queue input**. The scheduling
184
+ > primitive that would hand agents disjoint lanes automatically
185
+ > (`selectDisjoint`) is exported and tested but has no production caller yet — no
186
+ > scheduler consumes it. Today you consult lanes; nothing assigns by them.
187
+
188
+ ### 7. Hygiene
189
+
190
+ Silent accumulation is how parallel work gets lost.
191
+
192
+ ```bash
193
+ uap worktree hygiene # per-worktree drift, unmerged commits, dirty files
194
+ uap worktree hygiene --brief # one-line advisory (used by the session banner)
195
+ uap worktree prune --older-than 30
196
+ ```
197
+
198
+ The session banner surfaces the advisory automatically when anything needs
199
+ attention, and stays silent otherwise.
200
+
201
+ ## Recommended loop
202
+
203
+ ```bash
204
+ uap worktree create my-feature # fresh base, guaranteed
205
+ # ... work; the drift check blocks you if a file moves under you ...
206
+ uap worktree sync # cheap, do it often
207
+ uap worktree pr <id>
208
+ uap merge queue # land serialized, re-sync the rest
209
+ ```
@@ -64,6 +64,7 @@ Each enforcer guards a specific station of the pipeline. The enforcers in
64
64
  | `worktree_required` | Edit/Write/MultiEdit must target a `.worktrees/` path |
65
65
  | `task_required` | A UAP task must be `in_progress` before mutating work |
66
66
  | `coord_overlap` | Checks for in-flight agent path reservations (parallel-agent overlap) |
67
+ | `branch_freshness` | Worktree edits blocked once the branch drifts too far from the integration branch (warn 50, block 200) |
67
68
  | `delivery_enforcement` | Route substantive coding through `uap deliver` |
68
69
 
69
70
  ### Plan discipline
@@ -43,7 +43,9 @@ uap worktree finish <id> # 4. land: sync, push, merge the PR, then clean u
43
43
  1. **Create** — `create` allocates the next numeric ID from a registry,
44
44
  builds the branch name `feature/NNN-<slug>`, and runs
45
45
  `git worktree add -b <branch> .worktrees/NNN-<slug> <base>`. The base branch
46
- defaults to your current branch (override with `--from`). The new worktree is
46
+ defaults to the freshly-fetched `origin/<default>` not your current branch
47
+ so a worktree is never born stale (override with `--from`, skip the fetch with
48
+ `--no-fetch`). See [Parallel Agents](PARALLEL_AGENTS.md). The new worktree is
47
49
  recorded in a SQLite registry at `.uap/worktree_registry.db` so concurrent
48
50
  `create` calls never race on the same ID.
49
51
  2. **Work** — `cd` into the worktree and make changes. Everything stays on the
@@ -104,7 +106,8 @@ Create a new worktree and feature branch for `<slug>`.
104
106
 
105
107
  | Flag | Description |
106
108
  |------|-------------|
107
- | `-f, --from <branch>` | Base branch (defaults to the current branch) |
109
+ | `-f, --from <branch>` | Base branch (defaults to the fetched `origin/<default>`) |
110
+ | `--no-fetch` | Skip the base fetch (offline; accepts a possibly stale base) |
108
111
  | `-d, --description <description>` | Optional worktree description |
109
112
 
110
113
  ```bash
@@ -250,8 +250,10 @@ worktree under `.worktrees/NNN-<slug>/`.
250
250
 
251
251
  | Subcommand | Key flags | Purpose |
252
252
  |------------|-----------|---------|
253
- | `create <slug>` | `-f, --from <branch>`, `-d, --description` | Create a new worktree for a feature |
253
+ | `create <slug>` | `-f, --from <branch>`, `--no-fetch`, `-d, --description` | Create a worktree, based on the fetched `origin/<default>` |
254
254
  | `list` | — | List all worktrees |
255
+ | `sync` | `-i, --id <id>`, `-a, --all` | Merge the integration branch into a worktree (mid-flight re-base) |
256
+ | `hygiene` | `-b, --brief` | Report drift, unmerged work, and stale worktrees |
255
257
  | `pr <id>` | `--draft` | Create a PR from a worktree |
256
258
  | `finish <id>` | — | Sync, merge PR, and auto-cleanup the worktree |
257
259
  | `cleanup <id>` | — | Remove a worktree and delete its branch |
@@ -261,12 +263,33 @@ worktree under `.worktrees/NNN-<slug>/`.
261
263
  ```bash
262
264
  uap worktree ensure --strict
263
265
  uap worktree create add-user-auth
266
+ uap worktree sync # re-base this worktree mid-flight
267
+ uap worktree hygiene # drift + unmerged work across all worktrees
264
268
  uap worktree finish 042
265
269
  uap worktree prune --older-than 14 --dry-run
266
270
  ```
267
271
 
268
272
  ---
269
273
 
274
+ ## `merge`
275
+
276
+ Serialized landing of concurrent agent PRs. See
277
+ [Parallel Agents](../guides/PARALLEL_AGENTS.md).
278
+
279
+ | Subcommand | Key flags | Purpose |
280
+ |------------|-----------|---------|
281
+ | `queue` | `-y, --yes`, `-n, --dry-run`, `-l, --limit <n>` (10), `--force` | Land PRs one at a time, re-syncing every PR each merge invalidates |
282
+
283
+ Without `--yes` the command only prints its plan — merging is irreversible and
284
+ unattended. `--force` lands PRs whose checks are not green.
285
+
286
+ ```bash
287
+ uap merge queue # plan only
288
+ uap merge queue --yes --limit 3
289
+ ```
290
+
291
+ ---
292
+
270
293
  ## `sync`
271
294
 
272
295
  Sync configuration between platforms.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.165.0",
3
+ "version": "1.169.0",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,134 @@
1
+ #!/usr/bin/env python3
2
+ """branch-freshness enforcer: a worktree branch must not drift far from the
3
+ integration branch before it is allowed to keep accumulating edits.
4
+
5
+ The file-level companion (coordinate-file.sh) blocks precisely: only when the
6
+ FILE being edited moved on the integration branch. That is the right default —
7
+ it never freezes work that cannot conflict. This enforcer is the coarse backstop
8
+ for the other failure mode: a branch so far behind that its whole mental model of
9
+ the codebase is wrong, where the eventual merge is a rewrite rather than a merge.
10
+
11
+ Measured on this repo before the gate existed: 151 worktrees, the worst 1241
12
+ commits behind origin/master, 23 holding unmerged commits. None of that drift was
13
+ visible to any gate.
14
+
15
+ Env:
16
+ UAP_NO_FRESHNESS=1 disable entirely
17
+ UAP_FRESHNESS_WARN=<n> advisory threshold (default 50)
18
+ UAP_FRESHNESS_BLOCK=<n> blocking threshold (default 200)
19
+ """
20
+ from __future__ import annotations
21
+ import os
22
+ import sys
23
+ from pathlib import Path
24
+
25
+ sys.path.insert(0, str(Path(__file__).parent))
26
+ from _common import emit, parse_cli, run, worktree_root # noqa: E402
27
+
28
+ EDIT_OPS = {"Edit", "Write", "MultiEdit", "edit", "write", "multiedit"}
29
+
30
+ DEFAULT_WARN = 50
31
+ DEFAULT_BLOCK = 200
32
+
33
+
34
+ def _int_env(name: str, default: int) -> int:
35
+ raw = os.environ.get(name)
36
+ if not raw:
37
+ return default
38
+ try:
39
+ value = int(raw)
40
+ except ValueError:
41
+ return default
42
+ return value if value > 0 else default
43
+
44
+
45
+ def integration_ref(root: Path) -> str | None:
46
+ """origin/HEAD -> origin/master -> origin/main, or None when there is no remote."""
47
+ code, out, _ = run(["git", "symbolic-ref", "--quiet", "refs/remotes/origin/HEAD"], cwd=root)
48
+ if code == 0 and out.strip():
49
+ return out.strip().replace("refs/remotes/", "")
50
+ for candidate in ("master", "main"):
51
+ code, _, _ = run(
52
+ ["git", "rev-parse", "--verify", "--quiet", f"refs/remotes/origin/{candidate}"],
53
+ cwd=root,
54
+ )
55
+ if code == 0:
56
+ return f"origin/{candidate}"
57
+ return None
58
+
59
+
60
+ def commits_behind(root: Path, ref: str) -> int | None:
61
+ code, out, _ = run(["git", "rev-list", "--count", f"HEAD..{ref}"], cwd=root)
62
+ if code != 0:
63
+ return None
64
+ try:
65
+ return int(out.strip())
66
+ except ValueError:
67
+ return None
68
+
69
+
70
+ def main() -> None:
71
+ op, args = parse_cli()
72
+ if op not in EDIT_OPS:
73
+ emit(True, "not a file-edit operation")
74
+
75
+ if os.environ.get("UAP_NO_FRESHNESS") == "1":
76
+ emit(True, "UAP_NO_FRESHNESS override set")
77
+
78
+ target = args.get("file_path") or args.get("path") or args.get("target") or ""
79
+ if not target:
80
+ emit(True, "no file path in args")
81
+
82
+ # Only worktree edits are in scope. Edits in the main checkout are governed by
83
+ # worktree-required, and non-repo paths are none of our business.
84
+ if ".worktrees/" not in str(Path(target)):
85
+ emit(True, "not a worktree edit")
86
+
87
+ root = worktree_root()
88
+ # A linked worktree has .git as a FILE, not a directory — both are valid.
89
+ git_marker = root / ".git"
90
+ if not git_marker.exists():
91
+ emit(True, "not a git working tree — fail open")
92
+
93
+ ref = integration_ref(root)
94
+ if ref is None:
95
+ emit(True, "no integration ref (no remote) — fail open")
96
+
97
+ behind = commits_behind(root, ref)
98
+ if behind is None:
99
+ emit(True, "drift not measurable — fail open")
100
+
101
+ warn_at = _int_env("UAP_FRESHNESS_WARN", DEFAULT_WARN)
102
+ block_at = _int_env("UAP_FRESHNESS_BLOCK", DEFAULT_BLOCK)
103
+ # A warn threshold above the block threshold would silently never fire.
104
+ if warn_at > block_at:
105
+ warn_at = block_at
106
+
107
+ if behind >= block_at:
108
+ emit(
109
+ False,
110
+ f"branch-freshness: this worktree is {behind} commits behind {ref} "
111
+ f"(limit {block_at}). Edits here are being written against a codebase that "
112
+ "has moved on, and the merge will be a rewrite rather than a merge. "
113
+ "Run `uap worktree sync` first. Override: UAP_NO_FRESHNESS=1.",
114
+ route="worktree-sync",
115
+ worktreeHint="uap worktree sync",
116
+ behind=behind,
117
+ )
118
+
119
+ if behind >= warn_at:
120
+ emit(
121
+ True,
122
+ f"branch-freshness: {behind} commits behind {ref} — consider "
123
+ "`uap worktree sync` before this grows into a conflict.",
124
+ behind=behind,
125
+ )
126
+
127
+ # Report `behind` on EVERY path, not just warn/block — callers and tests read
128
+ # it for observability, and a field that appears only on failure is a field
129
+ # nobody can build a dashboard on.
130
+ emit(True, f"fresh ({behind} behind {ref})", behind=behind)
131
+
132
+
133
+ if __name__ == "__main__":
134
+ main()