@miller-tech/uap 1.179.6 → 1.179.8

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.
@@ -333,6 +333,39 @@ export interface ReadCache {
333
333
  round: number;
334
334
  }>;
335
335
  }
336
+ /** Bounds for forced-round grounding — see buildForcedRoundGrounding. */
337
+ export declare const FORCED_GROUNDING_MAX_FILES = 3;
338
+ export declare const FORCED_GROUNDING_MAX_BYTES = 24000;
339
+ /**
340
+ * Build the grounding block for a forced-write round.
341
+ *
342
+ * Stripping the read tools is what actually breaks a read-forever loop, but it
343
+ * also means the model composes its edit from memory. Measured on the Octopus
344
+ * Invaders build (2026-08-01): 50% of forced rounds broke syntax, 6 of the
345
+ * run's 7 syntax errors landed on the round immediately after a force, and the
346
+ * model's recovery from a broken edit was to re-emit the whole file — which is
347
+ * what produced 18 rewrites of a single file. Two of the wasted forced rounds
348
+ * failed specifically on stale context (`old_string not found`, and a
349
+ * 4-character old_string matching 20 times).
350
+ *
351
+ * So hand it the CURRENT content of what it has been reading. The loop is still
352
+ * broken (no read tools, tool_choice:'required'), but the write is grounded in
353
+ * fact rather than recall. Bounded to the most recently read files so this
354
+ * cannot blow the session's context budget.
355
+ *
356
+ * Returns undefined when there is nothing useful to inject.
357
+ */
358
+ export declare function buildForcedRoundGrounding(cache: ReadCache, projectRoot: string, readFile?: (p: string) => string): string | undefined;
359
+ /**
360
+ * Read a positive-integer round threshold from the environment.
361
+ *
362
+ * Falls back to `fallback` for anything that isn't a finite integer >= 1.
363
+ * That strictness is the point: these values gate the write-forcing rail, and
364
+ * a typo'd or empty variable silently coercing to 0 or NaN would disable the
365
+ * rail entirely — the exact read-forever failure it exists to break. Refusing
366
+ * junk keeps a misconfiguration merely ineffective rather than harmful.
367
+ */
368
+ export declare function readRoundsEnv(name: string, fallback: number): number;
336
369
  export declare function newReadCache(): ReadCache;
