@cat-factory/orchestration 0.209.0 → 0.211.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.
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +13 -1
- package/dist/container/modules.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/board/BoardService.d.ts +36 -7
- package/dist/modules/board/BoardService.d.ts.map +1 -1
- package/dist/modules/board/BoardService.js +47 -7
- package/dist/modules/board/BoardService.js.map +1 -1
- package/dist/modules/board/publicBoardReads.d.ts +8 -3
- package/dist/modules/board/publicBoardReads.d.ts.map +1 -1
- package/dist/modules/board/publicBoardReads.js +7 -2
- package/dist/modules/board/publicBoardReads.js.map +1 -1
- package/dist/modules/board/riskPolicySelectionGuard.d.ts +34 -0
- package/dist/modules/board/riskPolicySelectionGuard.d.ts.map +1 -0
- package/dist/modules/board/riskPolicySelectionGuard.js +42 -0
- package/dist/modules/board/riskPolicySelectionGuard.js.map +1 -0
- package/dist/modules/boardScan/BoardScanService.d.ts.map +1 -1
- package/dist/modules/boardScan/BoardScanService.js +7 -13
- package/dist/modules/boardScan/BoardScanService.js.map +1 -1
- package/dist/modules/execution/DocInterviewController.d.ts.map +1 -1
- package/dist/modules/execution/DocInterviewController.js +14 -0
- package/dist/modules/execution/DocInterviewController.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +25 -0
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +29 -4
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/InitiativeInterviewController.d.ts.map +1 -1
- package/dist/modules/execution/InitiativeInterviewController.js +27 -0
- package/dist/modules/execution/InitiativeInterviewController.js.map +1 -1
- package/dist/modules/execution/InterviewGateController.d.ts +66 -1
- package/dist/modules/execution/InterviewGateController.d.ts.map +1 -1
- package/dist/modules/execution/InterviewGateController.js +11 -6
- package/dist/modules/execution/InterviewGateController.js.map +1 -1
- package/dist/modules/execution/MergeResolver.d.ts +8 -1
- package/dist/modules/execution/MergeResolver.d.ts.map +1 -1
- package/dist/modules/execution/MergeResolver.js +102 -58
- package/dist/modules/execution/MergeResolver.js.map +1 -1
- package/dist/modules/execution/RunMergePolicy.d.ts +23 -3
- package/dist/modules/execution/RunMergePolicy.d.ts.map +1 -1
- package/dist/modules/execution/RunMergePolicy.js +34 -26
- package/dist/modules/execution/RunMergePolicy.js.map +1 -1
- package/dist/modules/execution/StepDecisionController.d.ts +35 -4
- package/dist/modules/execution/StepDecisionController.d.ts.map +1 -1
- package/dist/modules/execution/StepDecisionController.js +57 -10
- package/dist/modules/execution/StepDecisionController.js.map +1 -1
- package/dist/modules/execution/followUp.logic.d.ts +19 -0
- package/dist/modules/execution/followUp.logic.d.ts.map +1 -1
- package/dist/modules/execution/followUp.logic.js +20 -1
- package/dist/modules/execution/followUp.logic.js.map +1 -1
- package/dist/modules/execution/policy-types.d.ts +8 -1
- package/dist/modules/execution/policy-types.d.ts.map +1 -1
- package/dist/modules/execution/step-park.logic.d.ts +24 -0
- package/dist/modules/execution/step-park.logic.d.ts.map +1 -1
- package/dist/modules/execution/step-park.logic.js +26 -0
- package/dist/modules/execution/step-park.logic.js.map +1 -1
- package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyService.js +12 -2
- package/dist/modules/merge/RiskPolicyService.js.map +1 -1
- package/dist/modules/merge/riskPolicyResolution.d.ts +28 -0
- package/dist/modules/merge/riskPolicyResolution.d.ts.map +1 -0
- package/dist/modules/merge/riskPolicyResolution.js +34 -0
- package/dist/modules/merge/riskPolicyResolution.js.map +1 -0
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MergeResolver.js","sourceRoot":"","sources":["../../../src/modules/execution/MergeResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MergeResolver.js","sourceRoot":"","sources":["../../../src/modules/execution/MergeResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { Block, GroupCacheHandle, ReviewEffort, RiskPolicyCacheValue, RiskPolicyRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { Block, ChangeClass, GroupCacheHandle, ReviewEffort, RiskPolicyCacheValue, RiskPolicyRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { MergeTrackRecordService } from '../merge/MergeTrackRecordService.js';
|
|
3
3
|
import type { ResolvedRunRiskPolicy } from './policy-types.js';
|
|
4
4
|
/** The collaborators the merge-policy layer needs; nothing else on the engine. */
|
|
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
|
|
8
|
+
* rules, and the CI-fixer attempt budget). Absent → the built-in `DEFAULT_RISK_POLICY`.
|
|
9
9
|
*/
|
|
10
10
|
riskPolicyRepository?: RiskPolicyRepository;
|
|
11
11
|
/**
|
|
@@ -39,10 +39,30 @@ export declare class RunMergePolicy {
|
|
|
39
39
|
constructor(deps: RunMergePolicyDeps);
|
|
40
40
|
/**
|
|
41
41
|
* Resolve the merge threshold preset that governs a task: its explicitly-picked preset, else
|
|
42
|
-
* the workspace default, else the built-in
|
|
42
|
+
* the workspace default, else the built-in `DEFAULT_RISK_POLICY`. Returns the thresholds
|
|
43
43
|
* the engine compares against, the per-class rules, and the CI attempt budget.
|
|
44
|
+
*
|
|
45
|
+
* Reads through the `riskPolicy` cache slice when wired: the row is slow-moving admin config
|
|
46
|
+
* re-read on every gate evaluation. The resolution itself is shared with the board's preset
|
|
47
|
+
* SELECTION guard (`resolveRiskPolicy`), so the policy a swap is judged against is the same one
|
|
48
|
+
* this will apply when the run settles.
|
|
44
49
|
*/
|
|
45
50
|
resolve(workspaceId: string, block: Block): Promise<ResolvedRunRiskPolicy>;
|
|
51
|
+
/**
|
|
52
|
+
* The DETERMINISTIC change class of a block's open pull request, for a policy decision that
|
|
53
|
+
* needs it outside the merger step (the manual-merge guard).
|
|
54
|
+
*
|
|
55
|
+
* One VCS call, and `unknown` whenever the class cannot be established: no repository wired,
|
|
56
|
+
* no PR number, a provider outage. That degradation is the whole reason this is worth a named
|
|
57
|
+
* method rather than an inline `?.classify(...)`: every consumer of a class MUST treat
|
|
58
|
+
* `unknown` as inert, and a call site that reached for the classification directly would be
|
|
59
|
+
* one `??` away from reading an outage as a policy verdict.
|
|
60
|
+
*
|
|
61
|
+
* Deliberately re-classifies rather than reading the class back off the recorded merge
|
|
62
|
+
* decision: a decision row is not guaranteed to exist on every path that reaches the merge
|
|
63
|
+
* route (a pipeline with no `merger` step raises `pipeline_complete` and records nothing).
|
|
64
|
+
*/
|
|
65
|
+
classifyChangeClass(workspaceId: string, block: Block): Promise<ChangeClass>;
|
|
46
66
|
/**
|
|
47
67
|
* Settle the block's latest merge track record as `human_merged`, tagging the reviewer effort
|
|
48
68
|
* when one was supplied. Resolved by BLOCK (not by run) because the merge controls that reach
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunMergePolicy.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cachedRiskPolicyRead, resolveRiskPolicy } from '../merge/riskPolicyResolution.js';
|
|
2
2
|
/**
|
|
3
3
|
* The task's effective MERGE POLICY plus the EVIDENCE behind it, extracted out of
|
|
4
4
|
* `ExecutionService` as a cohesive collaborator (the `RunDispatcher` controller extractions are
|
|
@@ -20,34 +20,42 @@ 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
|
|
23
|
+
* the workspace default, else the built-in `DEFAULT_RISK_POLICY`. Returns the thresholds
|
|
24
24
|
* the engine compares against, the per-class rules, and the CI attempt budget.
|
|
25
|
+
*
|
|
26
|
+
* Reads through the `riskPolicy` cache slice when wired: the row is slow-moving admin config
|
|
27
|
+
* re-read on every gate evaluation. The resolution itself is shared with the board's preset
|
|
28
|
+
* SELECTION guard (`resolveRiskPolicy`), so the policy a swap is judged against is the same one
|
|
29
|
+
* this will apply when the run settles.
|
|
25
30
|
*/
|
|
26
31
|
async resolve(workspaceId, block) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
return resolveRiskPolicy({
|
|
33
|
+
repository: this.deps.riskPolicyRepository,
|
|
34
|
+
workspaceId,
|
|
35
|
+
riskPolicyId: block.riskPolicyId,
|
|
36
|
+
read: cachedRiskPolicyRead(this.deps.riskPolicyCache, workspaceId),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The DETERMINISTIC change class of a block's open pull request, for a policy decision that
|
|
41
|
+
* needs it outside the merger step (the manual-merge guard).
|
|
42
|
+
*
|
|
43
|
+
* One VCS call, and `unknown` whenever the class cannot be established: no repository wired,
|
|
44
|
+
* no PR number, a provider outage. That degradation is the whole reason this is worth a named
|
|
45
|
+
* method rather than an inline `?.classify(...)`: every consumer of a class MUST treat
|
|
46
|
+
* `unknown` as inert, and a call site that reached for the classification directly would be
|
|
47
|
+
* one `??` away from reading an outage as a policy verdict.
|
|
48
|
+
*
|
|
49
|
+
* Deliberately re-classifies rather than reading the class back off the recorded merge
|
|
50
|
+
* decision: a decision row is not guaranteed to exist on every path that reaches the merge
|
|
51
|
+
* route (a pipeline with no `merger` step raises `pipeline_complete` and records nothing).
|
|
52
|
+
*/
|
|
53
|
+
async classifyChangeClass(workspaceId, block) {
|
|
54
|
+
const svc = this.deps.mergeTrackRecord;
|
|
55
|
+
if (!svc)
|
|
56
|
+
return 'unknown';
|
|
57
|
+
// `classify` is best-effort by construction and already degrades to `unknown` on any fault.
|
|
58
|
+
return (await svc.classify(workspaceId, block)).changeClass;
|
|
51
59
|
}
|
|
52
60
|
/**
|
|
53
61
|
* Settle the block's latest merge track record as `human_merged`, tagging the reviewer effort
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunMergePolicy.js","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -116,12 +116,23 @@ export declare class StepDecisionController {
|
|
|
116
116
|
* downstream breaks. The record settle runs AFTER the merge and is best-effort inside the
|
|
117
117
|
* service, so no part of this feature can fail or block a merge.
|
|
118
118
|
*
|
|
119
|
-
* A DRY RUN's PR is refused here
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
119
|
+
* A DRY RUN's PR is refused here, and so is one whose initiator's role may not land this class
|
|
120
|
+
* of change. Without those the two policies are decorative: `MergeResolver` declining to
|
|
121
|
+
* auto-merge only to leave a `merge_review` card whose own action lands the change would let a
|
|
122
|
+
* run that was never authorised to merge do exactly that, one tap later and through the surface
|
|
123
|
+
* the policy exists to guard.
|
|
123
124
|
*/
|
|
124
125
|
mergePr(workspaceId: string, blockId: string, reviewEffort?: ReviewEffort | null): Promise<Block>;
|
|
126
|
+
/**
|
|
127
|
+
* The two policies that refuse the PLATFORM merge path outright, checked in the same order
|
|
128
|
+
* `MergeResolver` applies them so the manual exit and the automatic one can never disagree
|
|
129
|
+
* about which one held a PR back.
|
|
130
|
+
*
|
|
131
|
+
* The run is loaded ONCE and handed to both. Both read state off the run that opened this PR
|
|
132
|
+
* (its mode, and the tier it was admitted under), and re-reading it per guard would be a second
|
|
133
|
+
* point-read of the same row for no second fact.
|
|
134
|
+
*/
|
|
135
|
+
private assertPlatformMayMerge;
|
|
125
136
|
/**
|
|
126
137
|
* Refuse the platform merge path for a PR a DRY RUN produced.
|
|
127
138
|
*
|
|
@@ -137,6 +148,26 @@ export declare class StepDecisionController {
|
|
|
137
148
|
* this mode guarantees is that the PLATFORM will not do it on a sandboxed run's behalf.
|
|
138
149
|
*/
|
|
139
150
|
private assertNotDryRun;
|
|
151
|
+
/**
|
|
152
|
+
* Refuse the platform merge path when the run's initiator holds a role whose merge preset
|
|
153
|
+
* allowlists which change classes it may land, and this PR's class is outside that list.
|
|
154
|
+
*
|
|
155
|
+
* The sibling of {@link assertNotDryRun}, and the reason this policy is more than a `never`
|
|
156
|
+
* class rule: a rule routes to a human, but the human it routes to may be the initiator, so
|
|
157
|
+
* without this exit a scoped role would land exactly what the allowlist withholds, one tap
|
|
158
|
+
* later, from the card their own run raised.
|
|
159
|
+
*
|
|
160
|
+
* The class is only knowable at merge time, so the order below is load-bearing: the allowlist
|
|
161
|
+
* is read first and the classification (one VCS call) is paid for ONLY when a scoped role is
|
|
162
|
+
* actually on the other side of it. An unattributed run and an unscoped role therefore cost
|
|
163
|
+
* this guard a preset read and nothing else.
|
|
164
|
+
*
|
|
165
|
+
* The refusal deliberately does NOT claim the change cannot land: the PR is real, a teammate
|
|
166
|
+
* whose role may land this class can merge it from here, and someone with write access on the
|
|
167
|
+
* host can always merge it there. Unlike the sandbox, re-running the task changes nothing (the
|
|
168
|
+
* same role would produce the same refusal), so the copy must not suggest it.
|
|
169
|
+
*/
|
|
170
|
+
private assertSubmissionAllowed;
|
|
140
171
|
/**
|
|
141
172
|
* Record that a human DECLINED to merge — they dismissed the review card rather than acting on
|
|
142
173
|
* it, so the class's rollup counts a rejection instead of a forever-`pending_review` row.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDecisionController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/StepDecisionController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,eAAe,EACpB,KAAK,KAAK,EAEV,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EAExB,KAAK,SAAS,EAId,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAqC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"StepDecisionController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/StepDecisionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConflictError, ForbiddenError, NotFoundError, ValidationError, assertFound, } from '@cat-factory/kernel';
|
|
2
2
|
import { companionTargets, isCompanionKind } from '@cat-factory/agents';
|
|
3
3
|
import { foldGateApproval, isAsyncAgentExecutor, refuseGateResolution } from '@cat-factory/kernel';
|
|
4
|
-
import { isDryRun } from '@cat-factory/contracts';
|
|
4
|
+
import { isDryRun, submissionAllowedForRole, submissionAllowlistForRole, } from '@cat-factory/contracts';
|
|
5
5
|
import { HUMAN_REVIEW_AGENT_KIND } from './ci.logic.js';
|
|
6
6
|
import { dedicatedParkSurface } from './step-park.logic.js';
|
|
7
7
|
/**
|
|
@@ -405,10 +405,11 @@ export class StepDecisionController {
|
|
|
405
405
|
* downstream breaks. The record settle runs AFTER the merge and is best-effort inside the
|
|
406
406
|
* service, so no part of this feature can fail or block a merge.
|
|
407
407
|
*
|
|
408
|
-
* A DRY RUN's PR is refused here
|
|
409
|
-
*
|
|
410
|
-
*
|
|
411
|
-
*
|
|
408
|
+
* A DRY RUN's PR is refused here, and so is one whose initiator's role may not land this class
|
|
409
|
+
* of change. Without those the two policies are decorative: `MergeResolver` declining to
|
|
410
|
+
* auto-merge only to leave a `merge_review` card whose own action lands the change would let a
|
|
411
|
+
* run that was never authorised to merge do exactly that, one tap later and through the surface
|
|
412
|
+
* the policy exists to guard.
|
|
412
413
|
*/
|
|
413
414
|
async mergePr(workspaceId, blockId, reviewEffort) {
|
|
414
415
|
await this.deps.requireWorkspace(workspaceId);
|
|
@@ -416,11 +417,27 @@ export class StepDecisionController {
|
|
|
416
417
|
if (block.status !== 'pr_ready') {
|
|
417
418
|
throw new ConflictError(`Block '${blockId}' has no PR awaiting merge`, 'no_pr_to_merge');
|
|
418
419
|
}
|
|
419
|
-
await this.
|
|
420
|
+
await this.assertPlatformMayMerge(workspaceId, block);
|
|
420
421
|
await this.deps.finalizeMerge(workspaceId, blockId);
|
|
421
422
|
await this.deps.mergePolicy.recordHumanMerge(workspaceId, blockId, reviewEffort);
|
|
422
423
|
return this.deps.requireBlock(workspaceId, blockId);
|
|
423
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* The two policies that refuse the PLATFORM merge path outright, checked in the same order
|
|
427
|
+
* `MergeResolver` applies them so the manual exit and the automatic one can never disagree
|
|
428
|
+
* about which one held a PR back.
|
|
429
|
+
*
|
|
430
|
+
* The run is loaded ONCE and handed to both. Both read state off the run that opened this PR
|
|
431
|
+
* (its mode, and the tier it was admitted under), and re-reading it per guard would be a second
|
|
432
|
+
* point-read of the same row for no second fact.
|
|
433
|
+
*/
|
|
434
|
+
async assertPlatformMayMerge(workspaceId, block) {
|
|
435
|
+
const instance = block.executionId
|
|
436
|
+
? await this.deps.executionRepository.get(workspaceId, block.executionId)
|
|
437
|
+
: null;
|
|
438
|
+
this.assertNotDryRun(block, instance);
|
|
439
|
+
await this.assertSubmissionAllowed(workspaceId, block, instance);
|
|
440
|
+
}
|
|
424
441
|
/**
|
|
425
442
|
* Refuse the platform merge path for a PR a DRY RUN produced.
|
|
426
443
|
*
|
|
@@ -435,15 +452,45 @@ export class StepDecisionController {
|
|
|
435
452
|
* real PR on the host, and someone with write access there can always merge it by hand. What
|
|
436
453
|
* this mode guarantees is that the PLATFORM will not do it on a sandboxed run's behalf.
|
|
437
454
|
*/
|
|
438
|
-
|
|
439
|
-
if (!block.executionId)
|
|
440
|
-
return;
|
|
441
|
-
const instance = await this.deps.executionRepository.get(workspaceId, block.executionId);
|
|
455
|
+
assertNotDryRun(block, instance) {
|
|
442
456
|
if (!isDryRun(instance?.mode))
|
|
443
457
|
return;
|
|
444
458
|
throw new ConflictError('This pull request came from a dry run, so it cannot be merged from here. Start the task ' +
|
|
445
459
|
'again as a live run to produce a pull request this workspace will merge.', 'dry_run_not_mergeable', { executionId: block.executionId });
|
|
446
460
|
}
|
|
461
|
+
/**
|
|
462
|
+
* Refuse the platform merge path when the run's initiator holds a role whose merge preset
|
|
463
|
+
* allowlists which change classes it may land, and this PR's class is outside that list.
|
|
464
|
+
*
|
|
465
|
+
* The sibling of {@link assertNotDryRun}, and the reason this policy is more than a `never`
|
|
466
|
+
* class rule: a rule routes to a human, but the human it routes to may be the initiator, so
|
|
467
|
+
* without this exit a scoped role would land exactly what the allowlist withholds, one tap
|
|
468
|
+
* later, from the card their own run raised.
|
|
469
|
+
*
|
|
470
|
+
* The class is only knowable at merge time, so the order below is load-bearing: the allowlist
|
|
471
|
+
* is read first and the classification (one VCS call) is paid for ONLY when a scoped role is
|
|
472
|
+
* actually on the other side of it. An unattributed run and an unscoped role therefore cost
|
|
473
|
+
* this guard a preset read and nothing else.
|
|
474
|
+
*
|
|
475
|
+
* The refusal deliberately does NOT claim the change cannot land: the PR is real, a teammate
|
|
476
|
+
* whose role may land this class can merge it from here, and someone with write access on the
|
|
477
|
+
* host can always merge it there. Unlike the sandbox, re-running the task changes nothing (the
|
|
478
|
+
* same role would produce the same refusal), so the copy must not suggest it.
|
|
479
|
+
*/
|
|
480
|
+
async assertSubmissionAllowed(workspaceId, block, instance) {
|
|
481
|
+
const role = instance?.initiatedByRole;
|
|
482
|
+
if (!role)
|
|
483
|
+
return;
|
|
484
|
+
const preset = await this.deps.mergePolicy.resolve(workspaceId, block);
|
|
485
|
+
if (!submissionAllowlistForRole(preset.submissionClassesByRole, role))
|
|
486
|
+
return;
|
|
487
|
+
const changeClass = await this.deps.mergePolicy.classifyChangeClass(workspaceId, block);
|
|
488
|
+
if (submissionAllowedForRole(preset.submissionClassesByRole, role, changeClass))
|
|
489
|
+
return;
|
|
490
|
+
throw new ConflictError(`This task's merge policy does not let a ${role} land a ${changeClass} change, so this ` +
|
|
491
|
+
'pull request cannot be merged from here. A teammate whose role may land this kind of ' +
|
|
492
|
+
'change can merge it, or an admin can widen the merge policy.', 'submission_not_allowed', { executionId: block.executionId, role, changeClass });
|
|
493
|
+
}
|
|
447
494
|
/**
|
|
448
495
|
* Record that a human DECLINED to merge — they dismissed the review card rather than acting on
|
|
449
496
|
* it, so the class's rollup counts a rejection instead of a forever-`pending_review` row.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDecisionController.js","sourceRoot":"","sources":["../../../src/modules/execution/StepDecisionController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepDecisionController.js","sourceRoot":"","sources":["../../../src/modules/execution/StepDecisionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,25 @@ export declare function pendingFollowUpCount(state: FollowUpsStepState | null |
|
|
|
13
13
|
* (the answer steers the next pass). Filed / dismissed items are excluded.
|
|
14
14
|
*/
|
|
15
15
|
export declare function followUpsToSendBack(state: FollowUpsStepState): FollowUpItem[];
|
|
16
|
+
/**
|
|
17
|
+
* The send-back budget as the engine READS it: passes spent, and the ceiling they stop at.
|
|
18
|
+
*
|
|
19
|
+
* Both fields are typed required (the wire schema defaults them: 0 and
|
|
20
|
+
* {@link DEFAULT_FOLLOW_UP_MAX_LOOPS}), and both are nonetheless read defensively, because step
|
|
21
|
+
* state is persisted as one JSON blob and read back with `JSON.parse` rather than a schema parse,
|
|
22
|
+
* so a row written before a field existed reaches this code missing it, defaults and all. A missing
|
|
23
|
+
* ceiling reads as 0, which stops the loop rather than running it unbounded: the safe direction for
|
|
24
|
+
* a value that spends model calls.
|
|
25
|
+
*
|
|
26
|
+
* Stated once because two callers must agree on it. {@link shouldLoopCoder} decides with these
|
|
27
|
+
* numbers and the public decision projection REPORTS them, so a projection that defaulted the
|
|
28
|
+
* ceiling differently would tell a caller it had budget for a send-back the engine was never going
|
|
29
|
+
* to spend, and the run would advance instead of looping with no error anywhere.
|
|
30
|
+
*/
|
|
31
|
+
export declare function followUpLoopBudget(state: FollowUpsStepState): {
|
|
32
|
+
loops: number;
|
|
33
|
+
maxLoops: number;
|
|
34
|
+
};
|
|
16
35
|
/** Whether the gate should loop the Coder now: there are unsent send-back items and budget remains. */
|
|
17
36
|
export declare function shouldLoopCoder(state: FollowUpsStepState): boolean;
|
|
18
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"followUp.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/followUp.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAS3E,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,UAAU,CAAA;AAE9C,4FAA4F;AAC5F,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEzF;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAI7E;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"followUp.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/followUp.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAS3E,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,UAAU,CAAA;AAE9C,4FAA4F;AAC5F,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEzF;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAI7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB,CAEA;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAIlE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CA2BlE"}
|
|
@@ -26,11 +26,30 @@ export function pendingFollowUpCount(state) {
|
|
|
26
26
|
export function followUpsToSendBack(state) {
|
|
27
27
|
return state.items.filter((item) => (item.status === 'queued' || item.status === 'answered') && !item.sentToCoder);
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* The send-back budget as the engine READS it: passes spent, and the ceiling they stop at.
|
|
31
|
+
*
|
|
32
|
+
* Both fields are typed required (the wire schema defaults them: 0 and
|
|
33
|
+
* {@link DEFAULT_FOLLOW_UP_MAX_LOOPS}), and both are nonetheless read defensively, because step
|
|
34
|
+
* state is persisted as one JSON blob and read back with `JSON.parse` rather than a schema parse,
|
|
35
|
+
* so a row written before a field existed reaches this code missing it, defaults and all. A missing
|
|
36
|
+
* ceiling reads as 0, which stops the loop rather than running it unbounded: the safe direction for
|
|
37
|
+
* a value that spends model calls.
|
|
38
|
+
*
|
|
39
|
+
* Stated once because two callers must agree on it. {@link shouldLoopCoder} decides with these
|
|
40
|
+
* numbers and the public decision projection REPORTS them, so a projection that defaulted the
|
|
41
|
+
* ceiling differently would tell a caller it had budget for a send-back the engine was never going
|
|
42
|
+
* to spend, and the run would advance instead of looping with no error anywhere.
|
|
43
|
+
*/
|
|
44
|
+
export function followUpLoopBudget(state) {
|
|
45
|
+
return { loops: state.loops ?? 0, maxLoops: state.maxLoops ?? 0 };
|
|
46
|
+
}
|
|
29
47
|
/** Whether the gate should loop the Coder now: there are unsent send-back items and budget remains. */
|
|
30
48
|
export function shouldLoopCoder(state) {
|
|
31
49
|
if (hasPendingFollowUps(state))
|
|
32
50
|
return false;
|
|
33
|
-
|
|
51
|
+
const budget = followUpLoopBudget(state);
|
|
52
|
+
return followUpsToSendBack(state).length > 0 && budget.loops < budget.maxLoops;
|
|
34
53
|
}
|
|
35
54
|
/**
|
|
36
55
|
* Render the queued follow-ups + answered questions into the rework feedback the Coder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"followUp.logic.js","sourceRoot":"","sources":["../../../src/modules/execution/followUp.logic.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,yFAAyF;AACzF,0FAA0F;AAC1F,yFAAyF;AACzF,2FAA2F;AAC3F,iDAAiD;AAEjD,yEAAyE;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE9C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAE5C,4FAA4F;AAC5F,MAAM,UAAU,mBAAmB,CAAC,KAA4C;IAC9E,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;AAClF,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,KAA4C;IAC/E,IAAI,CAAC,KAAK,EAAE,OAAO;QAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CACxF,CAAA;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,IAAI,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5C,
|
|
1
|
+
{"version":3,"file":"followUp.logic.js","sourceRoot":"","sources":["../../../src/modules/execution/followUp.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClassRulesByRole, MergeClassRules, RequirementConcernLevel, StepGating, WorkspaceRole } from '@cat-factory/kernel';
|
|
1
|
+
import type { ClassRulesByRole, MergeClassRules, RequirementConcernLevel, StepGating, SubmissionClassesByRole, WorkspaceRole } from '@cat-factory/kernel';
|
|
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
|
|
@@ -49,5 +49,12 @@ export interface ResolvedRunRiskPolicy {
|
|
|
49
49
|
* run must stay sandboxed even if the role is un-listed mid-flight.
|
|
50
50
|
*/
|
|
51
51
|
dryRunRoles?: readonly WorkspaceRole[];
|
|
52
|
+
/**
|
|
53
|
+
* Per-ROLE allowlist of the change classes this preset will land at all. Read at MERGE time
|
|
54
|
+
* rather than at start (the opposite of `dryRunRoles` above), because the class is derived from
|
|
55
|
+
* the pull request's changed files and does not exist until there is a pull request. That is
|
|
56
|
+
* not a weaker guarantee, only a later one: opening the PR was never the harm, landing it is.
|
|
57
|
+
*/
|
|
58
|
+
submissionClassesByRole?: SubmissionClassesByRole;
|
|
52
59
|
}
|
|
53
60
|
//# 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,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;
|
|
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"}
|
|
@@ -20,4 +20,28 @@ export type DedicatedParkSurface = 'input-gate' | 'requirements-review' | 'clari
|
|
|
20
20
|
* do — the same short-circuit as the fork park, one step earlier.
|
|
21
21
|
*/
|
|
22
22
|
export declare function dedicatedParkSurface(instance: Pick<ExecutionInstance, 'inputGate'>, step: PipelineStep, registry: AgentKindRegistry): DedicatedParkSurface | null;
|
|
23
|
+
/**
|
|
24
|
+
* Whether a step is currently HOLDING the run on a human: parked on the generic decision-wait,
|
|
25
|
+
* whichever surface owns it. Says nothing about WHOSE park it is (that is
|
|
26
|
+
* {@link dedicatedParkSurface}'s answer), only that this step is the one stopped.
|
|
27
|
+
*
|
|
28
|
+
* Stated once because three callers ask it and each would otherwise spell it out: the interview
|
|
29
|
+
* gate resolving which of a run's steps its resume acts on, the same gate re-finding that step
|
|
30
|
+
* inside its CAS callback, and the public decision projection deciding whether a run has an
|
|
31
|
+
* interview to offer. Two of those three run against a snapshot the third took, so a spelling
|
|
32
|
+
* that drifted would answer differently about one step.
|
|
33
|
+
*/
|
|
34
|
+
export declare function stepAwaitsDecision(step: PipelineStep): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The step a run is parked on an INTERVIEW gate at, with its index, or null.
|
|
37
|
+
*
|
|
38
|
+
* Keyed off the `interview-gate` TRAIT rather than a list of interviewer kinds, exactly as the
|
|
39
|
+
* dispatcher's own routing is: a deployment that registers its own interviewer carries the trait
|
|
40
|
+
* and is found here with no edit. A run carries at most one such park at a time (a parked run runs
|
|
41
|
+
* no other step), so the first match is the answer.
|
|
42
|
+
*/
|
|
43
|
+
export declare function findParkedInterviewStep(instance: Pick<ExecutionInstance, 'steps'>, registry: AgentKindRegistry): {
|
|
44
|
+
step: PipelineStep;
|
|
45
|
+
index: number;
|
|
46
|
+
} | null;
|
|
23
47
|
//# sourceMappingURL=step-park.logic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-park.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/step-park.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,KAAK,iBAAiB,EAAkC,MAAM,qBAAqB,CAAA;AAkC5F;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,qBAAqB,GACrB,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,qBAAqB,GACrB,WAAW,GACX,eAAe,GACf,YAAY,GACZ,eAAe,CAAA;AAEnB;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAC9C,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,iBAAiB,GAC1B,oBAAoB,GAAG,IAAI,CAwB7B"}
|
|
1
|
+
{"version":3,"file":"step-park.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/step-park.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,KAAK,iBAAiB,EAAkC,MAAM,qBAAqB,CAAA;AAkC5F;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,qBAAqB,GACrB,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,qBAAqB,GACrB,WAAW,GACX,eAAe,GACf,YAAY,GACZ,eAAe,CAAA;AAEnB;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAC9C,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,iBAAiB,GAC1B,oBAAoB,GAAG,IAAI,CAwB7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE9D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAC1C,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK9C"}
|
|
@@ -40,4 +40,30 @@ export function dedicatedParkSurface(instance, step, registry) {
|
|
|
40
40
|
}
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Whether a step is currently HOLDING the run on a human: parked on the generic decision-wait,
|
|
45
|
+
* whichever surface owns it. Says nothing about WHOSE park it is (that is
|
|
46
|
+
* {@link dedicatedParkSurface}'s answer), only that this step is the one stopped.
|
|
47
|
+
*
|
|
48
|
+
* Stated once because three callers ask it and each would otherwise spell it out: the interview
|
|
49
|
+
* gate resolving which of a run's steps its resume acts on, the same gate re-finding that step
|
|
50
|
+
* inside its CAS callback, and the public decision projection deciding whether a run has an
|
|
51
|
+
* interview to offer. Two of those three run against a snapshot the third took, so a spelling
|
|
52
|
+
* that drifted would answer differently about one step.
|
|
53
|
+
*/
|
|
54
|
+
export function stepAwaitsDecision(step) {
|
|
55
|
+
return step.state === 'waiting_decision' && step.approval?.status === 'pending';
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The step a run is parked on an INTERVIEW gate at, with its index, or null.
|
|
59
|
+
*
|
|
60
|
+
* Keyed off the `interview-gate` TRAIT rather than a list of interviewer kinds, exactly as the
|
|
61
|
+
* dispatcher's own routing is: a deployment that registers its own interviewer carries the trait
|
|
62
|
+
* and is found here with no edit. A run carries at most one such park at a time (a parked run runs
|
|
63
|
+
* no other step), so the first match is the answer.
|
|
64
|
+
*/
|
|
65
|
+
export function findParkedInterviewStep(instance, registry) {
|
|
66
|
+
const index = instance.steps.findIndex((s) => hasTrait(s.agentKind, INTERVIEW_GATE_TRAIT, registry) && stepAwaitsDecision(s));
|
|
67
|
+
return index < 0 ? null : { step: instance.steps[index], index };
|
|
68
|
+
}
|
|
43
69
|
//# sourceMappingURL=step-park.logic.js.map
|