@cat-factory/orchestration 0.226.0 → 0.228.0

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 (55) hide show
  1. package/dist/container/dependencies.d.ts +15 -1
  2. package/dist/container/dependencies.d.ts.map +1 -1
  3. package/dist/container/foundation.d.ts.map +1 -1
  4. package/dist/container/foundation.js +17 -6
  5. package/dist/container/foundation.js.map +1 -1
  6. package/dist/container/modules.js +2 -2
  7. package/dist/container/modules.js.map +1 -1
  8. package/dist/container.d.ts +21 -8
  9. package/dist/container.d.ts.map +1 -1
  10. package/dist/container.js +4 -1
  11. package/dist/container.js.map +1 -1
  12. package/dist/modules/board/BoardService.d.ts +22 -9
  13. package/dist/modules/board/BoardService.d.ts.map +1 -1
  14. package/dist/modules/board/BoardService.js +42 -106
  15. package/dist/modules/board/BoardService.js.map +1 -1
  16. package/dist/modules/board/publicBoardReads.d.ts +3 -3
  17. package/dist/modules/board/publicBoardReads.d.ts.map +1 -1
  18. package/dist/modules/board/publicBoardReads.js.map +1 -1
  19. package/dist/modules/board/reparentWrite.d.ts +43 -0
  20. package/dist/modules/board/reparentWrite.d.ts.map +1 -0
  21. package/dist/modules/board/reparentWrite.js +126 -0
  22. package/dist/modules/board/reparentWrite.js.map +1 -0
  23. package/dist/modules/board/riskPolicySelectionGuard.d.ts +45 -4
  24. package/dist/modules/board/riskPolicySelectionGuard.d.ts.map +1 -1
  25. package/dist/modules/board/riskPolicySelectionGuard.js +84 -20
  26. package/dist/modules/board/riskPolicySelectionGuard.js.map +1 -1
  27. package/dist/modules/boardScan/BoardScanService.js +6 -6
  28. package/dist/modules/boardScan/BoardScanService.js.map +1 -1
  29. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +2 -1
  30. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
  31. package/dist/modules/execution/MergeResolver.d.ts +3 -3
  32. package/dist/modules/execution/MergeResolver.d.ts.map +1 -1
  33. package/dist/modules/execution/MergeResolver.js +76 -34
  34. package/dist/modules/execution/MergeResolver.js.map +1 -1
  35. package/dist/modules/execution/PostMergeBoardController.d.ts.map +1 -1
  36. package/dist/modules/execution/PostMergeBoardController.js +6 -1
  37. package/dist/modules/execution/PostMergeBoardController.js.map +1 -1
  38. package/dist/modules/execution/RunMergePolicy.d.ts +3 -2
  39. package/dist/modules/execution/RunMergePolicy.d.ts.map +1 -1
  40. package/dist/modules/execution/RunMergePolicy.js +1 -1
  41. package/dist/modules/execution/RunMergePolicy.js.map +1 -1
  42. package/dist/modules/execution/StepGraph.d.ts.map +1 -1
  43. package/dist/modules/execution/StepGraph.js +20 -0
  44. package/dist/modules/execution/StepGraph.js.map +1 -1
  45. package/dist/modules/execution/policy-types.d.ts +5 -4
  46. package/dist/modules/execution/policy-types.d.ts.map +1 -1
  47. package/dist/modules/merge/RiskPolicyService.d.ts +22 -11
  48. package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
  49. package/dist/modules/merge/RiskPolicyService.js +27 -48
  50. package/dist/modules/merge/RiskPolicyService.js.map +1 -1
  51. package/dist/modules/merge/riskPolicyResolution.d.ts +36 -4
  52. package/dist/modules/merge/riskPolicyResolution.d.ts.map +1 -1
  53. package/dist/modules/merge/riskPolicyResolution.js +36 -8
  54. package/dist/modules/merge/riskPolicyResolution.js.map +1 -1
  55. package/package.json +11 -11
