@telora/daemon 0.22.91 → 0.22.97

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.
Files changed (120) hide show
  1. package/build-info.json +6 -3
  2. package/dist/completion/event-phases.js +5 -5
  3. package/dist/completion/event-phases.js.map +1 -1
  4. package/dist/completion/event.d.ts +7 -0
  5. package/dist/completion/event.d.ts.map +1 -1
  6. package/dist/completion/event.js.map +1 -1
  7. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  8. package/dist/completion/review-exit-phase.js +2 -1
  9. package/dist/completion/review-exit-phase.js.map +1 -1
  10. package/dist/delivery/external-hold.js +1 -1
  11. package/dist/delivery/external-hold.js.map +1 -1
  12. package/dist/delivery/operator-hold.d.ts +14 -0
  13. package/dist/delivery/operator-hold.d.ts.map +1 -1
  14. package/dist/delivery/operator-hold.js +31 -1
  15. package/dist/delivery/operator-hold.js.map +1 -1
  16. package/dist/directive/directive-dispatch.js +2 -2
  17. package/dist/directive/directive-dispatch.js.map +1 -1
  18. package/dist/directive/directive-executor.d.ts.map +1 -1
  19. package/dist/directive/directive-executor.js +2 -1
  20. package/dist/directive/directive-executor.js.map +1 -1
  21. package/dist/directive/directive-verify-hold-gate.d.ts +32 -8
  22. package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -1
  23. package/dist/directive/directive-verify-hold-gate.js +20 -21
  24. package/dist/directive/directive-verify-hold-gate.js.map +1 -1
  25. package/dist/focus/focus-engine.d.ts.map +1 -1
  26. package/dist/focus/focus-engine.js +6 -9
  27. package/dist/focus/focus-engine.js.map +1 -1
  28. package/dist/focus/listener-spawn.d.ts +31 -0
  29. package/dist/focus/listener-spawn.d.ts.map +1 -1
  30. package/dist/focus/listener-spawn.js +44 -22
  31. package/dist/focus/listener-spawn.js.map +1 -1
  32. package/dist/focus/listener.d.ts.map +1 -1
  33. package/dist/focus/listener.js +4 -0
  34. package/dist/focus/listener.js.map +1 -1
  35. package/dist/focus/team-actionable-work.d.ts +76 -20
  36. package/dist/focus/team-actionable-work.d.ts.map +1 -1
  37. package/dist/focus/team-actionable-work.js +85 -20
  38. package/dist/focus/team-actionable-work.js.map +1 -1
  39. package/dist/nexus/incoming.js +1 -1
  40. package/dist/nexus/incoming.js.map +1 -1
  41. package/dist/nexus/pending-returns.d.ts +124 -0
  42. package/dist/nexus/pending-returns.d.ts.map +1 -0
  43. package/dist/nexus/pending-returns.js +194 -0
  44. package/dist/nexus/pending-returns.js.map +1 -0
  45. package/dist/nexus/return-routing.d.ts +89 -0
  46. package/dist/nexus/return-routing.d.ts.map +1 -0
  47. package/dist/nexus/return-routing.js +148 -0
  48. package/dist/nexus/return-routing.js.map +1 -0
  49. package/dist/nexus/return.d.ts +66 -89
  50. package/dist/nexus/return.d.ts.map +1 -1
  51. package/dist/nexus/return.js +116 -279
  52. package/dist/nexus/return.js.map +1 -1
  53. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  54. package/dist/prompt/focus-prompt-builder.js +1 -0
  55. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  56. package/dist/queries/delivery-gate-state.d.ts +23 -0
  57. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  58. package/dist/queries/delivery-gate-state.js +31 -4
  59. package/dist/queries/delivery-gate-state.js.map +1 -1
  60. package/dist/queries/focus-discovery.d.ts +7 -1
  61. package/dist/queries/focus-discovery.d.ts.map +1 -1
  62. package/dist/queries/focus-discovery.js +9 -3
  63. package/dist/queries/focus-discovery.js.map +1 -1
  64. package/dist/queries/requests.d.ts +51 -3
  65. package/dist/queries/requests.d.ts.map +1 -1
  66. package/dist/queries/requests.js +63 -10
  67. package/dist/queries/requests.js.map +1 -1
  68. package/dist/queries/shared.js +1 -1
  69. package/dist/queries/verification.d.ts.map +1 -1
  70. package/dist/queries/verification.js +1 -0
  71. package/dist/queries/verification.js.map +1 -1
  72. package/dist/spawn/prompt-assembly.js +1 -1
  73. package/dist/spawn/prompt-assembly.js.map +1 -1
  74. package/dist/spawn/respawn-cycle-escalation.d.ts.map +1 -1
  75. package/dist/spawn/respawn-cycle-escalation.js +11 -3
  76. package/dist/spawn/respawn-cycle-escalation.js.map +1 -1
  77. package/dist/spawn/review-hold-park.d.ts +31 -0
  78. package/dist/spawn/review-hold-park.d.ts.map +1 -0
  79. package/dist/spawn/review-hold-park.js +120 -0
  80. package/dist/spawn/review-hold-park.js.map +1 -0
  81. package/dist/spawn/spawn-cooldown.d.ts +27 -4
  82. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  83. package/dist/spawn/spawn-cooldown.js +88 -3
  84. package/dist/spawn/spawn-cooldown.js.map +1 -1
  85. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  86. package/dist/spawn/spawn-decision.js +6 -0
  87. package/dist/spawn/spawn-decision.js.map +1 -1
  88. package/dist/types/index.js +1 -1
  89. package/dist/update/auto-update-idle.d.ts.map +1 -1
  90. package/dist/update/auto-update-idle.js +2 -1
  91. package/dist/update/auto-update-idle.js.map +1 -1
  92. package/dist/verify/failure-signature.d.ts.map +1 -1
  93. package/dist/verify/failure-signature.js +1 -0
  94. package/dist/verify/failure-signature.js.map +1 -1
  95. package/dist/verify/verification-checkout.d.ts +58 -0
  96. package/dist/verify/verification-checkout.d.ts.map +1 -0
  97. package/dist/verify/verification-checkout.js +266 -0
  98. package/dist/verify/verification-checkout.js.map +1 -0
  99. package/dist/verify/verification-default-on.d.ts +27 -3
  100. package/dist/verify/verification-default-on.d.ts.map +1 -1
  101. package/dist/verify/verification-default-on.js +98 -5
  102. package/dist/verify/verification-default-on.js.map +1 -1
  103. package/dist/verify/verification-deps.d.ts +11 -0
  104. package/dist/verify/verification-deps.d.ts.map +1 -1
  105. package/dist/verify/verification-deterministic.d.ts +22 -1
  106. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  107. package/dist/verify/verification-deterministic.js +6 -7
  108. package/dist/verify/verification-deterministic.js.map +1 -1
  109. package/dist/verify/verification-engine.d.ts.map +1 -1
  110. package/dist/verify/verification-engine.js +10 -8
  111. package/dist/verify/verification-engine.js.map +1 -1
  112. package/dist/verify/verification-feedback.d.ts +3 -0
  113. package/dist/verify/verification-feedback.d.ts.map +1 -1
  114. package/dist/verify/verification-feedback.js +5 -2
  115. package/dist/verify/verification-feedback.js.map +1 -1
  116. package/dist/worktree/verify-interlock.d.ts +9 -1
  117. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  118. package/dist/worktree/verify-interlock.js +40 -3
  119. package/dist/worktree/verify-interlock.js.map +1 -1
  120. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/focus/listener.ts"],"names":[],"mappings":"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"}
