@miller-tech/uap 1.210.6 → 1.210.7
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/dist/.tsbuildinfo +1 -1
- package/dist/cli/schema-diff.d.ts.map +1 -1
- package/dist/cli/schema-diff.js +43 -0
- package/dist/cli/schema-diff.js.map +1 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/src/policies/enforcers/schema_diff_gate.py +25 -1
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
- package/tools/agents/tests/test_schema_diff_gate.py +54 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-diff.d.ts","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-diff.d.ts","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgID;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAiB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA6F3B;AAkBD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,GAAE,MAAiB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4D7B;AA0CD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAehE"}
|
package/dist/cli/schema-diff.js
CHANGED
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
* Replaces the v3.0.0 stub with a working implementation.
|
|
9
9
|
*/
|
|
10
10
|
import { existsSync, readFileSync } from 'fs';
|
|
11
|
+
import { SQLiteShortTermMemory } from '../memory/short-term/sqlite.js';
|
|
12
|
+
import { shortTermDbPath } from '../memory/paths.js';
|
|
13
|
+
import { loadUapConfig } from '../utils/config-loader.js';
|
|
11
14
|
/**
|
|
12
15
|
* Extract Zod schema field names from source code.
|
|
13
16
|
* Matches patterns like: z.object({ fieldName: z.string(), ... })
|
|
@@ -266,6 +269,43 @@ export async function schemaDiffCommand(baseBranch = 'HEAD~1') {
|
|
|
266
269
|
}
|
|
267
270
|
return results;
|
|
268
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Record a successful schema-diff run in SHORT-TERM memory.
|
|
274
|
+
*
|
|
275
|
+
* The schema-diff-gate enforcer (src/policies/enforcers/schema_diff_gate.py)
|
|
276
|
+
* clears commits/pushes only when short_term.db carries a memory row LIKE
|
|
277
|
+
* '%schema-diff%pass%' newer than one hour — but until this function, nothing
|
|
278
|
+
* ever wrote that row: this CLI printed and exited, and `uap memory store`
|
|
279
|
+
* REJECTS the marker via the quality write-gate (it scores ~0.05) unless
|
|
280
|
+
* --force is used. The gate's documented remedy ("run `uap schema-diff` and
|
|
281
|
+
* re-commit") therefore could not succeed. The check now records its own
|
|
282
|
+
* result, exactly like a test runner writing its report.
|
|
283
|
+
*
|
|
284
|
+
* Written directly through SQLiteShortTermMemory (not the write-gate path):
|
|
285
|
+
* this is a gate-contract record, deliberately below the memory quality bar.
|
|
286
|
+
* Best-effort — a recording failure must never fail the diff itself.
|
|
287
|
+
*/
|
|
288
|
+
async function recordSchemaDiffPass(baseBranch, filesChecked) {
|
|
289
|
+
try {
|
|
290
|
+
const cwd = process.cwd();
|
|
291
|
+
const config = loadUapConfig(cwd);
|
|
292
|
+
const dbPath = shortTermDbPath(cwd, config?.memory?.shortTerm?.path);
|
|
293
|
+
const db = new SQLiteShortTermMemory({
|
|
294
|
+
dbPath,
|
|
295
|
+
projectId: config?.project?.name ?? 'project',
|
|
296
|
+
maxEntries: config?.memory?.shortTerm?.maxEntries || 50,
|
|
297
|
+
});
|
|
298
|
+
await db.store('action', `schema-diff pass: base ${baseBranch}, ${filesChecked} schema file(s) checked, no breaking changes`,
|
|
299
|
+
// High importance so the rolling-window prune (which orders by
|
|
300
|
+
// importance) does not evict the marker inside its 1h validity window.
|
|
301
|
+
8);
|
|
302
|
+
await db.close();
|
|
303
|
+
console.log('Recorded schema-diff pass for the schema-diff-gate (1h window).');
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
console.log('Note: could not record the pass marker (schema-diff-gate may still block).');
|
|
307
|
+
}
|
|
308
|
+
}
|
|
269
309
|
export function registerSchemaDiffCommand(program) {
|
|
270
310
|
program
|
|
271
311
|
.command('schema-diff')
|
|
@@ -278,6 +318,9 @@ export function registerSchemaDiffCommand(program) {
|
|
|
278
318
|
console.log('\nBreaking changes require explicit approval before proceeding.');
|
|
279
319
|
process.exitCode = 1;
|
|
280
320
|
}
|
|
321
|
+
else {
|
|
322
|
+
await recordSchemaDiffPass(options.base, results.length);
|
|
323
|
+
}
|
|
281
324
|
});
|
|
282
325
|
}
|
|
283
326
|
//# sourceMappingURL=schema-diff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-diff.js","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-diff.js","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -23,13 +23,37 @@ COMMIT_OPS = {"git-commit", "git commit"}
|
|
|
23
23
|
RECENT_SEC = 3600
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
def merge_verbatim(root: Path, path: str) -> bool:
|
|
27
|
+
"""During a merge, a staged watched file that is byte-identical to the
|
|
28
|
+
incoming MERGE_HEAD version was not authored on this branch — it was
|
|
29
|
+
reviewed and gated on its own branch and arrives verbatim. Gating it here
|
|
30
|
+
forced a schema-diff re-pass for content the merge cannot change (hit on
|
|
31
|
+
the 2026-08-16 pay2u #3153 conflict-resolution merge, where migrations
|
|
32
|
+
from already-merged main blocked the merge commit)."""
|
|
33
|
+
git_dir = root / ".git"
|
|
34
|
+
# Worktrees use a .git FILE pointing at the real gitdir.
|
|
35
|
+
if git_dir.is_file():
|
|
36
|
+
try:
|
|
37
|
+
ref = git_dir.read_text().strip()
|
|
38
|
+
if ref.startswith("gitdir:"):
|
|
39
|
+
git_dir = Path(ref.split(":", 1)[1].strip())
|
|
40
|
+
except OSError:
|
|
41
|
+
return False
|
|
42
|
+
if not (git_dir / "MERGE_HEAD").exists():
|
|
43
|
+
return False
|
|
44
|
+
rc, staged_sha, _ = run(["git", "rev-parse", f":{path}"], cwd=root)
|
|
45
|
+
rc2, theirs_sha, _ = run(["git", "rev-parse", f"MERGE_HEAD:{path}"], cwd=root)
|
|
46
|
+
return rc == 0 and rc2 == 0 and staged_sha.strip() == theirs_sha.strip()
|
|
47
|
+
|
|
48
|
+
|
|
26
49
|
def touched_watched_paths(root: Path) -> list[str]:
|
|
27
50
|
rc, out, _ = run(["git", "diff", "--name-only", "HEAD"], cwd=root)
|
|
28
51
|
if rc != 0:
|
|
29
52
|
return []
|
|
30
53
|
rc2, staged, _ = run(["git", "diff", "--name-only", "--cached"], cwd=root)
|
|
31
54
|
all_files = (out + "\n" + (staged if rc2 == 0 else "")).splitlines()
|
|
32
|
-
|
|
55
|
+
watched = [f for f in all_files if f and WATCHED_RE.search(f)]
|
|
56
|
+
return [f for f in watched if not merge_verbatim(root, f)]
|
|
33
57
|
|
|
34
58
|
|
|
35
59
|
def schema_diff_ok(root: Path) -> bool:
|
|
Binary file
|
|
Binary file
|
|
@@ -113,3 +113,57 @@ class SchemaDiffGateTest(unittest.TestCase):
|
|
|
113
113
|
|
|
114
114
|
if __name__ == "__main__":
|
|
115
115
|
unittest.main()
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class MergeVerbatimTest(unittest.TestCase):
|
|
119
|
+
"""2026-08-16 pay2u #3153 incident: a conflict-resolution merge staged
|
|
120
|
+
migration files that arrived VERBATIM from the already-merged base branch,
|
|
121
|
+
and the gate demanded a schema-diff re-pass for content this branch never
|
|
122
|
+
authored. merge_verbatim() must exempt staged files whose blob equals the
|
|
123
|
+
MERGE_HEAD version — and must NOT exempt files the merge actually edited."""
|
|
124
|
+
|
|
125
|
+
def setUp(self):
|
|
126
|
+
self._tmp = tempfile.TemporaryDirectory(prefix="schema-gate-merge-")
|
|
127
|
+
self.root = Path(self._tmp.name)
|
|
128
|
+
g = lambda *a: subprocess.run(
|
|
129
|
+
["git", "-c", "user.email=t@t", "-c", "user.name=t", *a],
|
|
130
|
+
cwd=self.root, check=True, capture_output=True,
|
|
131
|
+
)
|
|
132
|
+
g("init", "-q", "-b", "main")
|
|
133
|
+
(self.root / "migrations").mkdir()
|
|
134
|
+
(self.root / "base.txt").write_text("base")
|
|
135
|
+
g("add", "-A")
|
|
136
|
+
g("commit", "-q", "-m", "init")
|
|
137
|
+
# Feature branch diverges without touching migrations.
|
|
138
|
+
g("checkout", "-q", "-b", "feature")
|
|
139
|
+
(self.root / "feature.txt").write_text("feature work")
|
|
140
|
+
g("add", "-A")
|
|
141
|
+
g("commit", "-q", "-m", "feature")
|
|
142
|
+
# Main gains a watched migration (reviewed there).
|
|
143
|
+
g("checkout", "-q", "main")
|
|
144
|
+
(self.root / "migrations" / "001_add_table.sql").write_text("CREATE TABLE t (id int);")
|
|
145
|
+
g("add", "-A")
|
|
146
|
+
g("commit", "-q", "-m", "migration on main")
|
|
147
|
+
# Merge main INTO feature: migration arrives verbatim, merge left open
|
|
148
|
+
# (no commit) so MERGE_HEAD exists and the file is staged.
|
|
149
|
+
g("checkout", "-q", "feature")
|
|
150
|
+
subprocess.run(
|
|
151
|
+
["git", "-c", "user.email=t@t", "-c", "user.name=t", "merge", "--no-commit", "--no-ff", "main"],
|
|
152
|
+
cwd=self.root, check=True, capture_output=True,
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
def tearDown(self):
|
|
156
|
+
self._tmp.cleanup()
|
|
157
|
+
|
|
158
|
+
def test_verbatim_incoming_migration_is_exempt(self):
|
|
159
|
+
_, allowed, reason = run_gate("git-commit", {"command": "git commit"}, self.root)
|
|
160
|
+
self.assertTrue(allowed, f"verbatim merge-incoming migration should not gate: {reason}")
|
|
161
|
+
|
|
162
|
+
def test_merge_edited_migration_still_gates(self):
|
|
163
|
+
# Editing the migration during the merge makes it THIS branch's change.
|
|
164
|
+
(self.root / "migrations" / "001_add_table.sql").write_text("CREATE TABLE t (id bigint);")
|
|
165
|
+
subprocess.run(["git", "add", "migrations/001_add_table.sql"], cwd=self.root, check=True)
|
|
166
|
+
_, allowed, reason = run_gate("git-commit", {"command": "git commit"}, self.root)
|
|
167
|
+
self.assertFalse(allowed, "a migration edited during the merge must still gate")
|
|
168
|
+
self.assertIn("schema-diff", reason)
|
|
169
|
+
|