@telora/daemon 0.23.25 → 0.23.28
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/build-info.json +2 -2
- package/dist/completion/review-exit/review-exit-foreign-findings.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-foreign-findings.js +3 -1
- package/dist/completion/review-exit/review-exit-foreign-findings.js.map +1 -1
- package/dist/completion/review-exit/review-exit-rehoming.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-rehoming.js +3 -1
- package/dist/completion/review-exit/review-exit-rehoming.js.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +3 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/state-cascade/state-cascade.d.ts +11 -0
- package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade/state-cascade.js +45 -1
- package/dist/completion/state-cascade/state-cascade.js.map +1 -1
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
- package/dist/composition/focus-activity-live-sources.js +4 -1
- package/dist/composition/focus-activity-live-sources.js.map +1 -1
- package/dist/daemon-state/pre-review-run-not-owed.d.ts +7 -0
- package/dist/daemon-state/pre-review-run-not-owed.d.ts.map +1 -0
- package/dist/daemon-state/pre-review-run-not-owed.js +51 -0
- package/dist/daemon-state/pre-review-run-not-owed.js.map +1 -0
- package/dist/focus/focus-activity-poll-facts.d.ts +8 -0
- package/dist/focus/focus-activity-poll-facts.d.ts.map +1 -1
- package/dist/focus/focus-activity-poll-facts.js +12 -3
- package/dist/focus/focus-activity-poll-facts.js.map +1 -1
- package/dist/focus/focus-activity-record.d.ts +32 -1
- package/dist/focus/focus-activity-record.d.ts.map +1 -1
- package/dist/focus/focus-activity-record.js +73 -5
- package/dist/focus/focus-activity-record.js.map +1 -1
- package/dist/focus/focus-activity-sources.d.ts +7 -1
- package/dist/focus/focus-activity-sources.d.ts.map +1 -1
- package/dist/focus/focus-activity-sources.js.map +1 -1
- package/dist/guard/trigger-executor.d.ts.map +1 -1
- package/dist/guard/trigger-executor.js +5 -1
- package/dist/guard/trigger-executor.js.map +1 -1
- package/dist/merge/candidate-rework.d.ts +2 -1
- package/dist/merge/candidate-rework.d.ts.map +1 -1
- package/dist/merge/candidate-rework.js +58 -21
- package/dist/merge/candidate-rework.js.map +1 -1
- package/dist/queries/api-client/shared.js +1 -1
- package/dist/security/security-auto-inject.d.ts.map +1 -1
- package/dist/security/security-auto-inject.js +4 -1
- package/dist/security/security-auto-inject.js.map +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.js +1 -0
- package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/issue-description-budget.d.ts +81 -0
- package/dist/types/issue-description-budget.d.ts.map +1 -0
- package/dist/types/issue-description-budget.js +129 -0
- package/dist/types/issue-description-budget.js.map +1 -0
- package/dist/verify/gate-verdicts/commit-verdict-record.d.ts +9 -0
- package/dist/verify/gate-verdicts/commit-verdict-record.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +24 -3
- package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
- package/dist/verify/outcome-routing/verification-feedback.d.ts +4 -1
- package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-feedback.js +2 -1
- package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts +16 -3
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js +56 -17
- package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.js +2 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Pinned by: packages/daemon/src/focus/focus-activity-in-flight-tool.test.ts,
|
|
3
3
|
// packages/daemon/src/focus/focus-activity-producers.test.ts,
|
|
4
4
|
// packages/daemon/src/focus/focus-activity-progress-clock.test.ts,
|
|
5
|
+
// packages/daemon/src/focus/focus-activity-record.test.ts,
|
|
5
6
|
// packages/daemon/src/focus/focus-activity-team-clock.test.ts,
|
|
6
7
|
// packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
|
|
7
8
|
// packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
|
|
@@ -15,8 +16,9 @@
|
|
|
15
16
|
* checkDeliveryAutoAdvance) reads every active focus of every product and every
|
|
16
17
|
* such focus's deliveries on each poll. Its two reads are wrapped at the
|
|
17
18
|
* composition root (composition/runtime-delivery-advance-context.ts) with the
|
|
18
|
-
* observers below, so the record knows which focuses are ARMED
|
|
19
|
-
*
|
|
19
|
+
* observers below, so the record knows which focuses are ARMED, which have a
|
|
20
|
+
* review window open (and which are read-only), and what their deliveries hold
|
|
21
|
+
* at NO extra query: the heartbeat reads the latest poll's rows.
|
|
20
22
|
*
|
|
21
23
|
* Replacement, not accumulation: a product's focus list is replaced wholesale
|
|
22
24
|
* by each successful read of it, and a focus's deliveries by each read of them,
|
|
@@ -39,7 +41,12 @@ const focusesByProduct = new Map();
|
|
|
39
41
|
const deliveriesByFocus = new Map();
|
|
40
42
|
/** Record one product's active focus list (replaces that product's previous list). */
|
|
41
43
|
export function recordPolledFocuses(productKey, rows) {
|
|
42
|
-
focusesByProduct.set(productKey, rows.map((r) => ({
|
|
44
|
+
focusesByProduct.set(productKey, rows.map((r) => ({
|
|
45
|
+
focus_id: r.focus_id,
|
|
46
|
+
assigned_agent_role_id: r.assigned_agent_role_id,
|
|
47
|
+
review_requested_at: r.review_requested_at,
|
|
48
|
+
read_only: r.read_only,
|
|
49
|
+
})));
|
|
43
50
|
}
|
|
44
51
|
/** Record one focus's deliveries (replaces its previous rows). */
|
|
45
52
|
export function recordPolledDeliveries(focusId, rows, now = Date.now()) {
|
|
@@ -58,6 +65,8 @@ export function polledFocusSnapshot() {
|
|
|
58
65
|
out.set(row.focus_id, {
|
|
59
66
|
focusId: row.focus_id,
|
|
60
67
|
armed: row.assigned_agent_role_id != null,
|
|
68
|
+
reviewRequestedAt: row.review_requested_at,
|
|
69
|
+
readOnly: row.read_only,
|
|
61
70
|
deliveries: d?.rows ?? null,
|
|
62
71
|
deliveriesObservedAt: d?.at ?? null,
|
|
63
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-poll-facts.js","sourceRoot":"","sources":["../../src/focus/focus-activity-poll-facts.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8EAA8E;AAC9E,gEAAgE;AAChE,qEAAqE;AACrE,iEAAiE;AACjE,kEAAkE;AAClE,gEAAgE;AAChE,4DAA4D;AAC5D,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"focus-activity-poll-facts.js","sourceRoot":"","sources":["../../src/focus/focus-activity-poll-facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
* heartbeat wiring do not change.
|
|
17
17
|
*
|
|
18
18
|
* Who gets an entry: a focus the daemon is DOING something for -- a live team,
|
|
19
|
-
* a gate run
|
|
19
|
+
* a gate run (or the pre-review run it owes the focus and has not selected
|
|
20
|
+
* yet), or a complete focus's merge into integration under way -- whether
|
|
20
21
|
* or not it is armed (or still active); and every ARMED focus of every product
|
|
21
22
|
* (as the latest poll read them, focus/focus-activity-poll-facts.ts), which
|
|
22
23
|
* always has at least `idle`. The between-sessions kinds (held, parked,
|
|
@@ -43,6 +44,36 @@ import { type FocusActivityClaim, type FocusActivityProducer, type FocusActivity
|
|
|
43
44
|
* with nothing ahead.
|
|
44
45
|
*/
|
|
45
46
|
export declare function gateActivityClaims(sources: FocusActivitySources): FocusActivityClaim[];
|
|
47
|
+
/**
|
|
48
|
+
* gate_queued waiting on `verification_tick`: a focus that awaits its pre-review
|
|
49
|
+
* gate run with no run registered for it yet. The verification tick runs one at
|
|
50
|
+
* a time, so while another focus's gate holds it this focus's run is not
|
|
51
|
+
* selected and the registry has nothing for it; without this claim the focus
|
|
52
|
+
* would read idle while it is next in line for its gate, and then its review.
|
|
53
|
+
*
|
|
54
|
+
* The claim is made from the moment the dispatch's own predicate,
|
|
55
|
+
* focusAwaitsPreReviewRun (verify/run-selection/pre-review-gate-dispatch.ts),
|
|
56
|
+
* holds over the rows the latest poll read -- no delivery active, one in verify,
|
|
57
|
+
* no review window open -- and no run is registered for the focus. Nothing else
|
|
58
|
+
* has to happen first.
|
|
59
|
+
*
|
|
60
|
+
* One fact withdraws it, the one that stops the dispatch selecting a run: the
|
|
61
|
+
* review request's latest pass read a verdict that already answers the focus
|
|
62
|
+
* HEAD (daemon-state/pre-review-run-not-owed.ts) -- the gate passed or failed
|
|
63
|
+
* there, or governs no verify delivery. Such a focus reads as what holds it (its
|
|
64
|
+
* hold, or idle), never as waiting on a gate that is not coming. A hold that only
|
|
65
|
+
* keeps the review window shut (a spent budget, a breaker, open work) withdraws
|
|
66
|
+
* nothing: the dispatch still owes that focus its run.
|
|
67
|
+
*
|
|
68
|
+
* It yields to the registry: once a run for the focus is registered, that run's
|
|
69
|
+
* own gate_queued / gate_running entry (gateActivityClaims) is the one published,
|
|
70
|
+
* and this claim is not made. A read-only focus (the dispatch never selects one)
|
|
71
|
+
* and a focus whose deliveries are unread get none. It names the focus's first
|
|
72
|
+
* verify delivery -- every verify delivery shares the one run at HEAD -- is dated
|
|
73
|
+
* by first sight, and names the run holding verification, when one is
|
|
74
|
+
* registered, as the one ahead.
|
|
75
|
+
*/
|
|
76
|
+
export declare function preReviewGateWaitClaims(sources: FocusActivitySources): FocusActivityClaim[];
|
|
46
77
|
/** Every producer the record is built from. Order does not decide the winner; precedence does. */
|
|
47
78
|
export declare const FOCUS_ACTIVITY_PRODUCERS: readonly FocusActivityProducer[];
|
|
48
79
|
/** Build the per-focus map: the precedence winner among every admitted claim. Pure but for sources.firstSeen. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-record.d.ts","sourceRoot":"","sources":["../../src/focus/focus-activity-record.ts"],"names":[],"mappings":"AAWA
|
|
1
|
+
{"version":3,"file":"focus-activity-record.d.ts","sourceRoot":"","sources":["../../src/focus/focus-activity-record.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AA0BrC;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,EAAE,CAgBtF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,EAAE,CAqB3F;AAED,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAWpE,CAAC;AA6BF,iHAAiH;AACjH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,SAAS,qBAAqB,EAAE,GAC1C,gBAAgB,CAWlB;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAGzG"}
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
* heartbeat wiring do not change.
|
|
27
27
|
*
|
|
28
28
|
* Who gets an entry: a focus the daemon is DOING something for -- a live team,
|
|
29
|
-
* a gate run
|
|
29
|
+
* a gate run (or the pre-review run it owes the focus and has not selected
|
|
30
|
+
* yet), or a complete focus's merge into integration under way -- whether
|
|
30
31
|
* or not it is armed (or still active); and every ARMED focus of every product
|
|
31
32
|
* (as the latest poll read them, focus/focus-activity-poll-facts.ts), which
|
|
32
33
|
* always has at least `idle`. The between-sessions kinds (held, parked,
|
|
@@ -39,11 +40,16 @@
|
|
|
39
40
|
*
|
|
40
41
|
* @module focus/focus-activity-record
|
|
41
42
|
*/
|
|
42
|
-
import { pickFocusActivity, } from '@telora/daemon-core';
|
|
43
|
+
import { DELIVERY_STATUS, pickFocusActivity, } from '@telora/daemon-core';
|
|
43
44
|
import { commonFields, iso, } from './focus-activity-sources.js';
|
|
44
45
|
import { awaitingSlotClaims, cooldownClaims, idleClaims, reviewParkedClaims, spawnPendingClaims, teamActivityClaims, } from './focus-activity-producers.js';
|
|
45
46
|
import { deliveryHeldClaims } from './focus-activity-held.js';
|
|
46
47
|
import { completionMergeClaims } from './focus-activity-completion-merge.js';
|
|
48
|
+
import { focusAwaitsPreReviewRun } from '../verify/run-selection/pre-review-gate-dispatch.js';
|
|
49
|
+
/** The run holding verification: the one whose command has started, or the one in its preflight; null when none does. */
|
|
50
|
+
function verificationHolder(runs) {
|
|
51
|
+
return runs.find((r) => r.startedAt !== null || r.wait.on === 'preflight') ?? null;
|
|
52
|
+
}
|
|
47
53
|
/** The run ahead of a queued one, by what it waits on (see gateActivityClaims). */
|
|
48
54
|
function aheadOf(run, slotHolder) {
|
|
49
55
|
if (run.wait.on === 'worktree_interlock')
|
|
@@ -64,7 +70,7 @@ function aheadOf(run, slotHolder) {
|
|
|
64
70
|
* with nothing ahead.
|
|
65
71
|
*/
|
|
66
72
|
export function gateActivityClaims(sources) {
|
|
67
|
-
const slotHolder = sources.gateRuns
|
|
73
|
+
const slotHolder = verificationHolder(sources.gateRuns);
|
|
68
74
|
const claims = [];
|
|
69
75
|
for (const run of sources.gateRuns) {
|
|
70
76
|
if (run.focusId === null)
|
|
@@ -81,9 +87,65 @@ export function gateActivityClaims(sources) {
|
|
|
81
87
|
}
|
|
82
88
|
return claims;
|
|
83
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* gate_queued waiting on `verification_tick`: a focus that awaits its pre-review
|
|
92
|
+
* gate run with no run registered for it yet. The verification tick runs one at
|
|
93
|
+
* a time, so while another focus's gate holds it this focus's run is not
|
|
94
|
+
* selected and the registry has nothing for it; without this claim the focus
|
|
95
|
+
* would read idle while it is next in line for its gate, and then its review.
|
|
96
|
+
*
|
|
97
|
+
* The claim is made from the moment the dispatch's own predicate,
|
|
98
|
+
* focusAwaitsPreReviewRun (verify/run-selection/pre-review-gate-dispatch.ts),
|
|
99
|
+
* holds over the rows the latest poll read -- no delivery active, one in verify,
|
|
100
|
+
* no review window open -- and no run is registered for the focus. Nothing else
|
|
101
|
+
* has to happen first.
|
|
102
|
+
*
|
|
103
|
+
* One fact withdraws it, the one that stops the dispatch selecting a run: the
|
|
104
|
+
* review request's latest pass read a verdict that already answers the focus
|
|
105
|
+
* HEAD (daemon-state/pre-review-run-not-owed.ts) -- the gate passed or failed
|
|
106
|
+
* there, or governs no verify delivery. Such a focus reads as what holds it (its
|
|
107
|
+
* hold, or idle), never as waiting on a gate that is not coming. A hold that only
|
|
108
|
+
* keeps the review window shut (a spent budget, a breaker, open work) withdraws
|
|
109
|
+
* nothing: the dispatch still owes that focus its run.
|
|
110
|
+
*
|
|
111
|
+
* It yields to the registry: once a run for the focus is registered, that run's
|
|
112
|
+
* own gate_queued / gate_running entry (gateActivityClaims) is the one published,
|
|
113
|
+
* and this claim is not made. A read-only focus (the dispatch never selects one)
|
|
114
|
+
* and a focus whose deliveries are unread get none. It names the focus's first
|
|
115
|
+
* verify delivery -- every verify delivery shares the one run at HEAD -- is dated
|
|
116
|
+
* by first sight, and names the run holding verification, when one is
|
|
117
|
+
* registered, as the one ahead.
|
|
118
|
+
*/
|
|
119
|
+
export function preReviewGateWaitClaims(sources) {
|
|
120
|
+
const registered = new Set(sources.gateRuns.map((r) => r.focusId));
|
|
121
|
+
const holder = verificationHolder(sources.gateRuns);
|
|
122
|
+
const claims = [];
|
|
123
|
+
for (const focus of sources.polledFocuses) {
|
|
124
|
+
if (focus.readOnly || focus.deliveries === null || registered.has(focus.focusId))
|
|
125
|
+
continue;
|
|
126
|
+
if (sources.preReviewRunNotOwed.has(focus.focusId))
|
|
127
|
+
continue;
|
|
128
|
+
const deliveries = focus.deliveries.map((d) => ({ executionStatus: d.executionStatus ?? null }));
|
|
129
|
+
if (!focusAwaitsPreReviewRun({ review_requested_at: focus.reviewRequestedAt }, deliveries))
|
|
130
|
+
continue;
|
|
131
|
+
const delivery = focus.deliveries.find((d) => d.executionStatus === DELIVERY_STATUS.VERIFY);
|
|
132
|
+
if (!delivery)
|
|
133
|
+
continue;
|
|
134
|
+
claims.push({
|
|
135
|
+
focusId: focus.focusId,
|
|
136
|
+
activity: {
|
|
137
|
+
...commonFields(sources, focus.focusId), kind: 'gate_queued', deliveryId: delivery.id, queuedAt: iso(sources.now),
|
|
138
|
+
waitingOn: 'verification_tick', aheadFocusId: holder?.focusId ?? null, aheadDeliveryId: holder?.deliveryId ?? null,
|
|
139
|
+
},
|
|
140
|
+
sinceKey: `${focus.focusId}|pre_review_gate_wait`,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return claims;
|
|
144
|
+
}
|
|
84
145
|
/** Every producer the record is built from. Order does not decide the winner; precedence does. */
|
|
85
146
|
export const FOCUS_ACTIVITY_PRODUCERS = [
|
|
86
147
|
gateActivityClaims,
|
|
148
|
+
preReviewGateWaitClaims,
|
|
87
149
|
teamActivityClaims,
|
|
88
150
|
completionMergeClaims,
|
|
89
151
|
deliveryHeldClaims,
|
|
@@ -97,14 +159,20 @@ export const FOCUS_ACTIVITY_PRODUCERS = [
|
|
|
97
159
|
const DOING_KINDS = new Set([
|
|
98
160
|
'gate_running', 'gate_queued', 'team_reviewing', 'team_coding', 'team_planning', 'team_resolving', 'completion_merge',
|
|
99
161
|
]);
|
|
162
|
+
/** The entry with its start set: a gate wait's `queuedAt`, every other kind's `since` (unchanged when it has neither). */
|
|
163
|
+
function withObservedStart(activity, at) {
|
|
164
|
+
if (activity.kind === 'gate_queued')
|
|
165
|
+
return { ...activity, queuedAt: at };
|
|
166
|
+
return 'since' in activity ? { ...activity, since: at } : activity;
|
|
167
|
+
}
|
|
100
168
|
/** Date each winner that carries no start of its own by the first beat it was seen, and forget the rest. */
|
|
101
169
|
function stampObservedSince(winners, sources) {
|
|
102
170
|
const map = {};
|
|
103
171
|
const observed = new Set();
|
|
104
172
|
for (const [focusId, { activity, sinceKey }] of winners) {
|
|
105
|
-
if (sinceKey !== undefined
|
|
173
|
+
if (sinceKey !== undefined) {
|
|
106
174
|
observed.add(sinceKey);
|
|
107
|
-
map[focusId] =
|
|
175
|
+
map[focusId] = withObservedStart(activity, iso(sources.firstSeen.observe(sinceKey, sources.now)));
|
|
108
176
|
}
|
|
109
177
|
else {
|
|
110
178
|
map[focusId] = activity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-record.js","sourceRoot":"","sources":["../../src/focus/focus-activity-record.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gFAAgF;AAChF,qEAAqE;AACrE,gEAAgE;AAChE,qEAAqE;AACrE,6DAA6D;AAC7D,iEAAiE;AACjE,6DAA6D;AAC7D,uEAAuE;AACvE,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"focus-activity-record.js","sourceRoot":"","sources":["../../src/focus/focus-activity-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,6 +91,11 @@ export interface FocusActivitySources {
|
|
|
91
91
|
pendingSpawns: readonly PendingSpawnView[];
|
|
92
92
|
/** Standing review parks (daemon-state/review-park-record.ts). */
|
|
93
93
|
reviewParks: ReadonlyMap<string, ReviewPark>;
|
|
94
|
+
/**
|
|
95
|
+
* Focuses whose latest review-request pass found no pre-review gate run owed:
|
|
96
|
+
* a verdict already answers HEAD (daemon-state/pre-review-run-not-owed.ts).
|
|
97
|
+
*/
|
|
98
|
+
preReviewRunNotOwed: ReadonlySet<string>;
|
|
94
99
|
/** The cooldown window holding the focus's next spawn now, or null (spawn/next-spawn-cooldown.ts). */
|
|
95
100
|
readCooldownWindow: (focusId: string) => SpawnCooldownWindow | null;
|
|
96
101
|
/**
|
|
@@ -110,7 +115,8 @@ export interface FocusActivityClaim {
|
|
|
110
115
|
activity: FocusActivity;
|
|
111
116
|
/**
|
|
112
117
|
* Present when the fact has no recorded start: the builder replaces the
|
|
113
|
-
* entry's `since` with the first beat this key was
|
|
118
|
+
* entry's `since` (a gate wait's `queuedAt`) with the first beat this key was
|
|
119
|
+
* seen (FirstSeenTracker).
|
|
114
120
|
*/
|
|
115
121
|
sinceKey?: string;
|
|
116
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-sources.d.ts","sourceRoot":"","sources":["../../src/focus/focus-activity-sources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"focus-activity-sources.d.ts","sourceRoot":"","sources":["../../src/focus/focus-activity-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-sources.js","sourceRoot":"","sources":["../../src/focus/focus-activity-sources.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gFAAgF;AAChF,gEAAgE;AAChE,4DAA4D;AAC5D,gBAAgB;AA0DhB;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACV,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,UAAU,CAAC,IAAyB;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"focus-activity-sources.js","sourceRoot":"","sources":["../../src/focus/focus-activity-sources.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gFAAgF;AAChF,gEAAgE;AAChE,4DAA4D;AAC5D,gBAAgB;AA0DhB;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACV,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,UAAU,CAAC,IAAyB;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;CACF;AAyDD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAEtE,SAAS,WAAW,CAAC,OAA6B,EAAE,OAAe;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,uEAAuE;IACvE,OAAO,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrG,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,OAA6B,EAAE,OAAe;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAC5B,mBAAmB,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC;QAClD,cAAc,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAAC,OAA6B;IAC9D,OAAO,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-executor.d.ts","sourceRoot":"","sources":["../../src/guard/trigger-executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trigger-executor.d.ts","sourceRoot":"","sources":["../../src/guard/trigger-executor.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,qBAAqB,EAErB,sBAAsB,EAEvB,MAAM,qBAAqB,CAAC;AAe7B;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,UAAU,EAAE,eAAe,GAAG,IAAI,GACjC,MAAM,CAuBR;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,UAAU,EAAE,eAAe,GAAG,IAAI,GACjC,IAAI,CASN;AAED,yEAAyE;AACzE,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,eAAe,GACvB,MAAM,GAAG,IAAI,CAmBf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,eAAe,GAAG,IAAI,GACjC,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAwID;;;;;;;GAOG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CA6Ef;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Df;AAMD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,EAC/D,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI,EACtC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC,CAmGD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/guard/guard-conditions.test.ts,
|
|
3
3
|
// packages/daemon/src/guard/spawn-agent-session-gate.test.ts,
|
|
4
|
+
// packages/daemon/src/guard/trigger-executor-create-issue.test.ts,
|
|
4
5
|
// packages/daemon/src/guard/trigger-executor-verify.test.ts
|
|
5
6
|
// PINNED-BY-END
|
|
6
7
|
import { createTransitionEvaluation, createTransitionBlock } from '../queries/workflow-transitions/guards.js';
|
|
@@ -8,6 +9,7 @@ import { createIssue } from '../queries/deliveries/issues.js';
|
|
|
8
9
|
import { callApi } from '../queries/api-client/shared.js';
|
|
9
10
|
import { healthEvents } from '@telora/daemon-core';
|
|
10
11
|
import { createLogger } from '../log/daemon-log.js';
|
|
12
|
+
import { ISSUE_DESCRIPTION_BUDGET, clipText } from '../types/issue-description-budget.js';
|
|
11
13
|
const log = createLogger({ module: 'guard' });
|
|
12
14
|
// ============================================
|
|
13
15
|
// Template Interpolation
|
|
@@ -135,7 +137,9 @@ export function executeSpawnAgent(deliveryId, _organizationId, trigger) {
|
|
|
135
137
|
export async function executeCreateIssue(deliveryId, trigger, evalResult) {
|
|
136
138
|
const config = trigger.action_config;
|
|
137
139
|
const title = interpolateTemplate(config.title ?? `Guard "${evalResult?.guard_name ?? 'unknown'}" -- action required`, evalResult);
|
|
138
|
-
|
|
140
|
+
// {{condition_summary}} / {{observed_values}} expand to one entry per guard
|
|
141
|
+
// condition: bounded so the product API never refuses the issue for length.
|
|
142
|
+
const description = clipText(interpolateTemplate(config.description ?? null, evalResult), ISSUE_DESCRIPTION_BUDGET);
|
|
139
143
|
const issueType = config.issue_type ?? 'Bug';
|
|
140
144
|
const priority = config.priority ?? null;
|
|
141
145
|
const issueId = await createIssue(deliveryId, title, description, issueType, priority);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-executor.js","sourceRoot":"","sources":["../../src/guard/trigger-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger-executor.js","sourceRoot":"","sources":["../../src/guard/trigger-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,8 @@ export interface CandidateReworkDeps {
|
|
|
34
34
|
/** The Bug's title; carries the commit so one failure files one Bug. Pure. */
|
|
35
35
|
export declare function candidateReworkTitle(sha: string, cause: CandidateReworkCause): string;
|
|
36
36
|
/**
|
|
37
|
-
* The Bug's description
|
|
37
|
+
* The Bug's description, within ISSUE_DESCRIPTION_BUDGET whatever its lists and
|
|
38
|
+
* fields hold. Pure. A red candidate's names the CI-log read for THIS
|
|
38
39
|
* product's repo (`ciRepo`, from its origin remote) at the candidate commit --
|
|
39
40
|
* never the reader's syntelyos/telora default.
|
|
40
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-rework.d.ts","sourceRoot":"","sources":["../../src/merge/candidate-rework.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"candidate-rework.d.ts","sourceRoot":"","sources":["../../src/merge/candidate-rework.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EAEtB,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AActG,sDAAsD;AACtD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,uCAAuC;AACvC,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oHAAoH;AACpH,MAAM,MAAM,0BAA0B,GAAG,CACvC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,EACtC,SAAS,CAAC,EAAE,SAAS,EACrB,mBAAmB,CAAC,EAAE,SAAS,EAC/B,UAAU,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,KACxD,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,2GAA2G;AAC3G,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC5E,2GAA2G;IAC3G,0BAA0B,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC/E,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3E,qHAAqH;IACrH,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa,CAAC;IACnD,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5I,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxF,2GAA2G;IAC3G,oBAAoB,EAAE,0BAA0B,CAAC;CAClD;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAMrF;AAgFD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,sBAAsB,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,qBAAqB,GAAG,IAAI,EACpC,MAAM,EAAE,aAAa,GACpB,MAAM,CAsBR;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,uBAAuB,GAAG,IAAI,CAO7I;AAID,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIpG;AAuBD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,sBAAsB,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,qBAAqB,GAAG,IAAI,EACpC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAsBjC"}
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
* The outcome says what was APPLIED; only a re-open or already-open work counts
|
|
26
26
|
* as returning the focus to coding.
|
|
27
27
|
*
|
|
28
|
+
* The Bug's description is built under ISSUE_DESCRIPTION_BUDGET
|
|
29
|
+
* (types/issue-description-budget.ts): a conflict touching hundreds of long paths
|
|
30
|
+
* lists what fits and counts the rest, so the product API never refuses the Bug
|
|
31
|
+
* for length and the focus is never left done with its re-work unfiled.
|
|
32
|
+
*
|
|
28
33
|
* @module merge/candidate-rework
|
|
29
34
|
*/
|
|
30
35
|
import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
@@ -33,6 +38,7 @@ import { deliveryHoldsCompletion } from './completion-merge-gate.js';
|
|
|
33
38
|
import { candidateBranchForFocus } from '../ci/candidate-ref.js';
|
|
34
39
|
import { ciLogInstruction, ciLogInstructionText } from '../ci/product-ci-repo.js';
|
|
35
40
|
import { createLogger } from '../log/daemon-log.js';
|
|
41
|
+
import { ISSUE_DESCRIPTION_BUDGET, ISSUE_DESCRIPTION_FIELD_CAP, clipText, fullListCost, linesCost, renderBudgetedList, shareBudget, } from '../types/issue-description-budget.js';
|
|
36
42
|
const log = createLogger({ module: 'completion-merge' });
|
|
37
43
|
/** The Bug's title; carries the commit so one failure files one Bug. Pure. */
|
|
38
44
|
export function candidateReworkTitle(sha, cause) {
|
|
@@ -45,25 +51,53 @@ export function candidateReworkTitle(sha, cause) {
|
|
|
45
51
|
return `Integration candidate ${short} failed the completion suite`;
|
|
46
52
|
return `Integration candidate ${short} failed CI`;
|
|
47
53
|
}
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
/** One interpolated free-text field, clipped to its cap. Pure. */
|
|
55
|
+
const field = (text) => clipText(text, ISSUE_DESCRIPTION_FIELD_CAP);
|
|
56
|
+
/** A list's heading: how many items it has and how many this list omits -- zero included. Pure. */
|
|
57
|
+
function listHeading(l, omitted) {
|
|
58
|
+
return l.items.length > 0
|
|
59
|
+
? `${l.title}: ${l.items.length} total, ${omitted} omitted from this list:`
|
|
60
|
+
: `${l.title}: none read, 0 omitted from this list:`;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Each list under its heading, rendered into its fair share of `budget`
|
|
64
|
+
* characters: as many items as fit, then a line counting the ones omitted; an
|
|
65
|
+
* empty list says `empty`. Headings are priced at their widest (every item
|
|
66
|
+
* omitted), so the counts a list settles on always fit. Pure.
|
|
67
|
+
*/
|
|
68
|
+
function listedWithin(lists, budget) {
|
|
69
|
+
const placeholder = (l) => `- ${l.empty}`;
|
|
70
|
+
const headings = linesCost(lists.map((l) => listHeading(l, l.items.length)));
|
|
71
|
+
const needs = lists.map((l) => (l.items.length > 0 ? fullListCost(l.items) : placeholder(l).length + 1));
|
|
72
|
+
const shares = shareBudget(needs, budget - headings);
|
|
73
|
+
return lists.map((l, i) => {
|
|
74
|
+
if (l.items.length === 0)
|
|
75
|
+
return [listHeading(l, 0), placeholder(l)];
|
|
76
|
+
const list = renderBudgetedList(l.items, shares[i] ?? 0);
|
|
77
|
+
return [listHeading(l, list.omitted), ...list.lines];
|
|
78
|
+
});
|
|
50
79
|
}
|
|
51
80
|
function conflictDescription(subject, sha, conflict) {
|
|
52
|
-
const integration = conflict?.integrationBranch ?? 'integration';
|
|
53
|
-
|
|
54
|
-
|
|
81
|
+
const integration = field(conflict?.integrationBranch ?? 'integration');
|
|
82
|
+
const paths = conflict?.conflictPaths ?? [];
|
|
83
|
+
const commits = conflict?.missingCommits ?? [];
|
|
84
|
+
const intro = [
|
|
85
|
+
`Merging the ${integration} tip into the focus head ${field(sha)} CONFLICTS. The daemon aborted the merge: deciding a ` +
|
|
55
86
|
'conflict changes code after the review approved HEAD, and CI only judges reviewed trees.',
|
|
56
87
|
'',
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
`Commits on ${integration} the branch lacks:`,
|
|
61
|
-
...listed(conflict?.missingCommits ?? [], 'could not be read'),
|
|
88
|
+
];
|
|
89
|
+
const between = [''];
|
|
90
|
+
const outro = [
|
|
62
91
|
'',
|
|
63
|
-
`MERGE origin/${integration} into ${subject.branchName} (never rebase: the shas carry the Telora-Delivery ` +
|
|
92
|
+
`MERGE origin/${integration} into ${field(subject.branchName)} (never rebase: the shas carry the Telora-Delivery ` +
|
|
64
93
|
'trailers and the per-commit verify verdicts), resolve each path, and commit. The resolved head then passes ' +
|
|
65
94
|
'the gate and review before the completion merge is tried again.',
|
|
66
95
|
];
|
|
96
|
+
const [pathLines = [], commitLines = []] = listedWithin([
|
|
97
|
+
{ title: 'Conflicting paths', items: paths, empty: 'could not be read -- run the merge to see them' },
|
|
98
|
+
{ title: `Commits on ${integration} the branch lacks`, items: commits, empty: 'could not be read' },
|
|
99
|
+
], ISSUE_DESCRIPTION_BUDGET - linesCost([...intro, ...between, ...outro]));
|
|
100
|
+
return [...intro, ...pathLines, ...between, ...commitLines, ...outro];
|
|
67
101
|
}
|
|
68
102
|
function isConflict(detail) {
|
|
69
103
|
return detail !== null && 'conflictPaths' in detail;
|
|
@@ -73,17 +107,18 @@ function isLocalFailure(detail) {
|
|
|
73
107
|
}
|
|
74
108
|
function localFailureDescription(subject, sha, failure) {
|
|
75
109
|
return [
|
|
76
|
-
`The daemon ran the product's completion suite${failure ? ` (\`${failure.command}\`)` : ''} on the focus's integration ` +
|
|
77
|
-
`candidate ${sha} (the focus branch merged with the integration tip), and it FAILED` +
|
|
78
|
-
`${failure?.rationale ? `: ${failure.rationale}` : '.'}`,
|
|
110
|
+
`The daemon ran the product's completion suite${failure ? ` (\`${field(failure.command)}\`)` : ''} on the focus's integration ` +
|
|
111
|
+
`candidate ${field(sha)} (the focus branch merged with the integration tip), and it FAILED` +
|
|
112
|
+
`${failure?.rationale ? `: ${field(failure.rationale)}` : '.'}`,
|
|
79
113
|
'',
|
|
80
|
-
...(failure?.logPath ? [`Full log on the daemon host: ${failure.logPath}`, ''] : []),
|
|
81
|
-
`Integration does not move until a candidate passes. Reproduce it on ${subject.branchName} (the candidate is its ` +
|
|
114
|
+
...(failure?.logPath ? [`Full log on the daemon host: ${field(failure.logPath)}`, ''] : []),
|
|
115
|
+
`Integration does not move until a candidate passes. Reproduce it on ${field(subject.branchName)} (the candidate is its ` +
|
|
82
116
|
'HEAD), fix it, and commit; the next review and completion run judge the fix.',
|
|
83
117
|
];
|
|
84
118
|
}
|
|
85
119
|
/**
|
|
86
|
-
* The Bug's description
|
|
120
|
+
* The Bug's description, within ISSUE_DESCRIPTION_BUDGET whatever its lists and
|
|
121
|
+
* fields hold. Pure. A red candidate's names the CI-log read for THIS
|
|
87
122
|
* product's repo (`ciRepo`, from its origin remote) at the candidate commit --
|
|
88
123
|
* never the reader's syntelyos/telora default.
|
|
89
124
|
*/
|
|
@@ -94,7 +129,7 @@ export function candidateReworkDescription(subject, sha, cause, detail, ciRepo)
|
|
|
94
129
|
return localFailureDescription(subject, sha, isLocalFailure(detail) ? detail : null).join('\n');
|
|
95
130
|
if (cause === 'unreviewed_merge') {
|
|
96
131
|
return [
|
|
97
|
-
`The focus head ${sha} carries a merge after the approved head that decided a conflict (git's re-merge of it is ` +
|
|
132
|
+
`The focus head ${field(sha)} carries a merge after the approved head that decided a conflict (git's re-merge of it is ` +
|
|
98
133
|
'not empty), so its code was never reviewed and CI must not judge it as a candidate.',
|
|
99
134
|
'',
|
|
100
135
|
'Check the merge resolution on the branch, fix it if it is wrong, and commit; the head then passes the gate and ' +
|
|
@@ -102,12 +137,14 @@ export function candidateReworkDescription(subject, sha, cause, detail, ciRepo)
|
|
|
102
137
|
].join('\n');
|
|
103
138
|
}
|
|
104
139
|
return [
|
|
105
|
-
`CI's full suite FAILED on the focus's integration candidate ${sha} (the focus branch merged with the integration tip).`,
|
|
140
|
+
`CI's full suite FAILED on the focus's integration candidate ${field(sha)} (the focus branch merged with the integration tip).`,
|
|
106
141
|
'',
|
|
107
142
|
`Integration does not move until a candidate is green. Read the failing run first (its ref is ` +
|
|
108
|
-
`refs/heads/${candidateBranchForFocus(subject.focusId)}).
|
|
143
|
+
`refs/heads/${field(candidateBranchForFocus(subject.focusId))}). ` +
|
|
144
|
+
// Only a pathological origin URL makes the CI-log instruction long; it is clipped like any other field.
|
|
145
|
+
clipText(ciLogInstructionText(ciLogInstruction(ciRepo, sha), sha), 3 * ISSUE_DESCRIPTION_FIELD_CAP),
|
|
109
146
|
'',
|
|
110
|
-
`Then fix it on ${subject.branchName} and commit; the next review and candidate run judge the fix.`,
|
|
147
|
+
`Then fix it on ${field(subject.branchName)} and commit; the next review and candidate run judge the fix.`,
|
|
111
148
|
].join('\n');
|
|
112
149
|
}
|
|
113
150
|
/** Which done delivery owns the re-work. Pure. */
|