@@ -3,6 +3,59 @@ import { isDryRun, parseMergeAssessment, resolveRoleScopedMergeClassRule, submis
3
3
  function pct(score) {
4
4
  return `${Math.round(score * 100)}%`;
5
5
  }
6
+ /** How a card names the kind of change, when the diff was readable enough to classify it. */
7
+ function changeClassPhrase(changeClass) {
8
+ return changeClass === 'unknown' ? 'this' : `a \`${changeClass}\``;
9
+ }
10
+ /**
11
+ * The sentence each refusal leads with. Exhaustive over {@link ReviewCardReason} by type, so the
12
+ * next rung cannot ship wearing a neighbour's wording.
13
+ *
14
+ * Only `exceeded_thresholds` may blame the ceilings, because it is the only reason a ceiling
15
+ * decided. Every other arm says what actually refused and leaves the scores to the tail
16
+ * {@link reviewCardBody} appends, where they read as the information they are rather than as the
17
+ * thing to go and change.
18
+ */
19
+ const REVIEW_CARD_LEAD = {
20
+ dry_run: () => `This was a dry run, so its PR was left open for a human regardless of the assessment.`,
21
+ submission_not_allowed: (ctx) => `This task's merge policy does not let the role that started this run land ` +
22
+ `${changeClassPhrase(ctx.changeClass)} change, so its PR was left open regardless of the ` +
23
+ `assessment.`,
24
+ auto_merge_disabled: () => `This task's merge policy routes every pull request to a human, so this one was left open ` +
25
+ `regardless of the assessment.`,
26
+ // The one refusal whose remedy is not a setting to edit: nothing was configured to edit. It
27
+ // says so plainly and names no ceiling, because the fallback's ceilings are pinned to 0 and
28
+ // took no part in this (they would read as the strictest policy in the product).
29
+ no_policy_configured: () => `No merge policy governed this run, so nothing merged on its own and this PR was left open ` +
30
+ `for a human. This deployment has no merge preset library wired, so none of the task's ` +
31
+ `auto-merge ceilings took part in the decision.`,
32
+ role_requires_review: (ctx) => `This task's merge policy asks a human to review ${changeClassPhrase(ctx.changeClass)} ` +
33
+ `change from the role that started this run, so its PR was left open regardless of the ` +
34
+ `assessment.`,
35
+ class_requires_review: (ctx) => `This task's merge policy asks a human to review ${changeClassPhrase(ctx.changeClass)} ` +
36
+ `change, so its PR was left open regardless of the assessment.`,
37
+ no_rationale: () => `The merger returned scores but did not explain them, so its verdict was not trusted to ` +
38
+ `merge this PR on its own.`,
39
+ no_assessment: () => `The merger could not produce a valid assessment for this PR. Review and merge manually.`,
40
+ exceeded_thresholds: () => `The merger scored this PR outside the task's auto-merge thresholds.`,
41
+ merge_failed: () => `The automatic merge for this PR did not go through, so it was left open for a human.`,
42
+ };
43
+ /**
44
+ * The review card's body: why review was needed, then the assessment as supporting information.
45
+ *
46
+ * The scores ride the SAME tail on every reason so they never have to double as the explanation.
47
+ * A rationale is appended only when the merger wrote one, which is exactly what `no_rationale`
48
+ * reports the absence of.
49
+ */
50
+ function reviewCardBody(ctx, assessment) {
51
+ const lead = REVIEW_CARD_LEAD[ctx.reason](ctx);
52
+ if (!assessment)
53
+ return lead;
54
+ const scores = `complexity ${pct(assessment.complexity)}, risk ${pct(assessment.risk)}, ` +
55
+ `impact ${pct(assessment.impact)}`;
56
+ const rationale = assessment.rationale.trim();
57
+ return `${lead} Its scores were ${scores}.${rationale ? ` ${rationale}` : ''}`;
58
+ }
6
59
  /**
7
60
  * The auto-merge precedence ladder, most-significant first:
8
61
  *
@@ -14,7 +67,8 @@ function pct(score) {
14
67
  * WHO started the run. What separates it from a `never` class rule is that it also refuses
15
68
  * the MANUAL merge, so it is a bar on landing rather than a demand for review.
16
69
  * 3. `autoMergeEnabled: false`, the master switch. "Manual review only" stays manual and a
17
- * class rule can NEVER override it.
70
+ * class rule can NEVER override it. The unconfigured fallback refuses on this same rung, and
71
+ * is reported as `no_policy_configured` rather than borrowing the preset's name.
18
72
  * 4. The class rule AS NARROWED BY THE INITIATOR'S ROLE: `always` merges regardless of the
19
73
  * scores, and regardless of the rationale backstop, because an explicit operator policy
20
74
  * keyed on a DETERMINISTIC backend classification outranks the agent's self-report; `never`
@@ -48,8 +102,12 @@ function reviewReasonFor(input) {
48
102
  return 'dry_run';
49
103
  if (!input.submissionAllowed)
50
104
  return 'submission_not_allowed';
51
- if (!input.autoMergeEnabled)
52
- return 'auto_merge_disabled';
105
+ // Same rung, two names. A deployment that stated no merge policy and a preset that states
106
+ // "always ask a human" both refuse here, and sending the first reader to edit a preset they do
107
+ // not have is the misattribution this whole ladder exists to avoid.
108
+ if (!input.autoMergeEnabled) {
109
+ return input.policyConfigured ? 'auto_merge_disabled' : 'no_policy_configured';
110
+ }
53
111
  if (input.effectiveRule === 'never') {
54
112
  return input.narrowedByRole ? 'role_requires_review' : 'class_requires_review';
55
113
  }
@@ -168,6 +226,9 @@ export class MergeResolver {
168
226
  dryRun,
169
227
  submissionAllowed,
170
228
  autoMergeEnabled: preset.autoMergeEnabled,
229
+ // No id ⇒ the built-in fallback governed (see `MergeThresholds.id`), which is the one
230
+ // policy no workspace has a row for.
231
+ policyConfigured: preset.id !== undefined,
171
232
  effectiveRule,
172
233
  narrowedByRole,
173
234
  hasAssessment: assessment !== null,
@@ -178,11 +239,10 @@ export class MergeResolver {
178
239
  // raise sites below differ only in WHY they were reached, and a card that named a different
179
240
  // cause on the merge-failure path than on the refusal path would be reporting the resolver's
180
241
  // control flow rather than the run's policy.
181
- const cardContext = (recordId) => ({
242
+ const cardContext = (reason, recordId) => ({
182
243
  changeClass: classification.changeClass,
183
244
  ...(recordId ? { recordId } : {}),
184
- dryRun,
185
- submissionBlocked: !submissionAllowed,
245
+ reason,
186
246
  });
187
247
  const record = (decision) => this.deps.mergeTrackRecord?.recordDecision(workspaceId, {
188
248
  block,
@@ -210,20 +270,20 @@ export class MergeResolver {
210
270
  // Auto-merge failed outright (e.g. branch protection / conflict, or the first PR of a
211
271
  // multi-repo task): fall through to a review notification so a human can sort it out.
212
272
  const pending = await record('pending_review');
213
- await this.raiseReviewAndBlock(workspaceId, instance, block, assessment, cardContext(pending?.id));
273
+ await this.raiseReviewAndBlock(workspaceId, instance, block, assessment, cardContext('merge_failed', pending?.id));
214
274
  return { ...base, outcome: 'awaiting_review', reason: 'merge_failed', exceededAxes };
215
275
  }
216
276
  }
217
277
  const pending = await record('pending_review');
218
- await this.raiseReviewAndBlock(workspaceId, instance, block, assessment, cardContext(pending?.id));
278
+ await this.raiseReviewAndBlock(workspaceId, instance, block, assessment, cardContext(reviewReason, pending?.id));
219
279
  return { ...base, outcome: 'awaiting_review', reason: reviewReason, exceededAxes };
220
280
  }
221
281
  /**
222
282
  * The track-record context a review card carries so the human can tag in the same tap.
223
283
  *
224
- * Takes only what it PROJECTS. `dryRun` rides the same {@link ReviewCardContext} the callers
225
- * thread, but it changes the card's WORDING rather than its track-record link, so naming it
226
- * here would advertise an input this function has no use for.
284
+ * Takes only what it PROJECTS. The `reason` rides the same {@link ReviewCardContext} the
285
+ * callers thread, but it decides the card's WORDING rather than its track-record link, so
286
+ * naming it here would advertise an input this function has no use for.
227
287
  */
228
288
  trackContext = (ctx) => ({
229
289
  ...(ctx.changeClass !== 'unknown' ? { changeClass: ctx.changeClass } : {}),
@@ -253,29 +313,11 @@ export class MergeResolver {
253
313
  async raiseMergeReview(workspaceId, instance, block, assessment, track) {
254
314
  if (!this.deps.notificationService)
255
315
  return;
256
- // A sandboxed run's card must not describe the scores as the thing holding the PR back: they
257
- // were never consulted, and a card blaming them sends the reader to edit a ceiling that had
258
- // no part in the outcome. Report the assessment as the INFORMATION it is on a dry run, and
259
- // say plainly why nothing merged.
260
- const scores = assessment
261
- ? `complexity ${pct(assessment.complexity)}, risk ${pct(assessment.risk)}, ` +
262
- `impact ${pct(assessment.impact)}`
263
- : null;
264
- const body = track.dryRun
265
- ? `This was a dry run, so its PR was left open for a human regardless of the assessment.` +
266
- (scores && assessment ? ` The merger scored it ${scores}. ${assessment.rationale}` : '')
267
- : // Same rule as the sandbox: name the policy that actually held the PR back rather than
268
- // the scores nobody consulted. It deliberately does NOT claim the change cannot land: the
269
- // PR is real, and a teammate whose role may land this class can merge it from here.
270
- track.submissionBlocked
271
- ? `This task's merge policy does not let the role that started this run land ` +
272
- `${track.changeClass === 'unknown' ? 'this' : `a \`${track.changeClass}\``} change, so ` +
273
- `its PR was left open regardless of the assessment.` +
274
- (scores && assessment ? ` The merger scored it ${scores}. ${assessment.rationale}` : '')
275
- : assessment
276
- ? `The merger scored this PR outside the task's auto-merge thresholds ` +
277
- `(${scores}). ${assessment.rationale}`
278
- : `The merger could not produce a valid assessment for this PR. Review and merge manually.`;
316
+ // Worded from the DECISION's own reason: a card must name the thing that actually held the
317
+ // PR back, or it sends the reader to edit a setting that took no part in the outcome. The
318
+ // wording deliberately never claims the change cannot land: the PR is real, and a human who
319
+ // may land it can merge it from here.
320
+ const body = reviewCardBody(track, assessment);
279
321
  await this.deps.notificationService.raise(workspaceId, {
280
322
  type: 'merge_review',
281
323
  blockId: block.id,
@@ -1 +1 @@
1
- {"version":3,"file":"MergeResolver.js","sourceRoot":"","sources":["../../../src/modules/execution/MergeResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MergeResolver.js","sourceRoot":"","sources":["../../../src/modules/execution/MergeResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostMergeBoardController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/PostMergeBoardController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,MAAM,EAEN,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,8FAA8F;AAC9F,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,EAAE,CACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,EAAE,KACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAClC,kGAAkG;IAClG,KAAK,EAAE,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACjC,OAAO,CAAC,OAAO,CAAC,CAAA;CACtB;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,4BAA4B,EACjD;IAEJ;;;;;;;OAOG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEnF;IAED;;;OAGG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9E;CACF"}
1
+ {"version":3,"file":"PostMergeBoardController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/PostMergeBoardController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,MAAM,EAEN,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,8FAA8F;AAC9F,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,EAAE,CACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,UAAU,EAAE,MAAM,EAAE,KACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAClC,kGAAkG;IAClG,KAAK,EAAE,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACjC,OAAO,CAAC,OAAO,CAAC,CAAA;CACtB;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,4BAA4B,EACjD;IAEJ;;;;;;;OAOG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEnF;IAED;;;OAGG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC9E;CACF"}
@@ -1,3 +1,4 @@
1
+ import { UNATTRIBUTED_BLOCK_EDIT_AUTHORITY } from '@cat-factory/contracts';
1
2
  import { dependenciesMet, serviceOf } from '../board/board.logic.js';
2
3
  /**
3
4
  * The board-shaped follow-up a MERGED task triggers: materialise the module it was assigned to,
@@ -106,7 +107,11 @@ export class PostMergeBoardController {
106
107
  await this.host.board.reparent(workspaceId, taskId, {
107
108
  parentId: module.id,
108
109
  position: { x: 16 + (n % 2) * 190, y: 40 + Math.floor(n / 2) * 130 },
109
- });
110
+ },
111
+ // A merged run materialising the module its task named: the engine acting on what the
112
+ // work produced, with no request and no session behind it, so there is no tier to read.
113
+ // The move is within the service in any case, which re-decides no merge policy.
114
+ UNATTRIBUTED_BLOCK_EDIT_AUTHORITY);
110
115
  }
111
116
  // A module node appeared and/or a task changed parent: a hierarchy change spanning two
112
117
  // blocks, which no single payload can state, so this stays a coarse refresh. Name the moved
@@ -1 +1 @@
1
- {"version":3,"file":"PostMergeBoardController.js","sourceRoot":"","sources":["../../../src/modules/execution/PostMergeBoardController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAgDpE;;;;;;;;;GASG;AACH,MAAM,OAAO,wBAAwB;IAEhB,IAAI;IACJ,IAAI;IAFvB,YACmB,IAAwB,EACxB,IAAkC;oBADlC,IAAI;oBACJ,IAAI;IACpB,CAAC;IAEJ;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,aAAqB;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CACjE,CAAA;QACD,mFAAmF;QACnF,+FAA+F;QAC/F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACnC,yFAAyF;QACzF,4FAA4F;QAC5F,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,6BAA6B,CACrD,MAAM,EACN,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CACvC,CAAA;QACD,kFAAkF;QAClF,qFAAqF;QACrF,gFAAgF;QAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACjF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC1C,sFAAsF;QACtF,+FAA+F;QAC/F,4FAA4F;QAC5F,2FAA2F;QAC3F,yFAAyF;QACzF,+FAA+F;QAC/F,8EAA8E;QAC9E,IAAI,SAA4C,CAAA;QAChD,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CACrC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;YACzB,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACzE,IAAI,CAAA;QACN,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,wFAAwF;YACxF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;gBAAE,SAAQ;YACpD,0FAA0F;YAC1F,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAQ;YAC5E,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;YACzF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,wFAAwF;gBACxF,wFAAwF;gBACxF,2FAA2F;gBAC3F,mFAAmF;gBACnF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;oBAC5E,WAAW;oBACX,OAAO,EAAE,SAAS,CAAC,EAAE;oBACrB,UAAU,EAAE,SAAS,CAAC,UAAU;iBACjC,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,gFAAgF;YAChF,iFAAiF;YACjF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,CACzD,WAAW,EACX,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,aAAa,EACvB,QAAQ,CAAC,UAAU,CACpB,CAAA;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAQ;YACnC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;YACtF,CAAC;YAAC,MAAM,CAAC;gBACP,iFAAiF;gBACjF,mEAAmE;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,WAAmB,EAAE,MAAc;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QACrE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CACxF,CAAA;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC9F,CAAC;QACD,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;YACtF,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;gBAClD,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;aACrE,CAAC,CAAA;QACJ,CAAC;QACD,uFAAuF;QACvF,4FAA4F;QAC5F,kEAAkE;QAClE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACzF,CAAC;CACF"}
1
+ {"version":3,"file":"PostMergeBoardController.js","sourceRoot":"","sources":["../../../src/modules/execution/PostMergeBoardController.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,8 @@ import type { ResolvedRunRiskPolicy } from './policy-types.js';
5
5
  export interface RunMergePolicyDeps {
6
6
  /**
7
7
  * Optional: resolves a task's merge threshold preset (auto-merge ceilings, the per-class
8
- * rules, and the CI-fixer attempt budget). Absent → the built-in `DEFAULT_RISK_POLICY`.
8
+ * rules, and the CI-fixer attempt budget). Absent → the built-in `FALLBACK_RISK_POLICY`, which
9
+ * auto-merges nothing.
9
10
  */
10
11
  riskPolicyRepository?: RiskPolicyRepository;
11
12
  /**
@@ -39,7 +40,7 @@ export declare class RunMergePolicy {
39
40
  constructor(deps: RunMergePolicyDeps);
40
41
  /**
41
42
  * Resolve the merge threshold preset that governs a task: its explicitly-picked preset, else
42
- * the workspace default, else the built-in `DEFAULT_RISK_POLICY`. Returns the thresholds
43
+ * the workspace default, else the built-in `FALLBACK_RISK_POLICY`. Returns the thresholds
43
44
  * the engine compares against, the per-class rules, and the CI attempt budget.
44
45
  *
45
46
  * Reads through the `riskPolicy` cache slice when wired: the row is slow-moving admin config
@@ -1 +1 @@
1
- {"version":3,"file":"RunMergePolicy.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE9D,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;OAIG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;IACxD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,kBAAkB,EAAI;IAEzD;;;;;;;;;OASG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAO/E;IAED;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAKjF;IAED;;;;OAIG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf;IAED;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;CACF"}
1
+ {"version":3,"file":"RunMergePolicy.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE9D,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;OAIG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;IACxD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,kBAAkB,EAAI;IAEzD;;;;;;;;;OASG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAO/E;IAED;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAKjF;IAED;;;;OAIG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf;IAED;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;CACF"}
@@ -20,7 +20,7 @@ export class RunMergePolicy {
20
20
  }
21
21
  /**
22
22
  * Resolve the merge threshold preset that governs a task: its explicitly-picked preset, else
23
- * the workspace default, else the built-in `DEFAULT_RISK_POLICY`. Returns the thresholds
23
+ * the workspace default, else the built-in `FALLBACK_RISK_POLICY`. Returns the thresholds
24
24
  * the engine compares against, the per-class rules, and the CI attempt budget.
25
25
  *
26
26
  * Reads through the `riskPolicy` cache slice when wired: the row is slow-moving admin config
@@ -1 +1 @@
1
- {"version":3,"file":"RunMergePolicy.js","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAuB1F;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAc;IACI,IAAI;IAAjC,YAA6B,IAAwB;oBAAxB,IAAI;IAAuB,CAAC;IAEzD;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,KAAY;QAC7C,OAAO,iBAAiB,CAAC;YACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAC1C,WAAW;YACX,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,KAAY;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1B,4FAA4F;QAC5F,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,OAAe,EACf,YAAkC;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA;QACtC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAM;YAC1C,MAAM,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,WAAmB;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"RunMergePolicy.js","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAwB1F;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAc;IACI,IAAI;IAAjC,YAA6B,IAAwB;oBAAxB,IAAI;IAAuB,CAAC;IAEzD;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,KAAY;QAC7C,OAAO,iBAAiB,CAAC;YACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAC1C,WAAW;YACX,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,KAAY;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1B,4FAA4F;QAC5F,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,OAAe,EACf,YAAkC;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA;QACtC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAM;YAC1C,MAAM,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,WAAmB;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepGraph.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/StepGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IARrC,YACmB,KAAK,EAAE,KAAK;IAC7B;;;;;OAKG;IACc,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EACpD;IAEJ,4FAA4F;IAC5F,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAelC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAInC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAG1C;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CA0C1C;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAIrF;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GACzC,MAAM,CAGR;IAED;;;;;;;OAOG;IACH,oBAAoB,CAClB,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC1C,IAAI,CAQN;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CASlF;IAED;;;;;;OAMG;IACH,qBAAqB,CACnB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC1C,IAAI,CAqBN;CACF"}
1
+ {"version":3,"file":"StepGraph.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/StepGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IARrC,YACmB,KAAK,EAAE,KAAK;IAC7B;;;;;OAKG;IACc,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EACpD;IAEJ,4FAA4F;IAC5F,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAelC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAInC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAG1C;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CA8D1C;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAIrF;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GACzC,MAAM,CAGR;IAED;;;;;;;OAOG;IACH,oBAAoB,CAClB,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC1C,IAAI,CAQN;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CASlF;IAED;;;;;;OAMG;IACH,qBAAqB,CACnB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC1C,IAAI,CAqBN;CACF"}
@@ -102,6 +102,26 @@ export class StepGraph {
102
102
  // — this one can legitimately go present → absent (a looped-back `repro-test` step has its
103
103
  // `custom` cleared above, so the re-dispatch resolves no spec and nothing overwrites it).
104
104
  step.reproduction = undefined;
105
+ // Drop the previous dispatch's tool-server (MCP) resolution. It is the ONE field
106
+ // `recordDispatchAttribution` pins that no settle-time path consumes: `model`,
107
+ // `subscriptionTokenId` and `initiatedByUserId` are read back when the job's usage lands (which
108
+ // is why they are guarded on presence there, and why clearing them HERE would put every
109
+ // re-run's `token_usage` row back to provider "unknown"), while this one is only ever read out
110
+ // again — by the debug projection and the step surface's chips. So a reset can say "no dispatch
111
+ // has answered this yet" at no attribution cost, and saying it is the honest move: the record
112
+ // describes ONE resolution against one harness, one secret resolver and one set of OAuth
113
+ // grants, and a deployment that has since retired a registration would otherwise leave a
114
+ // re-armed step rendering chips for a server nothing will ask for. A container re-dispatch
115
+ // rewrites it whole in any case; what this closes is the gap where nothing does — a step
116
+ // sitting `pending` between the reset and its next dispatch, one re-dispatched INLINE (whose
117
+ // handle carries no resolution, so the guard in `recordDispatchAttribution` would preserve the
118
+ // container round's), and one whose run is abandoned before it ever redispatches.
119
+ //
120
+ // `skillVersions` and `promptRevision`, the other two dispatch-pinned capability fields, need
121
+ // no line here: both are assigned UNCONDITIONALLY at dispatch (to `undefined` when there is
122
+ // nothing to pin), so they self-clear. This field is the one that cannot, and the asymmetry is
123
+ // deliberate rather than an oversight waiting to be tidied — see the guard above.
124
+ step.toolServers = undefined;
105
125
  step.rework = undefined;
106
126
  // Clear the live container handle + the deployer fan-out state, so a re-run of a `deployer`
107
127
  // step re-provisions from scratch (a stale `deployEnvs` would otherwise let it skip straight to
@@ -1 +1 @@
1
- {"version":3,"file":"StepGraph.js","sourceRoot":"","sources":["../../../src/modules/execution/StepGraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,SAAS;IAED,KAAK;IAOL,iBAAiB;IARpC,YACmB,KAAY;IAC7B;;;;;OAKG;IACc,iBAAqC;qBAPrC,KAAK;iCAOL,iBAAiB;IACjC,CAAC;IAEJ,4FAA4F;IAC5F,SAAS,CAAC,IAAkB;QAC1B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACjC,qFAAqF;YACrF,uFAAuF;YACvF,qFAAqF;YACrF,kFAAkF;YAClF,iFAAiF;YACjF,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,SAAS,CAAA;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1C,CAAC;QACD,+EAA+E;QAC/E,sDAAsD;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAkB;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;QACnB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAChF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAkB;QAClC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAA;QAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAkB;QAClC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,mFAAmF;QACnF,mFAAmF;QACnF,0FAA0F;QAC1F,uDAAuD;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QACzB,qFAAqF;QACrF,4DAA4D;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,oFAAoF;QACpF,+EAA+E;QAC/E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,4FAA4F;QAC5F,6FAA6F;QAC7F,2FAA2F;QAC3F,0FAA0F;QAC1F,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,4FAA4F;QAC5F,gGAAgG;QAChG,6FAA6F;QAC7F,8FAA8F;QAC9F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACnC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;QACrC,yFAAyF;QACzF,4FAA4F;QAC5F,6FAA6F;QAC7F,wFAAwF;QACxF,2CAA2C;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAA2B,EAAE,SAAiB,EAAE,YAAoB;QAC7E,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;QAC1F,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC,CAAA;QAC1C,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,KAA8B,EAC9B,KAAa,EACb,SAA0C;QAE1C,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBAAE,OAAO,CAAC,CAAA;QACvE,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAClB,QAA2B,EAC3B,aAAqB,EACrB,cAAsB,EACtB,MAA2C;QAE3C,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAE,CAAA;QAC/C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxB,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAA;IACtC,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,QAA2B,EAAE,cAAsB;QACxE,MAAM,OAAO,GAAG,gBAAgB,CAC9B,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC,SAAS,EACzC,IAAI,CAAC,iBAAiB,CACvB,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC;gBAAE,OAAO,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CACnB,QAA2B,EAC3B,cAAsB,EACtB,MAA2C;QAE3C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,cAAc,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,gCAAgC,aAAa,CAAC,SAAS,qCAAqC,CAC7F,CAAA;QACH,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QAC3E,qFAAqF;QACrF,qFAAqF;QACrF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,qCAAqC,aAAa,CAAC,SAAS,uCAAuC,CACpG,CAAA;QACH,CAAC;QACD,aAAa,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;YAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"StepGraph.js","sourceRoot":"","sources":["../../../src/modules/execution/StepGraph.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ClassRulesByRole, MergeClassRules, RequirementConcernLevel, StepGa
2
2
  /**
3
3
  * The effective risk/merge policy for one run, as {@link RunMergePolicy.resolve} resolves it
4
4
  * (the block's selected preset, else the workspace default, else the built-in
5
- * `DEFAULT_RISK_POLICY`). Every gate window receives that resolver as a bound call-back and
5
+ * `FALLBACK_RISK_POLICY`). Every gate window receives that resolver as a bound call-back and
6
6
  * reads only the subset it gates on.
7
7
  *
8
8
  * It lives in its own module — rather than beside the engine — so `RunMergePolicy` and the gate
@@ -10,9 +10,10 @@ import type { ClassRulesByRole, MergeClassRules, RequirementConcernLevel, StepGa
10
10
  */
11
11
  export interface ResolvedRunRiskPolicy {
12
12
  /**
13
- * The resolved preset's id, absent when the built-in `DEFAULT_RISK_POLICY` fallback was used
14
- * (no repository / no default seeded yet) that fallback is a constant, not a row. Recorded
15
- * on the merge track record so a decision can be read back in its policy context.
13
+ * The resolved preset's id, absent when the built-in `FALLBACK_RISK_POLICY` was used (no
14
+ * repository wired): that fallback is a constant, not a row, and it is the one policy that
15
+ * auto-merges nothing. Recorded on the merge track record so a decision can be
16
+ * read back in its policy context.
16
17
  */
17
18
  id?: string;
18
19
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"policy-types.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,wBAAwB,EAAE,MAAM,CAAA;IAChC,4BAA4B,EAAE,uBAAuB,CAAA;IACrD,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uFAAuF;IACvF,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACtC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;CAClD"}
1
+ {"version":3,"file":"policy-types.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,wBAAwB,EAAE,MAAM,CAAA;IAChC,4BAA4B,EAAE,uBAAuB,CAAA;IACrD,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uFAAuF;IACvF,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACtC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;CAClD"}
@@ -12,13 +12,13 @@ export interface RiskPolicyServiceDependencies {
12
12
  riskPolicyCache?: GroupCacheHandle<RiskPolicyCacheValue>;
13
13
  }
14
14
  /**
15
- * CRUD for a workspace's merge threshold presets (the library a task picks its
16
- * auto-merge policy from). Maintains the invariant that a workspace always has at
17
- * least one preset, exactly one of which is the default: {@link list} lazily seeds
18
- * the built-in catalog ({@link seedRiskPolicies}) on first use, and the default cannot
19
- * be deleted. The single-default promotion is enforced in the repository. {@link reseed}
20
- * restores a built-in to the current catalog (adopting an update, repairing drift, or
21
- * materialising a NEW built-in that appeared after the workspace was created).
15
+ * CRUD for a workspace's merge threshold presets (the library a task picks its auto-merge policy
16
+ * from). Maintains the invariant that a workspace always has at least one preset, exactly one of
17
+ * which is the default: the built-in catalog ({@link seedRiskPolicies}) is written when the board
18
+ * is CREATED, `ensureSeeded` repairs a board that predates that, and the default cannot be
19
+ * deleted. The single-default promotion is enforced in the repository. {@link reseed} restores a
20
+ * built-in to the current catalog (adopting an update, repairing drift, or materialising a NEW
21
+ * built-in that appeared after the workspace was created).
22
22
  */
23
23
  export declare class RiskPolicyService {
24
24
  private readonly presets;
@@ -33,7 +33,7 @@ export declare class RiskPolicyService {
33
33
  * radius is the whole library — over-invalidation is always safe (CLAUDE.md caching rule).
34
34
  */
35
35
  private invalidate;
36
- /** List a workspace's presets, seeding the built-in catalog if none exist yet. */
36
+ /** List a workspace's presets, repairing an empty library first (see `ensureSeeded`). */
37
37
  list(workspaceId: string): Promise<RiskPolicy[]>;
38
38
  /** Create a new preset. The first one (or one flagged default) becomes the default. */
39
39
  create(workspaceId: string, input: CreateRiskPolicyInput): Promise<RiskPolicy>;
@@ -54,9 +54,20 @@ export declare class RiskPolicyService {
54
54
  * Rejects an id not in the catalog (a custom preset — delete it instead).
55
55
  */
56
56
  reseed(workspaceId: string, id: string): Promise<RiskPolicy>;
57
- /** Seed the built-in preset catalog for a workspace that has none yet. Idempotent. */
57
+ /**
58
+ * REPAIR a workspace whose preset library is empty, by writing the built-in catalog.
59
+ *
60
+ * Creating a board is what normally seeds the library ({@link WorkspaceService.create}), and
61
+ * that is where the invariant belongs: the engine resolves a task's governing preset without
62
+ * listing anything, so a library that only existed once somebody had READ it made the merge
63
+ * posture of an identical run depend on whether a board had been opened.
64
+ *
65
+ * This stays as the repair for the two states creation cannot reach backwards into: a board
66
+ * made before creation seeded presets, and one whose facade wired the preset repository only
67
+ * later. Both currently resolve `FALLBACK_RISK_POLICY`, which auto-merges nothing, so the
68
+ * repair can only move a workspace from refusing everything to its configured default.
69
+ * Idempotent, and a no-op on every board created since.
70
+ */
58
71
  private ensureSeeded;
59
- /** A catalog seed as a persisted preset (its stable id + version, without `createdAt`). */
60
- private fromSeed;
61
72
  }
62
73
  //# sourceMappingURL=RiskPolicyService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RiskPolicyService.d.ts","sourceRoot":"","sources":["../../../src/modules/merge/RiskPolicyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAU5B,MAAM,WAAW,6BAA6B;IAC5C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;;OAIG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CACzD;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAwC;IAE/D,YAAY,IAAI,EAAE,6BAA6B,EAM9C;IAED;;;;OAIG;YACW,UAAU;IAIxB,kFAAkF;IAC5E,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAIrD;IAED,uFAAuF;IACjF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BnF;IAED,+EAA+E;IACzE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmD/F;IAED,6DAA6D;IACvD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAuBjE;IAED,sFAAsF;YACxE,YAAY;IAiB1B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ;CA0BjB"}
1
+ {"version":3,"file":"RiskPolicyService.d.ts","sourceRoot":"","sources":["../../../src/modules/merge/RiskPolicyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAW5B,MAAM,WAAW,6BAA6B;IAC5C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;;OAIG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CACzD;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAwC;IAE/D,YAAY,IAAI,EAAE,6BAA6B,EAM9C;IAED;;;;OAIG;YACW,UAAU;IAIxB,yFAAyF;IACnF,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAIrD;IAED,uFAAuF;IACjF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BnF;IAED,+EAA+E;IACzE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmD/F;IAED,6DAA6D;IACvD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAsBjE;IAED;;;;;;;;;;;;;OAaG;YACW,YAAY;CAU3B"}
@@ -1,12 +1,12 @@
1
- import { assertFound, ConflictError, requireWorkspace, seedRiskPolicies, ValidationError, } from '@cat-factory/kernel';
1
+ import { assertFound, ConflictError, requireWorkspace, riskPolicyFromSeed, riskPolicySeedRows, seedRiskPolicies, ValidationError, } from '@cat-factory/kernel';
2
2
  /**
3
- * CRUD for a workspace's merge threshold presets (the library a task picks its
4
- * auto-merge policy from). Maintains the invariant that a workspace always has at
5
- * least one preset, exactly one of which is the default: {@link list} lazily seeds
6
- * the built-in catalog ({@link seedRiskPolicies}) on first use, and the default cannot
7
- * be deleted. The single-default promotion is enforced in the repository. {@link reseed}
8
- * restores a built-in to the current catalog (adopting an update, repairing drift, or
9
- * materialising a NEW built-in that appeared after the workspace was created).
3
+ * CRUD for a workspace's merge threshold presets (the library a task picks its auto-merge policy
4
+ * from). Maintains the invariant that a workspace always has at least one preset, exactly one of
5
+ * which is the default: the built-in catalog ({@link seedRiskPolicies}) is written when the board
6
+ * is CREATED, `ensureSeeded` repairs a board that predates that, and the default cannot be
7
+ * deleted. The single-default promotion is enforced in the repository. {@link reseed} restores a
8
+ * built-in to the current catalog (adopting an update, repairing drift, or materialising a NEW
9
+ * built-in that appeared after the workspace was created).
10
10
  */
11
11
  export class RiskPolicyService {
12
12
  presets;
@@ -29,7 +29,7 @@ export class RiskPolicyService {
29
29
  async invalidate(workspaceId) {
30
30
  await this.cache?.invalidateGroup(workspaceId);
31
31
  }
32
- /** List a workspace's presets, seeding the built-in catalog if none exist yet. */
32
+ /** List a workspace's presets, repairing an empty library first (see `ensureSeeded`). */
33
33
  async list(workspaceId) {
34
34
  await requireWorkspace(this.workspaceRepository, workspaceId);
35
35
  await this.ensureSeeded(workspaceId);
@@ -157,58 +157,37 @@ export class RiskPolicyService {
157
157
  ? existing.isDefault
158
158
  : seed.isDefault && (await this.presets.getDefault(workspaceId)) === null;
159
159
  const preset = {
160
- ...this.fromSeed(seed),
160
+ ...riskPolicyFromSeed(seed, existing?.createdAt ?? this.clock.now()),
161
161
  isDefault,
162
- createdAt: existing?.createdAt ?? this.clock.now(),
163
162
  };
164
163
  await this.presets.upsert(workspaceId, preset);
165
164
  await this.invalidate(workspaceId);
166
165
  return preset;
167
166
  }
168
- /** Seed the built-in preset catalog for a workspace that has none yet. Idempotent. */
167
+ /**
168
+ * REPAIR a workspace whose preset library is empty, by writing the built-in catalog.
169
+ *
170
+ * Creating a board is what normally seeds the library ({@link WorkspaceService.create}), and
171
+ * that is where the invariant belongs: the engine resolves a task's governing preset without
172
+ * listing anything, so a library that only existed once somebody had READ it made the merge
173
+ * posture of an identical run depend on whether a board had been opened.
174
+ *
175
+ * This stays as the repair for the two states creation cannot reach backwards into: a board
176
+ * made before creation seeded presets, and one whose facade wired the preset repository only
177
+ * later. Both currently resolve `FALLBACK_RISK_POLICY`, which auto-merges nothing, so the
178
+ * repair can only move a workspace from refusing everything to its configured default.
179
+ * Idempotent, and a no-op on every board created since.
180
+ */
169
181
  async ensureSeeded(workspaceId) {
170
182
  const current = await this.presets.list(workspaceId);
171
183
  if (current.length > 0)
172
184
  return;
173
- const now = this.clock.now();
174
- // Stamp createdAt by catalog order so `list` (ordered by created_at) preserves it.
175
- let offset = 0;
176
- for (const seed of seedRiskPolicies()) {
177
- await this.presets.upsert(workspaceId, {
178
- ...this.fromSeed(seed),
179
- createdAt: now + offset++,
180
- });
185
+ for (const preset of riskPolicySeedRows(this.clock.now())) {
186
+ await this.presets.upsert(workspaceId, preset);
181
187
  }
182
- // A gate that resolved before first-use seeding cached the null default; drop it so the
188
+ // A gate that resolved before the repair cached the null default; drop it so the
183
189
  // freshly-seeded default (not the built-in fallback) is read on the very next evaluation.
184
190
  await this.invalidate(workspaceId);
185
191
  }
186
- /** A catalog seed as a persisted preset (its stable id + version, without `createdAt`). */
187
- fromSeed(seed) {
188
- return {
189
- id: seed.id,
190
- name: seed.name,
191
- maxComplexity: seed.maxComplexity,
192
- maxRisk: seed.maxRisk,
193
- maxImpact: seed.maxImpact,
194
- ciMaxAttempts: seed.ciMaxAttempts,
195
- maxRequirementIterations: seed.maxRequirementIterations,
196
- maxRequirementConcernAllowed: seed.maxRequirementConcernAllowed,
197
- maxTesterQualityIterations: seed.maxTesterQualityIterations,
198
- releaseWatchWindowMinutes: seed.releaseWatchWindowMinutes,
199
- releaseMaxAttempts: seed.releaseMaxAttempts,
200
- humanReviewGraceMinutes: seed.humanReviewGraceMinutes,
201
- judgeMinScore: seed.judgeMinScore,
202
- judgeMaxBounces: seed.judgeMaxBounces,
203
- autoMergeEnabled: seed.autoMergeEnabled,
204
- forkDecision: seed.forkDecision,
205
- classRulesByRole: seed.classRulesByRole,
206
- dryRunRoles: seed.dryRunRoles,
207
- submissionClassesByRole: seed.submissionClassesByRole,
208
- classRules: seed.classRules,
209
- isDefault: seed.isDefault,
210
- version: seed.version,
211
- };
212
- }
213
192
  }
214
193
  //# sourceMappingURL=RiskPolicyService.js.map