@telora/daemon 0.21.83 → 0.21.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/build-info.json +7 -3
  2. package/dist/ci/ci-status.d.ts +63 -11
  3. package/dist/ci/ci-status.d.ts.map +1 -1
  4. package/dist/ci/ci-status.js +94 -27
  5. package/dist/ci/ci-status.js.map +1 -1
  6. package/dist/completion/event-phases.d.ts.map +1 -1
  7. package/dist/completion/event-phases.js +5 -3
  8. package/dist/completion/event-phases.js.map +1 -1
  9. package/dist/completion/review-exit-escalations.d.ts +36 -1
  10. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  11. package/dist/completion/review-exit-escalations.js +81 -0
  12. package/dist/completion/review-exit-escalations.js.map +1 -1
  13. package/dist/completion/review-exit-phase.d.ts +4 -2
  14. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  15. package/dist/completion/review-exit-phase.js +39 -48
  16. package/dist/completion/review-exit-phase.js.map +1 -1
  17. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  18. package/dist/completion/status-advance-phase.js +10 -29
  19. package/dist/completion/status-advance-phase.js.map +1 -1
  20. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  21. package/dist/completion/team-lifecycle.js +8 -2
  22. package/dist/completion/team-lifecycle.js.map +1 -1
  23. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  24. package/dist/delivery/delivery-lifecycle.js +7 -13
  25. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  26. package/dist/delivery/delivery-reconciler-apply.d.ts +80 -66
  27. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
  28. package/dist/delivery/delivery-reconciler-apply.js +57 -61
  29. package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
  30. package/dist/delivery/external-hold.d.ts +17 -0
  31. package/dist/delivery/external-hold.d.ts.map +1 -1
  32. package/dist/delivery/external-hold.js +30 -2
  33. package/dist/delivery/external-hold.js.map +1 -1
  34. package/dist/delivery/operator-hold.d.ts +1 -2
  35. package/dist/delivery/operator-hold.d.ts.map +1 -1
  36. package/dist/delivery/operator-hold.js +1 -2
  37. package/dist/delivery/operator-hold.js.map +1 -1
  38. package/dist/delivery/wait-reachability.d.ts +149 -0
  39. package/dist/delivery/wait-reachability.d.ts.map +1 -0
  40. package/dist/delivery/wait-reachability.js +182 -0
  41. package/dist/delivery/wait-reachability.js.map +1 -0
  42. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  43. package/dist/focus/listener-auto-advance.js +10 -55
  44. package/dist/focus/listener-auto-advance.js.map +1 -1
  45. package/dist/focus/listener.d.ts.map +1 -1
  46. package/dist/focus/listener.js +17 -1
  47. package/dist/focus/listener.js.map +1 -1
  48. package/dist/git/merge.d.ts.map +1 -1
  49. package/dist/git/merge.js +12 -3
  50. package/dist/git/merge.js.map +1 -1
  51. package/dist/queries/deliveries.d.ts +10 -0
  52. package/dist/queries/deliveries.d.ts.map +1 -1
  53. package/dist/queries/deliveries.js +1 -0
  54. package/dist/queries/deliveries.js.map +1 -1
  55. package/dist/queries/focuses.d.ts +10 -0
  56. package/dist/queries/focuses.d.ts.map +1 -1
  57. package/dist/queries/focuses.js +15 -0
  58. package/dist/queries/focuses.js.map +1 -1
  59. package/dist/queries/schemas.d.ts +2 -0
  60. package/dist/queries/schemas.d.ts.map +1 -1
  61. package/dist/queries/schemas.js +4 -0
  62. package/dist/queries/schemas.js.map +1 -1
  63. package/dist/shell/heartbeat.d.ts +7 -0
  64. package/dist/shell/heartbeat.d.ts.map +1 -1
  65. package/dist/shell/heartbeat.js +1 -1
  66. package/dist/shell/heartbeat.js.map +1 -1
  67. package/dist/spawn/respawn-cycle-escalation.d.ts +41 -0
  68. package/dist/spawn/respawn-cycle-escalation.d.ts.map +1 -0
  69. package/dist/spawn/respawn-cycle-escalation.js +83 -0
  70. package/dist/spawn/respawn-cycle-escalation.js.map +1 -0
  71. package/dist/spawn/spawn-cooldown.d.ts +85 -2
  72. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  73. package/dist/spawn/spawn-cooldown.js +73 -10
  74. package/dist/spawn/spawn-cooldown.js.map +1 -1
  75. package/dist/testing/fixtures/index.d.ts +64 -0
  76. package/dist/testing/fixtures/index.d.ts.map +1 -0
  77. package/dist/testing/fixtures/index.js +220 -0
  78. package/dist/testing/fixtures/index.js.map +1 -0
  79. package/dist/update/build-info.d.ts +1 -0
  80. package/dist/update/build-info.d.ts.map +1 -1
  81. package/dist/update/build-info.js +1 -1
  82. package/dist/update/build-info.js.map +1 -1
  83. package/dist/verify/stall-detector-config.d.ts +8 -0
  84. package/dist/verify/stall-detector-config.d.ts.map +1 -1
  85. package/dist/verify/stall-detector-config.js +40 -0
  86. package/dist/verify/stall-detector-config.js.map +1 -1
  87. package/dist/verify/stall-detectors.d.ts +37 -6
  88. package/dist/verify/stall-detectors.d.ts.map +1 -1
  89. package/dist/verify/stall-detectors.js +45 -9
  90. package/dist/verify/stall-detectors.js.map +1 -1
  91. package/dist/verify/verification-feedback.d.ts +3 -4
  92. package/dist/verify/verification-feedback.d.ts.map +1 -1
  93. package/dist/verify/verification-feedback.js +3 -12
  94. package/dist/verify/verification-feedback.js.map +1 -1
  95. package/package.json +3 -3
