@cat-factory/orchestration 0.141.0 → 0.142.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/dependencies.d.ts +8 -1
- package/dist/container/dependencies.d.ts.map +1 -1
- package/dist/container/engine-collaborators.d.ts +4 -4
- package/dist/container/engine-dependent-modules.d.ts +8 -1
- package/dist/container/engine-dependent-modules.d.ts.map +1 -1
- package/dist/container/engine-dependent-modules.js +9 -2
- package/dist/container/engine-dependent-modules.js.map +1 -1
- package/dist/container/module-shapes.d.ts +127 -0
- package/dist/container/module-shapes.d.ts.map +1 -0
- package/dist/container/module-shapes.js +2 -0
- package/dist/container/module-shapes.js.map +1 -0
- package/dist/container/modules.d.ts +16 -2
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +32 -1
- package/dist/container/modules.js.map +1 -1
- package/dist/container.d.ts +5 -118
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +8 -21
- package/dist/container.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +22 -30
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +51 -54
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts +9 -0
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
- package/dist/modules/execution/MergeResolver.d.ts +18 -1
- package/dist/modules/execution/MergeResolver.d.ts.map +1 -1
- package/dist/modules/execution/MergeResolver.js +70 -17
- package/dist/modules/execution/MergeResolver.js.map +1 -1
- package/dist/modules/execution/RunMergePolicy.d.ts +59 -0
- package/dist/modules/execution/RunMergePolicy.d.ts.map +1 -0
- package/dist/modules/execution/RunMergePolicy.js +85 -0
- package/dist/modules/execution/RunMergePolicy.js.map +1 -0
- package/dist/modules/execution/RunStateMachine.d.ts +9 -0
- package/dist/modules/execution/RunStateMachine.d.ts.map +1 -1
- package/dist/modules/execution/RunStateMachine.js +11 -0
- package/dist/modules/execution/RunStateMachine.js.map +1 -1
- package/dist/modules/execution/policy-types.d.ts +37 -0
- package/dist/modules/execution/policy-types.d.ts.map +1 -0
- package/dist/modules/execution/policy-types.js +2 -0
- package/dist/modules/execution/policy-types.js.map +1 -0
- package/dist/modules/execution/run-context-admission.d.ts +25 -0
- package/dist/modules/execution/run-context-admission.d.ts.map +1 -0
- package/dist/modules/execution/run-context-admission.js +54 -0
- package/dist/modules/execution/run-context-admission.js.map +1 -0
- package/dist/modules/merge/MergeTrackRecordService.d.ts +133 -0
- package/dist/modules/merge/MergeTrackRecordService.d.ts.map +1 -0
- package/dist/modules/merge/MergeTrackRecordService.js +191 -0
- package/dist/modules/merge/MergeTrackRecordService.js.map +1 -0
- package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyService.js +5 -0
- package/dist/modules/merge/RiskPolicyService.js.map +1 -1
- package/dist/modules/merge/externalMergeObserver.d.ts +27 -0
- package/dist/modules/merge/externalMergeObserver.d.ts.map +1 -0
- package/dist/modules/merge/externalMergeObserver.js +40 -0
- package/dist/modules/merge/externalMergeObserver.js.map +1 -0
- package/package.json +11 -11
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { parseMergeAssessment } from '@cat-factory/contracts';
|
|
2
|
+
import { resolveMergeClassRule } from '@cat-factory/kernel';
|
|
2
3
|
/** Format a 0..1 score as a rounded percentage for notification copy. */
|
|
3
4
|
function pct(score) {
|
|
4
5
|
return `${Math.round(score * 100)}%`;
|
|
@@ -51,24 +52,55 @@ export class MergeResolver {
|
|
|
51
52
|
assessment = null;
|
|
52
53
|
}
|
|
53
54
|
const preset = await this.deps.resolveRiskPolicy(workspaceId, block);
|
|
55
|
+
// Classify the PR BEFORE deciding: the preset's per-class rule can short-circuit the score
|
|
56
|
+
// comparison entirely. One VCS call, swallowed on any failure into `unknown` — which no rule
|
|
57
|
+
// matches — so a classification fault can neither widen nor tighten the policy, and can
|
|
58
|
+
// never fail the merge. The result is threaded into the record write so we never pay twice.
|
|
59
|
+
const classification = (await this.deps.mergeTrackRecord?.classify(workspaceId, block)) ?? {
|
|
60
|
+
changeClass: 'unknown',
|
|
61
|
+
fileCount: 0,
|
|
62
|
+
};
|
|
63
|
+
const classRule = resolveMergeClassRule(preset.classRules, classification.changeClass);
|
|
54
64
|
const thresholds = {
|
|
55
65
|
presetName: preset.name,
|
|
56
66
|
maxComplexity: preset.maxComplexity,
|
|
57
67
|
maxRisk: preset.maxRisk,
|
|
58
68
|
maxImpact: preset.maxImpact,
|
|
59
69
|
autoMergeEnabled: preset.autoMergeEnabled,
|
|
70
|
+
...(classRule !== 'thresholds' ? { classRule } : {}),
|
|
71
|
+
};
|
|
72
|
+
const base = {
|
|
73
|
+
assessment: assessment ?? undefined,
|
|
74
|
+
thresholds,
|
|
75
|
+
...(classification.changeClass !== 'unknown'
|
|
76
|
+
? { changeClass: classification.changeClass }
|
|
77
|
+
: {}),
|
|
60
78
|
};
|
|
61
|
-
const base = { assessment: assessment ?? undefined, thresholds };
|
|
62
79
|
// A credible assessment explains itself: a merger that actually examined the diff always
|
|
63
80
|
// returns a rationale, while a merger that failed to inspect the change (the bug that
|
|
64
81
|
// auto-merged on a bogus 0/0/0) returns bare, unexplained scores. The non-empty rationale
|
|
65
82
|
// check is the engine-side backstop so those can never silently merge.
|
|
66
83
|
const credible = assessment !== null && assessment.rationale.trim() !== '';
|
|
67
84
|
const exceededAxes = assessment ? exceededAxesOf(assessment, preset) : [];
|
|
68
|
-
// Auto-merge
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
|
|
85
|
+
// Auto-merge precedence, most-significant first:
|
|
86
|
+
// 1. `autoMergeEnabled: false` — the master switch. "Manual review only" stays manual and
|
|
87
|
+
// a class rule can NEVER override it.
|
|
88
|
+
// 2. The class rule: `always` merges regardless of the scores (and regardless of the
|
|
89
|
+
// rationale backstop — an explicit operator policy keyed on a DETERMINISTIC backend
|
|
90
|
+
// classification outranks the agent's self-report); `never` always routes to a human.
|
|
91
|
+
// 3. The existing credibility + threshold comparison.
|
|
92
|
+
const within = preset.autoMergeEnabled &&
|
|
93
|
+
(classRule === 'always' || (classRule !== 'never' && credible && exceededAxes.length === 0));
|
|
94
|
+
const mergeReason = classRule === 'always' ? 'class_auto_merge' : 'within_thresholds';
|
|
95
|
+
const record = (decision) => this.deps.mergeTrackRecord?.recordDecision(workspaceId, {
|
|
96
|
+
block,
|
|
97
|
+
executionId: instance.id,
|
|
98
|
+
decision,
|
|
99
|
+
assessment,
|
|
100
|
+
riskPolicyId: preset.id ?? null,
|
|
101
|
+
riskPolicyName: preset.name,
|
|
102
|
+
classification,
|
|
103
|
+
});
|
|
72
104
|
if (within) {
|
|
73
105
|
try {
|
|
74
106
|
const res = await this.deps.finalizeMerge(workspaceId, block.id);
|
|
@@ -76,41 +108,59 @@ export class MergeResolver {
|
|
|
76
108
|
// A multi-repo task merged some PRs but hit a failure part-way; `finalizeMerge`
|
|
77
109
|
// already left the block `blocked` and raised the enumerated partial-merge card, so
|
|
78
110
|
// the resolver only records the decision (no second review notification).
|
|
111
|
+
await record('pending_review');
|
|
79
112
|
return { ...base, outcome: 'awaiting_review', reason: 'merge_partial', exceededAxes: [] };
|
|
80
113
|
}
|
|
81
|
-
|
|
114
|
+
await record('auto_merged');
|
|
115
|
+
return { ...base, outcome: 'auto_merged', reason: mergeReason, exceededAxes: [] };
|
|
82
116
|
}
|
|
83
117
|
catch {
|
|
84
118
|
// Auto-merge failed outright (e.g. branch protection / conflict, or the first PR of a
|
|
85
119
|
// multi-repo task): fall through to a review notification so a human can sort it out.
|
|
86
|
-
|
|
120
|
+
const pending = await record('pending_review');
|
|
121
|
+
await this.raiseReviewAndBlock(workspaceId, instance, block, assessment, {
|
|
122
|
+
changeClass: classification.changeClass,
|
|
123
|
+
recordId: pending?.id,
|
|
124
|
+
});
|
|
87
125
|
return { ...base, outcome: 'awaiting_review', reason: 'merge_failed', exceededAxes };
|
|
88
126
|
}
|
|
89
127
|
}
|
|
90
|
-
|
|
128
|
+
const pending = await record('pending_review');
|
|
129
|
+
await this.raiseReviewAndBlock(workspaceId, instance, block, assessment, {
|
|
130
|
+
changeClass: classification.changeClass,
|
|
131
|
+
recordId: pending?.id,
|
|
132
|
+
});
|
|
91
133
|
// Classify WHY review is needed, most-specific first, so the banner is precise. A
|
|
92
134
|
// missing/unparseable assessment (`no_assessment`) is distinct from one that returned
|
|
93
135
|
// scores but no rationale (`no_rationale`): the latter DID produce visible scores, so
|
|
94
|
-
// the banner must not claim there was no assessment at all.
|
|
136
|
+
// the banner must not claim there was no assessment at all. The class rule sits just under
|
|
137
|
+
// the master switch, matching the precedence the auto-merge branch above applies.
|
|
95
138
|
const reason = !preset.autoMergeEnabled
|
|
96
139
|
? 'auto_merge_disabled'
|
|
97
|
-
:
|
|
98
|
-
? '
|
|
99
|
-
:
|
|
100
|
-
? '
|
|
101
|
-
:
|
|
140
|
+
: classRule === 'never'
|
|
141
|
+
? 'class_requires_review'
|
|
142
|
+
: assessment === null
|
|
143
|
+
? 'no_assessment'
|
|
144
|
+
: !credible
|
|
145
|
+
? 'no_rationale'
|
|
146
|
+
: 'exceeded_thresholds';
|
|
102
147
|
return { ...base, outcome: 'awaiting_review', reason, exceededAxes };
|
|
103
148
|
}
|
|
149
|
+
/** The track-record context a review card carries so the human can tag in the same tap. */
|
|
150
|
+
trackContext = (ctx) => ({
|
|
151
|
+
...(ctx.changeClass !== 'unknown' ? { changeClass: ctx.changeClass } : {}),
|
|
152
|
+
...(ctx.recordId ? { mergeTrackRecordId: ctx.recordId } : {}),
|
|
153
|
+
});
|
|
104
154
|
/** Flip the block to `pr_ready` and raise the merge-review notification. */
|
|
105
|
-
async raiseReviewAndBlock(workspaceId, instance, block, assessment) {
|
|
155
|
+
async raiseReviewAndBlock(workspaceId, instance, block, assessment, track) {
|
|
106
156
|
await this.deps.blockRepository.update(workspaceId, block.id, {
|
|
107
157
|
status: 'pr_ready',
|
|
108
158
|
progress: 1,
|
|
109
159
|
});
|
|
110
|
-
await this.raiseMergeReview(workspaceId, instance, block, assessment);
|
|
160
|
+
await this.raiseMergeReview(workspaceId, instance, block, assessment, track);
|
|
111
161
|
}
|
|
112
162
|
/** Raise a `merge_review` notification carrying the agent's assessment + the PR. */
|
|
113
|
-
async raiseMergeReview(workspaceId, instance, block, assessment) {
|
|
163
|
+
async raiseMergeReview(workspaceId, instance, block, assessment, track) {
|
|
114
164
|
if (!this.deps.notificationService)
|
|
115
165
|
return;
|
|
116
166
|
const body = assessment
|
|
@@ -128,6 +178,9 @@ export class MergeResolver {
|
|
|
128
178
|
...(assessment ? { assessment } : {}),
|
|
129
179
|
...(block.pullRequest?.url ? { prUrl: block.pullRequest.url } : {}),
|
|
130
180
|
pipelineName: instance.pipelineName,
|
|
181
|
+
// The change class + the record id, so the card can show what kind of change this is
|
|
182
|
+
// (with that class's history) and confirm-plus-tag it in one tap.
|
|
183
|
+
...this.trackContext(track),
|
|
131
184
|
},
|
|
132
185
|
});
|
|
133
186
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Block, GroupCacheHandle, ReviewEffort, RiskPolicyCacheValue, RiskPolicyRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { MergeTrackRecordService } from '../merge/MergeTrackRecordService.js';
|
|
3
|
+
import type { ResolvedRunRiskPolicy } from './policy-types.js';
|
|
4
|
+
/** The collaborators the merge-policy layer needs; nothing else on the engine. */
|
|
5
|
+
export interface RunMergePolicyDeps {
|
|
6
|
+
/**
|
|
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 {@link DEFAULT_RISK_POLICY}.
|
|
9
|
+
*/
|
|
10
|
+
riskPolicyRepository?: RiskPolicyRepository;
|
|
11
|
+
/**
|
|
12
|
+
* Optional: the `AppCaches.riskPolicy` slice — read-through for {@link RunMergePolicy.resolve}
|
|
13
|
+
* so the slow-moving merge-preset row isn't re-fetched on every gate evaluation. Absent →
|
|
14
|
+
* every resolve hits the repository. Invalidated by `RiskPolicyService` on every preset write.
|
|
15
|
+
*/
|
|
16
|
+
riskPolicyCache?: GroupCacheHandle<RiskPolicyCacheValue>;
|
|
17
|
+
/**
|
|
18
|
+
* Optional: the merge track record (classification + the persisted evidence). Absent ⇒ the
|
|
19
|
+
* recording methods below are no-ops and the merge path behaves exactly as it did before.
|
|
20
|
+
*/
|
|
21
|
+
mergeTrackRecord?: MergeTrackRecordService;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The task's effective MERGE POLICY plus the EVIDENCE behind it, extracted out of
|
|
25
|
+
* `ExecutionService` as a cohesive collaborator (the `RunDispatcher` controller extractions are
|
|
26
|
+
* the model): resolving which merge-threshold preset governs a run, and settling that run's merge
|
|
27
|
+
* track record when a human merges or declines.
|
|
28
|
+
*
|
|
29
|
+
* The two belong together — the preset is the policy, the track record is what the policy is
|
|
30
|
+
* eventually judged against — and neither needs anything else the engine owns, so keeping them
|
|
31
|
+
* here stops the engine god-file re-growing.
|
|
32
|
+
*
|
|
33
|
+
* Every recording method is a **best-effort side channel of the merge path**: it swallows its own
|
|
34
|
+
* failures, because the merge has already landed and must never be reported as failed on account
|
|
35
|
+
* of bookkeeping.
|
|
36
|
+
*/
|
|
37
|
+
export declare class RunMergePolicy {
|
|
38
|
+
private readonly deps;
|
|
39
|
+
constructor(deps: RunMergePolicyDeps);
|
|
40
|
+
/**
|
|
41
|
+
* Resolve the merge threshold preset that governs a task: its explicitly-picked preset, else
|
|
42
|
+
* the workspace default, else the built-in {@link DEFAULT_RISK_POLICY}. Returns the thresholds
|
|
43
|
+
* the engine compares against, the per-class rules, and the CI attempt budget.
|
|
44
|
+
*/
|
|
45
|
+
resolve(workspaceId: string, block: Block): Promise<ResolvedRunRiskPolicy>;
|
|
46
|
+
/**
|
|
47
|
+
* Settle the block's latest merge track record as `human_merged`, tagging the reviewer effort
|
|
48
|
+
* when one was supplied. Resolved by BLOCK (not by run) because the merge controls that reach
|
|
49
|
+
* here are block-scoped — a single point-read, never inside a loop.
|
|
50
|
+
*/
|
|
51
|
+
recordHumanMerge(workspaceId: string, blockId: string, reviewEffort?: ReviewEffort | null): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Record that a human DECLINED to merge — they dismissed the review card rather than acting on
|
|
54
|
+
* it. The counterpart of {@link recordHumanMerge}: without it a class's rollup would leave
|
|
55
|
+
* rejections as forever-`pending_review` and overstate the auto-merge-share denominator.
|
|
56
|
+
*/
|
|
57
|
+
recordRejection(workspaceId: string, executionId: string): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=RunMergePolicy.d.ts.map
|
|
@@ -0,0 +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,EAEZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAClF,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;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyB/E;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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { DEFAULT_RISK_POLICY } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* The task's effective MERGE POLICY plus the EVIDENCE behind it, extracted out of
|
|
4
|
+
* `ExecutionService` as a cohesive collaborator (the `RunDispatcher` controller extractions are
|
|
5
|
+
* the model): resolving which merge-threshold preset governs a run, and settling that run's merge
|
|
6
|
+
* track record when a human merges or declines.
|
|
7
|
+
*
|
|
8
|
+
* The two belong together — the preset is the policy, the track record is what the policy is
|
|
9
|
+
* eventually judged against — and neither needs anything else the engine owns, so keeping them
|
|
10
|
+
* here stops the engine god-file re-growing.
|
|
11
|
+
*
|
|
12
|
+
* Every recording method is a **best-effort side channel of the merge path**: it swallows its own
|
|
13
|
+
* failures, because the merge has already landed and must never be reported as failed on account
|
|
14
|
+
* of bookkeeping.
|
|
15
|
+
*/
|
|
16
|
+
export class RunMergePolicy {
|
|
17
|
+
deps;
|
|
18
|
+
constructor(deps) {
|
|
19
|
+
this.deps = deps;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve the merge threshold preset that governs a task: its explicitly-picked preset, else
|
|
23
|
+
* the workspace default, else the built-in {@link DEFAULT_RISK_POLICY}. Returns the thresholds
|
|
24
|
+
* the engine compares against, the per-class rules, and the CI attempt budget.
|
|
25
|
+
*/
|
|
26
|
+
async resolve(workspaceId, block) {
|
|
27
|
+
const repo = this.deps.riskPolicyRepository;
|
|
28
|
+
if (repo) {
|
|
29
|
+
// Read each preset through the cache slice when wired: the row is slow-moving admin config
|
|
30
|
+
// re-read on every gate evaluation. Group by workspace (one write drops the whole library),
|
|
31
|
+
// keyed per resolved id so a picked preset and the default cache separately. A null (deleted
|
|
32
|
+
// id / unseeded default) caches as a value and still falls through, exactly as an uncached
|
|
33
|
+
// read would (the `RiskPolicyCacheValue` wrapper).
|
|
34
|
+
const read = async (key, load) => {
|
|
35
|
+
const cache = this.deps.riskPolicyCache;
|
|
36
|
+
if (!cache)
|
|
37
|
+
return load();
|
|
38
|
+
return (await cache.get(key, workspaceId, async () => ({ policy: await load() }))).policy;
|
|
39
|
+
};
|
|
40
|
+
if (block.riskPolicyId) {
|
|
41
|
+
const id = block.riskPolicyId;
|
|
42
|
+
const picked = await read(`picked:${id}`, () => repo.get(workspaceId, id));
|
|
43
|
+
if (picked)
|
|
44
|
+
return picked;
|
|
45
|
+
}
|
|
46
|
+
const fallback = await read('default', () => repo.getDefault(workspaceId));
|
|
47
|
+
if (fallback)
|
|
48
|
+
return fallback;
|
|
49
|
+
}
|
|
50
|
+
return DEFAULT_RISK_POLICY;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Settle the block's latest merge track record as `human_merged`, tagging the reviewer effort
|
|
54
|
+
* when one was supplied. Resolved by BLOCK (not by run) because the merge controls that reach
|
|
55
|
+
* here are block-scoped — a single point-read, never inside a loop.
|
|
56
|
+
*/
|
|
57
|
+
async recordHumanMerge(workspaceId, blockId, reviewEffort) {
|
|
58
|
+
const svc = this.deps.mergeTrackRecord;
|
|
59
|
+
if (!svc)
|
|
60
|
+
return;
|
|
61
|
+
try {
|
|
62
|
+
const record = await svc.getLatestByBlock(workspaceId, blockId);
|
|
63
|
+
if (!record || !record.executionId)
|
|
64
|
+
return;
|
|
65
|
+
await svc.resolveDecision(workspaceId, record.executionId, 'human_merged', reviewEffort);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Best-effort (see the class doc).
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Record that a human DECLINED to merge — they dismissed the review card rather than acting on
|
|
73
|
+
* it. The counterpart of {@link recordHumanMerge}: without it a class's rollup would leave
|
|
74
|
+
* rejections as forever-`pending_review` and overstate the auto-merge-share denominator.
|
|
75
|
+
*/
|
|
76
|
+
async recordRejection(workspaceId, executionId) {
|
|
77
|
+
try {
|
|
78
|
+
await this.deps.mergeTrackRecord?.resolveDecision(workspaceId, executionId, 'rejected');
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// Best-effort (see the class doc).
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=RunMergePolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunMergePolicy.js","sourceRoot":"","sources":["../../../src/modules/execution/RunMergePolicy.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAwBzD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAc;IACI,IAAI;IAAjC,YAA6B,IAAwB;oBAAxB,IAAI;IAAuB,CAAC;IAEzD;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,KAAY;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAA;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,2FAA2F;YAC3F,4FAA4F;YAC5F,6FAA6F;YAC7F,2FAA2F;YAC3F,mDAAmD;YACnD,MAAM,IAAI,GAAG,KAAK,EAChB,GAAW,EACX,IAAsC,EACV,EAAE;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAA;gBACvC,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,EAAE,CAAA;gBACzB,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3F,CAAC,CAAA;YACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;gBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA;gBAC1E,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;YAC1E,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAA;QAC/B,CAAC;QACD,OAAO,mBAAmB,CAAA;IAC5B,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,5 +1,6 @@
|
|
|
1
1
|
import type { AgentExecutor, AgentFailureKind, BlockRepository, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, IdGenerator, PipelineStep, SubscriptionActivationRepository, WorkRunner } from '@cat-factory/kernel';
|
|
2
2
|
import { type InitiativeRunHarvest } from '../initiative/initiative.logic.js';
|
|
3
|
+
import type { MergeTrackRecordService } from '../merge/MergeTrackRecordService.js';
|
|
3
4
|
import type { NotificationService } from '../notifications/NotificationService.js';
|
|
4
5
|
import type { LlmObservabilityService } from '../observability/LlmObservabilityService.js';
|
|
5
6
|
import type { AdvanceResult } from './advance.js';
|
|
@@ -23,6 +24,13 @@ export interface RunStateMachineDeps {
|
|
|
23
24
|
/** The pure step/cursor mutators ({@link StepGraph}) the transitions build on. */
|
|
24
25
|
stepGraph: StepGraph;
|
|
25
26
|
notificationService?: NotificationService;
|
|
27
|
+
/**
|
|
28
|
+
* The merge track record. A no-merger pipeline's `pipeline_complete` card is a MERGE decision
|
|
29
|
+
* point too (confirming it merges the PR), so the class + a `pending_review` record are written
|
|
30
|
+
* here as well — otherwise a whole class of human merges would leave no evidence behind.
|
|
31
|
+
* Best-effort and optional: absent ⇒ the card is raised exactly as before.
|
|
32
|
+
*/
|
|
33
|
+
mergeTrackRecord?: MergeTrackRecordService;
|
|
26
34
|
kaizenScheduler?: KaizenScheduler;
|
|
27
35
|
subscriptionActivations?: SubscriptionActivationRepository;
|
|
28
36
|
llmObservability?: LlmObservabilityService;
|
|
@@ -59,6 +67,7 @@ export declare class RunStateMachine {
|
|
|
59
67
|
private readonly clock;
|
|
60
68
|
private readonly stepGraph;
|
|
61
69
|
private readonly notificationService?;
|
|
70
|
+
private readonly mergeTrackRecord?;
|
|
62
71
|
private readonly kaizenScheduler?;
|
|
63
72
|
private readonly subscriptionActivations?;
|
|
64
73
|
private readonly llmObservability?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunStateMachine.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunStateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,gBAAgB,EAEhB,eAAe,EACf,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,gCAAgC,EAChC,UAAU,EACX,MAAM,qBAAqB,CAAA;AAU5B,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,mCAAmC,CAAA;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChF;AAyCD,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,eAAe,EAAE,eAAe,CAAA;IAChC,MAAM,EAAE,uBAAuB,CAAA;IAC/B,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,kFAAkF;IAClF,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,uBAAuB,CAAC,EAAE,gCAAgC,CAAA;IAC1D,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAC1C;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CACnB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,IAAI,CAAA;CACV;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAkC;IAC3E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAI3B;IAET,YAAY,IAAI,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"RunStateMachine.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunStateMachine.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ export class RunStateMachine {
|
|
|
53
53
|
clock;
|
|
54
54
|
stepGraph;
|
|
55
55
|
notificationService;
|
|
56
|
+
mergeTrackRecord;
|
|
56
57
|
kaizenScheduler;
|
|
57
58
|
subscriptionActivations;
|
|
58
59
|
llmObservability;
|
|
@@ -67,6 +68,7 @@ export class RunStateMachine {
|
|
|
67
68
|
this.clock = deps.clock;
|
|
68
69
|
this.stepGraph = deps.stepGraph;
|
|
69
70
|
this.notificationService = deps.notificationService;
|
|
71
|
+
this.mergeTrackRecord = deps.mergeTrackRecord;
|
|
70
72
|
this.kaizenScheduler = deps.kaizenScheduler;
|
|
71
73
|
this.subscriptionActivations = deps.subscriptionActivations;
|
|
72
74
|
this.llmObservability = deps.llmObservability;
|
|
@@ -383,6 +385,13 @@ export class RunStateMachine {
|
|
|
383
385
|
await this.raisePipelineComplete(workspaceId, instance, block);
|
|
384
386
|
}
|
|
385
387
|
async raisePipelineComplete(workspaceId, instance, block) {
|
|
388
|
+
// Record the decision point BEFORE the card so the card can carry the record id (the human
|
|
389
|
+
// confirms + tags in one tap). No merger ran, so there are no scores — just the class.
|
|
390
|
+
const record = await this.mergeTrackRecord?.recordDecision(workspaceId, {
|
|
391
|
+
block,
|
|
392
|
+
executionId: instance.id,
|
|
393
|
+
decision: 'pending_review',
|
|
394
|
+
});
|
|
386
395
|
if (!this.notificationService)
|
|
387
396
|
return;
|
|
388
397
|
await this.notificationService.raise(workspaceId, {
|
|
@@ -395,6 +404,8 @@ export class RunStateMachine {
|
|
|
395
404
|
payload: {
|
|
396
405
|
...(block.pullRequest?.url ? { prUrl: block.pullRequest.url } : {}),
|
|
397
406
|
pipelineName: instance.pipelineName,
|
|
407
|
+
...(record && record.changeClass !== 'unknown' ? { changeClass: record.changeClass } : {}),
|
|
408
|
+
...(record ? { mergeTrackRecordId: record.id } : {}),
|
|
398
409
|
},
|
|
399
410
|
});
|
|
400
411
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunStateMachine.js","sourceRoot":"","sources":["../../../src/modules/execution/RunStateMachine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunStateMachine.js","sourceRoot":"","sources":["../../../src/modules/execution/RunStateMachine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { MergeClassRules, RequirementConcernLevel, StepGating } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* The effective risk/merge policy for one run, as {@link RunMergePolicy.resolve} resolves it
|
|
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
|
|
6
|
+
* reads only the subset it gates on.
|
|
7
|
+
*
|
|
8
|
+
* It lives in its own module — rather than beside the engine — so `RunMergePolicy` and the gate
|
|
9
|
+
* windows can both name it without importing `ExecutionService` (which imports them).
|
|
10
|
+
*/
|
|
11
|
+
export interface ResolvedRunRiskPolicy {
|
|
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.
|
|
16
|
+
*/
|
|
17
|
+
id?: string;
|
|
18
|
+
name: string;
|
|
19
|
+
maxComplexity: number;
|
|
20
|
+
maxRisk: number;
|
|
21
|
+
maxImpact: number;
|
|
22
|
+
ciMaxAttempts: number;
|
|
23
|
+
maxRequirementIterations: number;
|
|
24
|
+
maxRequirementConcernAllowed: RequirementConcernLevel;
|
|
25
|
+
maxTesterQualityIterations: number;
|
|
26
|
+
releaseWatchWindowMinutes: number;
|
|
27
|
+
releaseMaxAttempts: number;
|
|
28
|
+
humanReviewGraceMinutes: number;
|
|
29
|
+
autoMergeEnabled: boolean;
|
|
30
|
+
forkDecision?: StepGating | null;
|
|
31
|
+
/**
|
|
32
|
+
* Per-change-class auto-merge rules. Absent on the built-in fallback ⇒ every class uses the
|
|
33
|
+
* score ceilings, which is the historical behaviour.
|
|
34
|
+
*/
|
|
35
|
+
classRules?: MergeClassRules;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=policy-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-types.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE/F;;;;;;;;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,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-types.js","sourceRoot":"","sources":["../../../src/modules/execution/policy-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine's context-building + run-admission pair: the {@link AgentContextBuilder} every
|
|
3
|
+
* dispatch composes its prompt through, and the {@link RunAdmission} preflight family
|
|
4
|
+
* (`assert*`) that start / retry / restart all gate on.
|
|
5
|
+
*
|
|
6
|
+
* Extracted verbatim from the {@link ExecutionService} constructor (which had grown past the
|
|
7
|
+
* per-function line budget — docs/initiatives/lint-complexity-size-ratchet.md) following the
|
|
8
|
+
* same sibling-factory pattern as `gate-window-controllers.ts`: ONE deps object of values the
|
|
9
|
+
* constructor already had in hand, and the two collaborators returned together because admission
|
|
10
|
+
* is built ON the context builder — they are one seam, not two. Behaviour-neutral.
|
|
11
|
+
*/
|
|
12
|
+
import { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
13
|
+
import { RunAdmission } from './RunAdmission.js';
|
|
14
|
+
import type { ExecutionServiceDependencies } from './ExecutionService.js';
|
|
15
|
+
/**
|
|
16
|
+
* The subset of {@link ExecutionServiceDependencies} the pair reads. Every field is the SAME
|
|
17
|
+
* value the constructor passed inline, so the two collaborators are built from an identical
|
|
18
|
+
* input to before.
|
|
19
|
+
*/
|
|
20
|
+
export type RunContextAdmissionDeps = Pick<ExecutionServiceDependencies, 'workspaceRepository' | 'blockRepository' | 'executionRepository' | 'accountRepository' | 'agentKindRegistry' | 'initiativePresetRegistry' | 'documentRepository' | 'documentUrlResolver' | 'taskRepository' | 'requirementReviewRepository' | 'docInterviewRepository' | 'clarityReviewRepository' | 'brainstormSessionRepository' | 'initiativeRepository' | 'environmentProvisioning' | 'resolveTestSecretRefs' | 'resolveValidationChecks' | 'fragmentResolver' | 'skillResolver' | 'spendService' | 'workspaceSettingsService' | 'resolveBinaryArtifactStore' | 'resolveProviderCapabilities' | 'inlineHarnessRef' | 'resolveWorkspaceModelDefault' | 'assertAgentBackendConfigured'>;
|
|
21
|
+
export declare function buildRunContextAndAdmission(deps: RunContextAdmissionDeps): {
|
|
22
|
+
contextBuilder: AgentContextBuilder;
|
|
23
|
+
admission: RunAdmission;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=run-context-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-context-admission.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/run-context-admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,4BAA4B,EAC1B,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,GAChB,6BAA6B,GAC7B,wBAAwB,GACxB,yBAAyB,GACzB,6BAA6B,GAC7B,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,0BAA0B,GAC1B,4BAA4B,GAC5B,6BAA6B,GAC7B,kBAAkB,GAClB,8BAA8B,GAC9B,8BAA8B,CACjC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG;IAC1E,cAAc,EAAE,mBAAmB,CAAA;IACnC,SAAS,EAAE,YAAY,CAAA;CACxB,CAuCA"}
|