@cat-factory/orchestration 0.262.0 → 0.263.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 (82) hide show
  1. package/dist/modules/board/riskPolicySelectionGuard.d.ts.map +1 -1
  2. package/dist/modules/board/riskPolicySelectionGuard.js +52 -17
  3. package/dist/modules/board/riskPolicySelectionGuard.js.map +1 -1
  4. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  5. package/dist/modules/execution/AgentContextBuilder.js +5 -44
  6. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  7. package/dist/modules/execution/CompanionController.d.ts +26 -1
  8. package/dist/modules/execution/CompanionController.d.ts.map +1 -1
  9. package/dist/modules/execution/CompanionController.js +54 -1
  10. package/dist/modules/execution/CompanionController.js.map +1 -1
  11. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  12. package/dist/modules/execution/ExecutionService.js +8 -6
  13. package/dist/modules/execution/ExecutionService.js.map +1 -1
  14. package/dist/modules/execution/FollowUpGateController.d.ts +35 -1
  15. package/dist/modules/execution/FollowUpGateController.d.ts.map +1 -1
  16. package/dist/modules/execution/FollowUpGateController.js +65 -2
  17. package/dist/modules/execution/FollowUpGateController.js.map +1 -1
  18. package/dist/modules/execution/GateStepController.d.ts +2 -1
  19. package/dist/modules/execution/GateStepController.d.ts.map +1 -1
  20. package/dist/modules/execution/GateStepController.js +1 -1
  21. package/dist/modules/execution/GateStepController.js.map +1 -1
  22. package/dist/modules/execution/HumanTestController.d.ts +2 -1
  23. package/dist/modules/execution/HumanTestController.d.ts.map +1 -1
  24. package/dist/modules/execution/HumanTestController.js +2 -1
  25. package/dist/modules/execution/HumanTestController.js.map +1 -1
  26. package/dist/modules/execution/JudgeStepController.d.ts +23 -2
  27. package/dist/modules/execution/JudgeStepController.d.ts.map +1 -1
  28. package/dist/modules/execution/JudgeStepController.js +66 -3
  29. package/dist/modules/execution/JudgeStepController.js.map +1 -1
  30. package/dist/modules/execution/MergeResolver.d.ts +2 -1
  31. package/dist/modules/execution/MergeResolver.d.ts.map +1 -1
  32. package/dist/modules/execution/MergeResolver.js +1 -1
  33. package/dist/modules/execution/MergeResolver.js.map +1 -1
  34. package/dist/modules/execution/ReviewGateController.d.ts +50 -3
  35. package/dist/modules/execution/ReviewGateController.d.ts.map +1 -1
  36. package/dist/modules/execution/ReviewGateController.js +83 -7
  37. package/dist/modules/execution/ReviewGateController.js.map +1 -1
  38. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  39. package/dist/modules/execution/RunDispatcher.js +5 -3
  40. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  41. package/dist/modules/execution/RunDispatcherDependencies.d.ts +5 -2
  42. package/dist/modules/execution/RunDispatcherDependencies.d.ts.map +1 -1
  43. package/dist/modules/execution/RunDispatcherDependencies.js.map +1 -1
  44. package/dist/modules/execution/RunLifecycleController.d.ts +2 -1
  45. package/dist/modules/execution/RunLifecycleController.d.ts.map +1 -1
  46. package/dist/modules/execution/RunLifecycleController.js +4 -1
  47. package/dist/modules/execution/RunLifecycleController.js.map +1 -1
  48. package/dist/modules/execution/RunMergePolicy.d.ts +12 -5
  49. package/dist/modules/execution/RunMergePolicy.d.ts.map +1 -1
  50. package/dist/modules/execution/RunMergePolicy.js +13 -4
  51. package/dist/modules/execution/RunMergePolicy.js.map +1 -1
  52. package/dist/modules/execution/StepDecisionController.d.ts.map +1 -1
  53. package/dist/modules/execution/StepDecisionController.js +3 -1
  54. package/dist/modules/execution/StepDecisionController.js.map +1 -1
  55. package/dist/modules/execution/TesterController.d.ts +2 -1
  56. package/dist/modules/execution/TesterController.d.ts.map +1 -1
  57. package/dist/modules/execution/TesterController.js +1 -1
  58. package/dist/modules/execution/TesterController.js.map +1 -1
  59. package/dist/modules/execution/VisualConfirmationController.d.ts +2 -1
  60. package/dist/modules/execution/VisualConfirmationController.d.ts.map +1 -1
  61. package/dist/modules/execution/VisualConfirmationController.js +2 -1
  62. package/dist/modules/execution/VisualConfirmationController.js.map +1 -1
  63. package/dist/modules/execution/companion-review-context.d.ts +48 -0
  64. package/dist/modules/execution/companion-review-context.d.ts.map +1 -0
  65. package/dist/modules/execution/companion-review-context.js +143 -0
  66. package/dist/modules/execution/companion-review-context.js.map +1 -0
  67. package/dist/modules/execution/gate-window-controllers.d.ts +2 -1
  68. package/dist/modules/execution/gate-window-controllers.d.ts.map +1 -1
  69. package/dist/modules/execution/gate-window-controllers.js.map +1 -1
  70. package/dist/modules/execution/policy-types.d.ts +33 -1
  71. package/dist/modules/execution/policy-types.d.ts.map +1 -1
  72. package/dist/modules/execution/policy-types.js +13 -1
  73. package/dist/modules/execution/policy-types.js.map +1 -1
  74. package/dist/modules/merge/RiskPolicyService.d.ts +1 -1
  75. package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
  76. package/dist/modules/merge/RiskPolicyService.js +29 -3
  77. package/dist/modules/merge/RiskPolicyService.js.map +1 -1
  78. package/dist/modules/merge/riskPolicyResolution.d.ts +8 -1
  79. package/dist/modules/merge/riskPolicyResolution.d.ts.map +1 -1
  80. package/dist/modules/merge/riskPolicyResolution.js +15 -6
  81. package/dist/modules/merge/riskPolicyResolution.js.map +1 -1
  82. package/package.json +11 -11
