@telora/daemon 0.21.82 → 0.21.98
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 +7 -3
- package/dist/ci/ci-status.d.ts +63 -11
- package/dist/ci/ci-status.d.ts.map +1 -1
- package/dist/ci/ci-status.js +94 -27
- package/dist/ci/ci-status.js.map +1 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +5 -3
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/review-exit-escalations.d.ts +36 -1
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +81 -0
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +4 -2
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +39 -48
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +10 -29
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +8 -2
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery/delivery-lifecycle.js +7 -13
- package/dist/delivery/delivery-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.d.ts +80 -66
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.js +57 -61
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
- package/dist/delivery/external-hold.d.ts +17 -0
- package/dist/delivery/external-hold.d.ts.map +1 -1
- package/dist/delivery/external-hold.js +30 -2
- package/dist/delivery/external-hold.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts +1 -2
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/operator-hold.js +1 -2
- package/dist/delivery/operator-hold.js.map +1 -1
- package/dist/delivery/wait-reachability.d.ts +149 -0
- package/dist/delivery/wait-reachability.d.ts.map +1 -0
- package/dist/delivery/wait-reachability.js +182 -0
- package/dist/delivery/wait-reachability.js.map +1 -0
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +10 -55
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +17 -1
- package/dist/focus/listener.js.map +1 -1
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +12 -3
- package/dist/git/merge.js.map +1 -1
- package/dist/queries/deliveries.d.ts +10 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +1 -0
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +10 -0
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +15 -0
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/schemas.d.ts +2 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +4 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/shell/heartbeat.d.ts +7 -0
- package/dist/shell/heartbeat.d.ts.map +1 -1
- package/dist/shell/heartbeat.js +3 -3
- package/dist/shell/heartbeat.js.map +1 -1
- package/dist/shell/unified-shell.js +1 -1
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/respawn-cycle-escalation.d.ts +41 -0
- package/dist/spawn/respawn-cycle-escalation.d.ts.map +1 -0
- package/dist/spawn/respawn-cycle-escalation.js +83 -0
- package/dist/spawn/respawn-cycle-escalation.js.map +1 -0
- package/dist/spawn/spawn-cooldown.d.ts +85 -2
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +73 -10
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/testing/fixtures/index.d.ts +64 -0
- package/dist/testing/fixtures/index.d.ts.map +1 -0
- package/dist/testing/fixtures/index.js +220 -0
- package/dist/testing/fixtures/index.js.map +1 -0
- package/dist/update/build-info.d.ts +1 -0
- package/dist/update/build-info.d.ts.map +1 -1
- package/dist/update/build-info.js +2 -2
- package/dist/update/build-info.js.map +1 -1
- package/dist/verify/stall-detector-config.d.ts +8 -0
- package/dist/verify/stall-detector-config.d.ts.map +1 -1
- package/dist/verify/stall-detector-config.js +40 -0
- package/dist/verify/stall-detector-config.js.map +1 -1
- package/dist/verify/stall-detectors.d.ts +37 -6
- package/dist/verify/stall-detectors.d.ts.map +1 -1
- package/dist/verify/stall-detectors.js +45 -9
- package/dist/verify/stall-detectors.js.map +1 -1
- package/dist/verify/verification-feedback.d.ts +3 -4
- package/dist/verify/verification-feedback.d.ts.map +1 -1
- package/dist/verify/verification-feedback.js +3 -12
- package/dist/verify/verification-feedback.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wait reachability: can the condition a wait is blocked on still fire?
|
|
3
|
+
*
|
|
4
|
+
* The daemon waits in several places (an external hold, a stall-cycle counter, a
|
|
5
|
+
* mid-focus handoff, a CI merge gate). Every one of them holds against some
|
|
6
|
+
* awaited condition, but none of them ask the one question that tells patience
|
|
7
|
+
* from a stall: CAN THE THING BEING WAITED FOR STILL ARRIVE? A wait blocked on
|
|
8
|
+
* another actor (that actor can still act) and a wait blocked on itself -- or on
|
|
9
|
+
* a recorded fact that never re-evaluates -- look identical from the outside.
|
|
10
|
+
*
|
|
11
|
+
* This module is the shared answer. It classifies an awaited condition by WHAT
|
|
12
|
+
* it is blocked on, and derives reachability from that:
|
|
13
|
+
* - other_actor -> REACHABLE (another actor can still satisfy it)
|
|
14
|
+
* - self -> UNREACHABLE (only the waiter can produce it -> deadlock)
|
|
15
|
+
* - static_fact -> UNREACHABLE (a recorded fact that never re-evaluates
|
|
16
|
+
* without new input, e.g. a CI result on an
|
|
17
|
+
* unchanged sha)
|
|
18
|
+
*
|
|
19
|
+
* It is PURE and dependency-free so the decision is unit-testable without a live
|
|
20
|
+
* daemon, and so the hold sites (next task) and the shared wait descriptor
|
|
21
|
+
* (delivery 2) can both reuse the same classification.
|
|
22
|
+
*
|
|
23
|
+
* Reference incident (2026-08-17, f1): the lead held on three triggers, none of
|
|
24
|
+
* which could fire -- integration advancing (blocked by the very guard failure it
|
|
25
|
+
* was waiting out -> `self`), a CI-red result "auto-resolving" (a recorded fact
|
|
26
|
+
* on a sha that never re-evaluates -> `static_fact`), and a re-verify only that
|
|
27
|
+
* lead could initiate (-> `self`). The named constructors below encode exactly
|
|
28
|
+
* those classes so a caller states its wait's KIND, not a raw blocker enum.
|
|
29
|
+
*
|
|
30
|
+
* This GENERALIZES the reachability notion external-hold.ts already carries: a
|
|
31
|
+
* hold with no machine-readable clearing reference ("will not self-clear") is a
|
|
32
|
+
* hold whose condition cannot fire. Cross-product request holds are the live
|
|
33
|
+
* `other_actor` case -- an OPEN request the peer product can still close.
|
|
34
|
+
*
|
|
35
|
+
* @module wait-reachability
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* What a wait is blocked on -- the single axis that decides reachability.
|
|
39
|
+
* - other_actor: another actor (a peer product, a CI runner, integration
|
|
40
|
+
* merge-back) can still act, so the wait can still be satisfied.
|
|
41
|
+
* - self: only the waiter itself could produce what it waits for -- waiting is
|
|
42
|
+
* a deadlock (e.g. a re-verify only the holding lead could initiate).
|
|
43
|
+
* - static_fact: a recorded fact that never re-evaluates without new input
|
|
44
|
+
* (e.g. a CI result on an unchanged sha; it cannot change without a NEW
|
|
45
|
+
* commit, so waiting for it to change cannot succeed).
|
|
46
|
+
*/
|
|
47
|
+
export type WaitBlocker = 'other_actor' | 'self' | 'static_fact';
|
|
48
|
+
/** A described awaited condition: what is being waited for, and what blocks it. */
|
|
49
|
+
export interface AwaitedCondition {
|
|
50
|
+
/** Human-readable statement of what is being waited for (for logs/records). */
|
|
51
|
+
condition: string;
|
|
52
|
+
/** What the wait is blocked on -- decides whether it can still fire. */
|
|
53
|
+
blockedOn: WaitBlocker;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The shared form EVERY place the daemon waits describes itself in: the awaited
|
|
57
|
+
* condition plus what it is blocked on. A `WaitDescriptor` IS an
|
|
58
|
+
* {@link AwaitedCondition} -- the alias names its role as the one shared wait
|
|
59
|
+
* vocabulary the independent waiting sites (external hold, CI merge gate, the
|
|
60
|
+
* no-progress counters, the handoff loop, the verify_failed cap) all speak, so a
|
|
61
|
+
* wait blocked on another actor is tellable from a wait blocked on itself
|
|
62
|
+
* WITHOUT reconstructing daemon state. Render it with {@link renderWait}.
|
|
63
|
+
*/
|
|
64
|
+
export type WaitDescriptor = AwaitedCondition;
|
|
65
|
+
/** The reachability verdict for an awaited condition. */
|
|
66
|
+
export interface WaitReachability {
|
|
67
|
+
/** True when the condition can still fire (blocked on another actor). */
|
|
68
|
+
reachable: boolean;
|
|
69
|
+
/** The blocker the verdict was derived from (echoed for logs/records). */
|
|
70
|
+
blockedOn: WaitBlocker;
|
|
71
|
+
/** Human-readable reason, suitable for a daemon log line or a hold record. */
|
|
72
|
+
reason: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Classify whether an awaited condition can still fire. Pure and total: the
|
|
76
|
+
* verdict depends ONLY on `blockedOn`, so the same condition always classifies
|
|
77
|
+
* the same way regardless of who asks.
|
|
78
|
+
*/
|
|
79
|
+
export declare function classifyWaitReachability(c: AwaitedCondition): WaitReachability;
|
|
80
|
+
/** Convenience predicate: can this awaited condition still fire? */
|
|
81
|
+
export declare function canStillFire(c: AwaitedCondition): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* A stable, machine-checkable marker naming what a wait is blocked on, so a
|
|
84
|
+
* daemon log line lets a reader tell a wait blocked on ANOTHER ACTOR (can still
|
|
85
|
+
* arrive) from one blocked on ITSELF or on a RECORDED FACT (cannot arrive)
|
|
86
|
+
* WITHOUT reconstructing daemon state from git + DB. The three markers are
|
|
87
|
+
* disjoint substrings by construction. This is the shared vocabulary the hold
|
|
88
|
+
* log sites emit; delivery 2 folds it into the single wait-descriptor render.
|
|
89
|
+
*/
|
|
90
|
+
export declare function describeWaitReachability(r: WaitReachability): string;
|
|
91
|
+
/**
|
|
92
|
+
* The ONE canonical render of a wait for the daemon log: states WHAT is awaited
|
|
93
|
+
* and WHETHER it can still arrive, on one line, so a stall is legible from the
|
|
94
|
+
* log alone. Every waiting site routes its wait through this single function, so
|
|
95
|
+
* a future change to how a wait reads -- or a new fact to surface about every
|
|
96
|
+
* wait -- is made here, once, rather than in each component that waits.
|
|
97
|
+
*/
|
|
98
|
+
export declare function renderWait(wait: WaitDescriptor): string;
|
|
99
|
+
/**
|
|
100
|
+
* A cross-product request the peer product can still close. REACHABLE: the peer
|
|
101
|
+
* is another actor and an OPEN request can still reach closure. Mirrors
|
|
102
|
+
* external-hold.ts `clearsWhenRequestsClosed`.
|
|
103
|
+
*/
|
|
104
|
+
export declare function crossProductRequestWait(requestIds: readonly string[]): AwaitedCondition;
|
|
105
|
+
/**
|
|
106
|
+
* A recorded CI-status result on an UNCHANGED sha. A `red` (or otherwise
|
|
107
|
+
* non-green) result at refs/ci-status/<sha> never re-evaluates for the same
|
|
108
|
+
* commit -- it can only change with a NEW commit -- so waiting for it to turn
|
|
109
|
+
* green is waiting on a static fact. UNREACHABLE.
|
|
110
|
+
*
|
|
111
|
+
* A `pending` run is NOT this: the CI runner is still an active other actor, so
|
|
112
|
+
* that is a `ciRunPendingWait` (reachable). Only a settled, non-green result on
|
|
113
|
+
* a sha that will not change is the static-fact trap.
|
|
114
|
+
*/
|
|
115
|
+
export declare function recordedCiResultWait(sha: string, ciStatus: string): AwaitedCondition;
|
|
116
|
+
/**
|
|
117
|
+
* A CI run still in progress for a sha. REACHABLE: the CI runner (another actor)
|
|
118
|
+
* has not finished, so a result can still arrive. Distinct from
|
|
119
|
+
* `recordedCiResultWait`, which is a SETTLED result on a sha that will not change.
|
|
120
|
+
*/
|
|
121
|
+
export declare function ciRunPendingWait(sha: string): AwaitedCondition;
|
|
122
|
+
/**
|
|
123
|
+
* A re-verify (or any re-run) that only the holding lead itself could initiate.
|
|
124
|
+
* UNREACHABLE: the awaited event can only be produced by the waiter, so waiting
|
|
125
|
+
* for it is a deadlock.
|
|
126
|
+
*/
|
|
127
|
+
export declare function selfInitiatedReverifyWait(detail: string): AwaitedCondition;
|
|
128
|
+
/**
|
|
129
|
+
* The daemon awaiting a team's own progress on its non-terminal deliveries.
|
|
130
|
+
* From the daemon's vantage the TEAM is another actor that can still act, so
|
|
131
|
+
* this is REACHABLE -- the daemon legitimately waits on it. The bound on how
|
|
132
|
+
* long it waits is the no-progress / scope-coverage guard (the stall counters),
|
|
133
|
+
* NOT unreachability: a stall here is "the actor has not acted for N cycles",
|
|
134
|
+
* surfaced by the guard tripping, not "the wait can never be satisfied".
|
|
135
|
+
*/
|
|
136
|
+
export declare function teamProgressWait(nonTerminalCount: number): AwaitedCondition;
|
|
137
|
+
/**
|
|
138
|
+
* An integration branch advancing (merge-back). REACHABLE by default -- merge-back
|
|
139
|
+
* is driven by another actor (the daemon merge loop). But when the advance is
|
|
140
|
+
* blocked by the very condition this wait is itself waiting out (a circular
|
|
141
|
+
* wait, as in the 2026-08-17 incident where merge-back skipped the lead's branch
|
|
142
|
+
* as active_team because the lead was still executing), it is UNREACHABLE:
|
|
143
|
+
* nothing external can clear it while the wait persists.
|
|
144
|
+
*/
|
|
145
|
+
export declare function integrationAdvanceWait(opts: {
|
|
146
|
+
circular: boolean;
|
|
147
|
+
detail: string;
|
|
148
|
+
}): AwaitedCondition;
|
|
149
|
+
//# sourceMappingURL=wait-reachability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-reachability.d.ts","sourceRoot":"","sources":["../../src/delivery/wait-reachability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEjE,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE9C,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,SAAS,EAAE,WAAW,CAAC;IACvB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAqB9E;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CASpE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEvD;AAOD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAKvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAKpF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAK9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAK1E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAK3E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAUpG"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wait reachability: can the condition a wait is blocked on still fire?
|
|
3
|
+
*
|
|
4
|
+
* The daemon waits in several places (an external hold, a stall-cycle counter, a
|
|
5
|
+
* mid-focus handoff, a CI merge gate). Every one of them holds against some
|
|
6
|
+
* awaited condition, but none of them ask the one question that tells patience
|
|
7
|
+
* from a stall: CAN THE THING BEING WAITED FOR STILL ARRIVE? A wait blocked on
|
|
8
|
+
* another actor (that actor can still act) and a wait blocked on itself -- or on
|
|
9
|
+
* a recorded fact that never re-evaluates -- look identical from the outside.
|
|
10
|
+
*
|
|
11
|
+
* This module is the shared answer. It classifies an awaited condition by WHAT
|
|
12
|
+
* it is blocked on, and derives reachability from that:
|
|
13
|
+
* - other_actor -> REACHABLE (another actor can still satisfy it)
|
|
14
|
+
* - self -> UNREACHABLE (only the waiter can produce it -> deadlock)
|
|
15
|
+
* - static_fact -> UNREACHABLE (a recorded fact that never re-evaluates
|
|
16
|
+
* without new input, e.g. a CI result on an
|
|
17
|
+
* unchanged sha)
|
|
18
|
+
*
|
|
19
|
+
* It is PURE and dependency-free so the decision is unit-testable without a live
|
|
20
|
+
* daemon, and so the hold sites (next task) and the shared wait descriptor
|
|
21
|
+
* (delivery 2) can both reuse the same classification.
|
|
22
|
+
*
|
|
23
|
+
* Reference incident (2026-08-17, f1): the lead held on three triggers, none of
|
|
24
|
+
* which could fire -- integration advancing (blocked by the very guard failure it
|
|
25
|
+
* was waiting out -> `self`), a CI-red result "auto-resolving" (a recorded fact
|
|
26
|
+
* on a sha that never re-evaluates -> `static_fact`), and a re-verify only that
|
|
27
|
+
* lead could initiate (-> `self`). The named constructors below encode exactly
|
|
28
|
+
* those classes so a caller states its wait's KIND, not a raw blocker enum.
|
|
29
|
+
*
|
|
30
|
+
* This GENERALIZES the reachability notion external-hold.ts already carries: a
|
|
31
|
+
* hold with no machine-readable clearing reference ("will not self-clear") is a
|
|
32
|
+
* hold whose condition cannot fire. Cross-product request holds are the live
|
|
33
|
+
* `other_actor` case -- an OPEN request the peer product can still close.
|
|
34
|
+
*
|
|
35
|
+
* @module wait-reachability
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* Classify whether an awaited condition can still fire. Pure and total: the
|
|
39
|
+
* verdict depends ONLY on `blockedOn`, so the same condition always classifies
|
|
40
|
+
* the same way regardless of who asks.
|
|
41
|
+
*/
|
|
42
|
+
export function classifyWaitReachability(c) {
|
|
43
|
+
switch (c.blockedOn) {
|
|
44
|
+
case 'other_actor':
|
|
45
|
+
return {
|
|
46
|
+
reachable: true,
|
|
47
|
+
blockedOn: 'other_actor',
|
|
48
|
+
reason: `blocked on another actor (can still arrive): ${c.condition}`,
|
|
49
|
+
};
|
|
50
|
+
case 'self':
|
|
51
|
+
return {
|
|
52
|
+
reachable: false,
|
|
53
|
+
blockedOn: 'self',
|
|
54
|
+
reason: `blocked on itself -- only the waiter could produce this, so it cannot arrive: ${c.condition}`,
|
|
55
|
+
};
|
|
56
|
+
case 'static_fact':
|
|
57
|
+
return {
|
|
58
|
+
reachable: false,
|
|
59
|
+
blockedOn: 'static_fact',
|
|
60
|
+
reason: `blocked on a recorded fact that never re-evaluates without new input, so it cannot arrive: ${c.condition}`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Convenience predicate: can this awaited condition still fire? */
|
|
65
|
+
export function canStillFire(c) {
|
|
66
|
+
return classifyWaitReachability(c).reachable;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A stable, machine-checkable marker naming what a wait is blocked on, so a
|
|
70
|
+
* daemon log line lets a reader tell a wait blocked on ANOTHER ACTOR (can still
|
|
71
|
+
* arrive) from one blocked on ITSELF or on a RECORDED FACT (cannot arrive)
|
|
72
|
+
* WITHOUT reconstructing daemon state from git + DB. The three markers are
|
|
73
|
+
* disjoint substrings by construction. This is the shared vocabulary the hold
|
|
74
|
+
* log sites emit; delivery 2 folds it into the single wait-descriptor render.
|
|
75
|
+
*/
|
|
76
|
+
export function describeWaitReachability(r) {
|
|
77
|
+
switch (r.blockedOn) {
|
|
78
|
+
case 'other_actor':
|
|
79
|
+
return 'wait: blocked on ANOTHER ACTOR (can still arrive)';
|
|
80
|
+
case 'self':
|
|
81
|
+
return 'wait: blocked on ITSELF (cannot arrive -- only the waiter could produce it)';
|
|
82
|
+
case 'static_fact':
|
|
83
|
+
return 'wait: blocked on a RECORDED FACT (cannot arrive without new input)';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The ONE canonical render of a wait for the daemon log: states WHAT is awaited
|
|
88
|
+
* and WHETHER it can still arrive, on one line, so a stall is legible from the
|
|
89
|
+
* log alone. Every waiting site routes its wait through this single function, so
|
|
90
|
+
* a future change to how a wait reads -- or a new fact to surface about every
|
|
91
|
+
* wait -- is made here, once, rather than in each component that waits.
|
|
92
|
+
*/
|
|
93
|
+
export function renderWait(wait) {
|
|
94
|
+
return `${wait.condition} [${describeWaitReachability(classifyWaitReachability(wait))}]`;
|
|
95
|
+
}
|
|
96
|
+
// ── Named constructors for the recognized wait kinds ────────────────────────
|
|
97
|
+
// Callers state their wait's KIND; the constructor sets the correct blocker so
|
|
98
|
+
// the incident's three unreachable classes cannot be mis-classified at a call
|
|
99
|
+
// site. These are the vocabulary delivery 2's shared descriptor builds on.
|
|
100
|
+
/**
|
|
101
|
+
* A cross-product request the peer product can still close. REACHABLE: the peer
|
|
102
|
+
* is another actor and an OPEN request can still reach closure. Mirrors
|
|
103
|
+
* external-hold.ts `clearsWhenRequestsClosed`.
|
|
104
|
+
*/
|
|
105
|
+
export function crossProductRequestWait(requestIds) {
|
|
106
|
+
return {
|
|
107
|
+
condition: `cross-product request(s) to close: ${requestIds.join(', ')}`,
|
|
108
|
+
blockedOn: 'other_actor',
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A recorded CI-status result on an UNCHANGED sha. A `red` (or otherwise
|
|
113
|
+
* non-green) result at refs/ci-status/<sha> never re-evaluates for the same
|
|
114
|
+
* commit -- it can only change with a NEW commit -- so waiting for it to turn
|
|
115
|
+
* green is waiting on a static fact. UNREACHABLE.
|
|
116
|
+
*
|
|
117
|
+
* A `pending` run is NOT this: the CI runner is still an active other actor, so
|
|
118
|
+
* that is a `ciRunPendingWait` (reachable). Only a settled, non-green result on
|
|
119
|
+
* a sha that will not change is the static-fact trap.
|
|
120
|
+
*/
|
|
121
|
+
export function recordedCiResultWait(sha, ciStatus) {
|
|
122
|
+
return {
|
|
123
|
+
condition: `CI status '${ciStatus}' recorded for unchanged sha ${sha} to change (needs a new commit)`,
|
|
124
|
+
blockedOn: 'static_fact',
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* A CI run still in progress for a sha. REACHABLE: the CI runner (another actor)
|
|
129
|
+
* has not finished, so a result can still arrive. Distinct from
|
|
130
|
+
* `recordedCiResultWait`, which is a SETTLED result on a sha that will not change.
|
|
131
|
+
*/
|
|
132
|
+
export function ciRunPendingWait(sha) {
|
|
133
|
+
return {
|
|
134
|
+
condition: `CI run to finish for sha ${sha}`,
|
|
135
|
+
blockedOn: 'other_actor',
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A re-verify (or any re-run) that only the holding lead itself could initiate.
|
|
140
|
+
* UNREACHABLE: the awaited event can only be produced by the waiter, so waiting
|
|
141
|
+
* for it is a deadlock.
|
|
142
|
+
*/
|
|
143
|
+
export function selfInitiatedReverifyWait(detail) {
|
|
144
|
+
return {
|
|
145
|
+
condition: `a re-verify only this lead could initiate: ${detail}`,
|
|
146
|
+
blockedOn: 'self',
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The daemon awaiting a team's own progress on its non-terminal deliveries.
|
|
151
|
+
* From the daemon's vantage the TEAM is another actor that can still act, so
|
|
152
|
+
* this is REACHABLE -- the daemon legitimately waits on it. The bound on how
|
|
153
|
+
* long it waits is the no-progress / scope-coverage guard (the stall counters),
|
|
154
|
+
* NOT unreachability: a stall here is "the actor has not acted for N cycles",
|
|
155
|
+
* surfaced by the guard tripping, not "the wait can never be satisfied".
|
|
156
|
+
*/
|
|
157
|
+
export function teamProgressWait(nonTerminalCount) {
|
|
158
|
+
return {
|
|
159
|
+
condition: `progress from the team on ${nonTerminalCount} non-terminal delivery(ies)`,
|
|
160
|
+
blockedOn: 'other_actor',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* An integration branch advancing (merge-back). REACHABLE by default -- merge-back
|
|
165
|
+
* is driven by another actor (the daemon merge loop). But when the advance is
|
|
166
|
+
* blocked by the very condition this wait is itself waiting out (a circular
|
|
167
|
+
* wait, as in the 2026-08-17 incident where merge-back skipped the lead's branch
|
|
168
|
+
* as active_team because the lead was still executing), it is UNREACHABLE:
|
|
169
|
+
* nothing external can clear it while the wait persists.
|
|
170
|
+
*/
|
|
171
|
+
export function integrationAdvanceWait(opts) {
|
|
172
|
+
return opts.circular
|
|
173
|
+
? {
|
|
174
|
+
condition: `integration to advance, blocked by the condition this wait is itself holding out: ${opts.detail}`,
|
|
175
|
+
blockedOn: 'self',
|
|
176
|
+
}
|
|
177
|
+
: {
|
|
178
|
+
condition: `integration to advance (merge-back): ${opts.detail}`,
|
|
179
|
+
blockedOn: 'other_actor',
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=wait-reachability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-reachability.js","sourceRoot":"","sources":["../../src/delivery/wait-reachability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener-auto-advance.d.ts","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA+E1J;;;GAGG;AACH,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAQhE;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,oCAAoC,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAElF;AAED;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,oCAAoC,CAAC,EAAE,OAAO,oCAAoC,CAAC;IACnF,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAC1E;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"listener-auto-advance.d.ts","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA+E1J;;;GAGG;AACH,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAQhE;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,oCAAoC,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAElF;AAED;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,oCAAoC,CAAC,EAAE,OAAO,oCAAoC,CAAC;IACnF,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAC1E;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CAsRf;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,IAAI,CAAC,CAoDf;AAED;;;;;;;;;;GAUG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAClD,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;CAC9C;AAED,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAuNf"}
|
|
@@ -12,12 +12,12 @@ import { getActiveTeams } from './focus-executor.js';
|
|
|
12
12
|
import { isStatusAgentActionable } from '../workflow/stage-classifier.js';
|
|
13
13
|
import { OPEN_ISSUE_STATUSES, filterWorkIssues, filterContextGroups } from '../shell/constants.js';
|
|
14
14
|
import { autoCloseContextGroups, sweepDeliveryCloseIssues } from '../delivery/delivery-close-actions.js';
|
|
15
|
-
import { resolveReconciledWrite } from '../delivery/delivery-reconciler-apply.js';
|
|
15
|
+
import { resolveReconciledWrite, workStartReconcileInput } from '../delivery/delivery-reconciler-apply.js';
|
|
16
16
|
import { isAuditPhaseFocus } from '../audit/audit-shape.js';
|
|
17
17
|
import { ensureWorktreeCommittedBeforeAdvance } from '../delivery/delivery-lifecycle.js';
|
|
18
18
|
import { createEscalation as defaultCreateEscalation, findOpenOperatorHoldForDelivery, getDeliveryIssues, updateIssueStatus } from '../queries/issues.js';
|
|
19
19
|
import { resolveOperatorHold, writeOperatorHoldGateState, describeOperatorHold } from '../delivery/operator-hold.js';
|
|
20
|
-
import { resolveExternalHold,
|
|
20
|
+
import { resolveExternalHold, makeDeferredRequestClosureEvaluator, describeExternalHold } from '../delivery/external-hold.js';
|
|
21
21
|
import { createLogger } from '../shell/log.js';
|
|
22
22
|
const log = createLogger({ module: 'listener' });
|
|
23
23
|
/**
|
|
@@ -174,12 +174,6 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
|
|
|
174
174
|
const requeueStatus = (delivery.executionStatus ?? '');
|
|
175
175
|
const requeueWorkflow = await _fetchEffectiveWorkflow(delivery.id);
|
|
176
176
|
const requeueDecision = resolveReconciledWrite({
|
|
177
|
-
site: 'auto-advance',
|
|
178
|
-
deliveryId: delivery.id,
|
|
179
|
-
deliveryName: delivery.name,
|
|
180
|
-
// legacyTarget = current status: pre-fix behavior was "no
|
|
181
|
-
// invoker, stay put", so any move is a [reconciler-divergence].
|
|
182
|
-
legacyTarget: requeueStatus,
|
|
183
177
|
input: {
|
|
184
178
|
currentStatus: requeueStatus,
|
|
185
179
|
issues: issues.map(i => ({ status: i.status, issueType: i.issueType })),
|
|
@@ -230,10 +224,6 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
|
|
|
230
224
|
let currentStatus = (delivery.executionStatus ?? '');
|
|
231
225
|
if (currentStatus === DELIVERY_STATUS_QUEUED) {
|
|
232
226
|
const decision = resolveReconciledWrite({
|
|
233
|
-
site: 'auto-advance',
|
|
234
|
-
deliveryId: delivery.id,
|
|
235
|
-
deliveryName: delivery.name,
|
|
236
|
-
legacyTarget: 'coding',
|
|
237
227
|
input: {
|
|
238
228
|
currentStatus,
|
|
239
229
|
issues: reconcilerIssues,
|
|
@@ -248,10 +238,6 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
|
|
|
248
238
|
currentStatus = decision.target;
|
|
249
239
|
}
|
|
250
240
|
const verifyDecision = resolveReconciledWrite({
|
|
251
|
-
site: 'auto-advance',
|
|
252
|
-
deliveryId: delivery.id,
|
|
253
|
-
deliveryName: delivery.name,
|
|
254
|
-
legacyTarget: 'verify',
|
|
255
241
|
input: {
|
|
256
242
|
currentStatus,
|
|
257
243
|
issues: reconcilerIssues,
|
|
@@ -264,16 +250,12 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
|
|
|
264
250
|
const verifyStage = workflow.stages.find(s => s.name === verifyDecision.target);
|
|
265
251
|
await _updateDeliveryStatus(delivery.id, verifyDecision.target, verifyStage?.id, undefined, undefined, { organizationId: config.organizationId, fromStatus: currentStatus });
|
|
266
252
|
currentStatus = verifyDecision.target;
|
|
267
|
-
// Discovery-only terminal step: verify -> done (no review window).
|
|
268
|
-
//
|
|
269
|
-
//
|
|
270
|
-
//
|
|
253
|
+
// Discovery-only terminal step: verify -> done (no review window). A
|
|
254
|
+
// completed discovery-only delivery walks one step further than a
|
|
255
|
+
// normal one, since its findings ARE the output and there is no review
|
|
256
|
+
// to await.
|
|
271
257
|
if (discoveryComplete && currentStatus === DELIVERY_STATUS_VERIFY) {
|
|
272
258
|
const doneDecision = resolveReconciledWrite({
|
|
273
|
-
site: 'auto-advance',
|
|
274
|
-
deliveryId: delivery.id,
|
|
275
|
-
deliveryName: delivery.name,
|
|
276
|
-
legacyTarget: DELIVERY_STATUS_VERIFY,
|
|
277
259
|
input: {
|
|
278
260
|
currentStatus,
|
|
279
261
|
issues: reconcilerIssues,
|
|
@@ -300,17 +282,7 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
|
|
|
300
282
|
// clears by re-reading its condition, not by a human resolve.
|
|
301
283
|
const externalHold = hold.held
|
|
302
284
|
? { held: false, hold: null, cleared: false }
|
|
303
|
-
: await resolveExternalHold(holdDeps, delivery.id, delivery.gateState,
|
|
304
|
-
// Deferred import: queries/requests.js -> queries/shared.js pulls a
|
|
305
|
-
// bare @telora/daemon-core value import that mis-resolves under the
|
|
306
|
-
// node:test module-mock loader. A dynamic import inside the reader
|
|
307
|
-
// keeps it out of load-time module graphs; it only resolves when a
|
|
308
|
-
// request-referenced hold is actually re-read (never in mocked tests
|
|
309
|
-
// that carry no such hold). Behavior is identical in production.
|
|
310
|
-
makeRequestClosureEvaluator(async (ids) => {
|
|
311
|
-
const { listOutgoingRequestStatuses } = await import('../queries/requests.js');
|
|
312
|
-
return listOutgoingRequestStatuses(config.productId, ids);
|
|
313
|
-
}));
|
|
285
|
+
: await resolveExternalHold(holdDeps, delivery.id, delivery.gateState, makeDeferredRequestClosureEvaluator(config.productId));
|
|
314
286
|
if (hold.held) {
|
|
315
287
|
await writeOperatorHoldGateState(holdDeps, delivery.id, hold);
|
|
316
288
|
log.info(`[listener] Delivery "${delivery.name}" NOT moved to done -- ${describeOperatorHold(hold)}. ` +
|
|
@@ -398,22 +370,9 @@ export async function checkDeliveryWorkStart(config, deps = {}) {
|
|
|
398
370
|
const issues = await _getDeliveryIssues(delivery.id);
|
|
399
371
|
const reconcilerIssues = issues.map(i => ({ status: i.status, issueType: i.issueType }));
|
|
400
372
|
// Single-writer reconciler decides: queued + In-Progress work -> coding;
|
|
401
|
-
// otherwise stays queued (no active work yet / scoping gate).
|
|
402
|
-
//
|
|
403
|
-
|
|
404
|
-
const decision = resolveReconciledWrite({
|
|
405
|
-
site: 'work-start',
|
|
406
|
-
deliveryId: delivery.id,
|
|
407
|
-
deliveryName: delivery.name,
|
|
408
|
-
legacyTarget: DELIVERY_STATUS_QUEUED,
|
|
409
|
-
input: {
|
|
410
|
-
currentStatus: DELIVERY_STATUS_QUEUED,
|
|
411
|
-
issues: reconcilerIssues,
|
|
412
|
-
gitState: { worktreeCommitted: true },
|
|
413
|
-
guardVerdict: null,
|
|
414
|
-
reviewState: null,
|
|
415
|
-
},
|
|
416
|
-
});
|
|
373
|
+
// otherwise stays queued (no active work yet / scoping gate). Shared
|
|
374
|
+
// work-start input (workStartReconcileInput) with the completion path.
|
|
375
|
+
const decision = resolveReconciledWrite({ input: workStartReconcileInput(reconcilerIssues) });
|
|
417
376
|
if (decision.target === DELIVERY_STATUS_QUEUED)
|
|
418
377
|
continue; // no active work yet
|
|
419
378
|
const workflow = await _fetchEffectiveWorkflow(delivery.id);
|
|
@@ -502,10 +461,6 @@ export async function checkVerifyDeliveriesForOpenIssues(config, deps = {}) {
|
|
|
502
461
|
// (verify + open work -> verify_failed) ahead of any review signal.
|
|
503
462
|
const workflow = await _fetchEffectiveWorkflow(delivery.id);
|
|
504
463
|
const decision = resolveReconciledWrite({
|
|
505
|
-
site: 'verify-open-issues',
|
|
506
|
-
deliveryId: delivery.id,
|
|
507
|
-
deliveryName: delivery.name,
|
|
508
|
-
legacyTarget: 'verify_failed',
|
|
509
464
|
input: {
|
|
510
465
|
currentStatus: 'verify',
|
|
511
466
|
issues: issues.map(i => ({ status: i.status, issueType: i.issueType })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener-auto-advance.js","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listener-auto-advance.js","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAiBjE,OAAO,EAAuB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,CAAC;AAiCxB;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAiBjE,OAAO,EAAuB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,CAAC;AAiCxB;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAmCD;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA0F5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAMvE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgLzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAsNhE;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmIxD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlD"}
|
package/dist/focus/listener.js
CHANGED
|
@@ -75,8 +75,9 @@ let lastRolesRefreshAt = 0;
|
|
|
75
75
|
let healthCheckConsecutiveFailures = 0;
|
|
76
76
|
const HEALTH_CHECK_MAX_SKIP_CYCLES = 10; // max backoff = 10 * 30s = 5 minutes
|
|
77
77
|
// Spawn cooldown imported from dedicated module (avoids circular deps)
|
|
78
|
-
import { isInSpawnCooldown } from '../spawn/spawn-cooldown.js';
|
|
78
|
+
import { isInSpawnCooldown, isRespawnCycleTerminated } from '../spawn/spawn-cooldown.js';
|
|
79
79
|
import { shouldSkipPendingSpawn, recordPendingSpawnAttempt } from '../spawn/index.js';
|
|
80
|
+
import { fileRespawnCycleExhaustedEscalation } from '../spawn/respawn-cycle-escalation.js';
|
|
80
81
|
import { createLogger } from '../shell/log.js';
|
|
81
82
|
const log = createLogger({ module: 'listener' });
|
|
82
83
|
/**
|
|
@@ -570,6 +571,21 @@ export async function processPendingSpawnFocuses() {
|
|
|
570
571
|
// gate the directive re-fires every poll and the daemon respawns an
|
|
571
572
|
// immediately-idle team every cycle (the reinforcing auto-review/idle-spawn
|
|
572
573
|
// loop). See pending-spawn-guard.ts.
|
|
574
|
+
// Terminated respawn cycle: the spawn/teardown loop for this focus has
|
|
575
|
+
// exhausted its total-duration/count bounds (spawn-cooldown.ts). Respawns are
|
|
576
|
+
// halted permanently (isInSpawnCooldown returns true indefinitely), so the
|
|
577
|
+
// spawn is skipped either way -- but a silent halt is a strand. File the
|
|
578
|
+
// one-per-focus respawn_cycle_exhausted escalation (idempotent, so filing on
|
|
579
|
+
// each poll while terminated yields a single open row) so the terminated
|
|
580
|
+
// cycle is a legible state a human can see and clear.
|
|
581
|
+
if (isRespawnCycleTerminated(focus.focus_id)) {
|
|
582
|
+
await fileRespawnCycleExhaustedEscalation({
|
|
583
|
+
organizationId: config.organizationId,
|
|
584
|
+
focusId: focus.focus_id,
|
|
585
|
+
focusName: focus.focus_name,
|
|
586
|
+
});
|
|
587
|
+
continue;
|
|
588
|
+
}
|
|
573
589
|
if (shouldSkipPendingSpawn(focus.focus_id)) {
|
|
574
590
|
continue;
|
|
575
591
|
}
|