@telora/daemon 0.18.12 → 0.18.18
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 +5 -3
- package/dist/prd-controller.d.ts +93 -0
- package/dist/prd-controller.d.ts.map +1 -1
- package/dist/prd-controller.js +243 -6
- package/dist/prd-controller.js.map +1 -1
- package/dist/queries/prd.d.ts +24 -1
- package/dist/queries/prd.d.ts.map +1 -1
- package/dist/queries/prd.js +31 -2
- package/dist/queries/prd.js.map +1 -1
- package/package.json +2 -2
package/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commitSha": "
|
|
3
|
-
"builtAt": "2026-06-
|
|
2
|
+
"commitSha": "7c1d11cc",
|
|
3
|
+
"builtAt": "2026-06-20T14:46:44.850Z",
|
|
4
4
|
"expectedMigrations": [
|
|
5
5
|
"20250829113330_create_org_nodes_table.sql",
|
|
6
6
|
"20250829113402_fix_function_security_search_path.sql",
|
|
@@ -652,6 +652,8 @@
|
|
|
652
652
|
"20260616224152_get_product_sessions_overlapping.sql",
|
|
653
653
|
"20260616225633_add_issue_type_to_get_product_issue_transitions.sql",
|
|
654
654
|
"20260616233000_stable_order_get_product_issue_transitions.sql",
|
|
655
|
-
"20260617025932_instrument_audit_merge_sessions.sql"
|
|
655
|
+
"20260617025932_instrument_audit_merge_sessions.sql",
|
|
656
|
+
"20260620142701_create_endpoints.sql",
|
|
657
|
+
"20260620143544_create_endpoint_consumption_edges.sql"
|
|
656
658
|
]
|
|
657
659
|
}
|
package/dist/prd-controller.d.ts
CHANGED
|
@@ -31,6 +31,21 @@ import { type StewardDecision, type StewardJudgmentInput } from './prd-steward.j
|
|
|
31
31
|
export declare const STEWARD_CADENCE_MS: number;
|
|
32
32
|
/** Stable machine reason for the "active PRD frontier cannot be armed" signal. */
|
|
33
33
|
export declare const PRD_FRONTIER_BLOCKED_NO_ROLE = "prd_frontier_blocked_no_arm_role";
|
|
34
|
+
/**
|
|
35
|
+
* Stable machine reason for the "done-PRD completion-limbo sweep keeps failing"
|
|
36
|
+
* signal: the per-product one-shot sweep hit DONE_SWEEP_MAX_ATTEMPTS consecutive
|
|
37
|
+
* incomplete passes and was abandoned (product marked swept) so a persistently
|
|
38
|
+
* failing done PRD does not pin the product to a per-tick loadDonePrds re-list.
|
|
39
|
+
*/
|
|
40
|
+
export declare const PRD_DONE_SWEEP_ABANDONED = "prd_done_sweep_abandoned";
|
|
41
|
+
/**
|
|
42
|
+
* Consecutive incomplete done-sweep passes tolerated for a product before the
|
|
43
|
+
* sweep is abandoned and escalated. A merely-non-completable focus is skipped
|
|
44
|
+
* (not a failure), so this trips only on a genuine persistent error (unreadable
|
|
45
|
+
* PRT graph, finalize that keeps rejecting) -- bounding the retry instead of
|
|
46
|
+
* re-listing the growing done set every tick forever.
|
|
47
|
+
*/
|
|
48
|
+
export declare const DONE_SWEEP_MAX_ATTEMPTS = 3;
|
|
34
49
|
/**
|
|
35
50
|
* Resolve the arm role for a PRD from the PRD ROW -- the per-entity "Play"
|
|
36
51
|
* signal (prds.assigned_agent_role_id), or null if the PRD is paused.
|
|
@@ -89,6 +104,41 @@ export interface PrdControllerDeps {
|
|
|
89
104
|
* defaulted in `defaultDeps`.
|
|
90
105
|
*/
|
|
91
106
|
clearPendingSpawnDirective?: (focusId: string) => boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Process-lifetime set of focus ids the completion-limbo self-heal has already
|
|
109
|
+
* finalized, so an already-cleared overcome whose focus is complete-by-
|
|
110
|
+
* deliveries is converged exactly ONCE rather than re-finalized every tick.
|
|
111
|
+
* Optional: when absent the self-heal branch is disabled and the controller
|
|
112
|
+
* keeps its prior finalize-only-on-fresh-clear behavior (back-compat for
|
|
113
|
+
* callers/tests that do not exercise limbo recovery). Defaulted in defaultDeps.
|
|
114
|
+
*/
|
|
115
|
+
selfHealedFocusIds?: Set<string>;
|
|
116
|
+
/**
|
|
117
|
+
* Process-lifetime set of product ids whose one-shot done-PRD limbo sweep has
|
|
118
|
+
* completed, so loadDonePrds runs at most once per product per process.
|
|
119
|
+
* Optional: when absent the done-PRD sweep in runPrdControllerTickAll is
|
|
120
|
+
* skipped entirely (back-compat). Defaulted in defaultDeps.
|
|
121
|
+
*/
|
|
122
|
+
doneSweepDoneProducts?: Set<string>;
|
|
123
|
+
/**
|
|
124
|
+
* Per-product consecutive-incomplete-pass counter for the done-PRD sweep, so a
|
|
125
|
+
* persistent failure is abandoned + escalated after DONE_SWEEP_MAX_ATTEMPTS
|
|
126
|
+
* instead of re-listing every tick. Optional: when absent the sweep retries an
|
|
127
|
+
* incomplete pass indefinitely (prior behavior). Defaulted in defaultDeps.
|
|
128
|
+
*/
|
|
129
|
+
doneSweepAttempts?: Map<string, number>;
|
|
130
|
+
/**
|
|
131
|
+
* List a product's active PRDs (the controller's per-tick working set).
|
|
132
|
+
* Injected so runPrdControllerTickAll is testable without the API; defaults to
|
|
133
|
+
* the live loadActivePrds query in defaultDeps.
|
|
134
|
+
*/
|
|
135
|
+
loadActivePrds?: (productId: string) => Promise<Prd[]>;
|
|
136
|
+
/**
|
|
137
|
+
* List a product's done PRDs (feeds the one-shot done-PRD limbo sweep).
|
|
138
|
+
* Injected so the sweep is testable without the API; defaults to the live
|
|
139
|
+
* loadDonePrds query in defaultDeps.
|
|
140
|
+
*/
|
|
141
|
+
loadDonePrds?: (productId: string) => Promise<Prd[]>;
|
|
92
142
|
materializeOvercome: (nodeId: string) => Promise<{
|
|
93
143
|
focusId: string;
|
|
94
144
|
}>;
|
|
@@ -187,5 +237,48 @@ export interface PrdControllerTickAllResult {
|
|
|
187
237
|
/** PRDs escalated to a human for lack of a surviving path. */
|
|
188
238
|
prdsEscalated: number;
|
|
189
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Done-PRD completion-limbo self-heal for a SINGLE done PRD.
|
|
242
|
+
*
|
|
243
|
+
* The per-tick self-heal in runPrdControllerTick only sees a PRD while it is
|
|
244
|
+
* ACTIVE (loadActivePrds filters status='active'), so it converges stranded
|
|
245
|
+
* foci on or before the done-transition. A PRD that ALREADY reached done under
|
|
246
|
+
* an earlier daemon -- before that self-heal existed -- is never re-ticked, so
|
|
247
|
+
* any focus it materialized that is complete-by-deliveries yet still
|
|
248
|
+
* status=active stays stranded forever, needing a one-off operator data fix.
|
|
249
|
+
*
|
|
250
|
+
* This converges those without an operator: finalize ANY materialized
|
|
251
|
+
* (overcome-anchored) focus of the done PRD that is complete-by-deliveries but
|
|
252
|
+
* not yet terminal. Bounded to once per focus per process via selfHealedFocusIds
|
|
253
|
+
* (shared with the active-tick self-heal so the two paths never double-finalize
|
|
254
|
+
* the same focus). A focus that is NOT complete-by-deliveries (zero deliveries,
|
|
255
|
+
* or only non-done terminal deliveries) is simply skipped -- it was never
|
|
256
|
+
* finalizable. finalizeFrontierFocus is idempotent + overcome-anchor-scoped
|
|
257
|
+
* server-side, so the human-owned focus.status invariant stays intact for
|
|
258
|
+
* non-PRD foci. Disabled (no-op) when selfHealedFocusIds is absent, matching the
|
|
259
|
+
* active-tick self-heal's back-compat gate.
|
|
260
|
+
*/
|
|
261
|
+
export declare function selfHealDonePrdFoci(prd: Prd, deps: PrdControllerDeps): Promise<{
|
|
262
|
+
focusesFinalized: number;
|
|
263
|
+
}>;
|
|
264
|
+
/**
|
|
265
|
+
* One-shot done-PRD limbo sweep for a single product: list the product's done
|
|
266
|
+
* PRDs and self-heal each one's stranded complete-by-deliveries foci.
|
|
267
|
+
*
|
|
268
|
+
* Returns `complete=true` only when the list succeeded AND every per-PRD
|
|
269
|
+
* self-heal succeeded, so the caller records the product as swept and never
|
|
270
|
+
* re-lists. A list failure or any per-PRD failure returns `complete=false` so
|
|
271
|
+
* the next tick retries (the selfHealedFocusIds ledger keeps the retry from
|
|
272
|
+
* re-finalizing foci already converged). A focus merely skipped for not being
|
|
273
|
+
* complete-by-deliveries is NOT a failure -- it does not block completion, so a
|
|
274
|
+
* done PRD whose focus can never complete does not pin the product to perpetual
|
|
275
|
+
* re-reads.
|
|
276
|
+
*
|
|
277
|
+
* No-op (complete=true) when the sweep is disabled (no selfHealedFocusIds dep).
|
|
278
|
+
*/
|
|
279
|
+
export declare function runDonePrdSweepForProduct(productId: string, deps: PrdControllerDeps): Promise<{
|
|
280
|
+
focusesFinalized: number;
|
|
281
|
+
complete: boolean;
|
|
282
|
+
}>;
|
|
190
283
|
export declare function runPrdControllerTickAll(config: DaemonConfig, deps?: Partial<PrdControllerDeps>): Promise<PrdControllerTickAllResult>;
|
|
191
284
|
//# sourceMappingURL=prd-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd-controller.d.ts","sourceRoot":"","sources":["../src/prd-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"prd-controller.d.ts","sourceRoot":"","sources":["../src/prd-controller.ts"],"names":[],"mappings":"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"}
|
package/dist/prd-controller.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
18
18
|
import { configForProduct } from './config.js';
|
|
19
19
|
import { evaluateClearance, } from './prd-clearance-engine.js';
|
|
20
|
-
import { loadActivePrds, loadPrtGraph, materializeOvercome, armFocus, markNodeCleared, finalizeFrontierFocus, markPrdDone, loadPathways, commitPathway, } from './queries/prd.js';
|
|
20
|
+
import { loadActivePrds, loadDonePrds, loadPrtGraph, materializeOvercome, armFocus, markNodeCleared, finalizeFrontierFocus, markPrdDone, loadPathways, commitPathway, } from './queries/prd.js';
|
|
21
21
|
import { clearPendingSpawnDirective } from './directive/directive-queue.js';
|
|
22
22
|
import { getFocusDeliveries } from './queries/focuses.js';
|
|
23
23
|
import { hasOpenPrdEscalation } from './queries/issues.js';
|
|
@@ -35,6 +35,38 @@ import { runStewardJudgment, defaultStewardDeps, } from './prd-steward.js';
|
|
|
35
35
|
* deps for tests; defaults here.
|
|
36
36
|
*/
|
|
37
37
|
const noRoleEscalatedPrds = new Set();
|
|
38
|
+
/**
|
|
39
|
+
* Focus ids the completion-limbo self-heal has already finalized this process.
|
|
40
|
+
* Process-lifetime, same pattern as noRoleEscalatedPrds: bounds the self-heal to
|
|
41
|
+
* one finalize per focus so an already-cleared overcome whose focus is complete
|
|
42
|
+
* is converged exactly once, not re-finalized every tick. Injected via deps for
|
|
43
|
+
* tests; defaults here. A restart resets it, which is harmless -- the finalize
|
|
44
|
+
* crossing is idempotent server-side.
|
|
45
|
+
*/
|
|
46
|
+
const selfHealedFocusIdsDefault = new Set();
|
|
47
|
+
/**
|
|
48
|
+
* Product ids whose ONE-SHOT done-PRD limbo sweep has completed this process.
|
|
49
|
+
*
|
|
50
|
+
* The sweep only needs PRDs that were ALREADY done at process start: a PRD that
|
|
51
|
+
* transitions to done DURING this process is converged by the active-tick
|
|
52
|
+
* self-heal (it runs before markPrdDone and records its foci in
|
|
53
|
+
* selfHealedFocusIds), and a pre-existing done PRD has static state. So a single
|
|
54
|
+
* pass per product at startup suffices -- this guard makes loadDonePrds run
|
|
55
|
+
* once per product per process instead of every tick (no unbounded re-list of
|
|
56
|
+
* the monotonically growing done set, no perpetual re-read of a done PRD whose
|
|
57
|
+
* focus can never be complete-by-deliveries). Set only after a successful pass
|
|
58
|
+
* so a transient failure retries next tick. A restart resets it, which is
|
|
59
|
+
* harmless: finalizeFrontierFocus is idempotent + overcome-anchor-scoped
|
|
60
|
+
* server-side. Injected via deps for tests; defaults here.
|
|
61
|
+
*/
|
|
62
|
+
const doneSweepDoneProductsDefault = new Set();
|
|
63
|
+
/**
|
|
64
|
+
* Per-product count of consecutive INCOMPLETE done-sweep passes (productId ->
|
|
65
|
+
* attempts), so a persistent failure is bounded to DONE_SWEEP_MAX_ATTEMPTS
|
|
66
|
+
* before the sweep is abandoned + escalated rather than re-listing every tick.
|
|
67
|
+
* Cleared once the product sweeps cleanly. Process-lifetime; injected for tests.
|
|
68
|
+
*/
|
|
69
|
+
const doneSweepAttemptsDefault = new Map();
|
|
38
70
|
/**
|
|
39
71
|
* Per-PRD timestamp (ms) of the last steward cadence run. Process-lifetime.
|
|
40
72
|
* Injected in tests so cadence behavior is verifiable without real timers.
|
|
@@ -50,6 +82,21 @@ const stewardLastRunMs = new Map();
|
|
|
50
82
|
export const STEWARD_CADENCE_MS = 15 * 60 * 1000;
|
|
51
83
|
/** Stable machine reason for the "active PRD frontier cannot be armed" signal. */
|
|
52
84
|
export const PRD_FRONTIER_BLOCKED_NO_ROLE = 'prd_frontier_blocked_no_arm_role';
|
|
85
|
+
/**
|
|
86
|
+
* Stable machine reason for the "done-PRD completion-limbo sweep keeps failing"
|
|
87
|
+
* signal: the per-product one-shot sweep hit DONE_SWEEP_MAX_ATTEMPTS consecutive
|
|
88
|
+
* incomplete passes and was abandoned (product marked swept) so a persistently
|
|
89
|
+
* failing done PRD does not pin the product to a per-tick loadDonePrds re-list.
|
|
90
|
+
*/
|
|
91
|
+
export const PRD_DONE_SWEEP_ABANDONED = 'prd_done_sweep_abandoned';
|
|
92
|
+
/**
|
|
93
|
+
* Consecutive incomplete done-sweep passes tolerated for a product before the
|
|
94
|
+
* sweep is abandoned and escalated. A merely-non-completable focus is skipped
|
|
95
|
+
* (not a failure), so this trips only on a genuine persistent error (unreadable
|
|
96
|
+
* PRT graph, finalize that keeps rejecting) -- bounding the retry instead of
|
|
97
|
+
* re-listing the growing done set every tick forever.
|
|
98
|
+
*/
|
|
99
|
+
export const DONE_SWEEP_MAX_ATTEMPTS = 3;
|
|
53
100
|
/**
|
|
54
101
|
* Resolve the arm role for a PRD from the PRD ROW -- the per-entity "Play"
|
|
55
102
|
* signal (prds.assigned_agent_role_id), or null if the PRD is paused.
|
|
@@ -152,17 +199,35 @@ export async function runPrdControllerTick(prd, deps) {
|
|
|
152
199
|
// tick retries (finalizeFrontierFocus is idempotent). The edge action's
|
|
153
200
|
// overcome-anchor provenance gate scopes this to PRD-materialized foci,
|
|
154
201
|
// so the human-owned focus.status invariant stays intact.
|
|
155
|
-
//
|
|
156
|
-
// Known limitation: a focus already cleared in the DB before this fix
|
|
157
|
-
// (node.status==='cleared', pre-seeded above) is skipped here and will
|
|
158
|
-
// not auto-heal -- that is a one-off operator data fix, out of scope.
|
|
159
202
|
await deps.finalizeFrontierFocus?.(node.focusId);
|
|
160
203
|
deps.clearPendingSpawnDirective?.(node.focusId);
|
|
204
|
+
// Record the self-heal so the limbo branch below never re-finalizes a
|
|
205
|
+
// focus this tick already finalized via the fresh-clear path.
|
|
206
|
+
deps.selfHealedFocusIds?.add(node.focusId);
|
|
161
207
|
focusesFinalized += 1;
|
|
162
208
|
await deps.markNodeCleared(node.id);
|
|
163
209
|
node.status = 'cleared';
|
|
164
210
|
}
|
|
165
211
|
}
|
|
212
|
+
else if (deps.selfHealedFocusIds && !deps.selfHealedFocusIds.has(node.focusId)) {
|
|
213
|
+
// Completion-limbo self-heal. The overcome is ALREADY cleared (cleared on
|
|
214
|
+
// an earlier tick, or under a daemon that lacked/skipped the finalize
|
|
215
|
+
// crossing) yet its focus is complete-by-deliveries -- so the fresh-clear
|
|
216
|
+
// branch above never ran and the focus would otherwise sit status=active
|
|
217
|
+
// forever, needing a one-off operator data fix. Converge it now: finalize
|
|
218
|
+
// ANY materialized (overcome-anchored) focus that is complete-by-deliveries
|
|
219
|
+
// but not yet terminal, independent of when its overcome cleared.
|
|
220
|
+
//
|
|
221
|
+
// Bounded to once per focus per process via selfHealedFocusIds (the same
|
|
222
|
+
// process-lifetime Set pattern as noRoleEscalatedPrds). After a restart the
|
|
223
|
+
// Set resets, but finalizeFrontierFocus is idempotent + overcome-anchor-
|
|
224
|
+
// scoped server-side, so a redundant call on an already-complete focus is a
|
|
225
|
+
// harmless no-op and the human-owned focus.status invariant stays intact.
|
|
226
|
+
await deps.finalizeFrontierFocus?.(node.focusId);
|
|
227
|
+
deps.clearPendingSpawnDirective?.(node.focusId);
|
|
228
|
+
deps.selfHealedFocusIds.add(node.focusId);
|
|
229
|
+
focusesFinalized += 1;
|
|
230
|
+
}
|
|
166
231
|
for (const edge of edges) {
|
|
167
232
|
if (edge.edgeType !== 'overcomes' || edge.fromNodeId !== node.id) {
|
|
168
233
|
continue;
|
|
@@ -465,6 +530,14 @@ function defaultDeps(config) {
|
|
|
465
530
|
markNodeCleared: (nodeId) => markNodeCleared(nodeId),
|
|
466
531
|
finalizeFrontierFocus: (focusId) => finalizeFrontierFocus(focusId),
|
|
467
532
|
clearPendingSpawnDirective: (focusId) => clearPendingSpawnDirective(focusId),
|
|
533
|
+
// Process-lifetime self-heal ledger so completion-limbo foci finalize once.
|
|
534
|
+
selfHealedFocusIds: selfHealedFocusIdsDefault,
|
|
535
|
+
// Process-lifetime guard so the done-PRD sweep runs once per product.
|
|
536
|
+
doneSweepDoneProducts: doneSweepDoneProductsDefault,
|
|
537
|
+
// Process-lifetime per-product retry counter bounding a persistent failure.
|
|
538
|
+
doneSweepAttempts: doneSweepAttemptsDefault,
|
|
539
|
+
loadActivePrds: (productId) => loadActivePrds(productId),
|
|
540
|
+
loadDonePrds: (productId) => loadDonePrds(productId),
|
|
468
541
|
materializeOvercome: (nodeId) => materializeOvercome(nodeId),
|
|
469
542
|
armFocus: (focusId, agentRoleId) => armFocus(focusId, agentRoleId),
|
|
470
543
|
markPrdDone: (prdId) => markPrdDone(prdId),
|
|
@@ -494,6 +567,104 @@ function defaultDeps(config) {
|
|
|
494
567
|
stewardCadenceMs: STEWARD_CADENCE_MS,
|
|
495
568
|
};
|
|
496
569
|
}
|
|
570
|
+
/**
|
|
571
|
+
* Done-PRD completion-limbo self-heal for a SINGLE done PRD.
|
|
572
|
+
*
|
|
573
|
+
* The per-tick self-heal in runPrdControllerTick only sees a PRD while it is
|
|
574
|
+
* ACTIVE (loadActivePrds filters status='active'), so it converges stranded
|
|
575
|
+
* foci on or before the done-transition. A PRD that ALREADY reached done under
|
|
576
|
+
* an earlier daemon -- before that self-heal existed -- is never re-ticked, so
|
|
577
|
+
* any focus it materialized that is complete-by-deliveries yet still
|
|
578
|
+
* status=active stays stranded forever, needing a one-off operator data fix.
|
|
579
|
+
*
|
|
580
|
+
* This converges those without an operator: finalize ANY materialized
|
|
581
|
+
* (overcome-anchored) focus of the done PRD that is complete-by-deliveries but
|
|
582
|
+
* not yet terminal. Bounded to once per focus per process via selfHealedFocusIds
|
|
583
|
+
* (shared with the active-tick self-heal so the two paths never double-finalize
|
|
584
|
+
* the same focus). A focus that is NOT complete-by-deliveries (zero deliveries,
|
|
585
|
+
* or only non-done terminal deliveries) is simply skipped -- it was never
|
|
586
|
+
* finalizable. finalizeFrontierFocus is idempotent + overcome-anchor-scoped
|
|
587
|
+
* server-side, so the human-owned focus.status invariant stays intact for
|
|
588
|
+
* non-PRD foci. Disabled (no-op) when selfHealedFocusIds is absent, matching the
|
|
589
|
+
* active-tick self-heal's back-compat gate.
|
|
590
|
+
*/
|
|
591
|
+
export async function selfHealDonePrdFoci(prd, deps) {
|
|
592
|
+
if (!deps.selfHealedFocusIds) {
|
|
593
|
+
return { focusesFinalized: 0 };
|
|
594
|
+
}
|
|
595
|
+
const { nodes } = await deps.loadPrtGraph(prd.id);
|
|
596
|
+
const overcomeFocusIds = Array.from(new Set(nodes
|
|
597
|
+
.filter((n) => n.nodeType === 'overcome' && n.focusId !== null)
|
|
598
|
+
.map((n) => n.focusId)));
|
|
599
|
+
if (overcomeFocusIds.length === 0) {
|
|
600
|
+
return { focusesFinalized: 0 };
|
|
601
|
+
}
|
|
602
|
+
const focusDeliveries = [];
|
|
603
|
+
for (const fid of overcomeFocusIds) {
|
|
604
|
+
const ds = await deps.loadFocusDeliveries(fid);
|
|
605
|
+
focusDeliveries.push(...ds);
|
|
606
|
+
}
|
|
607
|
+
const completedFocusIds = computeCompletedFocusIds(focusDeliveries);
|
|
608
|
+
let focusesFinalized = 0;
|
|
609
|
+
for (const focusId of overcomeFocusIds) {
|
|
610
|
+
if (!completedFocusIds.has(focusId)) {
|
|
611
|
+
continue;
|
|
612
|
+
}
|
|
613
|
+
if (deps.selfHealedFocusIds.has(focusId)) {
|
|
614
|
+
continue;
|
|
615
|
+
}
|
|
616
|
+
await deps.finalizeFrontierFocus?.(focusId);
|
|
617
|
+
deps.clearPendingSpawnDirective?.(focusId);
|
|
618
|
+
deps.selfHealedFocusIds.add(focusId);
|
|
619
|
+
focusesFinalized += 1;
|
|
620
|
+
}
|
|
621
|
+
return { focusesFinalized };
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* One-shot done-PRD limbo sweep for a single product: list the product's done
|
|
625
|
+
* PRDs and self-heal each one's stranded complete-by-deliveries foci.
|
|
626
|
+
*
|
|
627
|
+
* Returns `complete=true` only when the list succeeded AND every per-PRD
|
|
628
|
+
* self-heal succeeded, so the caller records the product as swept and never
|
|
629
|
+
* re-lists. A list failure or any per-PRD failure returns `complete=false` so
|
|
630
|
+
* the next tick retries (the selfHealedFocusIds ledger keeps the retry from
|
|
631
|
+
* re-finalizing foci already converged). A focus merely skipped for not being
|
|
632
|
+
* complete-by-deliveries is NOT a failure -- it does not block completion, so a
|
|
633
|
+
* done PRD whose focus can never complete does not pin the product to perpetual
|
|
634
|
+
* re-reads.
|
|
635
|
+
*
|
|
636
|
+
* No-op (complete=true) when the sweep is disabled (no selfHealedFocusIds dep).
|
|
637
|
+
*/
|
|
638
|
+
export async function runDonePrdSweepForProduct(productId, deps) {
|
|
639
|
+
// Truly a no-op when the sweep is disabled: skip the list call entirely so the
|
|
640
|
+
// caller marks the product swept without touching the API. (selfHealDonePrdFoci
|
|
641
|
+
// would no-op per-PRD anyway, but listing first would be wasted work.)
|
|
642
|
+
if (!deps.selfHealedFocusIds) {
|
|
643
|
+
return { focusesFinalized: 0, complete: true };
|
|
644
|
+
}
|
|
645
|
+
const list = deps.loadDonePrds ?? loadDonePrds;
|
|
646
|
+
let donePrds;
|
|
647
|
+
try {
|
|
648
|
+
donePrds = await list(productId);
|
|
649
|
+
}
|
|
650
|
+
catch (err) {
|
|
651
|
+
console.warn(`[prd-controller] failed to load done PRDs for product ${productId}:`, err.message);
|
|
652
|
+
return { focusesFinalized: 0, complete: false };
|
|
653
|
+
}
|
|
654
|
+
let focusesFinalized = 0;
|
|
655
|
+
let complete = true;
|
|
656
|
+
for (const prd of donePrds) {
|
|
657
|
+
try {
|
|
658
|
+
const result = await selfHealDonePrdFoci(prd, deps);
|
|
659
|
+
focusesFinalized += result.focusesFinalized;
|
|
660
|
+
}
|
|
661
|
+
catch (err) {
|
|
662
|
+
complete = false;
|
|
663
|
+
console.warn(`[prd-controller] done-PRD self-heal failed for PRD ${prd.id}:`, err.message);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
return { focusesFinalized, complete };
|
|
667
|
+
}
|
|
497
668
|
export async function runPrdControllerTickAll(config, deps) {
|
|
498
669
|
const totals = {
|
|
499
670
|
obstaclesEvaluated: 0,
|
|
@@ -513,7 +684,7 @@ export async function runPrdControllerTickAll(config, deps) {
|
|
|
513
684
|
const merged = { ...defaultDeps(productConfig), ...deps };
|
|
514
685
|
let prds;
|
|
515
686
|
try {
|
|
516
|
-
prds = await loadActivePrds(product.id);
|
|
687
|
+
prds = await (merged.loadActivePrds ?? loadActivePrds)(product.id);
|
|
517
688
|
}
|
|
518
689
|
catch (err) {
|
|
519
690
|
console.warn(`[prd-controller] failed to load active PRDs for product ${product.id}:`, err.message);
|
|
@@ -548,6 +719,72 @@ export async function runPrdControllerTickAll(config, deps) {
|
|
|
548
719
|
console.warn(`[prd-controller] tick failed for PRD ${prd.id}:`, err.message);
|
|
549
720
|
}
|
|
550
721
|
}
|
|
722
|
+
// Done-PRD completion-limbo sweep -- ONE-SHOT per product per process. The
|
|
723
|
+
// per-tick self-heal above only runs over active PRDs; a PRD that reached
|
|
724
|
+
// done under an earlier daemon can leave foci stranded status=active with no
|
|
725
|
+
// path to convergence. Only PRDs that were ALREADY done at process start can
|
|
726
|
+
// be in that state -- a PRD that transitions to done during this process is
|
|
727
|
+
// converged by the active-tick self-heal -- so a single pass per product
|
|
728
|
+
// suffices. The doneSweepDoneProducts guard keeps loadDonePrds from
|
|
729
|
+
// re-listing the (monotonically growing) done set every tick; it is set
|
|
730
|
+
// after a fully successful pass (transient failures retry next tick) OR
|
|
731
|
+
// after DONE_SWEEP_MAX_ATTEMPTS consecutive incomplete passes (a persistent
|
|
732
|
+
// failure is abandoned + escalated rather than re-listed forever -- see
|
|
733
|
+
// below). Skipped entirely when the guard dep is absent (back-compat).
|
|
734
|
+
//
|
|
735
|
+
// Residual (narrow, accepted): a pre-existing done PRD whose focus is still
|
|
736
|
+
// finishing at the startup pass and completes later is not re-finalized until
|
|
737
|
+
// the next daemon restart -- finalize-to-complete only crosses via the PRD
|
|
738
|
+
// controller and a done PRD is never re-ticked. Bounded and self-correcting
|
|
739
|
+
// on restart; strictly better than an unbounded per-tick re-read.
|
|
740
|
+
if (merged.doneSweepDoneProducts && !merged.doneSweepDoneProducts.has(product.id)) {
|
|
741
|
+
const sweep = await runDonePrdSweepForProduct(product.id, merged);
|
|
742
|
+
totals.focusesFinalized += sweep.focusesFinalized;
|
|
743
|
+
if (sweep.complete) {
|
|
744
|
+
merged.doneSweepDoneProducts.add(product.id);
|
|
745
|
+
merged.doneSweepAttempts?.delete(product.id);
|
|
746
|
+
}
|
|
747
|
+
else if (merged.doneSweepAttempts) {
|
|
748
|
+
// A PERSISTENT (not transient) failure must not pin the product to a
|
|
749
|
+
// per-tick loadDonePrds re-list forever. Count consecutive incomplete
|
|
750
|
+
// passes; after DONE_SWEEP_MAX_ATTEMPTS, abandon the sweep (mark the
|
|
751
|
+
// product swept) and escalate ONCE -- loud-not-silent, so a stuck done
|
|
752
|
+
// PRD is surfaced for a human rather than retried invisibly. Healable
|
|
753
|
+
// PRDs listed alongside the failing one were already converged on the
|
|
754
|
+
// first pass (selfHealedFocusIds is idempotent), so abandoning loses no
|
|
755
|
+
// work; it only forgoes futile retries of the failing PRD.
|
|
756
|
+
const attempts = (merged.doneSweepAttempts.get(product.id) ?? 0) + 1;
|
|
757
|
+
if (attempts >= DONE_SWEEP_MAX_ATTEMPTS) {
|
|
758
|
+
merged.doneSweepDoneProducts.add(product.id);
|
|
759
|
+
merged.doneSweepAttempts.delete(product.id);
|
|
760
|
+
try {
|
|
761
|
+
await merged.fileEscalation({
|
|
762
|
+
organizationId: merged.organizationId,
|
|
763
|
+
productId: product.id,
|
|
764
|
+
reason: PRD_DONE_SWEEP_ABANDONED,
|
|
765
|
+
kind: PRD_DONE_SWEEP_ABANDONED,
|
|
766
|
+
details: {
|
|
767
|
+
attempts,
|
|
768
|
+
hint: `The done-PRD completion-limbo sweep failed ${attempts} ` +
|
|
769
|
+
'consecutive passes on this product and has been abandoned to ' +
|
|
770
|
+
'avoid a per-tick re-read. A done PRD likely has an unreadable ' +
|
|
771
|
+
'PRT graph or a focus whose finalize persistently rejects; see ' +
|
|
772
|
+
'the daemon log for the per-PRD failure, reconcile manually, ' +
|
|
773
|
+
'then restart the daemon to re-run the sweep.',
|
|
774
|
+
},
|
|
775
|
+
});
|
|
776
|
+
}
|
|
777
|
+
catch (err) {
|
|
778
|
+
// Escalation is best-effort; the product is already marked swept so
|
|
779
|
+
// we never spin on a failing escalation. Surface loudly in the log.
|
|
780
|
+
console.warn(`[prd-controller] failed to file ${PRD_DONE_SWEEP_ABANDONED} escalation for product ${product.id}:`, err.message);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
else {
|
|
784
|
+
merged.doneSweepAttempts.set(product.id, attempts);
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
}
|
|
551
788
|
}
|
|
552
789
|
return totals;
|
|
553
790
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd-controller.js","sourceRoot":"","sources":["../src/prd-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prd-controller.js","sourceRoot":"","sources":["../src/prd-controller.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/prd.d.ts
CHANGED
|
@@ -59,6 +59,17 @@ export interface Pathway {
|
|
|
59
59
|
}
|
|
60
60
|
/** List active PRDs for a product (prd_list returns { items }). */
|
|
61
61
|
export declare function loadActivePrds(productId: string): Promise<Prd[]>;
|
|
62
|
+
/**
|
|
63
|
+
* List done PRDs for a product (prd_list returns { items }).
|
|
64
|
+
*
|
|
65
|
+
* The controller's per-tick self-heal only runs over ACTIVE PRDs
|
|
66
|
+
* (loadActivePrds filters status='active'); a PRD that reached done under an
|
|
67
|
+
* earlier daemon -- before the completion-limbo self-heal existed -- can leave
|
|
68
|
+
* materialized foci stranded status=active with no path to convergence, because
|
|
69
|
+
* a done PRD is never re-ticked. This feeds the done-PRD limbo sweep so those
|
|
70
|
+
* pre-existing stranded foci still finalize without an operator data fix.
|
|
71
|
+
*/
|
|
72
|
+
export declare function loadDonePrds(productId: string): Promise<Prd[]>;
|
|
62
73
|
/**
|
|
63
74
|
* Load a PRD's full PRT graph. prd_get returns { prd: { ...prd, nodes, edges } }.
|
|
64
75
|
*/
|
|
@@ -89,7 +100,19 @@ export declare function markNodeCleared(nodeId: string): Promise<void>;
|
|
|
89
100
|
* invariant intact for human-authored foci. Idempotent server-side.
|
|
90
101
|
*/
|
|
91
102
|
export declare function finalizeFrontierFocus(focusId: string): Promise<void>;
|
|
92
|
-
/**
|
|
103
|
+
/**
|
|
104
|
+
* Mark a PRD done (prd_update param is prdId).
|
|
105
|
+
*
|
|
106
|
+
* Reaching done is a PROPAGATING transition: alongside status='done' it also
|
|
107
|
+
* nulls assignedAgentRoleId so the PRD "Play" reads off on a finished
|
|
108
|
+
* milestone -- making `done => Play off` an invariant, symmetric with how a
|
|
109
|
+
* completed focus clears its role. Without this the toggle keeps reading armed
|
|
110
|
+
* on a done PRD (functionally inert -- loadActivePrds filters status='active'
|
|
111
|
+
* so the controller never re-ticks it -- but the human-facing signal would lie
|
|
112
|
+
* about machine state). The server prd_update handler accepts
|
|
113
|
+
* assignedAgentRoleId=null as the pause/unarm write (mirrors the telora_prd
|
|
114
|
+
* tool's Play contract).
|
|
115
|
+
*/
|
|
93
116
|
export declare function markPrdDone(prdId: string): Promise<void>;
|
|
94
117
|
/**
|
|
95
118
|
* List the held pathways for a PRD (prd_pathway_list returns { items }).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/queries/prd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,GAAG,WAAW,CAAC;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,+EAA+E;AAC/E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd;AAgFD,mEAAmE;AACnE,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAMtE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAUjD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAStF;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlF;AAED,qEAAqE;AACrE,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED
|
|
1
|
+
{"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/queries/prd.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/prd.js
CHANGED
|
@@ -57,6 +57,23 @@ export async function loadActivePrds(productId) {
|
|
|
57
57
|
});
|
|
58
58
|
return (body.items ?? []).map(mapPrd);
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* List done PRDs for a product (prd_list returns { items }).
|
|
62
|
+
*
|
|
63
|
+
* The controller's per-tick self-heal only runs over ACTIVE PRDs
|
|
64
|
+
* (loadActivePrds filters status='active'); a PRD that reached done under an
|
|
65
|
+
* earlier daemon -- before the completion-limbo self-heal existed -- can leave
|
|
66
|
+
* materialized foci stranded status=active with no path to convergence, because
|
|
67
|
+
* a done PRD is never re-ticked. This feeds the done-PRD limbo sweep so those
|
|
68
|
+
* pre-existing stranded foci still finalize without an operator data fix.
|
|
69
|
+
*/
|
|
70
|
+
export async function loadDonePrds(productId) {
|
|
71
|
+
const body = await callApi('prd_list', {
|
|
72
|
+
productId,
|
|
73
|
+
status: 'done',
|
|
74
|
+
});
|
|
75
|
+
return (body.items ?? []).map(mapPrd);
|
|
76
|
+
}
|
|
60
77
|
/**
|
|
61
78
|
* Load a PRD's full PRT graph. prd_get returns { prd: { ...prd, nodes, edges } }.
|
|
62
79
|
*/
|
|
@@ -105,9 +122,21 @@ export async function markNodeCleared(nodeId) {
|
|
|
105
122
|
export async function finalizeFrontierFocus(focusId) {
|
|
106
123
|
await callApi('prd_frontier_focus_finalize', { focusId });
|
|
107
124
|
}
|
|
108
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* Mark a PRD done (prd_update param is prdId).
|
|
127
|
+
*
|
|
128
|
+
* Reaching done is a PROPAGATING transition: alongside status='done' it also
|
|
129
|
+
* nulls assignedAgentRoleId so the PRD "Play" reads off on a finished
|
|
130
|
+
* milestone -- making `done => Play off` an invariant, symmetric with how a
|
|
131
|
+
* completed focus clears its role. Without this the toggle keeps reading armed
|
|
132
|
+
* on a done PRD (functionally inert -- loadActivePrds filters status='active'
|
|
133
|
+
* so the controller never re-ticks it -- but the human-facing signal would lie
|
|
134
|
+
* about machine state). The server prd_update handler accepts
|
|
135
|
+
* assignedAgentRoleId=null as the pause/unarm write (mirrors the telora_prd
|
|
136
|
+
* tool's Play contract).
|
|
137
|
+
*/
|
|
109
138
|
export async function markPrdDone(prdId) {
|
|
110
|
-
await callApi('prd_update', { prdId, status: 'done' });
|
|
139
|
+
await callApi('prd_update', { prdId, status: 'done', assignedAgentRoleId: null });
|
|
111
140
|
}
|
|
112
141
|
/**
|
|
113
142
|
* List the held pathways for a PRD (prd_pathway_list returns { items }).
|
package/dist/queries/prd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/queries/prd.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/queries/prd.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telora/daemon",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.18",
|
|
4
4
|
"description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. See src/__tests__/ for test files.",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@telora/daemon-core": "^0.2.47",
|
|
40
|
-
"@telora/mcp-products": "^0.22.
|
|
40
|
+
"@telora/mcp-products": "^0.22.78",
|
|
41
41
|
"commander": "^14.0.3",
|
|
42
42
|
"yaml": "^2.4.0",
|
|
43
43
|
"zod": "^4.3.6"
|