@@ -0,0 +1,143 @@
1
+ import { companionTargets, isCompanionKind } from '@cat-factory/agents';
2
+ // ---------------------------------------------------------------------------
3
+ // The companion loop's MEMORY, resolved for whichever side of it is about to be dispatched.
4
+ //
5
+ // `step.companion.verdicts` has always accumulated one entry per grading cycle, and nothing ever
6
+ // read it into a prompt. So a companion re-graded a revised document knowing nothing about what it
7
+ // had asked for last time: each round was an independent draw, it spent its attention on a fresh
8
+ // subset of problems, and the rating wandered (72% → 77% → 72% → 78% on a real run) while the work
9
+ // genuinely improved. A rework budget buys nothing under those conditions — the loop is not
10
+ // converging on anything, it is resampling.
11
+ //
12
+ // The state was already there and already survives `resetStepForRerun`; this is the read.
13
+ //
14
+ // It resolves for BOTH sides from the same place, because they are the same fact seen twice: the
15
+ // grader needs its own asks to check them off, and the producer needs the ones from rounds before
16
+ // the current feedback so a fix from round 1 is not quietly undone in round 3.
17
+ // ---------------------------------------------------------------------------
18
+ /** One cycle as the prompt renders it, numbered from the order the verdicts were appended. */
19
+ function toRounds(verdicts) {
20
+ return verdicts.map((verdict, index) => ({
21
+ round: index + 1,
22
+ rating: verdict.rating,
23
+ passed: verdict.passed,
24
+ summary: verdict.feedback,
25
+ ...(verdict.comments?.length
26
+ ? {
27
+ comments: verdict.comments.map((comment) => ({
28
+ ...(comment.quotedSource ? { quotedSource: comment.quotedSource } : {}),
29
+ body: comment.body,
30
+ })),
31
+ }
32
+ : {}),
33
+ }));
34
+ }
35
+ /**
36
+ * The `priorReview` slice for the step at `stepIndex`, or `undefined` when there is no history to
37
+ * show (the first grading of a step, a step no companion reviews, a human "request changes" —
38
+ * one person's review is not a loop with rounds).
39
+ *
40
+ * Two shapes, from one piece of state:
41
+ *
42
+ * - The step IS a companion ⇒ `grader`, carrying EVERY verdict it has given. The current cycle
43
+ * has not been graded yet, so the whole list is genuinely "what I said before".
44
+ * - The step is a companion's PRODUCER ⇒ `producer`, carrying every round EXCEPT the last. That
45
+ * last one is already in `context.revision`, phrased as the work to do now; repeating it here
46
+ * would have the agent read the same asks twice in two different framings.
47
+ *
48
+ * The producer is found by looking at the NEXT step, which is exactly what
49
+ * `assertValidCompanionPlacement` guarantees: a companion must run immediately after a step whose
50
+ * kind it targets, so a companion's producer is its immediate predecessor and vice versa.
51
+ */
52
+ export function priorReviewFor(instance, stepIndex, registry) {
53
+ const step = instance.steps[stepIndex];
54
+ if (!step)
55
+ return undefined;
56
+ if (isCompanionKind(step.agentKind, registry)) {
57
+ const companion = step.companion;
58
+ if (!companion?.verdicts.length)
59
+ return undefined;
60
+ return {
61
+ role: 'grader',
62
+ threshold: companion.threshold,
63
+ roundsRemaining: Math.max(0, companion.maxAttempts - companion.attempts),
64
+ rounds: toRounds(companion.verdicts),
65
+ };
66
+ }
67
+ const next = instance.steps[stepIndex + 1];
68
+ if (!next || !companionTargets(next.agentKind, registry).includes(step.agentKind)) {
69
+ return undefined;
70
+ }
71
+ const companion = next.companion;
72
+ // Nothing to add on the FIRST loop-back: `revision` already carries that single round, and an
73
+ // empty "everything previously raised" section reads as a loop with no history rather than one
74
+ // whose only round is in the paragraph above.
75
+ const earlier = companion?.verdicts.slice(0, -1) ?? [];
76
+ if (!earlier.length)
77
+ return undefined;
78
+ return {
79
+ role: 'producer',
80
+ threshold: companion.threshold,
81
+ roundsRemaining: Math.max(0, companion.maxAttempts - companion.attempts),
82
+ rounds: toRounds(earlier),
83
+ };
84
+ }
85
+ /**
86
+ * The `revision` slice: what a step being RE-RUN with feedback is answering now — a human's
87
+ * "request changes" on its approval gate, or a downstream companion's automatic rework
88
+ * (`step.rework`, which wins when both are present). Empty when neither applies.
89
+ */
90
+ function revisionSlice(step) {
91
+ const source = step.rework
92
+ ? {
93
+ previousProposal: step.rework.previousProposal,
94
+ feedback: step.rework.feedback,
95
+ comments: step.rework.comments,
96
+ }
97
+ : step.approval?.status === 'changes_requested'
98
+ ? {
99
+ previousProposal: step.approval.proposal,
100
+ feedback: step.approval.feedback ?? '',
101
+ comments: step.approval.comments,
102
+ }
103
+ : undefined;
104
+ if (!source)
105
+ return {};
106
+ return {
107
+ revision: {
108
+ previousProposal: source.previousProposal,
109
+ feedback: source.feedback,
110
+ ...(source.comments?.length
111
+ ? {
112
+ comments: source.comments.map((c) => ({
113
+ ...(c.quotedSource ? { quotedSource: c.quotedSource } : {}),
114
+ body: c.body,
115
+ })),
116
+ }
117
+ : {}),
118
+ },
119
+ };
120
+ }
121
+ /**
122
+ * EVERYTHING a re-run of this step is told about the feedback it is answering: the current round
123
+ * ({@link revisionSlice}) and the rounds before it ({@link priorReviewFor}).
124
+ *
125
+ * One call rather than two spreads, because they are one concern seen at two distances and a
126
+ * caller has no reason to take either alone — the current round without its history is exactly the
127
+ * amnesia this exists to fix, and the history without the current round is a step told what to
128
+ * preserve and not what to do.
129
+ *
130
+ * Folded in the CONTEXT BUILDER rather than in either controller, because that is the one place
131
+ * both sides of the loop pass through: an inline companion, a container-backed one, a companion a
132
+ * deployment registered, and the producer being reworked all take their context from
133
+ * `buildContext`. Wired anywhere else, the memory would arrive for some of them and not others,
134
+ * and the one it went missing for would be the one nobody thought to check.
135
+ *
136
+ * Each half is present only when it has something to say, so an absent slice stays absent rather
137
+ * than becoming an empty one (a `priorReview` with no rounds would render a heading over nothing).
138
+ */
139
+ export function buildReworkContext(instance, step, registry) {
140
+ const priorReview = priorReviewFor(instance, instance.currentStep, registry);
141
+ return { ...revisionSlice(step), ...(priorReview ? { priorReview } : {}) };
142
+ }
143
+ //# sourceMappingURL=companion-review-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-review-context.js","sourceRoot":"","sources":["../../../src/modules/execution/companion-review-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEvE,8EAA8E;AAC9E,4FAA4F;AAC5F,EAAE;AACF,iGAAiG;AACjG,mGAAmG;AACnG,iGAAiG;AACjG,mGAAmG;AACnG,4FAA4F;AAC5F,4CAA4C;AAC5C,EAAE;AACF,0FAA0F;AAC1F,EAAE;AACF,iGAAiG;AACjG,kGAAkG;AAClG,+EAA+E;AAC/E,8EAA8E;AAE9E,8FAA8F;AAC9F,SAAS,QAAQ,CACf,QAA4D;IAE5D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACvC,KAAK,EAAE,KAAK,GAAG,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM;YAC1B,CAAC,CAAC;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC3C,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC,CAAA;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA4C,EAC5C,SAAiB,EACjB,QAA4B;IAE5B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAE3B,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QACjD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC;YACxE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;SACrC,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClF,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IAChC,8FAA8F;IAC9F,+FAA+F;IAC/F,8CAA8C;IAC9C,MAAM,OAAO,GAAG,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IACrC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,SAAU,CAAC,SAAS;QAC/B,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAU,CAAC,WAAW,GAAG,SAAU,CAAC,QAAQ,CAAC;QAC1E,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC1B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAkB;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;QACxB,CAAC,CAAC;YACE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC9C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B;QACH,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,mBAAmB;YAC7C,CAAC,CAAC;gBACE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE;gBACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;aACjC;YACH,CAAC,CAAC,SAAS,CAAA;IACf,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACtB,OAAO;QACL,QAAQ,EAAE;YACR,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM;gBACzB,CAAC,CAAC;oBACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3D,IAAI,EAAE,CAAC,CAAC,IAAI;qBACb,CAAC,CAAC;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAiE,EACjE,IAAkB,EAClB,QAA4B;IAE5B,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC5E,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AAC5E,CAAC"}
@@ -15,6 +15,7 @@ import type { AgentExecutor } from '@cat-factory/kernel';
15
15
  import type { AgentContextBuilder } from './AgentContextBuilder.js';