package/build-info.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "commitSha": "2222e1a8e",
3
- "builtAt": "2026-08-18T15:52:55.595Z",
2
+ "commitSha": "f200ca5c0",
3
+ "builtAt": "2026-08-19T10:09:45.494Z",
4
4
  "expectedMigrations": [
5
5
  "20250829113330_create_org_nodes_table.sql",
6
6
  "20250829113402_fix_function_security_search_path.sql",
@@ -753,6 +753,10 @@
753
753
  "20260816162200_retention_sweep_recording.sql",
754
754
  "20260816172138_fix_retention_sweep_ambiguous_column.sql",
755
755
  "20260816181820_retention_enforced_by_heartbeat_derived.sql",
756
- "20260817030910_server_now.sql"
756
+ "20260817030910_server_now.sql",
757
+ "20260818164401_add_review_handoff_count.sql",
758
+ "20260818164402_agent_escalations_kind_review_handoff_exhausted.sql",
759
+ "20260818164403_agent_escalations_kind_respawn_cycle_exhausted.sql",
760
+ "20260818201246_agent_escalations_kind_restore_promoted_add_propagation_stale.sql"
757
761
  ]
758
762
  }
@@ -25,6 +25,7 @@
25
25
  * @module ci-status
26
26
  */
27
27
  import type { DaemonConfig } from '../types/index.js';
28
+ import { type WaitReachability } from '../delivery/wait-reachability.js';
28
29
  /**
29
30
  * Normalized CI run status for a SHA.
30
31
  * - green -- a CI run for this SHA completed successfully.
@@ -43,6 +44,19 @@ export interface CiMergeGateDecision {
43
44
  status: CiRunStatus;
44
45
  /** Human-readable reason (logged; surfaced in the session exit suffix). */
45
46
  reason: string;
47
+ /**
48
+ * Reachability of the HELD wait: can the awaited CI condition still fire?
49
+ * Populated only for a hold (proceed=false) that a caller has classified with
50
+ * the merged sha via {@link classifyCiMergeWait}; absent on the pure
51
+ * status-only decision from {@link resolveCiMergeGate}. `reachable:false` marks
52
+ * the incident's trap -- a settled non-green result on an UNCHANGED sha that
53
+ * cannot self-clear without a NEW commit, so holding for it is a stall, not
54
+ * patience. `reachable:true` marks a run still in flight (the CI runner can
55
+ * still finish it).
56
+ */
57
+ reachable?: boolean;
58
+ /** The reachability reason (from the wait-reachability classifier), when set. */
59
+ reachabilityReason?: string;
46
60
  }
47
61
  /**
48
62
  * Pure merge-gate decision: should integration->main proceed given the merged
@@ -62,28 +76,66 @@ export interface CiMergeGateDecision {
62
76
  * a non-green (or absent) status for the merged SHA.
63
77
  */
64
78
  export declare function resolveCiMergeGate(status: CiRunStatus): CiMergeGateDecision;
