@miller-tech/uap 1.133.2 → 1.135.1

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.
Files changed (66) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/bin/cli.js +4 -1
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/cli/config-command.d.ts +49 -0
  5. package/dist/cli/config-command.d.ts.map +1 -0
  6. package/dist/cli/config-command.js +465 -0
  7. package/dist/cli/config-command.js.map +1 -0
  8. package/dist/cli/config-wizard.d.ts +13 -0
  9. package/dist/cli/config-wizard.d.ts.map +1 -0
  10. package/dist/cli/config-wizard.js +134 -0
  11. package/dist/cli/config-wizard.js.map +1 -0
  12. package/dist/cli/deliver.js +11 -2
  13. package/dist/cli/deliver.js.map +1 -1
  14. package/dist/cli/guided-setup.d.ts.map +1 -1
  15. package/dist/cli/guided-setup.js +11 -0
  16. package/dist/cli/guided-setup.js.map +1 -1
  17. package/dist/cli/policy.d.ts.map +1 -1
  18. package/dist/cli/policy.js +34 -0
  19. package/dist/cli/policy.js.map +1 -1
  20. package/dist/cli/setup.d.ts +1 -1
  21. package/dist/cli/setup.d.ts.map +1 -1
  22. package/dist/cli/setup.js +22 -0
  23. package/dist/cli/setup.js.map +1 -1
  24. package/dist/config/policy-recommendations.d.ts +29 -0
  25. package/dist/config/policy-recommendations.d.ts.map +1 -0
  26. package/dist/config/policy-recommendations.js +108 -0
  27. package/dist/config/policy-recommendations.js.map +1 -0
  28. package/dist/config/settings-registry.d.ts +65 -0
  29. package/dist/config/settings-registry.d.ts.map +1 -0
  30. package/dist/config/settings-registry.js +334 -0
  31. package/dist/config/settings-registry.js.map +1 -0
  32. package/dist/dashboard/controls.d.ts +66 -0
  33. package/dist/dashboard/controls.d.ts.map +1 -0
  34. package/dist/dashboard/controls.js +188 -0
  35. package/dist/dashboard/controls.js.map +1 -0
  36. package/dist/dashboard/data-service.d.ts +20 -0
  37. package/dist/dashboard/data-service.d.ts.map +1 -1
  38. package/dist/dashboard/data-service.js +47 -0
  39. package/dist/dashboard/data-service.js.map +1 -1
  40. package/dist/dashboard/server.d.ts.map +1 -1
  41. package/dist/dashboard/server.js +81 -5
  42. package/dist/dashboard/server.js.map +1 -1
  43. package/dist/delivery/convergence-loop.d.ts +5 -0
  44. package/dist/delivery/convergence-loop.d.ts.map +1 -1
  45. package/dist/delivery/convergence-loop.js +11 -0
  46. package/dist/delivery/convergence-loop.js.map +1 -1
  47. package/dist/delivery/run-state.d.ts +12 -0
  48. package/dist/delivery/run-state.d.ts.map +1 -1
  49. package/dist/delivery/run-state.js +58 -1
  50. package/dist/delivery/run-state.js.map +1 -1
  51. package/docs/DASHBOARD_UPLIFT_SPEC.md +171 -0
  52. package/docs/INDEX.md +2 -0
  53. package/docs/guides/POLICY_SELECTION.md +98 -0
  54. package/docs/reference/CONFIGURATION_REFERENCE.md +688 -0
  55. package/package.json +1 -1
  56. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  57. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
  58. package/tools/agents/scripts/anthropic_proxy.py +164 -12
  59. package/web/dash/core.js +398 -0
  60. package/web/dash/styles.css +307 -0
  61. package/web/dash/tab-deliver.js +12 -0
  62. package/web/dash/tab-memory.js +12 -0
  63. package/web/dash/tab-models.js +12 -0
  64. package/web/dash/tab-policies.js +12 -0
  65. package/web/dash/tabs.js +581 -0
  66. package/web/dashboard.html +12 -1303
