@miller-tech/uap 1.148.8 → 1.148.10

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.
@@ -178,6 +178,22 @@ export declare function detectMigrationRung(projectRoot: string): GateRung | nul
178
178
  * Detect real gates in non-npm projects: a Makefile test/check/build target,
179
179
  * a pytest suite, or a conventional shell test script. Ordered cheap→expensive.
180
180
  */
181
+ /**
182
+ * Build + test rungs for EVERY ecosystem present — not just the first one found.
183
+ *
184
+ * Called UNCONDITIONALLY (like cargo), because the non-npm detectors used to sit
185
+ * behind `if (rungs.length === 0)`: a Go / C++ / .NET component living in a repo
186
+ * that also had a package.json was NEVER compiled or tested — it passed
187
+ * VACUOUSLY, judged only by `npm run build`. That is the same class of bug that
188
+ * was already fixed for Rust (an 8-phase Rust mission stagnated because every
189
+ * turn was judged by npm alone); this generalizes the fix to every language.
190
+ *
191
+ * Rule: if it is interpreted, transpiled, or compiled, it gets a rung that proves
192
+ * it actually builds and its tests pass. A rung whose toolchain is absent surfaces
193
+ * as a `spawn-error` (INFRA → reported, fails OPEN) rather than silently vanishing,
194
+ * so "we could not test your Go code" is visible instead of counting as a pass.
195
+ */
196
+ export declare function detectPolyglotRungs(projectRoot: string, timeoutMs?: number): GateRung[];
181
197
  export declare function detectNonNpmRungs(projectRoot: string, timeoutMs?: number): GateRung[];
182
198
  export declare function truncateTail(text: string, maxChars: number): string;
183
199
  /** Run a single rung synchronously in the project root. */