79
+ /**
80
+ * Classify whether a HELD CI merge wait can still fire, given the merged SHA.
81
+ * This is the reachability distinction the plain status-only gate cannot make:
82
+ * the merge gate correctly HOLDS on pending / red / unknown, but only some of
83
+ * those waits can still be satisfied without new input.
84
+ *
85
+ * - pending -> REACHABLE: a run is in flight; the CI runner (another actor)
86
+ * can still finish it and turn the SHA green.
87
+ * - red -> UNREACHABLE: a settled failure recorded for THIS sha. It never
88
+ * re-evaluates for the same commit (refs/ci-status/<sha> is immutable per
89
+ * sha), so waiting for it to "turn green" cannot succeed without a NEW
90
+ * commit. This is the 2026-08-17 "CI-red result auto-resolving" trap: a
91
+ * stall that reads as patience.
92
+ * - unknown -> REACHABLE (conservative): no status could be determined, so a
93
+ * run could still appear. We do NOT declare an unknown wait dead -- only a
94
+ * recorded non-green RESULT is a static fact.
95
+ * - green -> not held; classified REACHABLE for totality (never reached on a
96
+ * hold path).
97
+ *
98
+ * Pure. Reuses the shared wait-reachability classifier so the CI hold speaks the
99
+ * same vocabulary as every other wait.
100
+ */
101
+ export declare function classifyCiMergeWait(status: CiRunStatus, sha: string): WaitReachability;
65
102
  /**
66
103
  * Classify a git-native CI status from the set of ci-status ref names published
67
104
  * for a SHA. The STATE is encoded in the ref NAME (immutable per-SHA), so no
68
105
  * object content read is needed. Pure -- the caller supplies the ref names from a
69
106
  * scoped `git ls-remote` / fetch.
70
107
  *
71
- * MOST-RECENT-RUN-WINS. The publisher encodes run order in the ref PATH
72
- * (`refs/ci-status/<sha>/<runNumber>/<state>`), so a later GREEN run's ref
73
- * outranks an earlier FAILURE ref for the same sha. This fixes the "a failure
74
- * ref outranks a success ref, forever" trap: ref names carried no order, so a
75
- * sha that once published a failure (an infra blip, or an evicted run) stayed
76
- * red permanently even after a real green run of the same sha. The order comes
77
- * from the workflow, never inferred by this reader.
108
+ * COMPLETED-GREEN-WINS across runs. The publisher encodes run order in the ref
109
+ * PATH (`refs/ci-status/<sha>/<runNumber>/<state>`) and publishes `success` ONLY
110
+ * when the whole suite (ci AND e2e) completed green. A completed green run is
111
+ * therefore unforgeable proof the SHA's tree is sound: a genuinely broken tree
112
+ * can never publish green, and a run destroyed mid-suite can never reach a green
113
+ * e2e result. So among the distinct runs of one sha, ANY completed green run
114
+ * outranks a red run of the same sha -- the red is the environmental casualty
115
+ * (an evicted run, or one whose Postgres another overlapping run force-removed
116
+ * mid-suite), not the tree.
117
+ *
118
+ * This REPLACES the earlier most-recent-run-wins rule, which the 2026-08-18
119
+ * shared-runner incident disproved: run 3838's live database was force-removed
120
+ * by an overlapping run 3837, so 3838 published a failure -- and because the
121
+ * DESTROYED run carried the HIGHER run number, "most recent wins" let its red
122
+ * pin a sound sha red. Run-id order did not even match start order there (3838
123
+ * started before 3837), so "most recent run" was never reliably most-recent.
124
+ * Completed-green does not depend on run-number order at all.
78
125
  *
79
- * FAIL-CLOSED throughout: an empty set / unrecognized suffix -> 'unknown'
80
- * (holds); among the highest run number, RED wins on a tie (the rare same-run
81
- * re-run that published both states resolves to red, never a false green).
126
+ * FAIL-CLOSED throughout: an empty set / unrecognized suffix / only-pending ->
127
+ * 'unknown'/'pending' (holds -- absent or ambiguous-without-a-completed-green
128
+ * evidence never passes). Within a SINGLE run, RED still wins a green/red tie
129
+ * (the rare same-run re-run that published both states resolves that run to red,
130
+ * never a false green); a sha with NO green run anywhere resolves to red, so a
131
+ * truly broken tree is never masked. The order/verdict comes from the workflow,
132
+ * never inferred by this reader.
82
133
  *
83
134
  * LEGACY refs (`refs/ci-status/<sha>/<state>`, no run number) carry no order; if
84
135
  * ONLY legacy refs exist we fall back to the original fail-closed precedence
85
136
  * (failure outranks success outranks pending), preserving prior behavior for
86
- * shas published before the run-ordered scheme deployed.
137
+ * shas published before the run-ordered scheme deployed. Any ordered ref takes
138
+ * precedence over legacy refs for the same sha.
87
139
  */
