@telora/daemon 0.22.233 → 0.22.245

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 (219) hide show
  1. package/build-info.json +4 -3
  2. package/dist/backends/index.d.ts.map +1 -1
  3. package/dist/backends/index.js +1 -0
  4. package/dist/backends/index.js.map +1 -1
  5. package/dist/ci/ci-red-attribution.js +1 -1
  6. package/dist/ci/ci-red-attribution.js.map +1 -1
  7. package/dist/ci/ci-status-git.js +1 -1
  8. package/dist/ci/ci-status-git.js.map +1 -1
  9. package/dist/completion/detector.d.ts.map +1 -1
  10. package/dist/completion/detector.js +1 -0
  11. package/dist/completion/detector.js.map +1 -1
  12. package/dist/completion/escalations.d.ts.map +1 -1
  13. package/dist/completion/escalations.js +1 -0
  14. package/dist/completion/escalations.js.map +1 -1
  15. package/dist/completion/event-entry-phases.d.ts.map +1 -1
  16. package/dist/completion/event-entry-phases.js +13 -11
  17. package/dist/completion/event-entry-phases.js.map +1 -1
  18. package/dist/completion/event-phases.d.ts.map +1 -1
  19. package/dist/completion/event-phases.js +16 -15
  20. package/dist/completion/event-phases.js.map +1 -1
  21. package/dist/completion/merge-phase.d.ts +4 -4
  22. package/dist/completion/merge-phase.d.ts.map +1 -1
  23. package/dist/completion/merge-phase.js +10 -7
  24. package/dist/completion/merge-phase.js.map +1 -1
  25. package/dist/completion/review-breaker-hold.d.ts +107 -0
  26. package/dist/completion/review-breaker-hold.d.ts.map +1 -0
  27. package/dist/completion/review-breaker-hold.js +127 -0
  28. package/dist/completion/review-breaker-hold.js.map +1 -0
  29. package/dist/completion/review-exit-escalations.d.ts +9 -1
  30. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  31. package/dist/completion/review-exit-escalations.js +14 -3
  32. package/dist/completion/review-exit-escalations.js.map +1 -1
  33. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  34. package/dist/completion/review-exit-phase.js +2 -2
  35. package/dist/completion/review-exit-phase.js.map +1 -1
  36. package/dist/completion/state-cascade.d.ts +14 -12
  37. package/dist/completion/state-cascade.d.ts.map +1 -1
  38. package/dist/completion/state-cascade.js +28 -19
  39. package/dist/completion/state-cascade.js.map +1 -1
  40. package/dist/completion/status-advance-phase.d.ts +3 -0
  41. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  42. package/dist/completion/status-advance-phase.js +2 -1
  43. package/dist/completion/status-advance-phase.js.map +1 -1
  44. package/dist/completion/team-lifecycle.d.ts +3 -3
  45. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  46. package/dist/completion/team-lifecycle.js +6 -5
  47. package/dist/completion/team-lifecycle.js.map +1 -1
  48. package/dist/completion/team-progress-measure.d.ts.map +1 -1
  49. package/dist/completion/team-progress-measure.js +1 -0
  50. package/dist/completion/team-progress-measure.js.map +1 -1
  51. package/dist/delivery/delivery-advance-block.d.ts +17 -4
  52. package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
  53. package/dist/delivery/delivery-advance-block.js +203 -173
  54. package/dist/delivery/delivery-advance-block.js.map +1 -1
  55. package/dist/focus/advance-hold.d.ts +55 -0
  56. package/dist/focus/advance-hold.d.ts.map +1 -0
  57. package/dist/focus/advance-hold.js +155 -0
  58. package/dist/focus/advance-hold.js.map +1 -0
  59. package/dist/focus/focus-spawn-decision.d.ts +17 -6
  60. package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
  61. package/dist/focus/focus-spawn-decision.js +6 -6
  62. package/dist/focus/focus-spawn-decision.js.map +1 -1
  63. package/dist/focus/focus-team-state.js +1 -1
  64. package/dist/focus/focus-worktree-state.d.ts.map +1 -1
  65. package/dist/focus/focus-worktree-state.js +1 -0
  66. package/dist/focus/focus-worktree-state.js.map +1 -1
  67. package/dist/focus/listener-auto-advance.d.ts +14 -0
  68. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  69. package/dist/focus/listener-auto-advance.js +13 -10
  70. package/dist/focus/listener-auto-advance.js.map +1 -1
  71. package/dist/focus/listener-spawn.d.ts.map +1 -1
  72. package/dist/focus/listener-spawn.js +18 -29
  73. package/dist/focus/listener-spawn.js.map +1 -1
  74. package/dist/focus/listener-state.d.ts.map +1 -1
  75. package/dist/focus/listener-state.js +1 -0
  76. package/dist/focus/listener-state.js.map +1 -1
  77. package/dist/focus/listener.d.ts.map +1 -1
  78. package/dist/focus/listener.js +10 -4
  79. package/dist/focus/listener.js.map +1 -1
  80. package/dist/focus/pending-spawn-pass-deps.d.ts +3 -0
  81. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  82. package/dist/focus/pending-spawn-pass-deps.js +1 -0
  83. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  84. package/dist/focus/ready-focus-spawn-action.d.ts +29 -0
  85. package/dist/focus/ready-focus-spawn-action.d.ts.map +1 -0
  86. package/dist/focus/ready-focus-spawn-action.js +32 -0
  87. package/dist/focus/ready-focus-spawn-action.js.map +1 -0
  88. package/dist/focus/ready-focus-team-work.d.ts +18 -0
  89. package/dist/focus/ready-focus-team-work.d.ts.map +1 -0
  90. package/dist/focus/ready-focus-team-work.js +59 -0
  91. package/dist/focus/ready-focus-team-work.js.map +1 -0
  92. package/dist/focus/team-actionable-work.d.ts +56 -6
  93. package/dist/focus/team-actionable-work.d.ts.map +1 -1
  94. package/dist/focus/team-actionable-work.js +56 -9
  95. package/dist/focus/team-actionable-work.js.map +1 -1
  96. package/dist/git/types.d.ts.map +1 -1
  97. package/dist/git/types.js +1 -0
  98. package/dist/git/types.js.map +1 -1
  99. package/dist/merge/approval-gate-state.d.ts +24 -0
  100. package/dist/merge/approval-gate-state.d.ts.map +1 -0
  101. package/dist/merge/approval-gate-state.js +67 -0
  102. package/dist/merge/approval-gate-state.js.map +1 -0
  103. package/dist/merge/focus-merge.d.ts +3 -3
  104. package/dist/merge/focus-merge.d.ts.map +1 -1
  105. package/dist/merge/focus-merge.js +6 -6
  106. package/dist/merge/focus-merge.js.map +1 -1
  107. package/dist/merge/merge-back-loop.d.ts +3 -3
  108. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  109. package/dist/merge/merge-back-loop.js +10 -10
  110. package/dist/merge/merge-back-loop.js.map +1 -1
  111. package/dist/merge/merge-gate-coverage.d.ts +32 -9
  112. package/dist/merge/merge-gate-coverage.d.ts.map +1 -1
  113. package/dist/merge/merge-gate-coverage.js +69 -18
  114. package/dist/merge/merge-gate-coverage.js.map +1 -1
  115. package/dist/nexus/return.d.ts +44 -1
  116. package/dist/nexus/return.d.ts.map +1 -1
  117. package/dist/nexus/return.js +42 -0
  118. package/dist/nexus/return.js.map +1 -1
  119. package/dist/prompt/focus-prompt-builder.d.ts +10 -8
  120. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  121. package/dist/prompt/focus-prompt-builder.js +19 -10
  122. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  123. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  124. package/dist/prompt-sections/execution-sections.js +10 -0
  125. package/dist/prompt-sections/execution-sections.js.map +1 -1
  126. package/dist/queries/deliveries.js +1 -1
  127. package/dist/queries/deliveries.js.map +1 -1
  128. package/dist/queries/delivery-gate-holds.d.ts +78 -0
  129. package/dist/queries/delivery-gate-holds.d.ts.map +1 -0
  130. package/dist/queries/delivery-gate-holds.js +5 -0
  131. package/dist/queries/delivery-gate-holds.js.map +1 -0
  132. package/dist/queries/delivery-gate-state.d.ts +17 -60
  133. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  134. package/dist/queries/delivery-gate-state.js +8 -3
  135. package/dist/queries/delivery-gate-state.js.map +1 -1
  136. package/dist/queries/escalations.d.ts +2 -1
  137. package/dist/queries/escalations.d.ts.map +1 -1
  138. package/dist/queries/escalations.js +3 -3
  139. package/dist/queries/escalations.js.map +1 -1
  140. package/dist/queries/focus-criteria-standing.d.ts +2 -2
  141. package/dist/queries/focus-discovery.js +1 -1
  142. package/dist/queries/focus-discovery.js.map +1 -1
  143. package/dist/queries/focuses.d.ts.map +1 -1
  144. package/dist/queries/focuses.js +1 -0
  145. package/dist/queries/focuses.js.map +1 -1
  146. package/dist/queries/issues.d.ts.map +1 -1
  147. package/dist/queries/issues.js +1 -0
  148. package/dist/queries/issues.js.map +1 -1
  149. package/dist/queries/shared.js +1 -1
  150. package/dist/queries/workflows.d.ts.map +1 -1
  151. package/dist/queries/workflows.js +1 -0
  152. package/dist/queries/workflows.js.map +1 -1
  153. package/dist/spawn/helpers.d.ts.map +1 -1
  154. package/dist/spawn/helpers.js +1 -0
  155. package/dist/spawn/helpers.js.map +1 -1
  156. package/dist/spawn/idle-work-stamp.d.ts +13 -7
  157. package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
  158. package/dist/spawn/idle-work-stamp.js +22 -11
  159. package/dist/spawn/idle-work-stamp.js.map +1 -1
  160. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  161. package/dist/spawn/lead-continuation.js +13 -11
  162. package/dist/spawn/lead-continuation.js.map +1 -1
  163. package/dist/spawn/spawn-cooldown.js +1 -1
  164. package/dist/testing/fixtures/index.js +1 -1
  165. package/dist/testing/fixtures/merge-log-capture.d.ts +5 -0
  166. package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -0
  167. package/dist/testing/fixtures/merge-log-capture.js +35 -0
  168. package/dist/testing/fixtures/merge-log-capture.js.map +1 -0
  169. package/dist/testing/fixtures/pending-spawn-world.js +1 -1
  170. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  171. package/dist/types/index.js +1 -1
  172. package/dist/verify/commit-gate-configured.d.ts.map +1 -1
  173. package/dist/verify/commit-gate-configured.js +1 -0
  174. package/dist/verify/commit-gate-configured.js.map +1 -1
  175. package/dist/verify/gate-process-group.d.ts +40 -0
  176. package/dist/verify/gate-process-group.d.ts.map +1 -0
  177. package/dist/verify/gate-process-group.js +91 -0
  178. package/dist/verify/gate-process-group.js.map +1 -0
  179. package/dist/verify/no-verdict-record.d.ts +103 -0
  180. package/dist/verify/no-verdict-record.d.ts.map +1 -0
  181. package/dist/verify/no-verdict-record.js +218 -0
  182. package/dist/verify/no-verdict-record.js.map +1 -0
  183. package/dist/verify/timed-out-rendered-verdict.d.ts +40 -0
  184. package/dist/verify/timed-out-rendered-verdict.d.ts.map +1 -0
  185. package/dist/verify/timed-out-rendered-verdict.js +52 -0
  186. package/dist/verify/timed-out-rendered-verdict.js.map +1 -0
  187. package/dist/verify/verification-attribution-base.js +1 -1
  188. package/dist/verify/verification-attribution-base.js.map +1 -1
  189. package/dist/verify/verification-attribution.js +2 -2
  190. package/dist/verify/verification-attribution.js.map +1 -1
  191. package/dist/verify/verification-baseline-run.d.ts.map +1 -1
  192. package/dist/verify/verification-baseline-run.js +5 -7
  193. package/dist/verify/verification-baseline-run.js.map +1 -1
  194. package/dist/verify/verification-baseline.js +1 -1
  195. package/dist/verify/verification-baseline.js.map +1 -1
  196. package/dist/verify/verification-checkout.js +1 -1
  197. package/dist/verify/verification-checkout.js.map +1 -1
  198. package/dist/verify/verification-commit-sharing.d.ts.map +1 -1
  199. package/dist/verify/verification-commit-sharing.js +93 -10
  200. package/dist/verify/verification-commit-sharing.js.map +1 -1
  201. package/dist/verify/verification-default-on.js +1 -1
  202. package/dist/verify/verification-default-on.js.map +1 -1
  203. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  204. package/dist/verify/verification-deps-default.js +2 -0
  205. package/dist/verify/verification-deps-default.js.map +1 -1
  206. package/dist/verify/verification-deps.d.ts +8 -0
  207. package/dist/verify/verification-deps.d.ts.map +1 -1
  208. package/dist/verify/verification-deterministic.d.ts +8 -0
  209. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  210. package/dist/verify/verification-deterministic.js +3 -6
  211. package/dist/verify/verification-deterministic.js.map +1 -1
  212. package/dist/worktree/provision.d.ts +6 -5
  213. package/dist/worktree/provision.d.ts.map +1 -1
  214. package/dist/worktree/provision.js +13 -8
  215. package/dist/worktree/provision.js.map +1 -1
  216. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  217. package/dist/worktree/verify-interlock.js +2 -0
  218. package/dist/worktree/verify-interlock.js.map +1 -1
  219. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { type ApprovalGateState } from './approval-gate-state.js';