@@ -255,6 +255,11 @@ export interface ConvergenceConfig {
255
255
  * can persist it (durable runs). Fail-soft: a throwing callback is ignored.
256
256
  */
257
257
  onCheckpoint?: (checkpoint: LoopCheckpoint) => void;
258
+ /**
259
+ * Cooperative cancel: polled before each turn. Returning true breaks the loop
260
+ * so the caller can mark the run interrupted (dashboard/operator stop-file).
261
+ */
262
+ shouldStop?: () => boolean | Promise<boolean>;
258
263
  /**
259
264
  * Resume an interrupted run from a persisted checkpoint: prior history,
260
265
  * prompt context, and stagnation counters are restored and the loop
@@ -1 +1 @@
1
- {"version":3,"file":"convergence-loop.d.ts","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convergence-loop.d.ts","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"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"}
@@ -500,6 +500,17 @@ export class ConvergenceLoop {
500
500
  }
501
501
  for (let turn = startTurn; turn <= maxTurns; turn++) {
502
502
  const turnStart = Date.now();
503
+ // Cooperative cancel (dashboard/operator): stop BEFORE any model work this
504
+ // turn. Fail-open — a broken predicate must never wedge the loop.
505
+ if (this.config.shouldStop) {
506
+ try {
507
+ if (await this.config.shouldStop())
508
+ break;
509
+ }
510
+ catch {
511
+ /* ignore predicate errors */
512
+ }
513
+ }
503
514
  // Re-detect gates: a from-scratch build has no artifact at t0, so the
504
515
  // execution gate (and build/test/lint) only become detectable once the
505
516
  // model has written files. Merge any newly-available gates (union by id;
@@ -1 +1 @@
1
- {"version":3,"file":"convergence-loop.js","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convergence-loop.js","sourceRoot":"","sources":["../../src/delivery/convergence-loop.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export interface DeliverRunState {
28
28
  phaseSummaries?: string[];
29
29
  /** Task-DB id opened for this mission, so --resume reuses it instead of duplicating. */
30
30
  taskId?: string;
31
+ /** OS pid of the deliver process that owns this run (operator cancel target). */
32
+ pid?: number;
31
33
  }
32
34
  export declare function deliverRunsDir(projectRoot: string): string;
33
35
  export declare function newRunId(): string;
@@ -41,4 +43,14 @@ export declare function saveRunState(state: DeliverRunState): boolean;
41
43
  * that IS the resumable state). Returns null when nothing resumable exists.
42
44
  */
43
45
  export declare function loadRunState(projectRoot: string, runId: string): DeliverRunState | null;
46
+ /** List all persisted runs for a project, most-recently-updated first. */
47
+ export declare function listRuns(projectRoot: string): DeliverRunState[];
48
+ /** Path to the cooperative stop-file for a run (an operator/dashboard cancel). */
49
+ export declare function stopFilePath(projectRoot: string, runId: string): string;
50
+ /** True when a stop has been requested for this run. Checked by the loop per turn. */
51
+ export declare function isStopRequested(projectRoot: string, runId: string): boolean;
52
+ /** Request a cooperative stop: write the run's STOP file (creating the dir if needed). */
53
+ export declare function requestStop(projectRoot: string, runId: string): boolean;
54
+ /** Clear a stale stop-file so a fresh/resumed run is not instantly interrupted. */
55
+ export declare function clearStop(projectRoot: string, runId: string): void;
44
56
  //# sourceMappingURL=run-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAGjC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAY5D;AAwFD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBvF"}
1
+ {"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAGjC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAY5D;AAwFD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBvF;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAa/D;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOvE;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAElE"}
@@ -8,7 +8,7 @@
8
8
  * for decomposed runs, the phase plan + cursor). Writes are atomic
9
9
  * (tmp + rename) and fail-soft — persistence must never break a run.
10
10
  */
11
- import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, writeFileSync } from 'fs';
11
+ import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from 'fs';
12
12
  import { join } from 'path';
13
13
  import { randomBytes } from 'crypto';
14
14
  export function deliverRunsDir(projectRoot) {
@@ -166,4 +166,61 @@ export function loadRunState(projectRoot, runId) {
166
166
  }
167
167
  return best;
168
168
  }