337
370
  /**
338
371
  * Returns a terse steer when this exact read was already served and nothing has
@@ -1 +1 @@
1
- {"version":3,"file":"agentic-executor.d.ts","sourceRoot":"","sources":["../../src/delivery/agentic-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentic-executor.d.ts","sourceRoot":"","sources":["../../src/delivery/agentic-executor.ts"],"names":[],"mappings":"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"}
@@ -390,6 +390,82 @@ function restoreProtected(snap) {
390
390
  }
391
391
  return restored;
392
392
  }
393
+ /** Bounds for forced-round grounding — see buildForcedRoundGrounding. */
394
+ export const FORCED_GROUNDING_MAX_FILES = 3;
395
+ export const FORCED_GROUNDING_MAX_BYTES = 24_000;
396
+ /**
397
+ * Build the grounding block for a forced-write round.
398
+ *
399
+ * Stripping the read tools is what actually breaks a read-forever loop, but it
400
+ * also means the model composes its edit from memory. Measured on the Octopus
401
+ * Invaders build (2026-08-01): 50% of forced rounds broke syntax, 6 of the
402
+ * run's 7 syntax errors landed on the round immediately after a force, and the
403
+ * model's recovery from a broken edit was to re-emit the whole file — which is
404
+ * what produced 18 rewrites of a single file. Two of the wasted forced rounds
405
+ * failed specifically on stale context (`old_string not found`, and a
406
+ * 4-character old_string matching 20 times).
407
+ *
408
+ * So hand it the CURRENT content of what it has been reading. The loop is still
409
+ * broken (no read tools, tool_choice:'required'), but the write is grounded in
410
+ * fact rather than recall. Bounded to the most recently read files so this
411
+ * cannot blow the session's context budget.
412
+ *
413
+ * Returns undefined when there is nothing useful to inject.
414
+ */
415
+ export function buildForcedRoundGrounding(cache, projectRoot, readFile = (p) => readFileSync(p, 'utf8')) {
416
+ // Cache keys are `${tool}:${path}` (see repeatReadNote). Only read_file
417
+ // entries name an actual file — a list_dir key is a directory and would
418
+ // otherwise be "read" as one, silently yielding nothing.
419
+ const recent = [...cache.seen.entries()]
420
+ .filter(([key]) => key.startsWith('read_file:'))
421
+ .map(([key, meta]) => [key.slice('read_file:'.length), meta])
422
+ .sort((a, b) => b[1].round - a[1].round)
423
+ .slice(0, FORCED_GROUNDING_MAX_FILES);
424
+ if (recent.length === 0)
425
+ return undefined;
426
+ const blocks = [];
427
+ let budget = FORCED_GROUNDING_MAX_BYTES;
428
+ for (const [rel] of recent) {
429
+ if (budget <= 0)
430
+ break;
431
+ let body;
432
+ try {
433
+ body = readFile(isAbsolute(rel) ? rel : join(projectRoot, rel));
434
+ }
435
+ catch {
436
+ continue; // deleted or unreadable since it was read — skip, never throw
437
+ }
438
+ const clipped = body.length > budget ? `${body.slice(0, budget)}\n… (truncated)` : body;
439
+ budget -= clipped.length;
440
+ blocks.push(`--- ${rel} (current content) ---\n${clipped}`);
441
+ }
442
+ if (blocks.length === 0)
443
+ return undefined;
444
+ return ('Read tools are unavailable this round. Here is the CURRENT on-disk content ' +
445
+ 'of the files you have been reading, so you do not have to recall it:\n\n' +
446
+ `${blocks.join('\n\n')}\n\n` +
447
+ 'Base your edit on exactly this text. For edit_file, copy old_string ' +
448
+ 'verbatim from above and make it long enough to be unique. Do not rewrite a ' +
449
+ 'whole file when a targeted edit will do.');
450
+ }
451
+ /**
452
+ * Read a positive-integer round threshold from the environment.
453
+ *
454
+ * Falls back to `fallback` for anything that isn't a finite integer >= 1.
455
+ * That strictness is the point: these values gate the write-forcing rail, and
456
+ * a typo'd or empty variable silently coercing to 0 or NaN would disable the
457
+ * rail entirely — the exact read-forever failure it exists to break. Refusing
458
+ * junk keeps a misconfiguration merely ineffective rather than harmful.
459
+ */
460
+ export function readRoundsEnv(name, fallback) {
461
+ const raw = process.env[name];
462
+ if (raw === undefined || raw.trim() === '')
463
+ return fallback;
464
+ const n = Number(raw.trim());
465
+ if (!Number.isFinite(n) || !Number.isInteger(n) || n < 1)
466
+ return fallback;
467
+ return n;
468
+ }
393
469
  export function newReadCache() {
394
470
  return { seen: new Map() };
395
471
  }