@@ -1 +1 @@
1
- {"version":3,"file":"verifier-ladder.d.ts","sourceRoot":"","sources":["../../src/delivery/verifier-ladder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier-ladder.d.ts","sourceRoot":"","sources":["../../src/delivery/verifier-ladder.ts"],"names":[],"mappings":"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"}
@@ -109,9 +109,15 @@ export function detectRungs(projectRoot, timeoutMs = DEFAULT_TIMEOUT_MS) {
109
109
  // live 2026-07-09, an 8-phase Rust mission stagnated to its turn cap because
110
110
  // every turn was judged by `npm run build` alone.
111
111
  rungs.push(...detectCargoRungs(projectRoot, timeoutMs));
112
- // Non-npm projects (the common case for polyglot CLI tasks) expose their
113
- // checks differently. Detect the real ones so deliver gates on the task's
114
- // own verifier instead of a hallucinated self-gate.
112
+ // EVERY other ecosystem present Go, .NET, C/C++ (CMake), JVM (Maven/Gradle/
113
+ // sbt), Swift, Ruby, PHP, Elixir, Dart, Haskell, Zig, Python. Unconditional for
114
+ // exactly the reason cargo is: these used to sit behind the `rungs.length === 0`
115
+ // fallback below, so a Go/C++/.NET/Python component in a repo that also had a
116
+ // package.json was NEVER compiled or tested — it passed vacuously, judged only
117
+ // by `npm run build`. A polyglot repo must gate on ALL of its languages.
118
+ rungs.push(...detectPolyglotRungs(projectRoot, timeoutMs));
119
+ // Generic fallbacks (Makefile / bare test script) only when nothing
120
+ // ecosystem-specific was detected at all.
115
121
  if (rungs.length === 0) {
116
122
  rungs.push(...detectNonNpmRungs(projectRoot, timeoutMs));
117
123
  }
@@ -420,6 +426,127 @@ export function detectMigrationRung(projectRoot) {
420
426
  * Detect real gates in non-npm projects: a Makefile test/check/build target,
421
427
  * a pytest suite, or a conventional shell test script. Ordered cheap→expensive.
422
428
  */
429
+ /**
430
+ * Build + test rungs for EVERY ecosystem present — not just the first one found.
431
+ *
432
+ * Called UNCONDITIONALLY (like cargo), because the non-npm detectors used to sit
433
+ * behind `if (rungs.length === 0)`: a Go / C++ / .NET component living in a repo
434
+ * that also had a package.json was NEVER compiled or tested — it passed
435
+ * VACUOUSLY, judged only by `npm run build`. That is the same class of bug that
436
+ * was already fixed for Rust (an 8-phase Rust mission stagnated because every
437
+ * turn was judged by npm alone); this generalizes the fix to every language.
438
+ *
439
+ * Rule: if it is interpreted, transpiled, or compiled, it gets a rung that proves
440
+ * it actually builds and its tests pass. A rung whose toolchain is absent surfaces
441
+ * as a `spawn-error` (INFRA → reported, fails OPEN) rather than silently vanishing,
442
+ * so "we could not test your Go code" is visible instead of counting as a pass.
443
+ */
444
+ export function detectPolyglotRungs(projectRoot, timeoutMs = DEFAULT_TIMEOUT_MS) {
445
+ const rungs = [];
446
+ const has = (p) => existsSync(join(projectRoot, p));
447
+ const hasMatch = (re) => {
448
+ try {
449
+ return readdirSync(projectRoot).some((f) => re.test(f));
450
+ }
451
+ catch {
452
+ return false;
453
+ }
454
+ };
455
+ // Compiles are slow (cargo/cmake/gradle): give them a real budget.
456
+ const buildMs = Math.max(timeoutMs, 900_000);
457
+ const add = (id, name, command, args, required = true) => {
458
+ rungs.push({ id, name, command, args, required, timeoutMs: buildMs });
459
+ };
460
+ // ── Go ────────────────────────────────────────────────────────────────────
461
+ if (has('go.mod')) {
462
+ add('go-build', 'Build (go build ./...)', 'go', ['build', './...']);
463
+ add('go-test', 'Tests (go test ./...)', 'go', ['test', './...']);
464
+ }
465
+ // ── .NET (C# / F# / VB) ───────────────────────────────────────────────────
466
+ if (has('global.json') || hasMatch(/\.(sln|csproj|fsproj|vbproj)$/i)) {
467
+ add('dotnet-build', 'Build (dotnet build)', 'dotnet', ['build', '--nologo']);
468
+ add('dotnet-test', 'Tests (dotnet test)', 'dotnet', ['test', '--nologo']);
469
+ }
470
+ // ── C / C++ via CMake (Makefile-only projects fall to detectNonNpmRungs) ───
471
+ if (has('CMakeLists.txt')) {
472
+ add('cmake-build', 'Build (cmake --build)', 'bash', [
473
+ '-lc',
474
+ 'cmake -S . -B build && cmake --build build',
475
+ ]);
476
+ // ctest exits 8 ("no tests were found") on a project with no test suite —
477
+ // that is a vacuous pass, not a failure.
478
+ rungs.push({
479
+ id: 'ctest',
480
+ name: 'Tests (ctest)',
481
+ command: 'bash',
482
+ args: ['-lc', 'ctest --test-dir build --output-on-failure'],
483
+ required: true,
484
+ timeoutMs: buildMs,
485
+ passExitCodes: [0, 8],
486
+ });
487
+ }
488
+ // ── JVM: Maven / Gradle (Java, Kotlin, Scala, Groovy) ─────────────────────
489
+ if (has('pom.xml'))
490
+ add('maven-test', 'Tests (mvn test)', 'mvn', ['-B', 'test']);
491
+ if (has('build.gradle') || has('build.gradle.kts')) {
492
+ const gradle = has('gradlew') ? './gradlew' : 'gradle';
493
+ add('gradle-test', `Tests (${gradle} test)`, gradle, ['test', '--console=plain']);
494
+ }
495
+ if (has('build.sbt'))
496
+ add('sbt-test', 'Tests (sbt test)', 'sbt', ['test']);
497
+ // ── Swift ─────────────────────────────────────────────────────────────────
498
+ if (has('Package.swift')) {
499
+ add('swift-build', 'Build (swift build)', 'swift', ['build']);
500
+ add('swift-test', 'Tests (swift test)', 'swift', ['test']);
501
+ }
502
+ // ── Ruby / PHP ────────────────────────────────────────────────────────────
503
+ if (has('Gemfile')) {
504
+ add('ruby-test', 'Tests (rspec / rake test)', 'bash', [
505
+ '-lc',
506
+ 'bundle exec rspec 2>/dev/null || bundle exec rake test',
507
+ ]);
508
+ }
509
+ if (has('composer.json')) {
510
+ add('php-test', 'Tests (phpunit)', 'bash', [
511
+ '-lc',
512
+ 'composer test 2>/dev/null || vendor/bin/phpunit',
513
+ ]);
514
+ }
515
+ // ── BEAM / Dart / Haskell / Zig ───────────────────────────────────────────
516
+ if (has('mix.exs'))
517
+ add('mix-test', 'Tests (mix test)', 'mix', ['test']);
518
+ if (has('pubspec.yaml')) {
519
+ add('dart-test', 'Tests (flutter/dart test)', 'bash', [
520
+ '-lc',
521
+ 'flutter test 2>/dev/null || dart test',
522
+ ]);
523
+ }
524
+ if (has('stack.yaml'))
525
+ add('stack-test', 'Tests (stack test)', 'stack', ['test']);
526
+ else if (hasMatch(/\.cabal$/))
527
+ add('cabal-test', 'Tests (cabal test)', 'cabal', ['test']);
528
+ if (has('build.zig'))
529
+ add('zig-test', 'Tests (zig build test)', 'zig', ['build', 'test']);
530
+ // ── Python ────────────────────────────────────────────────────────────────
531
+ // Also unconditional. pytest previously lived in the `rungs.length === 0`
532
+ // fallback, so a repo with BOTH a package.json and Python tests ran npm only —
533
+ // the Python code was never executed. Keyed off a real Python manifest; exit 5
534
+ // ("no tests collected") is a vacuous pass, not a failure.
535
+ const pyManifest = has('pyproject.toml') || has('setup.py') || has('setup.cfg') ||
536
+ has('requirements.txt') || has('Pipfile') || has('tox.ini');
537
+ if (pyManifest) {
538
+ rungs.push({
539
+ id: 'pytest',
540
+ name: 'Tests (pytest)',
541
+ command: 'python3',
542
+ args: ['-m', 'pytest', '-q'],
543
+ required: true,
544
+ timeoutMs: buildMs,
545
+ passExitCodes: [0, 5],
546
+ });
547
+ }
548
+ return rungs;
549
+ }
423
550
  export function detectNonNpmRungs(projectRoot, timeoutMs = DEFAULT_TIMEOUT_MS) {
424
551
  const rungs = [];
425
552
  const has = (p) => existsSync(join(projectRoot, p));
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.148.8",
3
+ "version": "1.148.10",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,6 +22,7 @@ files (deliver protects those itself), and tooling dot-dirs.
22
22
  """
23
23
  from __future__ import annotations
24
24
  import os
25
+ import re
25
26
  import sys
26
27
  from pathlib import Path
27
28
 
@@ -31,10 +32,54 @@ from _common import emit, parse_cli, repo_root # noqa: E402
31
32
  EDIT_OPS = {"Edit", "Write", "MultiEdit", "edit", "write", "multiedit"}
32
33
 
33
34
  # Only real implementation code is gated.
35
+ # EVERY code type is gated. The rule: if it is interpreted, transpiled, or
36
+ # compiled — it is code, it must route through deliver, and it must be TESTED to
37
+ # validate correct function. A partial list let whole ecosystems escape: `.html`
38
+ # omitted meant a 34KB single-file web app was "not source code" and shipped
39
+ # ungated (observed live). Pure data/config (.json/.yaml/.toml/.xml/.md) is
40
+ # deliberately NOT here — it has no "correct function" to execute.
34
41
  SOURCE_EXTS = (
42
+ # JS/TS + transpiled web
35
43
  ".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs",
36
- ".py", ".go", ".rs", ".java", ".rb", ".php", ".cs", ".swift", ".kt",
37
- ".c", ".cc", ".cpp", ".h", ".hpp",
44
+ ".vue", ".svelte", ".astro",
45
+ # Web deliverables (render/execute in a browser)
46
+ ".html", ".htm", ".css", ".scss", ".sass", ".less", ".styl",
47
+ # Templates (render to output)
48
+ ".ejs", ".hbs", ".handlebars", ".pug", ".jade", ".twig", ".erb",
49
+ ".njk", ".liquid", ".mustache",
50
+ # C / C++ / CUDA / ObjC
51
+ ".c", ".cc", ".cpp", ".cxx", ".c++", ".h", ".hpp", ".hh", ".hxx", ".h++",
52
+ ".inl", ".ipp", ".tpp", ".cu", ".cuh", ".m", ".mm",
53
+ # Rust / Go / Zig / Nim / Crystal / V / D
54
+ ".rs", ".go", ".zig", ".nim", ".cr", ".d",
55
+ # .NET
56
+ ".cs", ".vb", ".fs", ".fsi", ".fsx", ".razor", ".cshtml", ".vbhtml", ".xaml",
57
+ # JVM
58
+ ".java", ".kt", ".kts", ".scala", ".sc", ".groovy", ".gradle",
59
+ ".clj", ".cljs", ".cljc",
60
+ # Python / Ruby / PHP / Perl / Lua
61
+ ".py", ".pyi", ".pyx", ".rb", ".rake", ".php", ".pl", ".pm", ".lua",
62
+ # Functional / BEAM / ML-family
63
+ ".ex", ".exs", ".erl", ".hrl", ".hs", ".lhs", ".ml", ".mli",
64
+ # Mobile / other compiled
65
+ ".swift", ".dart", ".r", ".jl",
66
+ # Shell / scripting (executes)
67
+ ".sh", ".bash", ".zsh", ".fish", ".ps1", ".psm1", ".bat", ".cmd",
68
+ # Assembly
69
+ ".asm", ".s",
70
+ # Contracts / query / schema-as-code / IaC (all execute or provision)
71
+ ".sol", ".sql", ".proto", ".graphql", ".gql", ".tf", ".hcl",
72
+ )
73
+
74
+ # GUI-browser launchers. A model with no validation tooling in reach tries to
75
+ # "check its work" by opening a browser (observed: 11 xdg-open/firefox/chromium
76
+ # attempts in 40 min, spawning windows on the operator's desktop) — which proves
77
+ # nothing and burns turns. Redirect it to `uap verify`, which renders headlessly
78
+ # and runs the real visual + behavioral gates.
79
+ BROWSER_BINS = (
80
+ "xdg-open", "firefox", "chromium", "chromium-browser", "google-chrome",
81
+ "google-chrome-stable", "chrome", "sensible-browser", "x-www-browser",
82
+ "microsoft-edge", "open",
38
83
  )
39
84
 
40
85
  # NOTE: `.worktrees/` is deliberately NOT exempt here. A real `uap deliver` run
@@ -148,8 +193,79 @@ def _local_mode() -> str:
148
193
  return "advisory" if adv not in {"0", "off", "false", "no", ""} else "block"
149
194
 
150
195
 
196
+ BASH_OPS = {"Bash", "bash", "run_bash", "shell"}
197
+
198
+ # A bash command that WRITES a source file: `> f.ts`, `>> f.ts`, `tee f.ts`,
199
+ # `sed -i ... f.ts`. Without this, Edit/Write gating is trivially bypassable —
200
+ # `cat > app.js <<EOF` writes source with no deliver run and no validation.
201
+ _EXT_ALT = "|".join(e.lstrip(".") for e in SOURCE_EXTS)
202
+ _BASH_WRITE_RE = re.compile(
203
+ r"(?:>>?\s*|tee\s+(?:-a\s+)?|sed\s+-i[^\s]*\s+(?:[^|;&]*\s)?)"
204
+ r"['\"]?([^\s'\"|;&>]+\.(?:" + _EXT_ALT + r"))\b",
205
+ re.IGNORECASE,
206
+ )
207
+ # A browser LAUNCH (not a lookup: `which firefox` / `command -v chrome` are fine).
208
+ _BROWSER_RE = re.compile(
209
+ r"(?:^|[;&|]|\&\&|\|\|)\s*(?:nohup\s+)?(" + "|".join(BROWSER_BINS) + r")\b",
210
+ re.IGNORECASE,
211
+ )
212
+ _LOOKUP_RE = re.compile(r"^\s*(?:which|command\s+-v|type|whereis)\b", re.IGNORECASE)
213
+
214
+
215
+ def _handle_bash(args: dict) -> None:
216
+ """Gate bash so it can't bypass delivery enforcement (source writes) and so a
217
+ model stops trying to 'verify' by opening a GUI browser."""
218
+ cmd = str(args.get("command") or args.get("cmd") or args.get("script") or "")
219
+ if not cmd.strip():
220
+ emit(True, "bash: empty command")
221
+ return
222
+
223
+ # Browser launch → redirect to the real (headless) validation path. Always
224
+ # blocked: opening a window proves nothing and cannot gate a DONE claim.
225
+ if not _LOOKUP_RE.match(cmd) and _BROWSER_RE.search(cmd):
226
+ emit(
227
+ False,
228
+ "BLOCKED: do not open a GUI browser to check your work — it proves nothing "
229
+ "and cannot validate anything. Run `uap verify` instead: it renders the page "
230
+ "headlessly and runs the REAL visual + behavioral gates (screenshots land in "
231
+ ".uap/visual). Use that to see whether the UI actually works.",
232
+ )
233
+ return
234
+
235
+ # Source write via shell → same rules as an Edit/Write: route through deliver.
236
+ if os.environ.get("UAP_DELIVER_ACTIVE") == "1":
237
+ emit(True, "bash: inside a deliver-driven run")
238
+ return
239
+ if os.environ.get("UAP_DELIVER_BYPASS") == "1":
240
+ emit(True, "bash: UAP_DELIVER_BYPASS override set")
241
+ return
242
+ m = _BASH_WRITE_RE.search(cmd)
243
+ if m:
244
+ target = m.group(1)
245
+ mode = os.environ.get("UAP_ENFORCE_DELIVERY", "block").lower()
246
+ if mode == "block" and _is_local_model_session() and _local_mode() == "advisory":
247
+ mode = "advisory"
248
+ msg = (
249
+ f"BLOCKED: do not write source via the shell ('{target}'). Writing files with "
250
+ "a redirect/heredoc/sed/tee bypasses the delivery gate. To create or change "
251
+ "code, call the `deliver` tool (or run: uap deliver \"<one-line description>\"). "
252
+ "Do NOT retry this command."
253
+ )
254
+ if mode == "block":
255
+ emit(False, msg, route="deliver", deliverHint=f"implement the intended change to {target}")
256
+ return
257
+ print(f"[delivery-enforcement advisory] {msg}", file=sys.stderr)
258
+ emit(True, "bash advisory: source-write nudge logged")
259
+ return
260
+
261
+ emit(True, "bash: no source write or browser launch")
262
+
263
+
151
264
  def main() -> None:
152
265
  op, args = parse_cli()
266
+ if op in BASH_OPS:
267
+ _handle_bash(args)
268
+ return
153
269
  if op not in EDIT_OPS:
154
270
  emit(True, "not a file-edit operation")
155
271
  return
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env python3
2
+ """EVERY code type routes through deliver.
3
+
4
+ The rule: if it is interpreted, transpiled, or compiled, it is code — it must be
5
+ gated (and therefore tested). A partial SOURCE_EXTS list let whole ecosystems
6
+ escape: `.html` was missing, so a 34KB single-file web app shipped completely
7
+ ungated. Pure data/config (.json/.yaml/.md) is deliberately NOT gated — it has no
8
+ "correct function" to execute.
9
+ """
10
+ import json, os, subprocess, sys, unittest
11
+ from pathlib import Path
12
+
13
+ ENF = Path(__file__).resolve().parents[3] / "src" / "policies" / "enforcers" / "delivery_enforcement.py"
14
+
15
+ # One representative file per language family — compiled, transpiled, interpreted.
16
+ GATED = [
17
+ # C / C++ / CUDA / ObjC
18
+ "src/main.c", "src/main.cpp", "src/main.cxx", "src/engine.hpp", "src/k.cu", "src/v.mm",
19
+ # Rust / Go / Zig / Nim
20
+ "src/main.rs", "src/main.go", "src/main.zig", "src/main.nim",
21
+ # .NET
22
+ "src/Program.cs", "src/Lib.fs", "src/Old.vb", "src/Page.razor",
23
+ # JVM
24
+ "src/Main.java", "src/Main.kt", "src/Main.scala", "src/build.gradle",
25
+ # Scripting / interpreted
26
+ "src/app.py", "src/app.rb", "src/app.php", "src/app.lua", "src/app.pl",
27
+ # NOTE: `scripts/` is an EXEMPT_PREFIXES tooling dir (pre-existing carve-out),
28
+ # so shell code is exercised from a non-exempt path here.
29
+ "bin/deploy.sh", "bin/deploy.ps1",
30
+ # Functional / BEAM
31
+ "src/app.ex", "src/app.erl", "src/app.hs", "src/app.ml",
32
+ # Mobile / other
33
+ "src/App.swift", "src/main.dart",
34
+ # Web (renders/executes)
35
+ "index.html", "src/app.css", "src/App.vue", "src/App.svelte",
36
+ # Contracts / query / schema / IaC
37
+ "contracts/Token.sol", "db/schema.sql", "api/user.proto", "infra/main.tf",
38
+ # Assembly
39
+ "boot/start.asm",
40
+ ]
41
+
42
+ # Data / prose: no executable "correct function" — must stay ungated.
43
+ NOT_GATED = ["package.json", "config.yaml", "data.xml", "README.md", "notes.txt", "Cargo.lock"]
44
+
45
+
46
+ def run(path, content="x" * 2000):
47
+ e = {**os.environ, "UAP_ENFORCE_DELIVERY": "block", "UAP_INFERENCE_ENDPOINT": "http://172.17.0.1:8080/v1"}
48
+ for k in ("UAP_DELIVER_ACTIVE", "UAP_DELIVER_BYPASS", "UAP_DELIVER_LOCAL_MODE", "UAP_DELIVER_LOCAL_ADVISORY"):
49
+ e.pop(k, None)
50
+ p = subprocess.run(
51
+ [sys.executable, str(ENF), "--operation", "Write", "--args", json.dumps({"file_path": path, "content": content})],
52
+ capture_output=True, text=True, env=e, cwd=str(ENF.parents[3]),
53
+ )
54
+ return p.returncode, p.stdout
55
+
56
+
57
+ class AllLanguagesGatedTest(unittest.TestCase):
58
+ def test_every_code_type_routes_to_deliver(self):
59
+ for path in GATED:
60
+ code, out = run(path)
61
+ self.assertEqual(code, 2, f"{path} must be GATED as source — got {out}")
62
+ self.assertIn("route", out, path)
63
+
64
+ def test_data_and_prose_stay_ungated(self):
65
+ for path in NOT_GATED:
66
+ code, out = run(path)
67
+ self.assertEqual(code, 0, f"{path} must NOT be gated (data/config, not code) — got {out}")
68
+
69
+
70
+ if __name__ == "__main__":
71
+ unittest.main()
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env python3
2
+ """delivery-enforcement must gate WEB source (.html/.css/...) and BASH.
3
+
4
+ Two live escapes this closes:
5
+ 1. `.html` was not in SOURCE_EXTS, so a single-file web app — the actual
6
+ deliverable — returned "not source code" and was allowed: zero routing, zero
7
+ deliver, zero validation (observed: a 34KB rubiks-cube.html built ungated).
8
+ 2. Bash was ungated entirely, so `cat > app.js <<EOF` bypassed the whole gate;
9
+ and a model with no validation tooling in reach kept launching a GUI browser
10
+ (xdg-open/firefox) to "check its work", which proves nothing.
11
+ """
12
+ import json, os, subprocess, sys, unittest
13
+ from pathlib import Path
14
+
15
+ ENF = Path(__file__).resolve().parents[3] / "src" / "policies" / "enforcers" / "delivery_enforcement.py"
16
+
17
+
18
+ def run(op, args, env=None):
19
+ e = {**os.environ, "UAP_ENFORCE_DELIVERY": "block", "UAP_INFERENCE_ENDPOINT": "http://172.17.0.1:8080/v1"}
20
+ for k in ("UAP_DELIVER_ACTIVE", "UAP_DELIVER_BYPASS", "UAP_DELIVER_LOCAL_MODE", "UAP_DELIVER_LOCAL_ADVISORY"):
21
+ e.pop(k, None)
22
+ if env:
23
+ e.update(env)
24
+ p = subprocess.run([sys.executable, str(ENF), "--operation", op, "--args", json.dumps(args)],
25
+ capture_output=True, text=True, env=e, cwd=str(ENF.parents[3]))
26
+ return p.returncode, p.stdout + p.stderr
27
+
28
+
29
+ class WebSourceTest(unittest.TestCase):
30
+ def test_html_is_source_and_routes(self):
31
+ code, out = run("Write", {"file_path": "app.html", "content": "<html>" + "x" * 2000})
32
+ self.assertEqual(code, 2, out) # blocked
33
+ self.assertIn("route", out) # → deliver
34
+
35
+ def test_css_is_source(self):
36
+ code, _ = run("Write", {"file_path": "src/app.css", "content": "a{}" * 500})
37
+ self.assertEqual(code, 2)
38
+
39
+ def test_vue_svelte_are_source(self):
40
+ for f in ("src/App.vue", "src/App.svelte"):
41
+ code, _ = run("Write", {"file_path": f, "content": "x" * 1000})
42
+ self.assertEqual(code, 2, f)
43
+
44
+ def test_non_source_still_allowed(self):
45
+ code, out = run("Write", {"file_path": "notes.md", "content": "hello"})
46
+ self.assertEqual(code, 0, out)
47
+
48
+
49
+ class BashGateTest(unittest.TestCase):
50
+ def test_gui_browser_launch_is_blocked_and_redirected_to_verify(self):
51
+ code, out = run("Bash", {"command": "xdg-open /tmp/app.html"})
52
+ self.assertEqual(code, 2, out)
53
+ self.assertIn("uap verify", out) # redirected to the real validation path
54
+
55
+ def test_firefox_launch_blocked(self):
56
+ code, _ = run("Bash", {"command": "nohup firefox /tmp/a.html &"})
57
+ self.assertEqual(code, 2)
58
+
59
+ def test_browser_LOOKUP_is_not_blocked(self):
60
+ # `which firefox` is a capability probe, not a launch — must not false-block.
61
+ code, _ = run("Bash", {"command": "which firefox chromium 2>/dev/null"})
62
+ self.assertEqual(code, 0)
63
+
64
+ def test_bash_source_write_routes_to_deliver(self):
65
+ code, out = run("Bash", {"command": "cat > src/app.js <<EOF\nconsole.log(1)\nEOF"})
66
+ self.assertEqual(code, 2, out)
67
+ self.assertIn("route", out)
68
+
69
+ def test_sed_inplace_on_source_blocked(self):
70
+ code, _ = run("Bash", {"command": "sed -i s/a/b/ src/main.ts"})
71
+ self.assertEqual(code, 2)
72
+
73
+ def test_benign_bash_allowed(self):
74
+ code, out = run("Bash", {"command": "ls -la && npm test"})
75
+ self.assertEqual(code, 0, out)
76
+
77
+ def test_deliver_active_bypasses_bash_gate(self):
78
+ code, _ = run("Bash", {"command": "cat > src/app.js <<EOF\nx\nEOF"},
79
+ env={"UAP_DELIVER_ACTIVE": "1"})
80
+ self.assertEqual(code, 0) # deliver's own shell writes must pass
81
+
82
+
83
+ if __name__ == "__main__":
84
+ unittest.main()
@@ -58,7 +58,9 @@ class TestDeliveryEnforcementWorktree(unittest.TestCase):
58
58
  )
59
59
 
60
60
  def test_worktree_nonsource_still_allowed(self):
61
- self.assertTrue(run(".worktrees/001-x/css/styles.css", self.root))
61
+ # NOTE: .css is now SOURCE (web deliverables are gated) — use a genuinely
62
+ # non-source file to keep this test's intent (non-source is not routed).
63
+ self.assertTrue(run(".worktrees/001-x/docs/NOTES.md", self.root))
62
64
 
63
65
  def test_direct_source_still_blocked(self):
64
66
  self.assertFalse(run("src/game.js", self.root))