1
2
  /** One commit the merge would add to integration. */
2
3
  export interface UnmergedCommit {
3
4
  sha: string;
@@ -13,7 +14,7 @@ export interface UnmergedCommit {
13
14
  /** A commit that passed one of the focus's gates, and the unmerged commits it contains. */
14
15
  export interface GatedAnchor {
15
16
  sha: string;
16
- source: 'approved_review' | 'passing_verdict';
17
+ source: 'approved_review' | 'auto_approval' | 'passing_verdict';
17
18
  /** The anchor's ancestry not on integration, the anchor itself included. */
18
19
  contains: ReadonlySet<string>;
19
20
  }
@@ -24,13 +25,28 @@ export interface MergeGateCoverage {
24
25
  /** The daemon captures among `ungated`. */
25
26
  ungatedWipCaptures: UnmergedCommit[];
26
27
  }
28
+ export type { ApprovalGateState };
29
+ /** An approval the gate state at its commit kept from anchoring. */
30
+ export interface RefusedApproval {
31
+ sha: string;
32
+ state: 'failed' | 'pending';
33
+ }
27
34
  export type MergeGateCoverageResult = {
28
35
  kind: 'unreadable';
29
36
  reason: string;
30
37
  } | {
31
38
  kind: 'judged';
32
39
  coverage: MergeGateCoverage;
40
+ /** The anchors that gate at least one judged commit. */
33
41
  anchors: GatedAnchor[];
42
+ refusedApproval: RefusedApproval | null;
43
+ };
44
+ /** A merge the gate holds, with why; or one it admits, with the anchors that admitted it. */
45
+ export type MergeGateDecision = {
46
+ hold: string;
47
+ } | {
48
+ hold: null;
49
+ admittedBy: string;
34
50
  };
35
51
  /** The focus branch a merge would send, and where. */
36
52
  export interface MergeGateTarget {
@@ -55,6 +71,8 @@ export interface MergeGateCoverageDeps {
55
71
  readApprovedReviewSha: (target: MergeGateTarget) => Promise<string | null>;
56
72
  /** Whether a passing deterministic verdict is recorded for the commit; throws when unreadable. */
57
73
  hasPassingVerdict: (target: MergeGateTarget, sha: string) => boolean;
74
+ /** The gate state at the commit an approval judged; throws when unreadable. */
75
+ judgeApprovalGate: (target: MergeGateTarget, sha: string) => Promise<ApprovalGateState>;
58
76
  }
59
77
  /** True for a commit the daemon wrote to capture an agent's uncommitted work. Pure. */
60
78
  export declare function isDaemonWipCapture(commit: Pick<UnmergedCommit, 'subject'>): boolean;
@@ -77,18 +95,23 @@ export declare function defaultMergeGateCoverageDeps(): MergeGateCoverageDeps;
77
95
  * Judge the commits a merge of `target` would add. Verdicts (local records) are
78
96
  * read newest-first only for commits no anchor already contains, stopping once
79
97
  * everything is gated; the approving review (a product-api read) is read only
80
- * when some commit is still ungated after that. Any unreadable input returns
81
- * 'unreadable' (the caller holds the merge).
98
+ * when some commit is still ungated after that, and anchors only as the gate
99
+ * state at its commit allows (see the module header). Any unreadable input
100
+ * returns 'unreadable' (the caller holds the merge).
82
101
  */
83
102
  export declare function evaluateMergeGateCoverage(target: MergeGateTarget, deps?: MergeGateCoverageDeps): Promise<MergeGateCoverageResult>;
84
103
  /** Why the merge must hold, or null when it may proceed. Pure. */
85
104
  export declare function mergeGateHoldReason(result: MergeGateCoverageResult): string | null;
86
- /** The hold reason for a merge of `target`, or null when it may proceed. Never throws: a failed read holds. */
87
- export declare function readMergeGateHold(target: MergeGateTarget, deps?: MergeGateCoverageDeps): Promise<string | null>;
105
+ /** The anchors that admitted a judged merge, for its log line, e.g. `anchors: passing_verdict 1c3e3e506`. Pure. */
106
+ export declare function mergeGateAdmission(anchors: readonly Pick<GatedAnchor, 'sha' | 'source'>[]): string;
107
+ /** Hold with the reason, or admit with the anchors that admitted the merge. Pure. */
108
+ export declare function mergeGateDecision(result: MergeGateCoverageResult): MergeGateDecision;
109
+ /** Whether a merge of `target` holds (and why) or is admitted (and by what). Never throws: a failed read holds. */
110
+ export declare function readMergeGateDecision(target: MergeGateTarget, deps?: MergeGateCoverageDeps): Promise<MergeGateDecision>;
88
111
  /**
89
- * The hold reason for a merge of a branch whose focus may be unknown. With no
90
- * focus there is no verdict or approving review to read, so every non-merge
91
- * commit is ungated and the merge holds.
112
+ * The decision for a merge of a branch whose focus may be unknown. With no focus
113
+ * there is no verdict or approving review to read, so every non-merge commit is
114
+ * ungated and the merge holds.
92
115
  */
93
- export declare function readMergeGateHoldForBranch(target: BranchMergeGateTarget, deps?: MergeGateCoverageDeps): Promise<string | null>;
116
+ export declare function readMergeGateDecisionForBranch(target: BranchMergeGateTarget, deps?: MergeGateCoverageDeps): Promise<MergeGateDecision>;
94
117
  //# sourceMappingURL=merge-gate-coverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-gate-coverage.d.ts","sourceRoot":"","sources":["../../src/merge/merge-gate-coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-gate-coverage.d.ts","sourceRoot":"","sources":["../../src/merge/merge-gate-coverage.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,16 @@
37
37
  * coverage watermark (product_focuses.reviewed_through_sha) is NOT an anchor:
38
38
  * it advances for a gaps_found review too, so it would authorize the window a
39
39
  * review found defective.
40
+ * An approval anchors only where the deterministic gate did not fail at the
41
+ * commit it judged (merge/approval-gate-state.ts): a focus_reviews approval
42
+ * anchors when the verdict recorded there passed, or when none is recorded and
43
+ * no gate is configured for the focus -- a product with no gate still merges on
44
+ * review. A FAILED verdict there, or none yet where a gate is configured,
45
+ * anchors nothing, and the hold names it: review_complete cannot see verdicts
46
+ * (host-local files) and no failure revokes an approval, so on 2026-09-25 a
47
+ * review approved 1c3e3e506 three minutes after its gate failed and the
48
+ * teardown merged it to integration. An auto-approval anchors as before: it is
49
+ * recorded only after the done-route passed the verdict gate.
40
50
  * A daemon capture of uncommitted agent work (the worktree/safety.ts subjects)
41
51
  * is never gated by itself -- a verify tick or a review spawn that lands on the
42
52
  * capture as HEAD judges half-finished work -- so it is covered only by a LATER
@@ -51,13 +61,16 @@
51
61
  * (merge/focus-merge.ts checkResolvedMergeConflicts). A branch no focus row
52
62
  * names has no verdict or review to read, so nothing on it is gated.
53
63
  * An input that cannot be read holds the merge (fail closed); the caller's next
54
- * tick or exit asks again.
64
+ * tick or exit asks again. A merge the gate admits names the anchors that
65
+ * admitted it (mergeGateAdmission) in the caller's merge log line, so why a commit
66
+ * reached integration is read, not reconstructed by elimination.
55
67
  *
56
68
  * @module merge-gate-coverage
57
69
  */
58
70
  import { listReviewAutoApprovals } from '../completion/review-auto-approval-record.js';
59
71
  import { runGitSync } from '../git/types.js';
60
72
  import { readLatestApprovedReviewSha } from '../queries/focus-review-approval.js';
73
+ import { judgeApprovalGateState } from './approval-gate-state.js';
61
74
  import { readCommitVerdict } from '../verify/commit-verdict-record.js';
62
75
  import { SAFETY_COMMIT_SUBJECT_PREFIX, WIP_CAPTURE_SUBJECT_PREFIX } from '../worktree/safety.js';
63
76
  const SHA_RE = /^[0-9a-f]{7,64}$/i;
@@ -132,14 +145,16 @@ export function defaultMergeGateCoverageDeps() {
132
145
  autoApprovals: listReviewAutoApprovals(target.productId, target.focusId),
133
146
  }),
134
147
  hasPassingVerdict: (target, sha) => readCommitVerdict(target.productId, target.focusId, sha)?.outcome === 'passed',
148
+ judgeApprovalGate: (target, sha) => judgeApprovalGateState(target, sha),
135
149
  };
136
150
  }