169
+ /** List all persisted runs for a project, most-recently-updated first. */
170
+ export function listRuns(projectRoot) {
171
+ const dir = deliverRunsDir(projectRoot);
172
+ if (!existsSync(dir))
173
+ return [];
174
+ let entries;
175
+ try {
176
+ entries = readdirSync(dir);
177
+ }
178
+ catch {
179
+ return [];
180
+ }
181
+ const runs = [];
182
+ for (const id of entries) {
183
+ if (!isValidRunId(id))
184
+ continue;
185
+ const state = readState(projectRoot, id);
186
+ if (state)
187
+ runs.push(state);
188
+ }
189
+ runs.sort((a, b) => (b.updatedAt || '').localeCompare(a.updatedAt || ''));
190
+ return runs;
191
+ }
192
+ /** Path to the cooperative stop-file for a run (an operator/dashboard cancel). */
193
+ export function stopFilePath(projectRoot, runId) {
194
+ return join(deliverRunsDir(projectRoot), runId, 'STOP');
195
+ }
196
+ /** True when a stop has been requested for this run. Checked by the loop per turn. */
197
+ export function isStopRequested(projectRoot, runId) {
198
+ try {
199
+ return isValidRunId(runId) && existsSync(stopFilePath(projectRoot, runId));
200
+ }
201
+ catch {
202
+ return false;
203
+ }
204
+ }
205
+ /** Request a cooperative stop: write the run's STOP file (creating the dir if needed). */
206
+ export function requestStop(projectRoot, runId) {
207
+ try {
208
+ const dir = join(deliverRunsDir(projectRoot), runId);
209
+ mkdirSync(dir, { recursive: true });
210
+ writeFileSync(join(dir, 'STOP'), new Date().toISOString(), 'utf-8');
211
+ return true;
212
+ }
213
+ catch {
214
+ return false;
215
+ }
216
+ }
217
+ /** Clear a stale stop-file so a fresh/resumed run is not instantly interrupted. */
218
+ export function clearStop(projectRoot, runId) {
219
+ try {
220
+ const p = stopFilePath(projectRoot, runId);
221
+ if (existsSync(p))
222
+ unlinkSync(p);
223
+ }
224
+ catch { /* ignore */ }
225
+ }
169
226
  //# sourceMappingURL=run-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACjG,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAyBrC,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,mCAAmC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACjE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;QAC1B,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACxG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AACpG,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,WAAmB,EAAE,KAAa;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAoB,CAAC;QAC1E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,6EAA6E;QAC7E,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACxE,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,0BAA0B;QAC1E,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;gBACpD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACvD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAuD,CAAC;gBACpF,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBACjG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvD,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc;iBAC1C,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;iBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACnH,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC7B,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC,KAAK,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;wBACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;4BAAE,SAAS;wBACxD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAwC,CAAC;wBAC9D,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,SAAS;wBACjE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;4BAAE,SAAS;wBACpD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/C,CAAC;oBACD,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAChC,EAAE,CAAC,UAAU;oBACX,OAAO,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC;wBACjE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;wBACrD,CAAC,CAAC,SAAS,CAAC;YAClB,CAAC;YACD,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YAC1F,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,KAAa;IAC7D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAA2B,IAAI,CAAC;IACxC,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;YAAE,SAAS;QACrD,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAAE,IAAI,GAAG,KAAK,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ # UAP Dashboard Uplift — Architecture & UI Spec