@@ -14,17 +14,42 @@ export interface FocusHoldDeps {
14
14
  /**
15
15
  * Whether the focus's worktree is currently held by an in-flight verify command.
16
16
  *
17
- * The daemon runs a product's configured verify command inside the focus
18
- * worktree and commits from that same worktree; the verify interlock
17
+ * The daemon runs a product's configured verify command for a delivery of this
18
+ * focus and commits from the focus worktree; the verify interlock
19
19
  * (worktree/verify-interlock.ts) serialises the two. While the hold is held the
20
20
  * daemon defers the coding->verify advance (delivery/delivery-advance-block.ts)
21
- * rather than snapshot a mid-verify tree, so the delivery sits non-terminal with
22
- * nothing a freshly-spawned coding team could commit or advance.
21
+ * rather than snapshot a mid-verify tree.
23
22
  *
24
23
  * A focus with no registered worktree is not held: no verify can run without a
25
24
  * worktree to run it in.
26
25
  */
27
26
  export declare function focusUnderVerifyHold(focusId: string, deps?: FocusHoldDeps): boolean;
27
+ /** The delivery slice the outside-hold work fact reads (structural). */
28
+ export interface HoldWorkDelivery {
29
+ id: string;
30
+ executionStatus?: string | null;
31
+ }
32
+ /** The issue slice the outside-hold work fact reads (structural). */
33
+ export interface HoldWorkIssue {
34
+ deliveryId: string;
35
+ status: string;
36
+ }
37
+ /**
38
+ * Whether a delivery OUTSIDE the verified set carries open work a coding team
39
+ * could act on: an agent-actionable delivery (queued / coding / verify_failed)
40
+ * that is not being judged by an in-flight verify, holding an open issue. The
41
+ * same "open issue on an agent-actionable delivery" fact the team-exit reads
42
+ * (computeCompletionFacts postHasActionableOpen), minus the held deliveries.
43
+ *
44
+ * A coding delivery whose advance the hold defers has every issue terminal (that
45
+ * is why it is advancing), so it contributes nothing -- the 2026-09-06 storm
46
+ * shape stays "no actionable work".
47
+ */
48
+ export declare function hasTeamWorkOutsideVerify(input: {
49
+ deliveries: readonly HoldWorkDelivery[];
50
+ issues: readonly HoldWorkIssue[];
51
+ heldDeliveryIds: ReadonlySet<string>;
52
+ }): boolean;
28
53
  /** Facts the actionable-work question is decided from. */
29
54
  export interface TeamActionableWorkInput {
30
55
  /**
@@ -36,12 +61,18 @@ export interface TeamActionableWorkInput {
36
61
  */
37
62
  hasUnheldActionableWork: boolean;
38
63
  /**
39
- * Whether a verify command is currently running in the focus worktree
64
+ * Whether a verify command is currently running for a delivery of this focus
40
65
  * (focusUnderVerifyHold). While held, the daemon is deferring this focus's
41
- * advance, so there is nothing a coding team could commit or advance -- it
42
- * would run one turn and terminate.
66
+ * advance.
43
67
  */
44
68
  underVerifyHold: boolean;
69
+ /**
70
+ * Under a hold: whether a delivery OUTSIDE the verified set still carries open
71
+ * work ({@link hasTeamWorkOutsideVerify}). Absent reads as false -- a caller
72
+ * that cannot see sibling work keeps the storm-safe "held = no work" verdict.
73
+ * Ignored when there is no hold.
74
+ */
75
+ workOutsideVerifyHold?: boolean;
45
76
  /**
46
77
  * Whether the daemon has sent THIS team a merge-conflict resolution request it
47
78
  * has not yet answered (teamState.resolvingMergeConflict, set in
@@ -58,23 +89,30 @@ export interface TeamActionableWorkInput {
58
89
  * The one predicate. An outstanding merge-conflict resolution request the daemon
59
90
  * sent this team IS actionable work regardless of delivery state -- it takes
60
91
  * precedence so a team finishing its last delivery is never torn down mid-merge.
61
- * Otherwise a focus held by an in-flight verify has NO team-actionable work
62
- * regardless of its delivery state, and failing both, the caller's own
63
- * actionable-work fact stands. Pure, so both the spawn gate and the team-exit
64
- * decision read the identical answer for a given state.
92
+ * Otherwise, under a verify hold the focus is actionable only when work exists
93
+ * OUTSIDE the delivery being verified (never more than the caller's own fact);
94
+ * with no hold, the caller's own actionable-work fact stands. Pure, so every
95
+ * controller reads the identical answer for a given state.
65
96
  */
66
97
  export declare function focusHasTeamActionableWork(input: TeamActionableWorkInput): boolean;
67
98
  /**
68
99
  * Resolve the verify hold for a focus whose worktree path is already known, and
69
100
  * fold it into the shared predicate in one step. Convenience for the team-exit
70
101
  * fact-gathering (computeCompletionFacts), which has already resolved the
71
- * worktree path; a null path means no worktree -> no hold. The isWorktreeUnderVerify
72
- * dep is passed in so the caller keeps its own injection seam.
102
+ * worktree path and fetched the focus's deliveries + issues; a null path means no
103
+ * worktree -> no hold. The isWorktreeUnderVerify dep is passed in so the caller
104
+ * keeps its own injection seam.
73
105
  */
74
106
  export declare function resolveTeamActionableWork(args: {
75
107
  focusWorktreePath: string | null;
76
108
  hasUnheldActionableWork: boolean;
77
109
  isWorktreeUnderVerify: (worktreePath: string) => boolean;
110
+ /** The focus's deliveries + issues, read under a hold to find work outside the verified set. */
111
+ outsideHold?: {
112
+ deliveries: readonly HoldWorkDelivery[];
113
+ issues: readonly HoldWorkIssue[];
114
+ verifyHeldDeliveryIds?: (worktreePath: string) => ReadonlySet<string>;
115
+ };
78
116
  /** See TeamActionableWorkInput.mergeResolutionOutstanding. Optional; defaults
79
117
  * to false so callers that do not track it are unaffected. */
80
118
  mergeResolutionOutstanding?: boolean;
@@ -82,6 +120,25 @@ export declare function resolveTeamActionableWork(args: {
82
120
  underVerifyHold: boolean;
83
121
  teamHasActionableWork: boolean;
84
122
  };
123
+ /** The hold facts a spawn-producing controller feeds the shared predicate. */
124
+ export interface VerifyHoldFacts {
125
+ underVerifyHold: boolean;
126
+ workOutsideVerifyHold: boolean;
127
+ }
128
+ /** Injectable seam for {@link resolveFocusVerifyHoldFacts}. */
129
+ export interface FocusHoldWorkDeps extends FocusHoldDeps {
130
+ verifyHeldDeliveryIds?: (worktreePath: string) => ReadonlySet<string>;
131
+ getFocusDeliveries?: (focusId: string) => Promise<readonly HoldWorkDelivery[]>;
132
+ getFocusIssues?: (focusId: string) => Promise<readonly HoldWorkIssue[]>;
133
+ }
134
+ /**
135
+ * Resolve the hold facts for a focus the caller knows only by id (the spawn gate,
136
+ * the pending-spawn pass, the directive executor). Reads deliveries + issues ONLY
137
+ * when the focus is held -- an unheld focus costs no fetch. A failed read fails
138
+ * CLOSED to "no work outside the hold": the storm-safe verdict (defer the spawn,
139
+ * re-read next poll), never a spawn into a focus whose work could not be seen.
140
+ */
141
+ export declare function resolveFocusVerifyHoldFacts(focusId: string, deps?: FocusHoldWorkDeps): Promise<VerifyHoldFacts>;
85
142
  /** Injectable seam for {@link anyFocusUnderVerifyHold}. */
86
143
  export interface AnyFocusHoldDeps {
87
144
  getAllFocusWorktrees?: () => ReadonlyMap<string, {
@@ -95,13 +152,12 @@ export interface AnyFocusHoldDeps {
95
152
  * (focus-worktree-state + verify-interlock), so the drain/idle gate agrees with
96
153
  * the spawn gate and the team-exit classifier about "is a verify in flight".
97
154
  *
98
- * The auto-updater consumes this: a verify runs as a spawned child inside a
99
- * worktree (verification-deterministic.ts) that can last up to ~30 min, and
100
- * during that hold there is often NO active team (the coding team already
101
- * exited, which is why the delivery is deferred at coding->verify). Restarting
102
- * the daemon then would kill the verify mid-run, so an in-flight hold must read
103
- * as "not idle" REGARDLESS of team count or queue depth -- robustly, not by the
104
- * incidental fact that a held focus happens to stay in the ready set.
155
+ * The auto-updater consumes this: a verify runs as a spawned child (verification-
156
+ * deterministic.ts) that can last up to ~30 min, and during that hold there is
157
+ * often NO active team. Restarting the daemon then would kill the verify
158
+ * mid-run, so an in-flight hold must read as "not idle" REGARDLESS of team count,
159
+ * queue depth, or which delivery it judges -- robustly, not by the incidental
160
+ * fact that a held focus happens to stay in the ready set.
105
161
  */
106
162
  export declare function anyFocusUnderVerifyHold(deps?: AnyFocusHoldDeps): boolean;
107
163
  //# sourceMappingURL=team-actionable-work.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-actionable-work.d.ts","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"AA4CA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,uGAAuG;IACvG,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7E,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAMvF;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAIlF;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD;mEAC+D;IAC/D,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,GAAG;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAA;CAAE,CAW/D;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAO5E"}
1
+ {"version":3,"file":"team-actionable-work.d.ts","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@
7
7
  * The single definition of "is there team-actionable work for this focus right
8
8
  * now?", read by every controller that can spawn, hold, or exit a team so they
9
9
  * cannot disagree about the same focus state:
10
- * - the spawn gate (focus/listener-spawn.ts, decideFocusSpawn)
10
+ * - the spawn gate (focus/listener-spawn.ts, decideFocusSpawn +
11
+ * processPendingSpawnFocuses)
11
12
  * - the team-exit decision (completion/event-phases.ts, computeCompletionFacts)
12
13
  * - the directive executor's spawn-producing paths
13
14
  * (directive/directive-verify-hold-gate.ts, consumed
@@ -35,19 +36,34 @@
35
36
  * reported ready in the first place: no spawn, no no-op cycle to bound, nothing
36
37
  * billed.
37
38
  *
39
+ * Why the hold is DELIVERY-scoped: the hold is keyed on the focus worktree, which
40
+ * every delivery of the focus shares, but "held = nothing to do" is only true of
41
+ * the delivery the verify is JUDGING (and a delivery whose advance it defers,
42
+ * which has no open work by construction). Reading the worktree hold as "the
43
+ * whole focus has nothing to do" starved a sibling delivery holding an open Bug
44
+ * -- the very defect failing every verify -- so the team that would fix the red
45
+ * was torn down and never respawned (livelock, f1 2026-09-13). So under a hold a
46
+ * focus is actionable iff a delivery OUTSIDE the verified set still carries open
47
+ * work ({@link hasTeamWorkOutsideVerify}); the storm shape (the verified delivery
48
+ * is the only non-terminal work) still reads as no actionable work.
49
+ *
38
50
  * @module focus/team-actionable-work
39
51
  */
40
52
  import { getFocusWorktree, getAllFocusWorktrees } from './focus-worktree-state.js';
41
- import { isWorktreeUnderVerify } from '../worktree/verify-interlock.js';
53
+ import { isWorktreeUnderVerify, verifyHeldDeliveryIds } from '../worktree/verify-interlock.js';
54
+ import { getFocusDeliveries, getFocusIssues } from '../queries/focuses.js';
55
+ import { isStatusAgentActionable } from '../workflow/stage-classifier.js';
56
+ import { OPEN_ISSUE_STATUSES } from '../shell/constants.js';
57
+ import { createLogger } from '../shell/log.js';
58
+ const log = createLogger({ module: 'focus' });
42
59
  /**
43
60
  * Whether the focus's worktree is currently held by an in-flight verify command.
44
61
  *
45
- * The daemon runs a product's configured verify command inside the focus
46
- * worktree and commits from that same worktree; the verify interlock
62
+ * The daemon runs a product's configured verify command for a delivery of this
63
+ * focus and commits from the focus worktree; the verify interlock
47
64
  * (worktree/verify-interlock.ts) serialises the two. While the hold is held the
48
65
  * daemon defers the coding->verify advance (delivery/delivery-advance-block.ts)
49
- * rather than snapshot a mid-verify tree, so the delivery sits non-terminal with
50
- * nothing a freshly-spawned coding team could commit or advance.
66
+ * rather than snapshot a mid-verify tree.
51
67
  *
52
68
  * A focus with no registered worktree is not held: no verify can run without a
53
69
  * worktree to run it in.
@@ -60,53 +76,102 @@ export function focusUnderVerifyHold(focusId, deps = {}) {
60
76
  return false;
61
77
  return underVerify(worktreePath);
62
78
  }
79
+ /**
80
+ * Whether a delivery OUTSIDE the verified set carries open work a coding team
81
+ * could act on: an agent-actionable delivery (queued / coding / verify_failed)
82
+ * that is not being judged by an in-flight verify, holding an open issue. The
83
+ * same "open issue on an agent-actionable delivery" fact the team-exit reads
84
+ * (computeCompletionFacts postHasActionableOpen), minus the held deliveries.
85
+ *
86
+ * A coding delivery whose advance the hold defers has every issue terminal (that
87
+ * is why it is advancing), so it contributes nothing -- the 2026-09-06 storm
88
+ * shape stays "no actionable work".
89
+ */
90
+ export function hasTeamWorkOutsideVerify(input) {
91
+ const actionableIds = new Set(input.deliveries
92
+ .filter((d) => !input.heldDeliveryIds.has(d.id) && isStatusAgentActionable(d.executionStatus ?? ''))
93
+ .map((d) => d.id));
94
+ return input.issues.some((i) => actionableIds.has(i.deliveryId) && OPEN_ISSUE_STATUSES.has(i.status));
95
+ }
63
96
  /**
64
97
  * The one predicate. An outstanding merge-conflict resolution request the daemon
65
98
  * sent this team IS actionable work regardless of delivery state -- it takes
66
99
  * precedence so a team finishing its last delivery is never torn down mid-merge.
67
- * Otherwise a focus held by an in-flight verify has NO team-actionable work
68
- * regardless of its delivery state, and failing both, the caller's own
69
- * actionable-work fact stands. Pure, so both the spawn gate and the team-exit
70
- * decision read the identical answer for a given state.
100
+ * Otherwise, under a verify hold the focus is actionable only when work exists
101
+ * OUTSIDE the delivery being verified (never more than the caller's own fact);
102
+ * with no hold, the caller's own actionable-work fact stands. Pure, so every
103
+ * controller reads the identical answer for a given state.
71
104
  */
72
105
  export function focusHasTeamActionableWork(input) {
73
106
  if (input.mergeResolutionOutstanding)
74
107
  return true;
75
108
  if (input.underVerifyHold)
76
- return false;
109
+ return input.hasUnheldActionableWork && input.workOutsideVerifyHold === true;
77
110
  return input.hasUnheldActionableWork;
78
111
  }
79
112
  /**
80
113
  * Resolve the verify hold for a focus whose worktree path is already known, and
81
114
  * fold it into the shared predicate in one step. Convenience for the team-exit
82
115
  * fact-gathering (computeCompletionFacts), which has already resolved the
83
- * worktree path; a null path means no worktree -> no hold. The isWorktreeUnderVerify
84
- * dep is passed in so the caller keeps its own injection seam.
116
+ * worktree path and fetched the focus's deliveries + issues; a null path means no
117
+ * worktree -> no hold. The isWorktreeUnderVerify dep is passed in so the caller
118
+ * keeps its own injection seam.
85
119
  */
86
120
  export function resolveTeamActionableWork(args) {
87
121
  const underVerifyHold = args.focusWorktreePath !== null && args.isWorktreeUnderVerify(args.focusWorktreePath);
122
+ const workOutsideVerifyHold = underVerifyHold && args.outsideHold !== undefined
123
+ && hasTeamWorkOutsideVerify({
124
+ deliveries: args.outsideHold.deliveries,
125
+ issues: args.outsideHold.issues,
126
+ heldDeliveryIds: (args.outsideHold.verifyHeldDeliveryIds ?? verifyHeldDeliveryIds)(args.focusWorktreePath),
127
+ });
88
128
  return {
89
129
  underVerifyHold,
90
130
  teamHasActionableWork: focusHasTeamActionableWork({
91
131
  hasUnheldActionableWork: args.hasUnheldActionableWork,
92
132
  underVerifyHold,
133
+ workOutsideVerifyHold,
93
134
  mergeResolutionOutstanding: args.mergeResolutionOutstanding,
94
135
  }),
95
136
  };
96
137
  }
138
+ /**
139
+ * Resolve the hold facts for a focus the caller knows only by id (the spawn gate,
140
+ * the pending-spawn pass, the directive executor). Reads deliveries + issues ONLY
141
+ * when the focus is held -- an unheld focus costs no fetch. A failed read fails
142
+ * CLOSED to "no work outside the hold": the storm-safe verdict (defer the spawn,
143
+ * re-read next poll), never a spawn into a focus whose work could not be seen.
144
+ */
145
+ export async function resolveFocusVerifyHoldFacts(focusId, deps = {}) {
146
+ const worktreePath = (deps.getFocusWorktree ?? getFocusWorktree)(focusId)?.worktreePath ?? null;
147
+ if (worktreePath === null || !(deps.isWorktreeUnderVerify ?? isWorktreeUnderVerify)(worktreePath)) {
148
+ return { underVerifyHold: false, workOutsideVerifyHold: false };
149
+ }
150
+ try {
151
+ const [deliveries, issues] = await Promise.all([
152
+ (deps.getFocusDeliveries ?? getFocusDeliveries)(focusId),
153
+ (deps.getFocusIssues ?? getFocusIssues)(focusId),
154
+ ]);
155
+ const heldDeliveryIds = (deps.verifyHeldDeliveryIds ?? verifyHeldDeliveryIds)(worktreePath);
156
+ return { underVerifyHold: true, workOutsideVerifyHold: hasTeamWorkOutsideVerify({ deliveries, issues, heldDeliveryIds }) };
157
+ }
158
+ catch (err) {
159
+ log.debug(`[team-actionable-work] hold-facts read failed for focus ${focusId.slice(0, 8)}; treating as held with no outside work: ${err.message}`);
160
+ return { underVerifyHold: true, workOutsideVerifyHold: false };
161
+ }
162
+ }
97
163
  /**
98
164
  * Whether ANY registered focus worktree is currently held by an in-flight
99
165
  * verify. Reads the same hold source the per-focus predicate does
100
166
  * (focus-worktree-state + verify-interlock), so the drain/idle gate agrees with
101
167
  * the spawn gate and the team-exit classifier about "is a verify in flight".
102
168
  *
103
- * The auto-updater consumes this: a verify runs as a spawned child inside a
104
- * worktree (verification-deterministic.ts) that can last up to ~30 min, and
105
- * during that hold there is often NO active team (the coding team already
106
- * exited, which is why the delivery is deferred at coding->verify). Restarting
107
- * the daemon then would kill the verify mid-run, so an in-flight hold must read
108
- * as "not idle" REGARDLESS of team count or queue depth -- robustly, not by the
109
- * incidental fact that a held focus happens to stay in the ready set.
169
+ * The auto-updater consumes this: a verify runs as a spawned child (verification-
170
+ * deterministic.ts) that can last up to ~30 min, and during that hold there is
171
+ * often NO active team. Restarting the daemon then would kill the verify
172
+ * mid-run, so an in-flight hold must read as "not idle" REGARDLESS of team count,
173
+ * queue depth, or which delivery it judges -- robustly, not by the incidental
174
+ * fact that a held focus happens to stay in the ready set.
110
175
  */
111
176
  export function anyFocusUnderVerifyHold(deps = {}) {
112
177
  const resolveAll = deps.getAllFocusWorktrees ?? getAllFocusWorktrees;
@@ -1 +1 @@
1
- {"version":3,"file":"team-actionable-work.js","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+FAA+F;AAC/F,iEAAiE;AACjE,2DAA2D;AAC3D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAcxE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAsB,EAAE;IAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC;IACxE,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC;IACpE,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC;AAgCD;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8B;IACvE,IAAI,KAAK,CAAC,0BAA0B;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,uBAAuB,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAOzC;IACC,MAAM,eAAe,GACnB,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxF,OAAO;QACL,eAAe;QACf,qBAAqB,EAAE,0BAA0B,CAAC;YAChD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,eAAe;YACf,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;SAC5D,CAAC;KACH,CAAC;AACJ,CAAC;AAQD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAyB,EAAE;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC;IACxE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QACzC,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"team-actionable-work.js","sourceRoot":"","sources":["../../src/focus/team-actionable-work.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: none -- no test imports this module directly (baselined; see lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/nexus/nexus-return-path-e2e.test.ts
3
3
  // PINNED-BY-END
4
4
  import { callApi } from '../queries/shared.js';
5
5
  import { createLogger } from '../shell/log.js';
@@ -1 +1 @@
1
- {"version":3,"file":"incoming.js","sourceRoot":"","sources":["../../src/nexus/incoming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"incoming.js","sourceRoot":"","sources":["../../src/nexus/incoming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Nexus pending returns on the REQUESTING focus: what that focus is waiting on
3
+ * across products, and what came back.
4
+ *
5
+ * A pending return (product_request_pending_returns) is one return -- a
6
+ * discovery, question or findings entry the requested team sent, or the
7
+ * request's close / decline -- carried on the requesting focus until the
8
+ * requesting team acknowledges it. This module owns the READ + RENDER half:
9
+ *
10
+ * - resolveNexusReturnsSection: loads the focus's unacknowledged returns and
11
+ * the open outgoing requests the focus waits on (filed from the focus OR
12
+ * from one of its deliveries), and renders ONE prompt section with every
13
+ * return's FULL content (never truncated). The spawn path folds it into the
14
+ * carried section every pass receives -- fresh coding, scoping, resume and
15
+ * review -- so no pass on the focus misses a return.
16
+ * - buildNexusReturnHandOff: the message handed to a LIVE team when a new
17
+ * return arrives mid-session (nexus/return-routing.ts decides when).
18
+ *
19
+ * Leaf module: imports only query helpers, never the return / routing passes,
20
+ * so both the spawn path and the poll pass can import it without a cycle.
21
+ */
22
+ import { type CallApiDeps } from '../queries/shared.js';
23
+ /** Rows per pending-return page (the product-api's max `limit`). */
24
+ export declare const PENDING_RETURNS_PAGE_SIZE = 500;
25
+ /**
26
+ * Read EVERY pending return matching the filter, oldest first. One list call
27
+ * serves at most a page, so a burst larger than a page would otherwise leave
28
+ * returns out of a prompt or out of an engagement pass. Walks the keyset cursor
29
+ * (the last row's createdAt + id) until a page comes back shorter than the limit
30
+ * the server applied (it echoes `limit`), so an earlier return acknowledged
31
+ * mid-walk never shifts a later one out of the read and a server cap below the
32
+ * requested page never ends the walk early. A full page that does not advance
33
+ * the cursor THROWS (no partial list read as complete). THROWS on a hard API
34
+ * error. `deps.callApi` is the test seam.
35
+ */
36
+ export declare function listAllPendingReturns(filter: {
37
+ focusId?: string;
38
+ productId?: string;
39
+ unengagedOnly?: boolean;
40
+ }, deps?: CallApiDeps): Promise<PendingReturn[]>;
41
+ /**
42
+ * Request statuses in which an outgoing request is still open: the requesting
43
+ * work waits on it. Single definition shared with the source-delivery gate
44
+ * (nexus/return.ts).
45
+ */
46
+ export declare const WAITING_REQUEST_STATUSES: ReadonlySet<string>;
47
+ /** One pending return as product_request_list_pending_returns returns it (camelCase). */
48
+ export interface PendingReturn {
49
+ id: string;
50
+ requestId: string;
51
+ entryId?: string | null;
52
+ sourceFocusId?: string | null;
53
+ sourceDeliveryId?: string | null;
54
+ /** discovery | question | findings | closed | declined */
55
+ returnKind: string;
56
+ content: string;
57
+ createdAt: string;
58
+ engagedAt?: string | null;
59
+ requestTitle?: string | null;
60
+ requestStatus?: string | null;
61
+ targetProductId?: string | null;
62
+ }
63
+ /** The outgoing-request fields the waiting-on read needs. */
64
+ export interface WaitingRequest {
65
+ id: string;
66
+ status?: string;
67
+ title?: string | null;
68
+ sourceFocusId?: string | null;
69
+ sourceDeliveryId?: string | null;
70
+ targetProductId?: string | null;
71
+ }
72
+ /**
73
+ * Pure: the open outgoing requests a focus waits on -- filed from the focus
74
+ * itself (with or without a source delivery) or from one of its deliveries.
75
+ */
76
+ export declare function selectWaitingOnRequests(outgoing: readonly WaitingRequest[], focusId: string, deliveryIds: ReadonlySet<string>): WaitingRequest[];
77
+ /** Pure: one return rendered in full (its content is never truncated). */
78
+ export declare function renderPendingReturnBlock(ret: PendingReturn): string[];
79
+ /**
80
+ * Pure: the Nexus section for a focus's prompt. Empty (no lines) when the focus
81
+ * waits on nothing and has no pending return.
82
+ */
83
+ export declare function buildNexusReturnsSection(args: {
84
+ waitingOn: readonly WaitingRequest[];
85
+ pendingReturns: readonly PendingReturn[];
86
+ }): string;
87
+ /** Pure: the message handed to a live team when new returns arrive mid-session. */
88
+ export declare function buildNexusReturnHandOff(returns: readonly PendingReturn[]): string;
89
+ /** Injectable reads (tests pass fakes; production uses callApi). */
90
+ export interface NexusReturnsSectionDeps {
91
+ listFocusPendingReturns: (focusId: string) => Promise<PendingReturn[]>;
92
+ listOutgoing: (productId: string) => Promise<WaitingRequest[]>;
93
+ }
94
+ /** The production reads over a product-api client (`apiDeps.callApi` is the test seam). */
95
+ export declare function nexusReturnsSectionDeps(apiDeps?: CallApiDeps): NexusReturnsSectionDeps;
96
+ export declare const defaultNexusReturnsSectionDeps: NexusReturnsSectionDeps;
97
+ /**
98
+ * Load + render the focus's Nexus section. Best-effort: each read degrades to
99
+ * empty on failure (logged) and never blocks a spawn.
100
+ */
101
+ export declare function resolveNexusReturnsSection(args: {
102
+ focusId: string;
103
+ productId: string | undefined;
104
+ deliveryIds: readonly string[];
105
+ }, deps?: NexusReturnsSectionDeps): Promise<string>;
106
+ /**
107
+ * Fold the focus's Nexus section into the section every spawn shape carries
108
+ * (the answered-escalations carrier: appended to fresh directive + legacy
109
+ * prompts, the scoping message and the resume delta, for coding AND review
110
+ * passes). Ids are untouched: they name escalations to consume, not returns --
111
+ * a return is consumed only by the team's acknowledgement.
112
+ */
113
+ export declare function foldNexusReturnsSection(carried: {
114
+ section: string;
115
+ ids: string[];
116
+ }, args: {
117
+ focusId: string;
118
+ productId: string | undefined;
119
+ deliveryIds: readonly string[];
120
+ }, deps?: NexusReturnsSectionDeps): Promise<{
121
+ section: string;
122
+ ids: string[];
123
+ }>;
124
+ //# sourceMappingURL=pending-returns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-returns.d.ts","sourceRoot":"","sources":["../../src/nexus/pending-returns.ts"],"names":[],"mappings":"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"}