137
151
  /**
138
152
  * Judge the commits a merge of `target` would add. Verdicts (local records) are
139
153
  * read newest-first only for commits no anchor already contains, stopping once
140
154
  * everything is gated; the approving review (a product-api read) is read only
141
- * when some commit is still ungated after that. Any unreadable input returns
142
- * 'unreadable' (the caller holds the merge).
155
+ * when some commit is still ungated after that, and anchors only as the gate
156
+ * state at its commit allows (see the module header). Any unreadable input
157
+ * returns 'unreadable' (the caller holds the merge).
143
158
  */
144
159
  export async function evaluateMergeGateCoverage(target, deps = defaultMergeGateCoverageDeps()) {
145
160
  const { repoPath, integrationBranch, branchName } = target;
@@ -167,17 +182,33 @@ export async function evaluateMergeGateCoverage(target, deps = defaultMergeGateC
167
182
  return { kind: 'unreadable', reason: `the verdict for ${commit.sha.slice(0, 9)} could not be read: ${err.message}` };
168
183
  }
169
184
  }
185
+ let refusedApproval = null;
170
186
  if (!allGated()) {
187
+ let approved;
171
188
  try {
172
- const approved = await deps.readApprovedReviewSha(target);
173
- if (approved)
174
- addAnchor(approved, 'approved_review');
189
+ approved = await deps.readApprovedReviewSha(target);
175
190
  }
176
191
  catch (err) {
177
192
  return { kind: 'unreadable', reason: `the focus's approving review could not be read: ${err.message}` };
178
193
  }
194
+ const resolved = approved ? deps.resolveAnchor(repoPath, integrationBranch, approved) : null;
195
+ if (resolved) {
196
+ let state;
197
+ try {
198
+ state = await deps.judgeApprovalGate(target, resolved.sha);
199
+ }
200
+ catch (err) {
201
+ return { kind: 'unreadable', reason: `the gate verdict at approved ${resolved.sha.slice(0, 9)} could not be read: ${err.message}` };
202
+ }
203
+ if (state === 'failed' || state === 'pending')
204
+ refusedApproval = { sha: resolved.sha, state };
205
+ else
206
+ anchors.push({ ...resolved, source: state === 'auto_approval' ? 'auto_approval' : 'approved_review' });
207
+ }
179
208
  }