@@ -1042,7 +1118,21 @@ export function createAgenticExecutor(model, opts) {
1042
1118
  // missing files). Reads are never denied (see repeatReadNote), but after
1043
1119
  // WRITE_NUDGE_AFTER consecutive mutation-free rounds the next round opens
1044
1120
  // with an explicit order to write.
1045
- const WRITE_NUDGE_AFTER = 5;
1121
+ // Kept at 5. Log forensics on the Octopus Invaders build (2026-08-01,
1122
+ // 143 min) killed the case for lowering it: the run's 281-reads-to-44-writes
1123
+ // ratio is a TOOL-CALL ratio, not a repeating streak cycle — rounds batch
1124
+ // reads (one round carried 11), and the nudge fired 20 times across 22
1125
+ // sessions with 19 of those at exactly r6, i.e. at session OPEN, not in a
1126
+ // mid-session loop. Lowering the threshold would have saved ~1 round per
1127
+ // session opening, ~3-6% of wall clock, while pushing on the run's actual
1128
+ // failure mode: forcing strips the read tools, so the model composes a
1129
+ // blind edit — 50% of forced rounds broke syntax, and 6 of the run's 7
1130
+ // syntax errors landed on the round immediately after a force. Its recovery
1131
+ // from a broken edit is to re-emit the whole file, which is what produced
1132
+ // 18 rewrites of one file. Forcing EARLIER means less context and more of
1133
+ // exactly that. Grounding the forced round (below) is the fix; the env
1134
+ // override exists so this can be tuned per workload without another patch.
1135
+ const WRITE_NUDGE_AFTER = readRoundsEnv('UAP_DELIVER_WRITE_NUDGE_AFTER', 5);
1046
1136
  // After the soft nudge is IGNORED for this many further read-only rounds,
1047
1137
  // stop asking and force it: the next request offers only write/edit/finish
1048
1138
  // with tool_choice:'required'. A weak local model (qwen35-a3b live,
@@ -1050,7 +1140,7 @@ export function createAgenticExecutor(model, opts) {
1050
1140
  // prose and keeps reading; removing the read tools is the only reliable
1051
1141
  // lever. Kept just above WRITE_NUDGE_AFTER so the model gets one soft chance
1052
1142
  // to self-correct before the hard rail engages.
1053
- const FORCE_WRITE_AFTER = WRITE_NUDGE_AFTER + 1;
1143
+ const FORCE_WRITE_AFTER = Math.max(WRITE_NUDGE_AFTER + 1, readRoundsEnv('UAP_DELIVER_FORCE_WRITE_AFTER', WRITE_NUDGE_AFTER + 1));
1054
1144
  let roundsWithoutWrite = 0;
1055
1145
  let writeNudged = false;
1056
1146
  // Force NON-consecutively: at most one forced round, then always a normal
@@ -1077,10 +1167,17 @@ export function createAgenticExecutor(model, opts) {
1077
1167
  const forceWrite = roundsWithoutWrite >= FORCE_WRITE_AFTER && !lastRoundForced;
1078
1168
  lastRoundForced = forceWrite;
1079
1169
  if (forceWrite) {
1170
+ // Ground the forced round rather than blinding it — see
1171
+ // buildForcedRoundGrounding. Stripping the read tools stops the loop;
1172
+ // injecting current file content stops the blind edit that follows.
1173
+ const grounding = buildForcedRoundGrounding(readCache, opts.projectRoot);
1174
+ if (grounding)
1175
+ messages.push({ role: 'user', content: grounding });
1080
1176
  opts.onEvent?.({
1081
1177
  round,
1082
1178
  kind: 'error',
1083
- detail: `forced-write round: read tools stripped after ${roundsWithoutWrite} read-only rounds`,
1179
+ detail: `forced-write round: read tools stripped after ${roundsWithoutWrite} read-only rounds` +
1180
+ (grounding ? ' (grounded with current file content)' : ''),
1084
1181
  });
1085
1182
  }
1086
1183
  // Rail sizing: stop BEFORE sending a request that would outgrow the
@@ -1 +1 @@
1
- {"version":3,"file":"agentic-executor.js","sourceRoot":"","sources":["../../src/delivery/agentic-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentic-executor.js","sourceRoot":"","sources":["../../src/delivery/agentic-executor.ts"],"names":[],"mappings":"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"}
@@ -117,7 +117,23 @@ token is not echoed into the ride-along log. Binding beyond loopback
117
117
  `uap-anthropic-proxy.service`, reading its environment from
118
118
  `~/.config/uap/anthropic-proxy.env`; a plain spawned proxy seeds the same file
119
119
  for parity. The proxy also loads project-local `.uap/proxy.env` at startup
120
- (real environment always wins). PID reuse is defended with a `/proc/<pid>`
120
+ (real environment always wins). That search walks up from the working
121
+ directory and **stops at the repository root**, so a checkout nested inside an
122
+ unrelated checkout no longer inherits the outer repo's `PROXY_AUTH_TOKEN`; a
123
+ git *worktree* is the same repository, so its `.git` pointer is followed back
124
+ to the main checkout rather than terminating the search. If nothing is found
125
+ under the repo, `$XDG_CONFIG_HOME/uap/proxy.env` and `~/.uap/proxy.env` are
126
+ tried, matching the client-side resolver. The proxy logs which file it loaded
127
+ (or that it found none) plus its auth state at startup, so a discovery miss is
128
+ visible rather than silently degrading to defaults.
129
+
130
+ | Env (default) | Behavior |
131
+ |---|---|
132
+ | `UAP_PROXY_ENV_FILE` (unset) | Explicit path to a proxy.env, tried before the walk |
133
+ | `UAP_PROXY_ENV_AUTOLOAD` (**on**) | Set to `0` to make *importing* the proxy module inert — it then mutates no process environment. Used by the Python test suite so tests assert shipped defaults rather than the developer's config. Does not affect a server run |
134
+ | `PROXY_ALLOW_UNAUTHENTICATED_BIND` (**off**) | The proxy **refuses to start** on a non-loopback `PROXY_HOST` when `PROXY_AUTH_TOKEN` is empty, because the auth middleware treats an empty token as "no auth configured" and would leave every route open on the LAN. Set to `1` only if an open listener is genuinely intended |
135
+
136
+ PID reuse is defended with a `/proc/<pid>`
121
137
  start-time token so `release` never kills an unrelated process that inherited an
122
138
  old pid. Everything hook-driven **fails open** — if the proxy won't start, the
123
139
  agent just runs without it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.179.6",
3
+ "version": "1.179.8",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,7 +21,7 @@
21
21
  "start": "node dist/bin/cli.js",
22
22
  "test": "vitest",
23
23
  "test:ci": "vitest run",
24
- "test:enforcers": "python3 -m unittest tools.agents.tests.test_enforcement_self_protect tools.agents.tests.test_schema_diff_gate tools.agents.tests.test_stream_telemetry tools.agents.tests.test_project_telemetry_events tools.agents.tests.test_workdir_scope_enforcer tools.agents.tests.test_path_containment tools.agents.tests.test_path_normalizer_hardened tools.agents.tests.test_sandbox_tool_strip tools.agents.tests.test_proxy_env_loader tools.agents.tests.test_stream_required_tool tools.agents.tests.test_tool_call_wrapper_profiles tools.agents.tests.test_tool_convert_cache tools.agents.tests.test_doubling_break tools.agents.tests.test_error_loop_ignores_correctives tools.agents.tests.test_attractor_detection tools.agents.tests.test_client_disconnect tools.agents.tests.test_confidence_escalation tools.agents.tests.test_coordination_ban tools.agents.tests.test_coordination_early_ban tools.agents.tests.test_cycle_break_exploration tools.agents.tests.test_deferral_break tools.agents.tests.test_deliver_autoroute tools.agents.tests.test_delivery_enforcement_all_langs tools.agents.tests.test_delivery_enforcement_exemptions tools.agents.tests.test_delivery_enforcement_filepath tools.agents.tests.test_delivery_enforcement_web_and_bash tools.agents.tests.test_disconnect_watcher tools.agents.tests.test_empty_maxtokens_recovery tools.agents.tests.test_empty_tool_loop_break tools.agents.tests.test_enforcer_escape_hatches tools.agents.tests.test_error_loop_break tools.agents.tests.test_finalize_suppression tools.agents.tests.test_malformed_unclosed_think tools.agents.tests.test_mandate_beats_recon tools.agents.tests.test_mandate_deliver tools.agents.tests.test_overflow_truncate_count_tokens tools.agents.tests.test_passthrough_oauth tools.agents.tests.test_project_telemetry tools.agents.tests.test_proxy_auth_headers tools.agents.tests.test_prune_preserve_force_write tools.agents.tests.test_recon_deliver_gate tools.agents.tests.test_session_admission tools.agents.tests.test_stream_heartbeat tools.agents.tests.test_stuck_break_reattach tools.agents.tests.test_turn_count_breaker_periodic tools.agents.tests.test_upstream_chokepoint tools.agents.tests.test_vision_passthrough tools.agents.tests.test_worktree_required tools.agents.tests.test_enforcer_suite_coverage tools.agents.tests.test_validate_plan_gate tools.agents.tests.test_validate_plan_inside_project tools.agents.tests.test_anthropic_proxy_streaming tools.agents.tests.test_delivery_enforcement_worktree",
24
+ "test:enforcers": "UAP_PROXY_ENV_AUTOLOAD=0 python3 -m unittest tools.agents.tests.test_enforcement_self_protect tools.agents.tests.test_schema_diff_gate tools.agents.tests.test_stream_telemetry tools.agents.tests.test_project_telemetry_events tools.agents.tests.test_workdir_scope_enforcer tools.agents.tests.test_path_containment tools.agents.tests.test_path_normalizer_hardened tools.agents.tests.test_sandbox_tool_strip tools.agents.tests.test_proxy_env_loader tools.agents.tests.test_stream_required_tool tools.agents.tests.test_tool_call_wrapper_profiles tools.agents.tests.test_tool_convert_cache tools.agents.tests.test_doubling_break tools.agents.tests.test_error_loop_ignores_correctives tools.agents.tests.test_attractor_detection tools.agents.tests.test_client_disconnect tools.agents.tests.test_confidence_escalation tools.agents.tests.test_coordination_ban tools.agents.tests.test_coordination_early_ban tools.agents.tests.test_cycle_break_exploration tools.agents.tests.test_deferral_break tools.agents.tests.test_deliver_autoroute tools.agents.tests.test_delivery_enforcement_all_langs tools.agents.tests.test_delivery_enforcement_exemptions tools.agents.tests.test_delivery_enforcement_filepath tools.agents.tests.test_delivery_enforcement_web_and_bash tools.agents.tests.test_disconnect_watcher tools.agents.tests.test_empty_maxtokens_recovery tools.agents.tests.test_empty_tool_loop_break tools.agents.tests.test_enforcer_escape_hatches tools.agents.tests.test_error_loop_break tools.agents.tests.test_finalize_suppression tools.agents.tests.test_malformed_unclosed_think tools.agents.tests.test_mandate_beats_recon tools.agents.tests.test_mandate_deliver tools.agents.tests.test_overflow_truncate_count_tokens tools.agents.tests.test_passthrough_oauth tools.agents.tests.test_project_telemetry tools.agents.tests.test_proxy_auth_headers tools.agents.tests.test_prune_preserve_force_write tools.agents.tests.test_recon_deliver_gate tools.agents.tests.test_session_admission tools.agents.tests.test_stream_heartbeat tools.agents.tests.test_stuck_break_reattach tools.agents.tests.test_turn_count_breaker_periodic tools.agents.tests.test_upstream_chokepoint tools.agents.tests.test_vision_passthrough tools.agents.tests.test_worktree_required tools.agents.tests.test_enforcer_suite_coverage tools.agents.tests.test_validate_plan_gate tools.agents.tests.test_validate_plan_inside_project tools.agents.tests.test_anthropic_proxy_streaming tools.agents.tests.test_delivery_enforcement_worktree",
25
25
  "test:coverage": "vitest --coverage",
26
26
  "bench": "vitest --config vitest.bench.config.ts",
27
27
  "lint": "eslint src --ext .ts",
@@ -109,21 +109,92 @@ from fastapi.responses import StreamingResponse
109
109
  import uvicorn
110
110
 
111
111
 
112
+ # Path of the .uap/proxy.env actually loaded, or "" if none was found. Reported
113
+ # at startup so a silent discovery miss is visible in the journal.
114
+ _PROXY_ENV_FILE_LOADED = ""
115
+
116
+
117
+ def _git_common_root(gitfile: Path) -> "Path | None":
118
+ """Resolve a worktree/submodule `.git` FILE to its main checkout root.
119
+
120
+ A worktree's .git is a file containing `gitdir: <main>/.git/worktrees/<n>`.
121
+ It names the SAME repository — same object store, same operator, same trust
122
+ domain — so config discovery must follow it home rather than treat the
123
+ worktree as a foreign tree. Returns None if the file isn't a gitdir pointer.
124
+ """
125
+ try:
126
+ text = gitfile.read_text(errors="ignore").strip()
127
+ except OSError:
128
+ return None
129
+ if not text.startswith("gitdir:"):
130
+ return None
131
+ target = Path(text.split(":", 1)[1].strip())
132
+ if not target.is_absolute():
133
+ target = (gitfile.parent / target)
134
+ try:
135
+ target = target.resolve()
136
+ except OSError:
137
+ return None
138
+ for parent in [target, *target.parents]:
139
+ if parent.name == ".git":
140
+ return parent.parent
141
+ return None
142
+
143
+
112
144
  def _load_proxy_env_file() -> None:
113
145
  """Load .uap/proxy.env (KEY=VALUE) written by `uap setup` into os.environ so
114
146
  recipe / escalation / delivery selections reach the proxy without the user
115
147
  hand-exporting env. Existing process env ALWAYS wins (setdefault). Walks up
116
- from CWD to the filesystem root looking for a .uap/proxy.env; override the
117
- path with UAP_PROXY_ENV_FILE. Runs before the import-time env reads below.
118
- Fails open."""
148
+ from CWD looking for a .uap/proxy.env, stopping at the repository root;
149
+ override the path with UAP_PROXY_ENV_FILE. Runs before the import-time env
150
+ reads below. Fails open."""
119
151
  try:
120
152
  candidates = []
121
153
  explicit = os.environ.get("UAP_PROXY_ENV_FILE")
122
154
  if explicit:
123
155
  candidates.append(Path(explicit))
124
156
  d = Path.cwd()
157
+ try:
158
+ home = Path.home()
159
+ except Exception:
160
+ home = None
125
161
  for base in [d, *d.parents]:
126
162
  candidates.append(base / ".uap" / "proxy.env")
163
+ git = base / ".git"
164
+ # A real repository root: stop. The walk used to climb to the
165
+ # FILESYSTEM root, so a checkout nested under another repo silently
166
+ # loaded the outer repo's proxy.env — PROXY_AUTH_TOKEN included.
167
+ if git.is_dir():
168
+ break
169
+ # A worktree or submodule: its .git is a FILE naming the SAME
170
+ # repository. Same object store, same operator, same trust domain —
171
+ # so follow it to the main checkout instead of stopping. Stopping
172
+ # here would be worse than the leak: a worktree gets no .uap/ of its
173
+ # own, so the proxy would start with an EMPTY PROXY_AUTH_TOKEN, and
174
+ # the auth middleware treats empty as "no auth configured" rather
175
+ # than "misconfigured". Since PROXY_HOST=0.0.0.0 arrives from a
176
+ # different file that this walk never touched, that combination is
177
+ # an unauthenticated listener on the LAN.
178
+ if git.is_file():
179
+ main_root = _git_common_root(git)
180
+ if main_root is not None:
181
+ candidates.append(main_root / ".uap" / "proxy.env")
182
+ break
183
+ # Never climb above the user's home. With no repository anywhere
184
+ # above cwd the walk would otherwise reach "/", where a
185
+ # world-writable /tmp/.uap/proxy.env would be loaded unconditionally.
186
+ if home is not None and base == home:
187
+ break
188
+ # Machine-wide fallbacks, mirroring the TypeScript reader in
189
+ # src/models/openai-compat-client.ts. Without these the two halves
190
+ # disagree about where the token lives: the client finds one and sends
191
+ # it while the server has none and skips the check.
192
+ xdg = os.environ.get("XDG_CONFIG_HOME")
193
+ if xdg:
194
+ candidates.append(Path(xdg) / "uap" / "proxy.env")
195
+ if home is not None:
196
+ candidates.append(home / ".config" / "uap" / "proxy.env")
197
+ candidates.append(home / ".uap" / "proxy.env")
127
198
  for path in candidates:
128
199
  try:
129
200
  if not path.is_file():
@@ -139,12 +210,36 @@ def _load_proxy_env_file() -> None:
139
210
  val = val.strip().strip('"').strip("'")
140
211
  if key:
141
212
  os.environ.setdefault(key, val)
213
+ global _PROXY_ENV_FILE_LOADED
214
+ _PROXY_ENV_FILE_LOADED = str(path)
142
215
  break # first file found wins
143
216
  except Exception:
144
217
  pass
145
218
 
146
219
 
147
- _load_proxy_env_file()
220
+ def _proxy_env_autoload_enabled() -> bool:
221
+ """Whether importing this module may mutate the process environment.
222
+
223
+ On by default: the module-level constants below read os.environ at import,
224
+ so a server run needs the file loaded first. But `import anthropic_proxy`
225
+ is not always a server run — the test suite imports it ~6 times, and each
226
+ import used to setdefault the whole of .uap/proxy.env into the real
227
+ os.environ. Every enforcer subprocess spawned afterwards inherited it, so
228
+ tests asserted the developer's proxy config instead of the shipped
229
+ defaults, and the outcome depended on module order. Set
230
+ UAP_PROXY_ENV_AUTOLOAD=0 to import the module inertly; callers that want
231
+ the file can still invoke _load_proxy_env_file() explicitly.
232
+ """
233
+ return os.environ.get("UAP_PROXY_ENV_AUTOLOAD", "1").strip().lower() not in {
234
+ "0",
235
+ "off",
236
+ "false",
237
+ "no",
238
+ }
239
+
240
+
241
+ if _proxy_env_autoload_enabled():
242
+ _load_proxy_env_file()
148
243
 
149
244
  # ---------------------------------------------------------------------------
150
245
  # Configuration (all configurable via environment variables)
@@ -12588,7 +12683,58 @@ async def context_status(request: Request):
12588
12683
  # Entry Point
12589
12684
  # ===========================================================================
12590
12685
 
12686
+ _LOOPBACK_HOSTS = {"127.0.0.1", "::1", "localhost", ""}
12687
+
12688
+
12689
+ def _assert_bind_is_authenticated(host: str, token: str) -> None:
12690
+ """Refuse to expose an unauthenticated proxy beyond loopback.
12691
+
12692
+ The auth middleware is a no-op when PROXY_AUTH_TOKEN is empty — it reads
12693
+ "no auth configured", not "misconfigured". The token arrives from
12694
+ .uap/proxy.env while PROXY_HOST commonly arrives from the systemd
12695
+ EnvironmentFile, so any failure to locate the former leaves the latter
12696
+ intact: bind-all survives, require-a-credential does not. That asymmetry
12697
+ turns a silent config miss into an open LLM proxy on the LAN, fronting both
12698
+ the local model and cloud passthrough on the operator's credentials.
12699
+
12700
+ Fail closed instead. Set PROXY_ALLOW_UNAUTHENTICATED_BIND=1 to override
12701
+ when an open listener is genuinely intended.
12702
+ """
12703
+ if host in _LOOPBACK_HOSTS or token:
12704
+ return
12705
+ if os.environ.get("PROXY_ALLOW_UNAUTHENTICATED_BIND", "").strip().lower() in {
12706
+ "1",
12707
+ "on",
12708
+ "true",
12709
+ "yes",
12710
+ }:
12711
+ logger.warning(
12712
+ "PROXY AUTH DISABLED on a non-loopback bind (%s) — allowed only "
12713
+ "because PROXY_ALLOW_UNAUTHENTICATED_BIND is set.",
12714
+ host,
12715
+ )
12716
+ return
12717
+ raise SystemExit(
12718
+ f"refusing to bind {host} with no PROXY_AUTH_TOKEN: every route would be "
12719
+ f"unauthenticated. The token normally comes from .uap/proxy.env — if the "
12720
+ f"proxy cannot find that file, config discovery is broken rather than the "
12721
+ f"token being genuinely unset. Set PROXY_AUTH_TOKEN, bind 127.0.0.1, or "
12722
+ f"set PROXY_ALLOW_UNAUTHENTICATED_BIND=1 if an open listener is intended."
12723
+ )
12724
+
12725
+
12591
12726
  if __name__ == "__main__":
12727
+ # Config discovery is silent by design (it fails open so a missing file can
12728
+ # never stop the proxy). Say what it found, so a miss is visible in the
12729
+ # journal instead of showing up later as unexplained default behaviour.
12730
+ logger.info(
12731
+ "proxy env: %s | auth=%s | bind=%s:%d",
12732
+ f"loaded {_PROXY_ENV_FILE_LOADED}" if _PROXY_ENV_FILE_LOADED else "no proxy.env found",
12733
+ "enabled" if PROXY_AUTH_TOKEN else "DISABLED",
12734
+ PROXY_HOST,
12735
+ PROXY_PORT,
12736
+ )
12737
+ _assert_bind_is_authenticated(PROXY_HOST, PROXY_AUTH_TOKEN)
12592
12738
  uvicorn.run(
12593
12739
  app,
12594
12740
  host=PROXY_HOST,