16
16
  import type { Block } from '@cat-factory/contracts';
17
17
  import type { ExecutionServiceDependencies, ResolvedRunRiskPolicy } from './ExecutionService.js';
18
+ import type { RunPolicyScope } from './policy-types.js';
18
19
  import type { RunStateMachine } from './RunStateMachine.js';
19
20
  import type { StepGraph } from './StepGraph.js';
20
21
  import { TesterController } from './TesterController.js';
@@ -45,7 +46,7 @@ export interface GateWindowControllerDeps {
45
46
  clock: Clock;
46
47
  /** The engine clock's `now()`, bound (gate verdicts are stamped with it). */
47
48
  clockNow: () => number;
48
- resolveRiskPolicy: (workspaceId: string, block: Block) => Promise<ResolvedRunRiskPolicy>;
49
+ resolveRiskPolicy: (workspaceId: string, block: Block, run: RunPolicyScope) => Promise<ResolvedRunRiskPolicy>;
49
50
  dispatchIterationCap: ReviewGateControllerDeps['dispatchIterationCap'];
50
51
  notificationService: ExecutionServiceDependencies['notificationService'];
51
52
  testerQualityReviewer: ExecutionServiceDependencies['testerQualityReviewer'];
@@ -1 +1 @@
1
- {"version":3,"file":"gate-window-controllers.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-window-controllers.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate-window-controllers.js","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-window-controllers.js","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
- import type { ClassRulesByRole, MergeClassRules, RequirementConcernLevel, StepGating, SubmissionClassesByRole, WorkspaceRole } from '@cat-factory/kernel';
1
+ import type { ExecutionInstance, ClassRulesByRole, MergeClassRules, RequirementConcernLevel, RunAutonomy, StepGating, SubmissionClassesByRole, WorkspaceRole } from '@cat-factory/kernel';
2
+ /**
3
+ * What policy resolution needs to know about the RUN, as opposed to the task: which of the
4
+ * workspace's two defaults applies when the task pinned no policy of its own.
5
+ *
6
+ * A structural `Pick` rather than the whole instance, so a caller holding only the run's
7
+ * provenance can satisfy it, and so a call site that has not threaded the run through fails to
8
+ * compile naming the one field that matters. It lives here, beside the resolved policy, for the
9
+ * reason the resolved policy does: every gate window has to name it and none of them may import
10
+ * the engine.
11
+ */
12
+ export type RunPolicyScope = Pick<ExecutionInstance, 'intakeOrigin'>;
2
13
  /**
3
14
  * The effective risk/merge policy for one run, as {@link RunMergePolicy.resolve} resolves it
4
15
  * (the block's selected preset, else the workspace default, else the built-in
@@ -31,6 +42,16 @@ export interface ResolvedRunRiskPolicy {
31
42
  judgeMinScore: number;
32
43
  judgeMaxBounces: number;
33
44
  autoMergeEnabled: boolean;
45
+ /**
46
+ * Whether this run answers the parks its own AUTOMATIC loops raise when they give up (a
47
+ * companion at its rework cap, an iterative review at its pass cap, untriaged Coder follow-ups),
48
+ * or stops for a person. Never touches a gate a pipeline asked for.
49
+ *
50
+ * Optional here alone: the field is required on a stored policy, and a hand-built subset in a
51
+ * test that gates on nothing else should not have to state a posture it never reads. Absent is
52
+ * read as `attended` everywhere, which is the historical behaviour.
53
+ */
54
+ autonomy?: RunAutonomy;
34
55
  forkDecision?: StepGating | null;
35
56
  /**
36
57
  * Per-change-class auto-merge rules. Absent on the built-in fallback ⇒ every class uses the
@@ -58,4 +79,15 @@ export interface ResolvedRunRiskPolicy {
58
79
  */
59
80
  submissionClassesByRole?: SubmissionClassesByRole;
60
81
  }
82
+ /**
83
+ * Whether this policy lets a run ANSWER the parks its own automatic loops raise, rather than
84
+ * stopping for a person who may not be there.
85
+ *
86
+ * Stated once, and as `=== 'unattended'` rather than `!== 'attended'`, because the vocabulary is
87
+ * closed and PERSISTED: a row written under a member later retired reads back as neither, and the
88
+ * two spellings disagree about it in the one direction that matters. Not knowing what a policy
89
+ * says is not a licence to proceed unattended, so an unrecognised value parks like every policy
90
+ * did before this existed.
91
+ */
92
+ export declare function resolvesOwnCaps(policy: Pick<ResolvedRunRiskPolicy, 'autonomy'>): boolean;
61
93
  //# sourceMappingURL=policy-types.d.ts.map
@@ -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;;;;;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"}
1
+ {"version":3,"file":"policy-types.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA;AAEpE;;;;;;;;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;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,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;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,GAAG,OAAO,CAExF"}
@@ -1,2 +1,14 @@
1
- export {};
1
+ /**
2
+ * Whether this policy lets a run ANSWER the parks its own automatic loops raise, rather than
3
+ * stopping for a person who may not be there.
4
+ *
5
+ * Stated once, and as `=== 'unattended'` rather than `!== 'attended'`, because the vocabulary is
6
+ * closed and PERSISTED: a row written under a member later retired reads back as neither, and the
7
+ * two spellings disagree about it in the one direction that matters. Not knowing what a policy
8
+ * says is not a licence to proceed unattended, so an unrecognised value parks like every policy
9
+ * did before this existed.
10
+ */
11
+ export function resolvesOwnCaps(policy) {
12
+ return policy.autonomy === 'unattended';
13
+ }
2
14
  //# sourceMappingURL=policy-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy-types.js","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"policy-types.js","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":"AA6FA;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+C;IAC7E,OAAO,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAA;AACzC,CAAC"}
@@ -39,7 +39,7 @@ export declare class RiskPolicyService {
39
39
  create(workspaceId: string, input: CreateRiskPolicyInput): Promise<RiskPolicy>;
40
40
  /** Patch a preset. Demoting the only default is rejected (one must remain). */
41
41
  update(workspaceId: string, id: string, patch: UpdateRiskPolicyInput): Promise<RiskPolicy>;
42
- /** Remove a preset. The default preset cannot be removed. */
42
+ /** Remove a preset. Neither scope's default preset can be removed. */
43
43
  remove(workspaceId: string, id: string): Promise<void>;
44
44
  /**
45
45
  * Restore a built-in preset to its current catalog definition ({@link seedRiskPolicies}).
@@ -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;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
+ {"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,CAoCnF;IAED,+EAA+E;IACzE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+D/F;IAED,sEAAsE;IAChE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3D;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA8BjE;IAED;;;;;;;;;;;;;OAaG;YACW,YAAY;CAU3B"}
@@ -60,8 +60,13 @@ export class RiskPolicyService {
60
60
  classRulesByRole: input.classRulesByRole,
61
61
  dryRunRoles: input.dryRunRoles,
62
62
  submissionClassesByRole: input.submissionClassesByRole,
63
- // The very first preset must be the default; otherwise honour the request.
63
+ autonomy: input.autonomy,
64
+ // The very first preset must be BOTH defaults; otherwise honour the request. A workspace
65
+ // with exactly one policy has no other row either scope could resolve, and a scope with no
66
+ // default falls through to `FALLBACK_RISK_POLICY`, which merges nothing: the empty-library
67
+ // case must not leave a workspace unable to land anything through one of its two doors.
64
68
  isDefault: existing.length === 0 ? true : input.isDefault,
69
+ isUnattendedDefault: existing.length === 0 ? true : input.isUnattendedDefault,
65
70
  createdAt: this.clock.now(),
66
71
  };
67
72
  await this.presets.upsert(workspaceId, preset);
@@ -75,6 +80,12 @@ export class RiskPolicyService {
75
80
  if (existing.isDefault && patch.isDefault === false) {
76
81
  throw new ConflictError('Cannot unset the default preset; promote another preset instead.');
77
82
  }
83
+ // The same rule for the second scope, and it needs its own check rather than sharing the one
84
+ // above: a scope left with no default resolves `FALLBACK_RISK_POLICY`, which auto-merges
85
+ // nothing, so demoting the unattended default silently stops every API-started task landing.
86
+ if (existing.isUnattendedDefault && patch.isUnattendedDefault === false) {
87
+ throw new ConflictError('Cannot unset the unattended default preset; promote another preset instead.');
88
+ }
78
89
  const updated = {
79
90
  ...existing,
80
91
  ...(patch.name !== undefined ? { name: patch.name } : {}),
@@ -115,19 +126,26 @@ export class RiskPolicyService {
115
126
  ...(patch.submissionClassesByRole !== undefined
116
127
  ? { submissionClassesByRole: patch.submissionClassesByRole }
117
128
  : {}),
129
+ ...(patch.autonomy !== undefined ? { autonomy: patch.autonomy } : {}),
118
130
  ...(patch.isDefault !== undefined ? { isDefault: patch.isDefault } : {}),
131
+ ...(patch.isUnattendedDefault !== undefined
132
+ ? { isUnattendedDefault: patch.isUnattendedDefault }
133
+ : {}),
119
134
  };
120
135
  await this.presets.upsert(workspaceId, updated);
121
136
  await this.invalidate(workspaceId);
122
137
  return updated;
123
138
  }
124
- /** Remove a preset. The default preset cannot be removed. */
139
+ /** Remove a preset. Neither scope's default preset can be removed. */
125
140
  async remove(workspaceId, id) {
126
141
  await requireWorkspace(this.workspaceRepository, workspaceId);
127
142
  const existing = await this.presets.get(workspaceId, id);
128
143
  if (existing?.isDefault) {
129
144
  throw new ConflictError('Cannot delete the default preset; promote another preset first.');
130
145
  }
146
+ if (existing?.isUnattendedDefault) {
147
+ throw new ConflictError('Cannot delete the unattended default preset; promote another preset first.');
148
+ }
131
149
  await this.presets.remove(workspaceId, id);
132
150
  await this.invalidate(workspaceId);
133
151
  }
@@ -155,10 +173,18 @@ export class RiskPolicyService {
155
173
  // otherwise the seed's `isDefault` would silently demote the user's chosen default.
156
174
  const isDefault = existing
157
175
  ? existing.isDefault
158
- : seed.isDefault && (await this.presets.getDefault(workspaceId)) === null;
176
+ : seed.isDefault && (await this.presets.getDefault(workspaceId, 'interactive')) === null;
177
+ // The same rule per scope, asked separately: a workspace can have an in-app default and no
178
+ // unattended one (its library predates the unattended scope), and re-materialising
179
+ // `mp_unattended` there SHOULD claim the empty scope while still not touching the other.
180
+ const isUnattendedDefault = existing
181
+ ? existing.isUnattendedDefault
182
+ : seed.isUnattendedDefault &&
183
+ (await this.presets.getDefault(workspaceId, 'unattended')) === null;
159
184
  const preset = {
160
185
  ...riskPolicyFromSeed(seed, existing?.createdAt ?? this.clock.now()),
161
186
  isDefault,
187
+ isUnattendedDefault,
162
188
  };
163
189
  await this.presets.upsert(workspaceId, preset);
164
190
  await this.invalidate(workspaceId);
@@ -1 +1 @@
1
- {"version":3,"file":"RiskPolicyService.js","sourceRoot":"","sources":["../../../src/modules/merge/RiskPolicyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RiskPolicyService.js","sourceRoot":"","sources":["../../../src/modules/merge/RiskPolicyService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GroupCacheHandle, RiskPolicy, RiskPolicyCacheValue } from '@cat-factory/kernel';
1
+ import type { GroupCacheHandle, RiskPolicy, RiskPolicyCacheValue, RiskPolicyDefaultScope } from '@cat-factory/kernel';
2
2
  import type { RiskPolicyRepository } from '@cat-factory/kernel';
3
3
  import type { ResolvedRunRiskPolicy } from '../execution/policy-types.js';
4
4
  /**
@@ -14,6 +14,7 @@ export type RiskPolicyTarget = {
14
14
  id: string;
15
15
  } | {
16
16
  kind: 'default';
17
+ scope: RiskPolicyDefaultScope;
17
18
  };
18
19
  /** Reads one preset row, possibly through a cache slice or a preloaded library. */
19
20
  export type RiskPolicyRead = (target: RiskPolicyTarget, load: () => Promise<RiskPolicy | null>) => Promise<RiskPolicy | null>;
@@ -55,6 +56,12 @@ export declare function resolveRiskPolicy(input: {
55
56
  repository: RiskPolicyRepository | undefined;
56
57
  workspaceId: string;
57
58
  riskPolicyId: string | null | undefined;
59
+ /**
60
+ * WHICH default a task that pinned nothing falls back to. Required, because the two scopes are
61
+ * different rows with different postures and a caller that has not decided which kind of run it
62
+ * is resolving for has not finished asking the question.
63
+ */
64
+ scope: RiskPolicyDefaultScope;
58
65
  read?: RiskPolicyRead;
59
66
  }): Promise<ResolvedRunRiskPolicy>;
60
67
  //# sourceMappingURL=riskPolicyResolution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"riskPolicyResolution.d.ts","sourceRoot":"","sources":["../../../src/modules/merge/riskPolicyResolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAkBzE;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEnF,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KACnC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;AAE/B,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,EAAE,cAA0C,CAAA;AAO7E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,SAAS,EACzD,WAAW,EAAE,MAAM,GAClB,cAAc,CAKhB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,cAAc,CAKtF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACvC,IAAI,CAAC,EAAE,cAAc,CAAA;CACtB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAcjC"}
1
+ {"version":3,"file":"riskPolicyResolution.d.ts","sourceRoot":"","sources":["../../../src/modules/merge/riskPolicyResolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAkBzE;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAAE,CAAA;AAEtD,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KACnC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;AAE/B,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,EAAE,cAA0C,CAAA;AAa7E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,SAAS,EACzD,WAAW,EAAE,MAAM,GAClB,cAAc,CAKhB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,cAAc,CAUtF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACvC;;;;OAIG;IACH,KAAK,EAAE,sBAAsB,CAAA;IAC7B,IAAI,CAAC,EAAE,cAAc,CAAA;CACtB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAcjC"}
@@ -1,9 +1,15 @@
1
1
  import { FALLBACK_RISK_POLICY } from '@cat-factory/kernel';
2
2
  /** Read straight from the repository, for the paths with no cache slice wired to read through. */
3
3
  export const directRiskPolicyRead = (_target, load) => load();
4
- /** The cache key one target resolves under; the ONE place that spelling lives. */
4
+ /**
5
+ * The cache key one target resolves under; the ONE place that spelling lives.
6
+ *
7
+ * The scope is part of the DEFAULT key because a workspace has two of them and they are different
8
+ * rows: sharing one `default` key would serve whichever scope asked first to the other, which is
9
+ * silent and intermittent (it depends on which kind of run reached the cache first).
10
+ */
5
11
  function cacheKeyOf(target) {
6
- return target.kind === 'picked' ? `picked:${target.id}` : 'default';
12
+ return target.kind === 'picked' ? `picked:${target.id}` : `default:${target.scope}`;
7
13
  }
8
14
  /**
9
15
  * Read through the `AppCaches.riskPolicy` slice, grouped by workspace (one preset write drops the
@@ -32,8 +38,11 @@ export function cachedRiskPolicyRead(cache, workspaceId) {
32
38
  */
33
39
  export function preloadedRiskPolicyRead(library) {
34
40
  const byId = new Map(library.map((preset) => [preset.id, preset]));
35
- const workspaceDefault = library.find((preset) => preset.isDefault) ?? null;
36
- return (target) => Promise.resolve(target.kind === 'picked' ? (byId.get(target.id) ?? null) : workspaceDefault);
41
+ const defaults = {
42
+ interactive: library.find((preset) => preset.isDefault) ?? null,
43
+ unattended: library.find((preset) => preset.isUnattendedDefault) ?? null,
44
+ };
45
+ return (target) => Promise.resolve(target.kind === 'picked' ? (byId.get(target.id) ?? null) : defaults[target.scope]);
37
46
  }
38
47
  /**
39
48
  * Resolve the preset governing `riskPolicyId` in a workspace.
@@ -47,7 +56,7 @@ export function preloadedRiskPolicyRead(library) {
47
56
  * the fallback is a deployment-level fact rather than a question of who had read what first.
48
57
  */
49
58
  export async function resolveRiskPolicy(input) {
50
- const { repository, workspaceId, riskPolicyId } = input;
59
+ const { repository, workspaceId, riskPolicyId, scope } = input;
51
60
  if (!repository)
52
61
  return FALLBACK_RISK_POLICY;
53
62
  const read = input.read ?? directRiskPolicyRead;
@@ -56,7 +65,7 @@ export async function resolveRiskPolicy(input) {
56
65
  if (picked)
57
66
  return picked;
58
67
  }
59
- return ((await read({ kind: 'default' }, () => repository.getDefault(workspaceId))) ??
68
+ return ((await read({ kind: 'default', scope }, () => repository.getDefault(workspaceId, scope))) ??
60
69
  FALLBACK_RISK_POLICY);
61
70
  }
62
71
  //# sourceMappingURL=riskPolicyResolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"riskPolicyResolution.js","sourceRoot":"","sources":["../../../src/modules/merge/riskPolicyResolution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAmC1D,kGAAkG;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;AAE7E,kFAAkF;AAClF,SAAS,UAAU,CAAC,MAAwB;IAC1C,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAyD,EACzD,WAAmB;IAEnB,IAAI,CAAC,KAAK;QAAE,OAAO,oBAAoB,CAAA;IACvC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SACvF,MAAM,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA8B;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;IAC3E,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAChG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAKvC;IACC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,oBAAoB,CAAA;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,oBAAoB,CAAA;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CACnE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAC1C,CAAA;QACD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;IAC3B,CAAC;IACD,OAAO,CACL,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3E,oBAAoB,CACrB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"riskPolicyResolution.js","sourceRoot":"","sources":["../../../src/modules/merge/riskPolicyResolution.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAqC1D,kGAAkG;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;AAE7E;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,MAAwB;IAC1C,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAA;AACrF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAyD,EACzD,WAAmB;IAEnB,IAAI,CAAC,KAAK;QAAE,OAAO,oBAAoB,CAAA;IACvC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC5B,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SACvF,MAAM,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA8B;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAsD;QAClE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI;QAC/D,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,IAAI;KACzE,CAAA;IACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,OAAO,CAAC,OAAO,CACb,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAClF,CAAA;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAWvC;IACC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,oBAAoB,CAAA;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,oBAAoB,CAAA;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CACnE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAC1C,CAAA;QACD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;IAC3B,CAAC;IACD,OAAO,CACL,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACzF,oBAAoB,CACrB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/orchestration",
3
- "version": "0.262.0",
3
+ "version": "0.263.0",
4
4
  "description": "Delivery-workflow engine for the Agent Architecture Board (execution, bootstrap, pipelines, board, boardScan, requirements, and composition root).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,20 +25,20 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "ai": "^7.0.58",
28
- "@cat-factory/agents": "0.126.5",
29
- "@cat-factory/caching": "0.20.5",
30
- "@cat-factory/contracts": "0.300.0",
31
- "@cat-factory/kernel": "0.291.0",
32
- "@cat-factory/integrations": "0.160.3",
33
- "@cat-factory/prompt-fragments": "1.0.60",
34
- "@cat-factory/sandbox": "0.11.137",
35
- "@cat-factory/spend": "0.15.78",
36
- "@cat-factory/workspaces": "0.27.22"
28
+ "@cat-factory/agents": "0.126.6",
29
+ "@cat-factory/caching": "0.20.6",
30
+ "@cat-factory/integrations": "0.160.4",
31
+ "@cat-factory/contracts": "0.301.0",
32
+ "@cat-factory/kernel": "0.292.0",
33
+ "@cat-factory/prompt-fragments": "1.0.61",
34
+ "@cat-factory/sandbox": "0.11.138",
35
+ "@cat-factory/spend": "0.15.79",
36
+ "@cat-factory/workspaces": "0.27.23"
37
37
  },
38
38
  "devDependencies": {
39
39
  "typescript": "7.0.2",
40
40
  "vitest": "^4.1.10",
41
- "@cat-factory/sandbox-fixtures": "0.7.341"
41
+ "@cat-factory/sandbox-fixtures": "0.7.342"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsc -b tsconfig.build.json",