180
- return { kind: 'judged', coverage: judgeMergeGateCoverage(commits, anchors), anchors };
209
+ const judged = commits.filter((c) => !(c.isMerge && c.cleanMerge === true));
210
+ const gating = anchors.filter((a) => judged.some((c) => anchorGates(a, c)));
211
+ return { kind: 'judged', coverage: judgeMergeGateCoverage(commits, anchors), anchors: gating, refusedApproval };
181
212
  }
182
213
  /** Why the merge must hold, or null when it may proceed. Pure. */
183
214
  export function mergeGateHoldReason(result) {
@@ -189,30 +220,50 @@ export function mergeGateHoldReason(result) {
189
220
  const captures = ungatedWipCaptures.length === 0
190
221
  ? ''
191
222
  : `, including ${ungatedWipCaptures.length} daemon WIP capture(s) (${ungatedWipCaptures.map((c) => c.sha.slice(0, 9)).join(', ')})`;
192
- return `${ungated.length} commit(s) not past the focus's review or verify gate${captures}`;
223
+ const refused = result.refusedApproval;
224
+ const approval = refused === null
225
+ ? ''
226
+ : `; the approving review at ${refused.sha.slice(0, 9)} anchors nothing: ${refused.state === 'failed'
227
+ ? 'the gate verdict there FAILED'
228
+ : 'no gate verdict is recorded there yet and a gate is configured for the focus'}`;
229
+ return `${ungated.length} commit(s) not past the focus's review or verify gate${captures}${approval}`;
230
+ }
231
+ /** The anchors that admitted a judged merge, for its log line, e.g. `anchors: passing_verdict 1c3e3e506`. Pure. */
232
+ export function mergeGateAdmission(anchors) {
233
+ if (anchors.length === 0)
234
+ return 'anchors: none (no judged commits)';
235
+ return `anchors: ${anchors.map((a) => `${a.source} ${a.sha.slice(0, 9)}`).join(', ')}`;
236
+ }
237
+ /** Hold with the reason, or admit with the anchors that admitted the merge. Pure. */
238
+ export function mergeGateDecision(result) {
239
+ const hold = mergeGateHoldReason(result);
240
+ if (hold !== null || result.kind !== 'judged')
241
+ return { hold: hold ?? 'its gate coverage could not be read' };
242
+ return { hold: null, admittedBy: mergeGateAdmission(result.anchors) };
193
243
  }
194
- /** The hold reason for a merge of `target`, or null when it may proceed. Never throws: a failed read holds. */
195
- export async function readMergeGateHold(target, deps = defaultMergeGateCoverageDeps()) {
244
+ /** Whether a merge of `target` holds (and why) or is admitted (and by what). Never throws: a failed read holds. */
245
+ export async function readMergeGateDecision(target, deps = defaultMergeGateCoverageDeps()) {
196
246
  try {
197
- return mergeGateHoldReason(await evaluateMergeGateCoverage(target, deps));
247
+ return mergeGateDecision(await evaluateMergeGateCoverage(target, deps));
198
248
  }
199
249
  catch (err) {
200
- return mergeGateHoldReason({ kind: 'unreadable', reason: err.message });
250
+ return mergeGateDecision({ kind: 'unreadable', reason: err.message });
201
251
  }
202
252
  }
203
253
  /**
204
- * The hold reason for a merge of a branch whose focus may be unknown. With no
205
- * focus there is no verdict or approving review to read, so every non-merge
206
- * commit is ungated and the merge holds.
254
+ * The decision for a merge of a branch whose focus may be unknown. With no focus
255
+ * there is no verdict or approving review to read, so every non-merge commit is
256
+ * ungated and the merge holds.
207
257
  */
208
- export function readMergeGateHoldForBranch(target, deps = defaultMergeGateCoverageDeps()) {
258
+ export function readMergeGateDecisionForBranch(target, deps = defaultMergeGateCoverageDeps()) {
209
259
  const { focusId, ...rest } = target;
210
260
  if (focusId !== null)
211
- return readMergeGateHold({ ...rest, focusId }, deps);
212
- return readMergeGateHold({ ...rest, focusId: '' }, {
261
+ return readMergeGateDecision({ ...rest, focusId }, deps);
262
+ return readMergeGateDecision({ ...rest, focusId: '' }, {
213
263
  ...deps,
214
264
  readApprovedReviewSha: async () => null,
215
265
  hasPassingVerdict: () => false,
266
+ judgeApprovalGate: async () => 'pending',
216
267
  });
217
268
  }
218
269
  //# sourceMappingURL=merge-gate-coverage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-gate-coverage.js","sourceRoot":"","sources":["../../src/merge/merge-gate-coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-gate-coverage.js","sourceRoot":"","sources":["../../src/merge/merge-gate-coverage.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,11 @@
9
9
  * (product_request_resolve) advances the request to 'closed' ONLY when the
10
10
  * materialized delivery's execution_status is 'done' (it passed the verify
11
11
  * gate); any other delivery state is a no-op. So merely calling resolve
12
- * every tick converges the request the moment B's work lands.
12
+ * every tick converges the request the moment B's work lands. Once the
13
+ * request's answering FOCUS has ended the stamped delivery decides nothing:
14
+ * complete closes the request, cancelled declines it -- decided in the
15
+ * database at the focus's own transition (resolveRequestsOfEndedFoci is the
16
+ * org-wide backstop).
13
17
  *
14
18
  * SOURCE side -- the requesting work that waits on an outgoing request is
15
19
  * held while the request is open, released when it closes, and handed back
@@ -181,8 +185,47 @@ export declare function defaultNexusAutoDeliverDeps(_config: DaemonConfig): Nexu
181
185
  * reopen. The delivery-status gate still owns the actual close; this pass only
182
186
  * removes the volunteer-deliver dependency. Best-effort + per-request try/catch,
183
187
  * mirroring the rest of the return pass.
188
+ *
189
+ * Scope: this pass serves a request whose answering focus is still IN FLIGHT
190
+ * (its stamped delivery reached done first). Once the focus COMPLETES, findings
191
+ * are derived in the database at the focus's own transition
192
+ * (end_request_answered_by_focus): from the latest completed review summary,
193
+ * else the done deliveries and their acceptance criteria, stamped delivery or
194
+ * not -- so a completed focus never waits on this pass.
184
195
  */
185
196
  export declare function autoDeliverCompletedRequests(config: DaemonConfig, deps?: NexusAutoDeliverDeps): Promise<void>;
197
+ /** What the ended-foci sweep reports (product_request_resolve_ended_foci). */
198
+ export interface EndedFociSweep {
199
+ evaluated: number;
200
+ closed: number;
201
+ declined: number;
202
+ held: number;
203
+ failed: number;
204
+ }
205
+ /** Deps for the ended-foci backstop; separate so it does not grow NexusReturnDeps. */
206
+ export interface NexusEndedFociDeps {
207
+ /** Re-evaluate every in_progress request in the org whose answering focus has ended. */
208
+ sweepEndedFoci: () => Promise<EndedFociSweep>;
209
+ log?: (msg: string) => void;
210
+ }
211
+ /** Production ended-foci deps over callApi. */
212
+ export declare function defaultNexusEndedFociDeps(_config: DaemonConfig): NexusEndedFociDeps;
213
+ /**
214
+ * The BACKSTOP for "a request ends when the focus that answers it ends".
215
+ *
216
+ * The rule runs in the database at the focus's own transition (a trigger on
217
+ * product_focuses), whichever writer set the status and whether or not the
218
+ * TARGET product runs a daemon. Two cases have no transition left to wait for:
219
+ * a request a gate held at the transition (an open question or operator
220
+ * escalation, which clears on some other row later), and a request whose focus
221
+ * ended before the rule existed. This sweep re-evaluates both, org-wide, every
222
+ * tick -- ANY daemon in the org calling it is enough, which is the point: the
223
+ * per-product resolve pass above never ran for a target with no daemon.
224
+ *
225
+ * Cannot double-end a request: the server acts only on in_progress. Best-effort:
226
+ * a failure is logged and the next tick retries.
227
+ */
228
+ export declare function resolveRequestsOfEndedFoci(config: DaemonConfig, deps?: NexusEndedFociDeps): Promise<void>;
186
229
  /**
187
230
  * Poll one product for return-path loop closure. Runs both sides:
188
231
  * TARGET -- resolve materialized in_progress incoming requests (server gates
@@ -1 +1 @@
1
- {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../src/nexus/return.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../src/nexus/return.ts"],"names":[],"mappings":"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"}
@@ -157,6 +157,13 @@ export function defaultNexusAutoDeliverDeps(_config) {
157
157
  * reopen. The delivery-status gate still owns the actual close; this pass only
158
158
  * removes the volunteer-deliver dependency. Best-effort + per-request try/catch,
159
159
  * mirroring the rest of the return pass.
160
+ *
161
+ * Scope: this pass serves a request whose answering focus is still IN FLIGHT
162
+ * (its stamped delivery reached done first). Once the focus COMPLETES, findings
163
+ * are derived in the database at the focus's own transition
164
+ * (end_request_answered_by_focus): from the latest completed review summary,
165
+ * else the done deliveries and their acceptance criteria, stamped delivery or
166
+ * not -- so a completed focus never waits on this pass.
160
167
  */
161
168
  export async function autoDeliverCompletedRequests(config, deps = defaultNexusAutoDeliverDeps(config)) {
162
169
  const productId = config.productId;
@@ -187,6 +194,41 @@ export async function autoDeliverCompletedRequests(config, deps = defaultNexusAu
187
194
  }
188
195
  }
189
196
  }
197
+ /** Production ended-foci deps over callApi. */
198
+ export function defaultNexusEndedFociDeps(_config) {
199
+ return {
200
+ sweepEndedFoci: () => callApi('product_request_resolve_ended_foci', {}),
201
+ log: (msg) => dlog.info(msg),
202
+ };
203
+ }
204
+ /**
205
+ * The BACKSTOP for "a request ends when the focus that answers it ends".
206
+ *
207
+ * The rule runs in the database at the focus's own transition (a trigger on
208
+ * product_focuses), whichever writer set the status and whether or not the
209
+ * TARGET product runs a daemon. Two cases have no transition left to wait for:
210
+ * a request a gate held at the transition (an open question or operator
211
+ * escalation, which clears on some other row later), and a request whose focus
212
+ * ended before the rule existed. This sweep re-evaluates both, org-wide, every
213
+ * tick -- ANY daemon in the org calling it is enough, which is the point: the
214
+ * per-product resolve pass above never ran for a target with no daemon.
215
+ *
216
+ * Cannot double-end a request: the server acts only on in_progress. Best-effort:
217
+ * a failure is logged and the next tick retries.
218
+ */
219
+ export async function resolveRequestsOfEndedFoci(config, deps = defaultNexusEndedFociDeps(config)) {
220
+ const log = deps.log ?? ((msg) => dlog.info(msg));
221
+ try {
222
+ const sweep = await deps.sweepEndedFoci();
223
+ if (sweep.closed > 0 || sweep.declined > 0 || sweep.failed > 0) {
224
+ log(`[nexus] ended-foci sweep: closed ${sweep.closed}, declined ${sweep.declined}, ` +
225
+ `held ${sweep.held}, failed ${sweep.failed} of ${sweep.evaluated} request(s) whose answering focus ended`);
226
+ }
227
+ }
228
+ catch (err) {
229
+ log(`[nexus] ended-foci sweep failed: ${err.message}`);
230
+ }
231
+ }
190
232
  /**
191
233
  * Poll one product for return-path loop closure. Runs both sides:
192
234
  * TARGET -- resolve materialized in_progress incoming requests (server gates
@@ -1 +1 @@
1
- {"version":3,"file":"return.js","sourceRoot":"","sources":["../../src/nexus/return.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"return.js","sourceRoot":"","sources":["../../src/nexus/return.ts"],"names":[],"mappings":"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"}
@@ -7,18 +7,20 @@
7
7
  * the role framework).
8
8
  */
9
9
  import type { FocusDeliveryInfo, FocusIssueInfo } from '../types/index.js';
10
- import { type ArmFacts } from '../focus/recorded-new-intent.js';
10
+ import type { ArmFacts } from '../focus/recorded-new-intent.js';
11
11
  export type { DeploymentProfileSnapshotContext, FocusTeamPromptContext } from './team-prompt-base.js';
12
12
  export { buildFocusTeamPrompt } from './team-prompt-base.js';
13
13
  /**
14
- * Build a re-engagement message listing all non-terminal deliveries that
15
- * the team must finish, scope, or cancel before the focus can wind down.
14
+ * Build a re-engagement message listing the deliveries that still hold team
15
+ * work -- an open work issue on an agent-actionable delivery, or a `planning`
16
+ * delivery to scope (deliveriesWithTeamWork, focus/team-actionable-work.ts).
16
17
  *
17
- * Unlike `buildWakeMessage` (which only lists agent-actionable deliveries),
18
- * this message includes deliveries in `planning`, `verify_failed`, and other
19
- * non-terminal states so the team is reminded that work is still pending.
20
- * Used by the scope-coverage guard when the focus executor would
21
- * otherwise idle-terminate while non-terminal deliveries remain.
18
+ * Callers pass their non-terminal set; the builder names only the deliveries in
19
+ * it that hold work. A coding delivery whose every issue is Done is the
20
+ * daemon's to advance: naming it under "Scope, Finish, or Cancel" hands the
21
+ * team a delivery with nothing on it to do, and a lead told that repeatedly
22
+ * escalates to a human for a status it cannot set (Tinker Tailor, 2026-09-25).
23
+ * Used by the scope-coverage guard and the lead continuation turn.
22
24
  */
23
25
  export declare function buildReEngagementMessage(nonTerminalDeliveries: FocusDeliveryInfo[], issues: FocusIssueInfo[], armFacts?: ArmFacts | null): string;
24
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"focus-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/prompt/focus-prompt-builder.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGxF,YAAY,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,qBAAqB,EAAE,iBAAiB,EAAE,EAC1C,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,GACzB,MAAM,CA+CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,MAAM,EAAE,cAAc,EAAE,EACxB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,MAAM,CAqER"}
1
+ {"version":3,"file":"focus-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/prompt/focus-prompt-builder.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAKhE,YAAY,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,qBAAqB,EAAE,iBAAiB,EAAE,EAC1C,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,GACzB,MAAM,CAoDR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,MAAM,EAAE,cAAc,EAAE,EACxB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,MAAM,CAqER"}
@@ -18,17 +18,20 @@
18
18
  import { isStatusAgentActionable } from '../workflow/stage-classifier.js';
19
19
  import { buildIssueCountLine, buildContextGroupLine, buildStandaloneIssueLine, buildVerificationFailureLines, buildShortfallReconciliationLines } from './prompt-listing.js';
20
20
  import { formatGateVerdictHeadline, gateVerdictFromGateState } from '../prompt-sections/gate-verdict-section.js';
21
- import { deliveriesVisibleToArm } from '../focus/recorded-new-intent.js';
21
+ import { deliveriesWithTeamWork } from '../focus/team-actionable-work.js';
22
+ import { OPEN_ISSUE_STATUSES } from '../shell/constants.js';
22
23
  export { buildFocusTeamPrompt } from './team-prompt-base.js';
23
24
  /**
24
- * Build a re-engagement message listing all non-terminal deliveries that
25
- * the team must finish, scope, or cancel before the focus can wind down.
25
+ * Build a re-engagement message listing the deliveries that still hold team
26
+ * work -- an open work issue on an agent-actionable delivery, or a `planning`
27
+ * delivery to scope (deliveriesWithTeamWork, focus/team-actionable-work.ts).
26
28
  *
27
- * Unlike `buildWakeMessage` (which only lists agent-actionable deliveries),
28
- * this message includes deliveries in `planning`, `verify_failed`, and other
29
- * non-terminal states so the team is reminded that work is still pending.
30
- * Used by the scope-coverage guard when the focus executor would
31
- * otherwise idle-terminate while non-terminal deliveries remain.
29
+ * Callers pass their non-terminal set; the builder names only the deliveries in
30
+ * it that hold work. A coding delivery whose every issue is Done is the
31
+ * daemon's to advance: naming it under "Scope, Finish, or Cancel" hands the
32
+ * team a delivery with nothing on it to do, and a lead told that repeatedly
33
+ * escalates to a human for a status it cannot set (Tinker Tailor, 2026-09-25).
34
+ * Used by the scope-coverage guard and the lead continuation turn.
32
35
  */
33
36
  export function buildReEngagementMessage(nonTerminalDeliveries, issues, armFacts) {
34
37
  // Callers already exclude a delivery RECORDED as new intent under the live
@@ -37,11 +40,11 @@ export function buildReEngagementMessage(nonTerminalDeliveries, issues, armFacts
37
40
  // work the record/queue rule refuses to queue. A caller that regains a
38
41
  // recorded delivery would resurrect the nudge loop, so the builder refuses to
39
42
  // render one whenever it is given the arm facts to recognise it.
40
- nonTerminalDeliveries = deliveriesVisibleToArm(nonTerminalDeliveries, armFacts);
43
+ nonTerminalDeliveries = deliveriesWithTeamWork(nonTerminalDeliveries, issues, { armFacts, planningIsWork: true });
41
44
  const parts = [];
42
45
  parts.push('## Remaining Work -- Scope, Finish, or Cancel');
43
46
  parts.push('');
44
- parts.push('The focus still has non-terminal deliveries. The team must');
47
+ parts.push('The focus still has deliveries holding open work. The team must');
45
48
  parts.push('finish, scope, or cancel each one before the focus can wind');
46
49
  parts.push('down. Do not exit. Pick the highest-priority delivery (lowest');
47
50
  parts.push('priorityRank) and continue from there.');
@@ -65,6 +68,12 @@ export function buildReEngagementMessage(nonTerminalDeliveries, issues, armFacts
65
68
  }
66
69
  else {
67
70
  parts.push(buildIssueCountLine(workIssues));
71
+ // Name the open work itself: a count alone tells the lead there is work
72
+ // but not which issue to pick up.
73
+ for (const issue of workIssues) {
74
+ if (OPEN_ISSUE_STATUSES.has(issue.status))
75
+ parts.push(buildStandaloneIssueLine(issue));
76
+ }
68
77
  }
69
78
  parts.push('');
70
79
  }