@miller-tech/uap 1.147.1 → 1.147.3

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.
@@ -26,7 +26,7 @@ export const SCENARIOS = [
26
26
  blurb: 'One person driving a local (llama.cpp/Qwen) model that needs strong guardrails.',
27
27
  extra: [
28
28
  { slug: 'codebase-read-before-plan', why: 'weaker models must read before proposing' },
29
- { slug: 'validate-plan-before-build', why: 'catch a bad plan before it writes code' },
29
+ { slug: 'validate-plan-on-change', why: 'catch a bad plan before it writes code' },
30
30
  { slug: 'mcp-router-first', why: 'keeps the context window lean for a small model' },
31
31
  { slug: 'local-build-before-push', why: 'never push code that fails to build locally' },
32
32
  { slug: 'ship-loop-gate', why: 'converge to green before shipping' },
@@ -61,7 +61,7 @@ export const SCENARIOS = [
61
61
  title: 'High autonomy / hands-free',
62
62
  blurb: 'Long unattended builds where the model must not cut corners.',
63
63
  extra: [
64
- { slug: 'validate-plan-before-build', why: 'a wrong plan wastes an entire autonomous run' },
64
+ { slug: 'validate-plan-on-change', why: 'a wrong plan wastes an entire autonomous run' },
65
65
  { slug: 'ship-loop-gate', why: 'the run only ends when the work is genuinely done' },
66
66
  { slug: 'artifact-hygiene', why: 'unattended runs must not leave debris' },
67
67
  { slug: 'doc-live-over-report', why: "grade the real system, not the model's optimism" },
@@ -1 +1 @@
1
- {"version":3,"file":"policy-recommendations.js","sourceRoot":"","sources":["../../src/config/policy-recommendations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-recommendations.js","sourceRoot":"","sources":["../../src/config/policy-recommendations.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,14 @@ export declare class PolicyMemoryManager {
66
66
  }>;
67
67
  private extractPolicyMetadata;
68
68
  storeExecutablePolicy(policyId: string, pythonCode: string, toolName: string): Promise<void>;
69
+ /** Coerce a stored row's `level` to the enum so legacy/hand-edited values
70
+ * (e.g. "mandatory") don't fail validation. Unknown non-empty levels default
71
+ * to RECOMMENDED so the policy is kept, not dropped. */
72
+ private normalizePolicyRow;
73
+ /** Parse DB rows into Policies, TOLERATING malformed rows: a single bad row
74
+ * (e.g. an invalid `level`) is skipped instead of throwing out the whole list
75
+ * — which used to 500 the dashboard's policy panel. */
76
+ private parsePolicyRows;
69
77
  getPolicy(id: string): Promise<Policy | null>;
70
78
  getAllPolicies(): Promise<Policy[]>;
71
79
  /** ALL policies including inactive (dashboard management needs disabled rows). */
@@ -1 +1 @@
1
- {"version":3,"file":"policy-memory.d.ts","sourceRoot":"","sources":["../../src/policies/policy-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-memory.d.ts","sourceRoot":"","sources":["../../src/policies/policy-memory.ts"],"names":[],"mappings":"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"}
@@ -225,27 +225,56 @@ export class PolicyMemoryManager {
225
225
  version: policy.version + 1,
226
226
  });
227
227
  }
228
+ /** Coerce a stored row's `level` to the enum so legacy/hand-edited values
229
+ * (e.g. "mandatory") don't fail validation. Unknown non-empty levels default
230
+ * to RECOMMENDED so the policy is kept, not dropped. */
231
+ normalizePolicyRow(r) {
232
+ const row = { ...r };
233
+ const lvl = String(row.level ?? '').toUpperCase();
234
+ if (lvl === 'MANDATORY' || lvl === 'REQUIRED')
235
+ row.level = 'REQUIRED';
236
+ else if (lvl === 'OPTIONAL')
237
+ row.level = 'OPTIONAL';
238
+ else if (lvl === 'RECOMMENDED')
239
+ row.level = 'RECOMMENDED';
240
+ else if (row.level != null && row.level !== '')
241
+ row.level = 'RECOMMENDED';
242
+ return row;
243
+ }
244
+ /** Parse DB rows into Policies, TOLERATING malformed rows: a single bad row
245
+ * (e.g. an invalid `level`) is skipped instead of throwing out the whole list
246
+ * — which used to 500 the dashboard's policy panel. */
247
+ parsePolicyRows(rows) {
248
+ const out = [];
249
+ for (const r of rows) {
250
+ const res = PolicySchema.safeParse(this.normalizePolicyRow(r));
251
+ if (res.success)
252
+ out.push(res.data);
253
+ }
254
+ return out;
255
+ }
228
256
  async getPolicy(id) {
229
257
  const result = this.db.findOnePolicy({ id });
230
258
  if (!result)
231
259
  return null;
232
- return PolicySchema.parse(result);
260
+ const res = PolicySchema.safeParse(this.normalizePolicyRow(result));
261
+ return res.success ? res.data : null;
233
262
  }
234
263
  async getAllPolicies() {
235
264
  const results = this.db.getAllActivePolicies();
236
- return results.map((r) => PolicySchema.parse(r));
265
+ return this.parsePolicyRows(results);
237
266
  }
238
267
  /** ALL policies including inactive (dashboard management needs disabled rows). */
239
268
  async getAllPoliciesUnfiltered() {
240
- return this.db.getAllPolicyRows().map((r) => PolicySchema.parse(r));
269
+ return this.parsePolicyRows(this.db.getAllPolicyRows());
241
270
  }
242
271
  async getRequiredPolicies() {
243
272
  const results = this.db.findPolicies({ level: 'REQUIRED', isActive: true });
244
- return results.map((r) => PolicySchema.parse(r));
273
+ return this.parsePolicyRows(results);
245
274
  }
246
275
  async getCategoriesPolicies(category) {
247
276
  const results = this.db.findPolicies({ category, isActive: true });
248
- return results.map((r) => PolicySchema.parse(r));
277
+ return this.parsePolicyRows(results);
249
278
  }
250
279
  async togglePolicy(id, active) {
251
280
  this.db.updatePolicy({ id }, { isActive: active });
@@ -258,16 +287,14 @@ export class PolicyMemoryManager {
258
287
  }
259
288
  async getPoliciesByStage(stage) {
260
289
  const results = this.db.findPolicies({ enforcementStage: stage, isActive: true });
261
- return results.map((r) => PolicySchema.parse(r));
290
+ return this.parsePolicyRows(results);
262
291
  }
263
292
  async searchByTags(tags) {
264
293
  const results = this.db.getAllActivePolicies();
265
- return results
266
- .filter((r) => {
294
+ return this.parsePolicyRows(results.filter((r) => {
267
295
  const policyTags = r.tags;
268
296
  return policyTags && tags.some((t) => policyTags.includes(t));
269
- })
270
- .map((r) => PolicySchema.parse(r));
297
+ }));
271
298
  }
272
299
  async getRelevantPolicies(context, topK = 3) {
273
300
  const allPolicies = await this.getAllPolicies();
@@ -1 +1 @@
1
- {"version":3,"file":"policy-memory.js","sourceRoot":"","sources":["../../src/policies/policy-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-memory.js","sourceRoot":"","sources":["../../src/policies/policy-memory.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.147.1",
3
+ "version": "1.147.3",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,7 +25,7 @@ import sys
25
25
  from pathlib import Path
26
26
 
27
27
  sys.path.insert(0, str(Path(__file__).parent))
28
- from _common import emit, parse_cli, repo_root, run # noqa: E402
28
+ from _common import emit, parse_cli, worktree_root, run # noqa: E402
29
29
 
30
30
  MARKER = ".uap/local-build-pass.txt"
31
31
 
@@ -80,7 +80,10 @@ def main() -> None:
80
80
  if os.environ.get("UAP_SKIP_LOCAL_BUILD") == "1":
81
81
  emit(True, "UAP_SKIP_LOCAL_BUILD=1 override (justify in commit msg)")
82
82
 
83
- root = repo_root()
83
+ # The push happens from the WORKING TREE the op runs in (the worktree when a
84
+ # push runs from inside one), not the pinned main checkout — mirror the
85
+ # expert-review fix so the changed-files diff targets the right branch.
86
+ root = worktree_root()
84
87
 
85
88
  changed = _changed_files(root)
86
89
  needs_build = any(
@@ -11,7 +11,7 @@ sys.path.insert(0, str(Path(__file__).parent))
11
11
  from _common import arg_str, emit, parse_cli, repo_root # noqa: E402
12
12
 
13
13
  PLAN_OPS = {"ExitPlanMode", "Plan", "TodoWrite", "plan", "design"}
14
- # Only match standalone words, not compounds like 'validate-plan-before-build'
14
+ # Only match standalone words, not compounds like 'validate-plan-on-change'
15
15
  PLAN_WORD_RE = re.compile(r"(?<![-\w/])(plan the|design the|architect the|propose a plan|roadmap for)", re.I)
16
16
  RECENT_SEC = 300
17
17
 
@@ -1,75 +0,0 @@
1
- #!/usr/bin/env python3
2
- """validate-plan-before-build enforcer.
3
-
4
- On the first mutating tool call after a plan is marked ready, block and require
5
- the agent to run the `validate the plan` prompt. State tracked in .uap/plan_state.json.
6
- """
7
- from __future__ import annotations
8
- import json
9
- import os
10
- import sys
11
- import time
12
- from pathlib import Path
13
-
14
- sys.path.insert(0, str(Path(__file__).parent))
15
- from _common import emit, parse_cli # noqa: E402
16
-
17
- STATE = Path(os.environ.get("UAP_STATE_DIR", ".uap")) / "plan_state.json"
18
- MUTATING_OPS = {"Edit", "Write", "MultiEdit", "edit", "write", "multiedit"}
19
- BUILD_BASH_RE = (
20
- "git commit",
21
- "git push",
22
- "kubectl apply",
23
- "helm upgrade",
24
- "helm install",
25
- "terraform apply",
26
- "npm run build",
27
- "pnpm build",
28
- )
29
-
30
-
31
- def load_state() -> dict:
32
- if not STATE.exists():
33
- return {}
34
- try:
35
- return json.loads(STATE.read_text())
36
- except json.JSONDecodeError:
37
- return {}
38
-
39
-
40
- def save_state(s: dict) -> None:
41
- STATE.parent.mkdir(parents=True, exist_ok=True)
42
- STATE.write_text(json.dumps(s))
43
-
44
-
45
- def main() -> None:
46
- op, args = parse_cli()
47
- state = load_state()
48
-
49
- # Mutating?
50
- cmd = (args.get("command") or "").lower()
51
- mutating = op in MUTATING_OPS or any(p in cmd for p in BUILD_BASH_RE)
52
- if not mutating:
53
- emit(True, "not a build/mutation op")
54
-
55
- plan_ready = bool(state.get("plan_ready"))
56
- validated_at = float(state.get("validated_at", 0))
57
- ready_at = float(state.get("ready_at", 0))
58
-
59
- if not plan_ready:
60
- emit(True, "no active plan-ready marker")
61
-
62
- if validated_at and validated_at >= ready_at:
63
- emit(True, "plan validated since marking ready")
64
-
65
- emit(
66
- False,
67
- "validate-plan-before-build: plan is ready but not validated. "
68
- "Run the prompt `validate the plan` before making changes. "
69
- "After a pass, write {\"validated_at\": <epoch>} to .uap/plan_state.json.",
70
- inject_prompt="validate the plan",
71
- )
72
-
73
-
74
- if __name__ == "__main__":
75
- main()
@@ -1,28 +0,0 @@
1
- # validate-plan-before-build
2
-
3
- **Category**: workflow
4
- **Level**: REQUIRED
5
- **Enforcement Stage**: pre-exec
6
- **Tags**: planning, validation, accuracy
7
-
8
- ## Rule
9
-
10
- When a plan is marked ready and the agent is about to begin implementation (first mutating tool call after plan emission: `Edit`, `Write`, `MultiEdit`, `Bash` that modifies state), the agent MUST first execute the prompt `validate the plan` and receive an explicit pass before proceeding.
11
-
12
- A plan is "ready" when:
13
- - User approves with "go", "build", "implement", "proceed", "ship it", "complete all", or similar
14
- - OR the agent emits ExitPlanMode / transitions out of a Plan phase
15
-
16
- ## Why
17
-
18
- User directive: "when a plan is ready to build, execute prompt 'validate the plan'". Prevents shipping on stale/unvalidated plans — catches last-mile gaps before code changes begin.
19
-
20
- ## Enforcement
21
-
22
- Python enforcer `validate_plan_before_build.py` tracks plan-ready state in session memory; on first mutating tool call post-ready, blocks and injects the `validate the plan` prompt. Unblocks only after a validation result is recorded.
23
-
24
- ```rules
25
- - title: "Ready plans require explicit validation"
26
- keywords: [edit, write, multiedit, implement, build, ship, commit]
27
- antiPatterns: [unvalidated-plan, skip-validation, plan-stale]
28
- ```