@miller-tech/uap 1.148.20 → 1.148.22

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.
@@ -46,21 +46,37 @@ export function preflightProject(dir) {
46
46
  if (existsSync(configPath)) {
47
47
  try {
48
48
  const cfg = JSON.parse(readFileSync(configPath, 'utf-8'));
49
- const deliver = cfg.deliver ?? {};
50
49
  let changed = false;
51
- // Absent => the intended always-on posture. An explicit false/'off' is an
52
- // operator decision and must survive.
53
- for (const key of ['orchestrate', 'epics']) {
54
- if (deliver[key] === undefined) {
55
- deliver[key] = 'on';
56
- healed.push(`deliver.${key} was unset defaulted to "on"`);
50
+ // Every enforcement surface is ON by default. Each of these was previously
51
+ // unset in a fresh scaffold, and each silently downgraded the pipeline:
52
+ // without them a rebuilt project looked configured while enforcing almost
53
+ // nothing. In every case an EXPLICIT value is an operator decision and is
54
+ // never overridden — we only fill in what is ABSENT.
55
+ const seed = (section, key, value, why) => {
56
+ const obj = cfg[section] ?? {};
57
+ if (obj[key] === undefined) {
58
+ obj[key] = value;
59
+ cfg[section] = obj;
60
+ healed.push(`${section}.${key} was unset — defaulted to ${JSON.stringify(value)} (${why})`);
57
61
  changed = true;
58
62
  }
59
- }
60
- if (changed) {
61
- cfg.deliver = deliver;
63
+ else {
64
+ cfg[section] = obj;
65
+ }
66
+ };
67
+ // Decompose + epic-loop every mission, not only when a flag is remembered.
68
+ seed('deliver', 'orchestrate', 'on', 'orchestrate always');
69
+ seed('deliver', 'epics', 'on', 'epic loop always');
70
+ // fidelity:max is what makes the visual, vision and acceptance gates
71
+ // BLOCKING. Without it they are advisory — the deliverable can look
72
+ // verified while nothing actually gates it.
73
+ seed('fidelity', 'mode', 'max', 'visual/vision/acceptance gates BLOCK');
74
+ // Route all work through deliver, and run the runtime gate.
75
+ seed('delivery', 'enforcement', 'block', 'all work routes through deliver');
76
+ seed('delivery', 'localMode', 'deliver', 'local edits route to deliver');
77
+ seed('delivery', 'runtimeVerify', true, 'runtime gate runs');
78
+ if (changed)
62
79
  writeFileSync(configPath, JSON.stringify(cfg, null, 2));
63
- }
64
80
  }
65
81
  catch {
66
82
  // A malformed .uap.json is the config layer's problem to report, not ours;
@@ -1 +1 @@
1
- {"version":3,"file":"project-preflight.js","sourceRoot":"","sources":["../../src/delivery/project-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,iDAAiD;AACjD,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;QACjE,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CACX,2EAA2E;YACzE,mEAAmE;YACnE,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,uBAAuB,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;YACrF,MAAM,OAAO,GAAI,GAAG,CAAC,OAA+C,IAAI,EAAE,CAAC;YAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,0EAA0E;YAC1E,sCAAsC;YACtC,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAU,EAAE,CAAC;gBACpD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,gCAAgC,CAAC,CAAC;oBAC5D,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;YAC3E,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,OAAO;QACL,8BAA8B;QAC9B,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"project-preflight.js","sourceRoot":"","sources":["../../src/delivery/project-preflight.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.20",
3
+ "version": "1.148.22",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",