2
+
3
+ Goal: replace the monolithic `web/dashboard.html` with a modular, tabbed dashboard that shows
4
+ aggregate high-level info AND per-agent/session drill-down, covers every UAP feature, supports
5
+ drill in/out + expand/collapse, and adds full-lifecycle management (start/stop/delete/etc) for
6
+ tasks, epics, orchestration, deliver runs, and agents.
7
+
8
+ ## Design system — UAP Console (MANDATORY, design gate enforced)
9
+ Use ONLY these tokens. No off-token hex, no off-scale spacing.
10
+ ```
11
+ --bg:#0d1117; --surface:#161b22; --surface-raised:#21262d; --border:#30363d;
12
+ --text:#c9d1d9; --text-muted:#8b949e; --text-subtle:#484f58; --primary:#58a6ff;
13
+ ```
14
+ Existing accent tokens already in the page (keep, they are on-system):
15
+ `--cyan --green --yellow --red --purple --orange`.
16
+ Fonts: 'SF Mono','Fira Code','Cascadia Code',monospace for data; system sans for prose.
17
+ Spacing scale: 4,8,12,16,24,32 px only. Radius: var(--radius) (6px). Dark theme only.
18
+
19
+ ## File layout (each file is one deliver mission — no shared-file clobbering)
20
+ ```
21
+ web/dashboard.html thin shell: <head> loads styles.css + vendored uPlot; body has
22
+ header, tab bar, one <main id="view"> mount, loads core.js (module).
23
+ web/dash/core.js data layer + app shell: WS/SSE/poll channels, global `state` (last
24
+ snapshot), tab router (hash-based #overview,#tasks,...), renderActiveTab(),
25
+ confirm-dialog, toast, esc(), fmt helpers, MUTATION token+headers,
26
+ api() POST helper, expand/collapse helpers, drill navigation (goAgent(id)).
27
+ web/dash/charts.js uPlot chart + sparkline builders (ported 1:1 from current behaviour).
28
+ web/dash/styles.css all CSS (ported + new tab/drawer/table/control styles), tokens only.
29
+ web/dash/tab-overview.js aggregate KPIs + hero charts + live summaries with drill links.
30
+ web/dash/tab-tasks.js Tasks & Epics: kanban + table + create/edit/status/assignee/delete + epic ledger.
31
+ web/dash/tab-agents.js Agents & Sessions: agent grid -> per-agent drawer; session history -> per-session drawer.
32
+ web/dash/tab-orchestration.js mission->epic->task tree + agents + orchestrate on/off/auto + ledger controls.
33
+ web/dash/tab-deliver.js deliver run registry list + launch form + cancel/resume + per-run telemetry.
34
+ web/dash/tab-policies.js policies table (existing controls) + compliance + audit + live events.
35
+ web/dash/tab-models.js models/routing config + session usage + routing decisions.
36
+ web/dash/tab-memory.js L1-L4 + compression + hit/miss gauge + recent queries + savings-by-influence.
37
+ ```
38
+ Server change: `server.ts` static handler currently serves `/vendor/`; extend it to ALSO serve
39
+ `/dash/` (same path-traversal guard, content types add `.css`, `.js`).
40
+
41
+ ## Module contract (how tabs plug in)
42
+ `core.js` owns everything shared and exposes a global `UAP` object on `window`:
43
+ - `UAP.state` — the latest `/api/dashboard` snapshot (or null).
44
+ - `UAP.registerTab(id, {label, render(root, state), onEnter?, onLeave?})` — each tab-*.js calls this at load.
45
+ - `UAP.el(tag, attrs, ...children)` — tiny hyperscript DOM builder (avoids innerHTML XSS; sets textContent).
46
+ - `UAP.esc(s)`, `UAP.fmtNum(n)`, `UAP.fmtBytes(n)`, `UAP.fmtUsd(n)`, `UAP.fmtDur(ms)`, `UAP.timeAgo(iso)`.
47
+ - `UAP.api(path, body?)` — POST JSON with the mutation token header; returns parsed JSON or throws; shows toast on error.
48
+ - `UAP.confirm(message, {danger}) : Promise<bool>` — modal confirm; ALL destructive controls await it.
49
+ - `UAP.toast(msg, kind)` — kind: ok|warn|err.
50
+ - `UAP.drawer(title, contentNode)` / `UAP.closeDrawer()` — right-side slide-in panel for drill-down detail.
51
+ - `UAP.goto(hash)` — switch tabs programmatically (e.g. click agent row on Overview -> #agents + open drawer).
52
+ - `UAP.collapsible(title, bodyNode, {open}) : Node` — reusable expand/collapse section.
53
+ - `UAP.onSnapshot(fn)` — subscribe to every new snapshot (tabs use this to live-update if active).
54
+ - `UAP.liveEvents` — capped array of SSE activity events (for policies tab live feed).
55
+
56
+ core.js loads all tab-*.js as `<script type=module>` (or dynamic import) AFTER defining UAP, then
57
+ renders the tab from `location.hash` (default #overview). Tab bar buttons set the hash.
58
+ On each snapshot: if the active tab is live, re-render it; always update header + tab badges.
59
+
60
+ Data channels: reuse the current three (WS primary at ws://host, SSE /api/events for the activity
61
+ feed + snapshot fallback, poll /api/dashboard every REFRESH_MS when WS closed). Reconnect w/ backoff.
62
+ The `__UAP_DASHBOARD_TOKEN__` and `__UAP_DASH_REFRESH_MS__` placeholders are substituted server-side
63
+ in dashboard.html (already handled by server.ts) — read them from a small inline bootstrap script in
64
+ the shell that sets window.__UAP_BOOT = {token, refreshMs} before core.js loads.
65
+
66
+ ## Tabs — content & interactions
67
+
68
+ ### Overview (aggregate landing)
69
+ - KPI row (stat tiles): Tasks done/total + % ; Active agents ; Active deliver runs ; Orchestration
70
+ progress % ; Tokens saved ; Cost saved $ ; Memory entries ; Policy block-rate. Each tile clickable ->
71
+ goto its tab.
72
+ - Hero charts (uPlot): Tasks & Agents over time; Compression & Memory over time (from timeSeries).
73
+ - Live summaries (each a compact table with a "drill" affordance): Active Agents (click row ->
74
+ #agents drawer), Active Deliver Runs (click -> #deliver), Orchestration ledger mini-progress
75
+ (click -> #orchestration), Recent activity (last N events).
76
+
77
+ ### Tasks & Epics
78
+ - Toolbar: "+ New Task" (opens form: title, type[task|epic|bug|...], priority, assignee), filter by
79
+ status, expand/collapse-all groups.
80
+ - Kanban (5 cols open/in_progress/blocked/done/wont_do) grouped into families by groupId (port
81
+ current logic incl. depth indent + breadcrumb). Each card: click -> drawer with detail + controls:
82
+ change status (select), set assignee, claim, close(done), DELETE (danger-confirm). Epic-typed
83
+ cards also show ledger children + "advance/fail item" + "reset ledger" (danger).
84
+ - Endpoints: POST /api/tasks (create), POST /api/tasks/:id/update {status?,assignee?,priority?,title?},
85
+ POST /api/tasks/:id/close, POST /api/tasks/:id/delete, POST /api/tasks/:id/claim {agentId}.
86
+ Epics/ledger: POST /api/ledger/item/:id {status:done|failed|pending}, POST /api/ledger/reset,
87
+ POST /api/ledger/init {mission, items:[...]} (optional).
88
+
89
+ ### Agents & Sessions
90
+ - Agents grid: card per coordination.agents / session.agents (id,name,type,status badge, task, model,
91
+ tokens, cost). Click -> right drawer per-agent detail: full token IO (in/out), model, duration,
92
+ taskCount, skills chips (from coordination.skillsPerAgent[id]), patterns (patternsPerAgent[id]),
93
+ routing decisions if linkable. Control: Deregister agent (danger-confirm) -> POST /api/agents/:id/deregister.
94
+ Toolbar: "Clean stale agents" -> POST /api/agents/clean.
95
+ - Sessions history table (sessions[]): per row tokens/cost/agents/tasks/model/status; click -> drawer
96
+ with the session's detail (for the CURRENT/live session use `state.session` rich object incl agents,
97
+ modelBreakdown, skills, patterns, deploys, step progress bar).
98
+
99
+ ### Orchestration
100
+ - Header: orchestrator toggle (on/off/auto) -> POST /api/orchestrator {state:on|off|auto} (writes
101
+ .uap.json deliver.orchestrate). Show current from state.models or a new field.
102
+ - Active build ledger block (orchestrationTree.ledger): mission, pct, done/total, items w/ deps +
103
+ per-item advance/fail controls (reuse ledger endpoints).
104
+ - Mission tree (orchestrationTree.missions recursive): expand/collapse nodes, show assigned agents,
105
+ status badges. Node controls where it maps to a task: jump to task drawer.
106
+
107
+ ### Deliver
108
+ - Run registry list (NEW data: state.deliverRuns from listRuns()): runId, status
109
+ (running|delivered|failed|interrupted), mission/instruction, phase, taskId, updatedAt.
110
+ - Controls per run: Cancel (running only, danger-confirm) -> POST /api/deliver/:runId/cancel
111
+ (writes stop-file; server also attempts PID kill). Resume (interrupted) -> POST /api/deliver/:runId/resume.
112
+ - Launch form: instruction textarea + options (model preset, max-turns) -> POST /api/deliver/launch
113
+ {instruction, model?, maxTurns?} spawns `uap deliver` detached; returns runId. Show a warning that
114
+ this spawns a host process.
115
+ - Live telemetry: for a running run, show its RunCoordinator status from the agent registry (the
116
+ agent whose task text carries "turn N: X% of gates").
117
+
118
+ ### Policies & Compliance (port existing + keep controls)
119
+ - Policies table: name/category/level/stage/status + toggle button + stage select + level select
120
+ (existing endpoints /api/policy/:id/{toggle,stage,level}).
121
+ - Enforcement stages bar chart. Compliance: block-rate sparkline, failuresByMechanism bars,
122
+ recentFailures table, auditTrail list, Live Events SSE feed.
123
+
124
+ ### Models
125
+ - Roles (planner/executor/reviewer/fallback), strategy, availableModels, enabled, costOptimization,
126
+ routingMatrix (handle BOTH shapes: string tier->model AND {planner,executor}), routingRules.
127
+ - sessionUsage table (model/tasks/in/out/cost/success%), recentRoutingDecisions table, totalCost.
128
+
129
+ ### Memory
130
+ - L1/L2/L3(Qdrant)/L4 cards, compression block, hit/miss gauge + hit-rate sparkline, recentQueries
131
+ table, savingsByInfluence (summary + per-influence table with quality badges).
132
+
133
+ ## Backend — new files & edits
134
+ ```
135
+ src/dashboard/controls/tasks.ts handleTaskCreate/Update/Close/Delete/Claim (import TaskService)
136
+ src/dashboard/controls/epics.ts handleLedgerItem/Reset/Init (import completion-ledger)
137
+ src/dashboard/controls/orchestrator.ts handleOrchestratorToggle (import modifyUapConfig)
138
+ src/dashboard/controls/deliver.ts handleDeliverLaunch/Cancel/Resume + listDeliverRuns
139
+ src/dashboard/controls/agents.ts handleAgentDeregister/CleanStale (import CoordinationService)
140
+ ```
141
+ - `run-state.ts`: add `listRuns(projectRoot): DeliverRunState[]` (readdir deliverRunsDir + loadRunState each).
142
+ - `convergence-loop.ts`: add a cooperative STOP-FILE check per turn (next to the existing guidanceFile
143
+ poll). Stop-file path = `<projectRoot>/.uap/deliver-runs/<runId>/STOP`. If present, break the loop,
144
+ set run status 'interrupted', return. (Cancel endpoint writes this file; also SIGTERM the PID if known.)
145
+ - `data-service.ts`: add `deliverRuns` (from listRuns) and `ledger` (loadLedger) to DashboardData +
146
+ the interface. Add `getAgentDetail(cwd, agentId)` returning the per-agent detail (from session.agents
147
+ or coordination) for drawer use (optional — drawer can also filter client-side from snapshot).
148
+ - `server.ts`: extend static handler to `/dash/`; add the POST routes above, ALL behind
149
+ `mutationAuthorized(req)` (return denyMutation on fail); parse body via readBody/parseJsonBody;
150
+ validate inputs; return JSON. Destructive ops must be idempotent-safe and never throw unhandled.
151
+
152
+ ## Security & safety
153
+ - Every new mutation route: `if (!mutationAuthorized(req)) return denyMutation(res);` FIRST.
154
+ - Deliver launch spawns a subprocess — bind only when host is localhost is NOT enforced, but the token
155
+ gate is the control. Log launches. Detach the child (unref) so the dash server isn't its parent lifetime.
156
+ - Cancel: write stop-file (cooperative) THEN best-effort SIGTERM the recorded PID if the run-state has one.
157
+ - Confirm dialog on client for every delete/cancel/reset/deregister.
158
+
159
+ ## Tests (vitest, test/) — at least:
160
+ - run-state listRuns returns runs sorted newest-first; empty when dir absent.
161
+ - convergence stop-file: a loop with a pre-written STOP file exits with status interrupted after <=1 turn.
162
+ - server control routes: task create/update/delete happy-path + 401 without token; ledger item; agent
163
+ deregister; orchestrator toggle writes config. (Use ephemeral port, temp cwd.)
164
+ - data-service: getDashboardData includes deliverRuns + ledger keys.
165
+
166
+ ## Verification
167
+ - npm run build clean; tsc --noEmit clean; vitest green; design gate green (tokens only).
168
+ - Browser smoke: start `uap dash serve`, load each tab, exercise one mutation per domain, confirm
169
+ drill-in drawer opens and closes, expand/collapse works, live update ticks.
170
+ ```
171
+ ```
package/docs/INDEX.md CHANGED
@@ -53,6 +53,7 @@ Full map: **[The UAP Delivery Pipeline](guides/DELIVERY_PIPELINE.md)**.
53
53
  | [Worktree Workflow](guides/WORKTREE_WORKFLOW.md) | Branch-per-feature isolation, auto-PR, enforcement |
54
54
  | [Sandbox](guides/SANDBOX.md) | Kernel-level (bubblewrap) write isolation — the boundary that survives `--dangerously-skip-permissions` |
55
55
  | [Policies](guides/POLICIES.md) | Executable policy gates that block non-compliant tool calls |
56
+ | [**Policy Selection & Recommendations**](guides/POLICY_SELECTION.md) | Which policies to enable for your workflow — a recommended core + tailored sets by scenario; `uap policy recommend` ⭐ |
56
57
  | [Multi-Model Routing](guides/MULTI_MODEL.md) | Plan → route → execute across 7 model profiles |
57
58
  | [Droids & Skills](guides/DROIDS_AND_SKILLS.md) | 38 expert droids, 32 skills, the expert router |
58
59
  | [Deploy Batching](guides/DEPLOY_BATCHING.md) | Conflict-free batched git/deploy actions |
@@ -79,6 +80,7 @@ Full map: **[The UAP Delivery Pipeline](guides/DELIVERY_PIPELINE.md)**.
79
80
  | [Patterns](reference/PATTERNS.md) | The 23 Terminal-Bench patterns |
80
81
  | [Platforms](reference/PLATFORMS.md) | The 9 supported harnesses + support matrix |
81
82
  | [Configuration](reference/CONFIGURATION.md) | All config files and env vars |
83
+ | [**Configuration Reference**](reference/CONFIGURATION_REFERENCE.md) | Every setting `uap config` exposes — what it does, default, and a recommendation (generated from the registry); `uap config list/explain/set/doctor/wizard` ⭐ |
82
84
  | [Database Schema](reference/DATABASE_SCHEMA.md) | SQLite databases + Qdrant collections |
83
85
 
84
86
  ## Integrations
@@ -0,0 +1,98 @@
1
+ # Policy Selection & Recommendations
2
+
3
+ UAP ships ~33 executable policies (the [enforcer catalog](POLICIES.md)). You don't want all of them on for every project — you want the set that fits *your* workflow. This guide gives you a recommended core plus tailored add-ons by scenario, and the commands to apply them.
4
+
5
+ > **Live version of this guide:** `uap policy recommend` (all scenarios) or `uap policy recommend <scenario>` (a tailored set with an install command). The recommendations here and in the CLI come from the same source (`src/config/policy-recommendations.ts`).
6
+
7
+ ## How policies work (the 20-second version)
8
+
9
+ A policy is enforced by a hook → the enforcer inspects the tool call → it **allows (exit 0)** or **blocks (exit 2)**. Only `REQUIRED`-level policies hard-block; `RECOMMENDED`/`OPTIONAL` are advisory. Each enforcer also has an env kill-switch (e.g. `UAP_NO_WORKTREE`, `UAP_DELIVER_BYPASS`) so a human can override a single call — they're **cooperative guardrails**, not a sandbox. For a true write boundary, pair them with the [sandbox](SANDBOX.md). Full mechanics: [Policies](POLICIES.md).
10
+
11
+ ## Apply them
12
+
13
+ ```bash
14
+ uap policy recommend # list the core set + all scenarios
15
+ uap policy recommend team # tailored set for a scenario + an install command
16
+ uap policy install <slug> # install one policy (attaches its enforcer)
17
+ uap policy matrix # see everything installed + how to adjust it
18
+ uap config wizard # interactive: pick a scenario, install in one step
19
+ uap setup --profile custom # baseline setup, then the wizard (config + policies)
20
+ ```
21
+
22
+ ## The core set — recommended for every project
23
+
24
+ The safety floor. `uap setup` installs the delivery-enforcement + self-protect pieces automatically; the rest are one `uap policy install` away.
25
+
26
+ | Policy | Why |
27
+ |---|---|
28
+ | `worktree-required` | Edits land in an isolated worktree, never the working tree. |
29
+ | `delivery-enforcement` | Source changes route through the verified `deliver` loop. |
30
+ | `enforcement-self-protect` | Agents cannot disable the gates that constrain them. |
31
+ | `task-required` | Work is tied to a tracked task, not ad-hoc. |
32
+ | `test-gate` | Changed code must pass tests before "done". |
33
+ | `memory-before-plan` | The agent recalls prior decisions before re-deriving them. |
34
+ | `workdir-scope` | Writes are contained to the project directory. |
35
+
36
+ ## Scenarios — add these on top of the core
37
+
38
+ Pick the row that matches how you work. Each adds to the core set above.
39
+
40
+ ### Solo dev, local model
41
+ *One person driving a local (llama.cpp/Qwen) model that needs strong guardrails.*
42
+
43
+ `codebase-read-before-plan` · `validate-plan-before-build` · `mcp-router-first` · `local-build-before-push` · `ship-loop-gate` · `doc-live-over-report`
44
+
45
+ Weaker models benefit most from "read before you plan", a lean context window, and converging to green before shipping.
46
+
47
+ ### Team / multi-agent
48
+ *Multiple people or agents working the same repo concurrently.*
49
+
50
+ `coord-overlap` · `expert-review-required` · `schema-diff-gate` · `session-memory-write` · `artifact-hygiene`
51
+
52
+ The point is to stop agents colliding, surface contract changes for review, and capture learnings so peers compound them.
53
+
54
+ ### CI-gated delivery
55
+ *Changes must survive a CI pipeline and controlled deploys.*
56
+
57
+ `local-build-before-push` · `ship-loop-gate` · `merge-deploy-monitor-verify` · `schema-diff-gate`
58
+
59
+ Fail fast locally, re-converge on red CI, and treat deploys as monitored + verified rather than fire-and-forget.
60
+
61
+ ### High autonomy / hands-free
62
+ *Long unattended builds where the model must not cut corners.*
63
+
64
+ `validate-plan-before-build` · `ship-loop-gate` · `artifact-hygiene` · `doc-live-over-report` · `codebase-read-before-plan`
65
+
66
+ A wrong plan wastes an entire autonomous run — validate up front, grade the real system (not the model's optimism), and only end when the work is genuinely done.
67
+
68
+ ### Security-sensitive
69
+ *Handling secrets, infrastructure, or regulated code.*
70
+
71
+ `bearer-lockdown` · `schema-diff-gate` · `iac-parity` · `iac-plan-destruction-check`
72
+
73
+ Block credential leaks, forbid silent permission/API-surface changes, and flag destructive infra plans before apply.
74
+
75
+ ### UI / design work
76
+ *Projects with a front-end and a design system.*
77
+
78
+ `design-token-gate` · `visual-verification`
79
+
80
+ Keep UI edits on your design tokens/spacing and verify changes visually, not just by tests. Pair with [DESIGN.md](../design/UAP_REACTOR.md) and `uap config set design.enabled true`.
81
+
82
+ ## Tuning the level of any policy
83
+
84
+ A policy's *level* decides whether it hard-blocks or just warns:
85
+
86
+ ```bash
87
+ uap policy level <id> RECOMMENDED # downgrade a REQUIRED gate to advisory
88
+ uap policy level <id> REQUIRED # promote an advisory to a hard block
89
+ uap policy disable <id> # turn it off entirely
90
+ ```
91
+
92
+ Start stricter than you think you need — it's easier to relax a gate that's too noisy than to notice a class of mistakes a missing gate let through. Run `uap config doctor` to catch settings that quietly weaken the whole set (e.g. a leaked `UAP_ENFORCE_DELIVERY=advisory`).
93
+
94
+ ## See also
95
+
96
+ - [Policies](POLICIES.md) — the full enforcer catalog + CLI reference
97
+ - [Configuration Reference](../reference/CONFIGURATION_REFERENCE.md) — every setting `uap config` exposes
98
+ - [Sandbox](SANDBOX.md) — the kernel-level write boundary that backs the cooperative gates