88
140
  export declare function classifyGitNativeCiStatus(refNames: readonly string[]): CiRunStatus;
89
141
  /** Parameters passed to a CI status reader. */
@@ -1 +1 @@
1
- {"version":3,"file":"ci-status.d.ts","sourceRoot":"","sources":["../../src/ci/ci-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAElE,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,WAAW,CAAC;IACpB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAY3E;AA8BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuClF;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,MAAM,EAAE,CAAC;AAEhF;;;;GAIG;AACH,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,GAAG,cAAc,CAIvG;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAWvF"}
1
+ {"version":3,"file":"ci-status.d.ts","sourceRoot":"","sources":["../../src/ci/ci-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AAElE,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,WAAW,CAAC;IACpB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAY3E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAUtF;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuDlF;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,MAAM,EAAE,CAAC;AAEhF;;;;GAIG;AACH,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,GAAG,cAAc,CAIvG;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAWvF"}
@@ -24,6 +24,7 @@
24
24
  *
25
25
  * @module ci-status
26
26
  */
27
+ import { classifyWaitReachability, ciRunPendingWait, recordedCiResultWait, } from '../delivery/wait-reachability.js';
27
28
  /**
28
29
  * Pure merge-gate decision: should integration->main proceed given the merged
29
30
  * SHA's CI status? FAIL-CLOSED (Jeremy decision 2026-07-05): only an explicit
@@ -54,6 +55,39 @@ export function resolveCiMergeGate(status) {
54
55
  return { proceed: false, status: 'unknown', reason: 'CI status unavailable for the merged SHA -- holding (fail-closed: unknown != green)' };
55
56
  }
56
57
  }
58
+ /**
59
+ * Classify whether a HELD CI merge wait can still fire, given the merged SHA.
60
+ * This is the reachability distinction the plain status-only gate cannot make:
61
+ * the merge gate correctly HOLDS on pending / red / unknown, but only some of
62
+ * those waits can still be satisfied without new input.
63
+ *
64
+ * - pending -> REACHABLE: a run is in flight; the CI runner (another actor)
65
+ * can still finish it and turn the SHA green.
66
+ * - red -> UNREACHABLE: a settled failure recorded for THIS sha. It never
67
+ * re-evaluates for the same commit (refs/ci-status/<sha> is immutable per
68
+ * sha), so waiting for it to "turn green" cannot succeed without a NEW
69
+ * commit. This is the 2026-08-17 "CI-red result auto-resolving" trap: a
70
+ * stall that reads as patience.
71
+ * - unknown -> REACHABLE (conservative): no status could be determined, so a
72
+ * run could still appear. We do NOT declare an unknown wait dead -- only a
73
+ * recorded non-green RESULT is a static fact.
74
+ * - green -> not held; classified REACHABLE for totality (never reached on a
75
+ * hold path).
76
+ *
77
+ * Pure. Reuses the shared wait-reachability classifier so the CI hold speaks the
78
+ * same vocabulary as every other wait.
79
+ */
80
+ export function classifyCiMergeWait(status, sha) {
81
+ switch (status) {
82
+ case 'red':
83
+ return classifyWaitReachability(recordedCiResultWait(sha, 'red'));
84
+ case 'pending':
85
+ case 'unknown':
86
+ case 'green':
87
+ default:
88
+ return classifyWaitReachability(ciRunPendingWait(sha));
89
+ }
90
+ }
57
91
  /** The recognized state a ci-status ref suffix encodes, or null if unrecognized. */
58
92
  function ciStateFromRefSuffix(ref) {
59
93
  if (ref.endsWith('/failure') || ref.endsWith('/error') || ref.endsWith('/red'))
@@ -89,26 +123,42 @@ function ciRunOrderFromRef(ref) {
89
123
  * object content read is needed. Pure -- the caller supplies the ref names from a
90
124
  * scoped `git ls-remote` / fetch.
91
125
  *
92
- * MOST-RECENT-RUN-WINS. The publisher encodes run order in the ref PATH
93
- * (`refs/ci-status/<sha>/<runNumber>/<state>`), so a later GREEN run's ref
94
- * outranks an earlier FAILURE ref for the same sha. This fixes the "a failure
95
- * ref outranks a success ref, forever" trap: ref names carried no order, so a
96
- * sha that once published a failure (an infra blip, or an evicted run) stayed
97
- * red permanently even after a real green run of the same sha. The order comes
98
- * from the workflow, never inferred by this reader.
126
+ * COMPLETED-GREEN-WINS across runs. The publisher encodes run order in the ref
127
+ * PATH (`refs/ci-status/<sha>/<runNumber>/<state>`) and publishes `success` ONLY
128
+ * when the whole suite (ci AND e2e) completed green. A completed green run is
129
+ * therefore unforgeable proof the SHA's tree is sound: a genuinely broken tree
130
+ * can never publish green, and a run destroyed mid-suite can never reach a green
131
+ * e2e result. So among the distinct runs of one sha, ANY completed green run
132
+ * outranks a red run of the same sha -- the red is the environmental casualty
133
+ * (an evicted run, or one whose Postgres another overlapping run force-removed
134
+ * mid-suite), not the tree.
99
135
  *
100
- * FAIL-CLOSED throughout: an empty set / unrecognized suffix -> 'unknown'
101
- * (holds); among the highest run number, RED wins on a tie (the rare same-run
102
- * re-run that published both states resolves to red, never a false green).
136
+ * This REPLACES the earlier most-recent-run-wins rule, which the 2026-08-18
137
+ * shared-runner incident disproved: run 3838's live database was force-removed
138
+ * by an overlapping run 3837, so 3838 published a failure -- and because the
139
+ * DESTROYED run carried the HIGHER run number, "most recent wins" let its red
140
+ * pin a sound sha red. Run-id order did not even match start order there (3838
141
+ * started before 3837), so "most recent run" was never reliably most-recent.
142
+ * Completed-green does not depend on run-number order at all.
143
+ *
144
+ * FAIL-CLOSED throughout: an empty set / unrecognized suffix / only-pending ->
145
+ * 'unknown'/'pending' (holds -- absent or ambiguous-without-a-completed-green
146
+ * evidence never passes). Within a SINGLE run, RED still wins a green/red tie
147
+ * (the rare same-run re-run that published both states resolves that run to red,
148
+ * never a false green); a sha with NO green run anywhere resolves to red, so a
149
+ * truly broken tree is never masked. The order/verdict comes from the workflow,
150
+ * never inferred by this reader.
103
151
  *
104
152
  * LEGACY refs (`refs/ci-status/<sha>/<state>`, no run number) carry no order; if
105
153
  * ONLY legacy refs exist we fall back to the original fail-closed precedence
106
154
  * (failure outranks success outranks pending), preserving prior behavior for
107
- * shas published before the run-ordered scheme deployed.
155
+ * shas published before the run-ordered scheme deployed. Any ordered ref takes
156
+ * precedence over legacy refs for the same sha.
108
157
  */
109
158
  export function classifyGitNativeCiStatus(refNames) {
110
- let bestOrder = -1;
111
- const statesAtBest = new Set();
159
+ // Collect the published states per run number so each run resolves to one
160
+ // verdict (red wins a same-run tie) before the cross-run comparison.
161
+ const statesByRun = new Map();
112
162
  let sawLegacyRed = false;
113
163
  let sawLegacyGreen = false;
114
164
  let sawLegacyPending = false;
@@ -127,22 +177,39 @@ export function classifyGitNativeCiStatus(refNames) {
127
177
  sawLegacyPending = true;
128
178
  continue;
129
179
  }
130
- if (order > bestOrder) {
131
- bestOrder = order;
132
- statesAtBest.clear();
133
- statesAtBest.add(state);
134
- }
135
- else if (order === bestOrder) {
136
- statesAtBest.add(state);
180
+ let set = statesByRun.get(order);
181
+ if (!set) {
182
+ set = new Set();
183
+ statesByRun.set(order, set);
137
184
  }
185
+ set.add(state);
138
186
  }
139
- // Most-recent ordered run decides (red wins a same-run tie, fail-closed).
140
- if (bestOrder >= 0) {
141
- if (statesAtBest.has('red'))
142
- return 'red';
143
- if (statesAtBest.has('green'))
144
- return 'green';
145
- if (statesAtBest.has('pending'))
187
+ if (statesByRun.size > 0) {
188
+ // Resolve each run to a single verdict (red wins a same-run tie, fail-closed),
189
+ // then apply completed-green-wins across runs.
190
+ let anyGreen = false;
191
+ let anyRed = false;
192
+ let anyPending = false;
193
+ for (const set of statesByRun.values()) {
194
+ const runVerdict = set.has('red')
195
+ ? 'red'
196
+ : set.has('green')
197
+ ? 'green'
198
+ : set.has('pending')
199
+ ? 'pending'
200
+ : 'unknown';
201
+ if (runVerdict === 'green')
202
+ anyGreen = true;
203
+ else if (runVerdict === 'red')
204
+ anyRed = true;
205
+ else if (runVerdict === 'pending')
206
+ anyPending = true;
207
+ }
208
+ if (anyGreen)
209
+ return 'green'; // a completed green run proves the tree sound
210
+ if (anyRed)
211
+ return 'red'; // no green anywhere -> a real gate red holds
212
+ if (anyPending)
146
213
  return 'pending';
147
214
  return 'unknown';
148
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ci-status.js","sourceRoot":"","sources":["../../src/ci/ci-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-status.js","sourceRoot":"","sources":["../../src/ci/ci-status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-phases.d.ts","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM7F,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkB5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAc9E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,aAAa,EAAE,cAAc,EAAE,GAC9B,OAAO,CAAC,eAAe,CAAC,CAkL1B;AAID;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAuDlB;AAID;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAkSf"}
1
+ {"version":3,"file":"event-phases.d.ts","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM7F,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmB5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAc9E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,iBAAiB,EAAE,iBAAiB,EAAE,EACtC,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,aAAa,EAAE,cAAc,EAAE,GAC9B,OAAO,CAAC,eAAe,CAAC,CAkL1B;AAID;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAuDlB;AAID;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAmSf"}
@@ -35,6 +35,7 @@ import { isProcessAlive as defaultIsLeadAlive } from '../spawn/liveness.js';
35
35
  import { resolveAutoRemediationBudget } from '../delivery/delivery-advance-block.js';
36
36
  import { escalateNoProgress, escalateNonAdvanceable, escalateDeliveryAdvancementStalled, } from './event-escalations.js';
37
37
  import { recordDeliveryAdvancementCycle } from './delivery-advancement-guard.js';
38
+ import { renderWait, teamProgressWait } from '../delivery/wait-reachability.js';
38
39
  import { reconcileTerminatedTeamWork as defaultReconcileTerminatedTeamWork, } from './terminated-work-reconcile.js';
39
40
  import { createLogger } from '../shell/log.js';
40
41
  const log = createLogger({ module: 'focus-executor' });
@@ -465,7 +466,8 @@ export async function executeCompletionAction(ctx, deps, facts, action, noProgre
465
466
  teamState.lastProgressSnapshot = snapshot;
466
467
  log.warn(`Scope-coverage guard tripped for "${focusName}" -- ` +
467
468
  `${teamState.noProgressCycles} consecutive cycles with no progress on ${postNonTerminal.length} ` +
468
- `non-terminal delivery(ies); escalating and terminating`);
469
+ `non-terminal delivery(ies); the bound on ${renderWait(teamProgressWait(postNonTerminal.length))} ` +
470
+ `fired -- escalating and terminating`);
469
471
  await escalateNoProgress({
470
472
  organizationId: teamState.organizationId,
471
473
  sessionId: teamState.leadSessionId ?? '',
@@ -530,8 +532,8 @@ export async function executeCompletionAction(ctx, deps, facts, action, noProgre
530
532
  message = buildWakeMessage(effectiveDeliveries, currentIssues, teamState.knownDeliveryIds);
531
533
  }
532
534
  else {
533
- log.info(`Re-engaging "${focusName}" -- ${postNonTerminal.length} non-terminal ` +
534
- `delivery(ies) remain (cycle ${teamState.noProgressCycles}/${noProgressLimit})`);
535
+ log.info(`Re-engaging "${focusName}" -- ${renderWait(teamProgressWait(postNonTerminal.length))} ` +
536
+ `(cycle ${teamState.noProgressCycles}/${noProgressLimit})`);
535
537
  message = buildReEngagementMessage(postNonTerminal, currentIssues);
536
538
  }
537
539
  // Update tracking state
@@ -1 +1 @@
1
- {"version":3,"file":"event-phases.js","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-phases.js","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,9 @@
16
16
  * @module completion/review-exit-escalations
17
17
  */
18
18
  import type { createEscalation, hasOpenFocusEscalation } from '../queries/issues.js';
19
- import type { setReviewCycleCount } from '../queries/focuses.js';
19
+ import type { setReviewCycleCount, clearReviewRequestedAt, setReviewHandoffCount } from '../queries/focuses.js';
20
20
  import type { resolveReviewCycleCap } from '../verify/stall-detector-config.js';
21
+ import { resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
21
22
  /** The slice of ReviewExitDeps this module needs (structural, so no import cycle). */
22
23
  export interface ReviewExitEscalationDeps {
23
24
  createEscalation: typeof createEscalation;
@@ -61,6 +62,40 @@ export declare function fileCoverageIncompleteEscalation(deps: ReviewExitEscalat
61
62
  currentBranchTip: string | null;
62
63
  streak: number;
63
64
  }): Promise<void>;
65
+ /** Deps for the bounded hand-off decision: the escalation deps plus the two focus writers it drives. */
66
+ export interface HandoffBoundDeps extends ReviewExitEscalationDeps {
67
+ clearReviewRequestedAt: typeof clearReviewRequestedAt;
68
+ setReviewHandoffCount?: typeof setReviewHandoffCount;
69
+ resolveReviewHandoffCap?: typeof resolveReviewHandoffCap;
70
+ }
71
+ /**
72
+ * Bound the review-exit hand-off. Called ONLY when a review exit routed nothing
73
+ * AND a spawn directive is pending -- the branch that used to leave
74
+ * review_requested_at set unconditionally "for the incoming team", re-making an
75
+ * unverified promise forever.
76
+ *
77
+ * Counts consecutive routes-nothing hand-offs in a DURABLE focus counter (so the
78
+ * bound survives a daemon restart, which would reset an in-memory counter and
79
+ * make the loop look fresh each cycle). Under the cap: record the incremented
80
+ * count and leave review_requested_at set (the legitimate hand-off). AT the cap:
81
+ * stop re-asserting -- close the review window (clear review_requested_at,
82
+ * removing the precondition that re-fires the branch) and file ONE
83
+ * review_handoff_exhausted escalation instead, so a review exit can no longer
84
+ * re-create the condition that produced it. All writes best-effort.
85
+ */
86
+ export declare function recordHandoffAndMaybeTerminate(deps: HandoffBoundDeps, ctx: ReviewExitEscalationContext, currentHandoffCount: number): Promise<void>;
87
+ /**
88
+ * The review hand-off has terminated. The review-exit hand-off branch re-asserts
89
+ * an unverified promise -- "the incoming team will route it" -- and re-makes it
90
+ * unchanged when it fails. After TELORA_REVIEW_HANDOFF_CAP consecutive
91
+ * routes-nothing hand-offs the daemon stops re-asserting: it closes the review
92
+ * window (clears review_requested_at, removing the precondition that re-fires the
93
+ * branch) and files THIS escalation instead. One open row per focus.
94
+ */
95
+ export declare function fileHandoffExhaustedEscalation(deps: ReviewExitEscalationDeps, ctx: ReviewExitEscalationContext, args: {
96
+ handoffCount: number;
97
+ cap: number;
98
+ }): Promise<void>;
64
99
  /**
65
100
  * The routing inconsistency the review-exit gate exists to catch: the review
66
101
  * stamped a gaps_found VERDICT but no verify delivery carried blocking open
@@ -1 +1 @@
1
- {"version":3,"file":"review-exit-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAKhF,sFAAsF;AACtF,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAG1C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAGvD,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;CACtD;AAED,mEAAmE;AACnE,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,GAC/B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
1
+ {"version":3,"file":"review-exit-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,sFAAsF;AACtF,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAG1C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAGvD,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;CACtD;AAED,mEAAmE;AACnE,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wGAAwG;AACxG,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACrD,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;CAC1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,2BAA2B,EAChC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED;;;;;;;GAOG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,IAAI,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,GAC/B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
@@ -16,6 +16,7 @@
16
16
  * @module completion/review-exit-escalations
17
17
  */
18
18
  import { ESCALATION_REASONS, ESCALATION_DISPOSITIONS } from '@telora/daemon-core';
19
+ import { resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
19
20
  import { createLogger } from '../shell/log.js';
20
21
  const log = createLogger({ module: 'focus-executor' });
21
22
  /**
@@ -140,6 +141,86 @@ export async function fileCoverageIncompleteEscalation(deps, ctx, args) {
140
141
  },
141
142
  });
142
143
  }
144
+ /**
145
+ * Bound the review-exit hand-off. Called ONLY when a review exit routed nothing
146
+ * AND a spawn directive is pending -- the branch that used to leave
147
+ * review_requested_at set unconditionally "for the incoming team", re-making an
148
+ * unverified promise forever.
149
+ *
150
+ * Counts consecutive routes-nothing hand-offs in a DURABLE focus counter (so the
151
+ * bound survives a daemon restart, which would reset an in-memory counter and
152
+ * make the loop look fresh each cycle). Under the cap: record the incremented
153
+ * count and leave review_requested_at set (the legitimate hand-off). AT the cap:
154
+ * stop re-asserting -- close the review window (clear review_requested_at,
155
+ * removing the precondition that re-fires the branch) and file ONE
156
+ * review_handoff_exhausted escalation instead, so a review exit can no longer
157
+ * re-create the condition that produced it. All writes best-effort.
158
+ */
159
+ export async function recordHandoffAndMaybeTerminate(deps, ctx, currentHandoffCount) {
160
+ const handoffCap = (deps.resolveReviewHandoffCap ?? resolveReviewHandoffCap)();
161
+ const nextHandoffCount = currentHandoffCount + 1;
162
+ const persist = async () => {
163
+ if (!deps.setReviewHandoffCount)
164
+ return;
165
+ try {
166
+ await deps.setReviewHandoffCount(ctx.focusId, nextHandoffCount);
167
+ }
168
+ catch (err) {
169
+ log.warn(`[focus-executor] setReviewHandoffCount failed for "${ctx.focusName}": ${err.message}`);
170
+ }
171
+ };
172
+ if (deps.setReviewHandoffCount && nextHandoffCount >= handoffCap) {
173
+ // Exhausted: terminate the hand-off. Persist the crossing count, close the
174
+ // window, and file one operator escalation (deduped one-open-per-focus).
175
+ await persist();
176
+ await deps.clearReviewRequestedAt(ctx.focusId);
177
+ await fileHandoffExhaustedEscalation(deps, ctx, { handoffCount: nextHandoffCount, cap: handoffCap });
178
+ log.warn(`[focus-executor] "${ctx.focusName}" review hand-off EXHAUSTED (${nextHandoffCount} >= cap ${handoffCap}) -- ` +
179
+ `review_requested_at cleared and review_handoff_exhausted escalation filed; no re-assertion.`);
180
+ }
181
+ else {
182
+ // Under the cap: the legitimate hand-off. Record the incremented count and
183
+ // leave review_requested_at set for the incoming team.
184
+ await persist();
185
+ log.info(`[focus-executor] "${ctx.focusName}" review exit routed nothing and a spawn directive ` +
186
+ `is pending -- leaving review_requested_at set for the incoming team ` +
187
+ `(hand-off ${nextHandoffCount}/${handoffCap}).`);
188
+ }
189
+ }
190
+ /**
191
+ * The review hand-off has terminated. The review-exit hand-off branch re-asserts
192
+ * an unverified promise -- "the incoming team will route it" -- and re-makes it
193
+ * unchanged when it fails. After TELORA_REVIEW_HANDOFF_CAP consecutive
194
+ * routes-nothing hand-offs the daemon stops re-asserting: it closes the review
195
+ * window (clears review_requested_at, removing the precondition that re-fires the
196
+ * branch) and files THIS escalation instead. One open row per focus.
197
+ */
198
+ export async function fileHandoffExhaustedEscalation(deps, ctx, args) {
199
+ await fileDedupedFocusEscalation(deps, ctx, {
200
+ escalationKind: 'review_handoff_exhausted',
201
+ label: 'handoff-exhausted',
202
+ reasonType: ESCALATION_REASONS.BLOCKED_BY_EXTERNAL,
203
+ description: `Review of "${ctx.focusName}" handed off to an incoming team ${args.handoffCount} time(s) ` +
204
+ `(cap ${args.cap}) without any team routing a delivery. Each hand-off left ` +
205
+ `review_requested_at set on the assumption the incoming team would do the routing, but ` +
206
+ `there was no work left to route, so the incoming team re-made the same empty hand-off. ` +
207
+ `The daemon has CLOSED the review window (cleared review_requested_at) and stopped ` +
208
+ `re-asserting the hand-off, so the self-perpetuating loop cannot re-create its own ` +
209
+ `precondition.\n\n` +
210
+ `An operator should confirm the focus is genuinely done (nothing left to review) and ` +
211
+ `close/descope it, or resolve why the review window kept re-opening with no work to route.`,
212
+ metadata: {
213
+ session_id: ctx.sessionId,
214
+ handoff_count: args.handoffCount,
215
+ cap: args.cap,
216
+ routed_via: 'handoff_exhausted',
217
+ },
218
+ onFiled: () => {
219
+ log.warn(`[focus-executor] review_handoff_exhausted escalation filed for "${ctx.focusName}" ` +
220
+ `(hand-offs=${args.handoffCount}, cap=${args.cap}); review window closed.`);
221
+ },
222
+ });
223
+ }
143
224
  /**
144
225
  * The routing inconsistency the review-exit gate exists to catch: the review
145
226
  * stamped a gaps_found VERDICT but no verify delivery carried blocking open
@@ -1 +1 @@
1
- {"version":3,"file":"review-exit-escalations.js","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-exit-escalations.js","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"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"}