@telora/daemon 0.24.26 → 0.24.36

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 (207) hide show
  1. package/build-info.json +6 -3
  2. package/dist/ci/gate-job-conclusion.d.ts +88 -0
  3. package/dist/ci/gate-job-conclusion.d.ts.map +1 -0
  4. package/dist/ci/gate-job-conclusion.js +207 -0
  5. package/dist/ci/gate-job-conclusion.js.map +1 -0
  6. package/dist/ci/gate-ref.d.ts +12 -0
  7. package/dist/ci/gate-ref.d.ts.map +1 -1
  8. package/dist/ci/gate-ref.js +2 -0
  9. package/dist/ci/gate-ref.js.map +1 -1
  10. package/dist/composition/tower-escalation-context.d.ts +3 -0
  11. package/dist/composition/tower-escalation-context.d.ts.map +1 -1
  12. package/dist/composition/tower-escalation-context.js +26 -12
  13. package/dist/composition/tower-escalation-context.js.map +1 -1
  14. package/dist/composition/verification-context.d.ts.map +1 -1
  15. package/dist/composition/verification-context.js +13 -2
  16. package/dist/composition/verification-context.js.map +1 -1
  17. package/dist/composition/verify-probe-context.d.ts +15 -1
  18. package/dist/composition/verify-probe-context.d.ts.map +1 -1
  19. package/dist/composition/verify-probe-context.js +45 -4
  20. package/dist/composition/verify-probe-context.js.map +1 -1
  21. package/dist/nexus/escalation-bridge.d.ts.map +1 -1
  22. package/dist/nexus/escalation-bridge.js +2 -1
  23. package/dist/nexus/escalation-bridge.js.map +1 -1
  24. package/dist/nexus/file-escalation.d.ts.map +1 -1
  25. package/dist/nexus/file-escalation.js +1 -0
  26. package/dist/nexus/file-escalation.js.map +1 -1
  27. package/dist/prompt-sections/ci-failed-step-section.d.ts +16 -0
  28. package/dist/prompt-sections/ci-failed-step-section.d.ts.map +1 -0
  29. package/dist/prompt-sections/ci-failed-step-section.js +20 -0
  30. package/dist/prompt-sections/ci-failed-step-section.js.map +1 -0
  31. package/dist/prompt-sections/prompt-listing.d.ts +3 -0
  32. package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
  33. package/dist/prompt-sections/prompt-listing.js +11 -1
  34. package/dist/prompt-sections/prompt-listing.js.map +1 -1
  35. package/dist/prompt-sections/routing-decider-sections.d.ts +7 -0
  36. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  37. package/dist/prompt-sections/routing-decider-sections.js +22 -0
  38. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  39. package/dist/queries/api-client/shared.js +1 -1
  40. package/dist/queries/deliveries/deliveries.js +1 -1
  41. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
  42. package/dist/queries/delivery-gate-state/delivery-gate-holds.js +2 -1
  43. package/dist/queries/delivery-gate-state/delivery-gate-holds.js.map +1 -1
  44. package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts +13 -0
  45. package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts.map +1 -1
  46. package/dist/queries/delivery-gate-state/delivery-gate-state.js +3 -1
  47. package/dist/queries/delivery-gate-state/delivery-gate-state.js.map +1 -1
  48. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts +24 -2
  49. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts.map +1 -1
  50. package/dist/queries/delivery-gate-state/verify-own-holds.js.map +1 -1
  51. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  52. package/dist/queries/escalations/cause-key.js +1 -0
  53. package/dist/queries/escalations/cause-key.js.map +1 -1
  54. package/dist/queries/escalations/escalations.d.ts.map +1 -1
  55. package/dist/queries/escalations/escalations.js +2 -1
  56. package/dist/queries/escalations/escalations.js.map +1 -1
  57. package/dist/queries/escalations/filing-observation.d.ts +24 -1
  58. package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
  59. package/dist/queries/escalations/filing-observation.js +27 -2
  60. package/dist/queries/escalations/filing-observation.js.map +1 -1
  61. package/dist/queries/escalations/tower-escalations.d.ts +21 -0
  62. package/dist/queries/escalations/tower-escalations.d.ts.map +1 -1
  63. package/dist/queries/escalations/tower-escalations.js +24 -0
  64. package/dist/queries/escalations/tower-escalations.js.map +1 -1
  65. package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -1
  66. package/dist/queries/focus-review/review-criterion-verdicts.js +3 -0
  67. package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -1
  68. package/dist/queries/focus-review/review-summary-verdicts.d.ts +50 -0
  69. package/dist/queries/focus-review/review-summary-verdicts.d.ts.map +1 -0
  70. package/dist/queries/focus-review/review-summary-verdicts.js +117 -0
  71. package/dist/queries/focus-review/review-summary-verdicts.js.map +1 -0
  72. package/dist/queries/focuses/focuses.d.ts.map +1 -1
  73. package/dist/queries/focuses/focuses.js +2 -0
  74. package/dist/queries/focuses/focuses.js.map +1 -1
  75. package/dist/queries/reality-tree/reality-tree.d.ts.map +1 -1
  76. package/dist/queries/reality-tree/reality-tree.js +1 -0
  77. package/dist/queries/reality-tree/reality-tree.js.map +1 -1
  78. package/dist/queries/reality-tree/shortfall-node-bindings.d.ts +42 -0
  79. package/dist/queries/reality-tree/shortfall-node-bindings.d.ts.map +1 -0
  80. package/dist/queries/reality-tree/shortfall-node-bindings.js +42 -0
  81. package/dist/queries/reality-tree/shortfall-node-bindings.js.map +1 -0
  82. package/dist/queries/tower-decisions/tower-decisions.d.ts +3 -1
  83. package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -1
  84. package/dist/queries/tower-decisions/tower-decisions.js +1 -0
  85. package/dist/queries/tower-decisions/tower-decisions.js.map +1 -1
  86. package/dist/queries/verification/verification.js +1 -1
  87. package/dist/supervision/escalation-filing.js +1 -1
  88. package/dist/supervision/incident-correlation.d.ts +4 -1
  89. package/dist/supervision/incident-correlation.d.ts.map +1 -1
  90. package/dist/supervision/incident-correlation.js +7 -2
  91. package/dist/supervision/incident-correlation.js.map +1 -1
  92. package/dist/supervision/stop-registry.d.ts +1 -0
  93. package/dist/supervision/stop-registry.d.ts.map +1 -1
  94. package/dist/supervision/stop-rows-delivery.d.ts +10 -0
  95. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  96. package/dist/supervision/stop-rows-delivery.js +29 -0
  97. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  98. package/dist/testing/fixtures/api-client.js +1 -1
  99. package/dist/testing/fixtures/index.js +1 -1
  100. package/dist/testing/fixtures/tower-shortfall-7bac4c82.d.ts +38 -0
  101. package/dist/testing/fixtures/tower-shortfall-7bac4c82.d.ts.map +1 -0
  102. package/dist/testing/fixtures/tower-shortfall-7bac4c82.js +67 -0
  103. package/dist/testing/fixtures/tower-shortfall-7bac4c82.js.map +1 -0
  104. package/dist/testing/fixtures/tower-shortfall-cd32119b.d.ts +79 -0
  105. package/dist/testing/fixtures/tower-shortfall-cd32119b.d.ts.map +1 -0
  106. package/dist/testing/fixtures/tower-shortfall-cd32119b.js +142 -0
  107. package/dist/testing/fixtures/tower-shortfall-cd32119b.js.map +1 -0
  108. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  109. package/dist/testing/fixtures/verification-deps.js +3 -0
  110. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  111. package/dist/testing/fixtures/verification-feedback-deps.js +1 -1
  112. package/dist/tower/tower-escalation-gather.d.ts +24 -0
  113. package/dist/tower/tower-escalation-gather.d.ts.map +1 -1
  114. package/dist/tower/tower-escalation-gather.js +29 -1
  115. package/dist/tower/tower-escalation-gather.js.map +1 -1
  116. package/dist/tower/tower-escalation-prompt.d.ts +26 -1
  117. package/dist/tower/tower-escalation-prompt.d.ts.map +1 -1
  118. package/dist/tower/tower-escalation-prompt.js +76 -8
  119. package/dist/tower/tower-escalation-prompt.js.map +1 -1
  120. package/dist/tower/tower-escalation-routing.d.ts +27 -1
  121. package/dist/tower/tower-escalation-routing.d.ts.map +1 -1
  122. package/dist/tower/tower-escalation-routing.js +32 -3
  123. package/dist/tower/tower-escalation-routing.js.map +1 -1
  124. package/dist/tower/tower-escalation-session.d.ts +29 -6
  125. package/dist/tower/tower-escalation-session.d.ts.map +1 -1
  126. package/dist/tower/tower-escalation-session.js +27 -9
  127. package/dist/tower/tower-escalation-session.js.map +1 -1
  128. package/dist/tower/tower-escalation-shortfall.d.ts +158 -0
  129. package/dist/tower/tower-escalation-shortfall.d.ts.map +1 -0
  130. package/dist/tower/tower-escalation-shortfall.js +452 -0
  131. package/dist/tower/tower-escalation-shortfall.js.map +1 -0
  132. package/dist/tower/tower-supervisor-session.d.ts.map +1 -1
  133. package/dist/tower/tower-supervisor-session.js +1 -0
  134. package/dist/tower/tower-supervisor-session.js.map +1 -1
  135. package/dist/types/index.js +1 -1
  136. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +41 -0
  137. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
  138. package/dist/verify/ci-gate/ci-gate-dispatch.js +148 -7
  139. package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
  140. package/dist/verify/ci-gate/ci-gate-pin-publish.d.ts +101 -0
  141. package/dist/verify/ci-gate/ci-gate-pin-publish.d.ts.map +1 -0
  142. package/dist/verify/ci-gate/ci-gate-pin-publish.js +238 -0
  143. package/dist/verify/ci-gate/ci-gate-pin-publish.js.map +1 -0
  144. package/dist/verify/deterministic-gate/verification-deterministic.d.ts +3 -1
  145. package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
  146. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
  147. package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
  148. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +11 -0
  149. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
  150. package/dist/verify/effect-reconciliation/verify-reconciliation.js +35 -2
  151. package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
  152. package/dist/verify/effect-reconciliation/verify-restatement.d.ts +4 -0
  153. package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
  154. package/dist/verify/effect-reconciliation/verify-restatement.js +3 -3
  155. package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
  156. package/dist/verify/engine/reconciliation-step.d.ts +9 -2
  157. package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
  158. package/dist/verify/engine/reconciliation-step.js +26 -3
  159. package/dist/verify/engine/reconciliation-step.js.map +1 -1
  160. package/dist/verify/gate-verdicts/commit-verdict-record.d.ts +2 -0
  161. package/dist/verify/gate-verdicts/commit-verdict-record.d.ts.map +1 -1
  162. package/dist/verify/gate-verdicts/commit-verdict-record.js +10 -1
  163. package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
  164. package/dist/verify/install-probe/in-repo-publish.d.ts +10 -0
  165. package/dist/verify/install-probe/in-repo-publish.d.ts.map +1 -1
  166. package/dist/verify/install-probe/in-repo-publish.js +15 -0
  167. package/dist/verify/install-probe/in-repo-publish.js.map +1 -1
  168. package/dist/verify/install-probe/install-probe-tick.d.ts +7 -0
  169. package/dist/verify/install-probe/install-probe-tick.d.ts.map +1 -1
  170. package/dist/verify/install-probe/install-probe-tick.js +4 -1
  171. package/dist/verify/install-probe/install-probe-tick.js.map +1 -1
  172. package/dist/verify/outcome-routing/incurable-model-hold.d.ts +2 -0
  173. package/dist/verify/outcome-routing/incurable-model-hold.d.ts.map +1 -1
  174. package/dist/verify/outcome-routing/incurable-model-hold.js +21 -6
  175. package/dist/verify/outcome-routing/incurable-model-hold.js.map +1 -1
  176. package/dist/verify/outcome-routing/repeating-model-hold.d.ts.map +1 -1
  177. package/dist/verify/outcome-routing/repeating-model-hold.js +13 -7
  178. package/dist/verify/outcome-routing/repeating-model-hold.js.map +1 -1
  179. package/dist/verify/outcome-routing/unjudged-node-hold.d.ts +31 -0
  180. package/dist/verify/outcome-routing/unjudged-node-hold.d.ts.map +1 -0
  181. package/dist/verify/outcome-routing/unjudged-node-hold.js +134 -0
  182. package/dist/verify/outcome-routing/unjudged-node-hold.js.map +1 -0
  183. package/dist/verify/outcome-routing/verification-feedback.d.ts +5 -1
  184. package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
  185. package/dist/verify/outcome-routing/verification-feedback.js +7 -1
  186. package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
  187. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts +4 -0
  188. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts.map +1 -1
  189. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js +25 -8
  190. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js.map +1 -1
  191. package/dist/verify/outcome-routing/verification-rework-messages.d.ts.map +1 -1
  192. package/dist/verify/outcome-routing/verification-rework-messages.js +7 -2
  193. package/dist/verify/outcome-routing/verification-rework-messages.js.map +1 -1
  194. package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
  195. package/dist/verify/shortfalls/pre-judge-rulings.js +1 -0
  196. package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
  197. package/dist/verify/shortfalls/shortfall-park-escalation.d.ts +9 -2
  198. package/dist/verify/shortfalls/shortfall-park-escalation.d.ts.map +1 -1
  199. package/dist/verify/shortfalls/shortfall-park-escalation.js +13 -1
  200. package/dist/verify/shortfalls/shortfall-park-escalation.js.map +1 -1
  201. package/dist/verify/shortfalls/shortfall-rulings.d.ts.map +1 -1
  202. package/dist/verify/shortfalls/shortfall-rulings.js +4 -0
  203. package/dist/verify/shortfalls/shortfall-rulings.js.map +1 -1
  204. package/dist/worktree/focus-worktree-state.d.ts.map +1 -1
  205. package/dist/worktree/focus-worktree-state.js +1 -0
  206. package/dist/worktree/focus-worktree-state.js.map +1 -1
  207. package/package.json +2 -2
@@ -24,14 +24,29 @@
24
24
  * supervisor's process, spawn/routing-decider-spawn.ts
25
25
  * spawnOneShotJudgementSession, opus, a governor slot, the scoped
26
26
  * `tower_supervisor` MCP profile) in the background. The session answers it
27
- * (telora_agent escalation_answer) or defers it (escalation_defer); each is
28
- * one attributed edge act that records the decision on the focus.
27
+ * (telora_agent escalation_answer), defers it (escalation_defer), or -- on a
28
+ * delivery's verify shortfall the record already shows met -- RULES it
29
+ * (escalation_rule_shortfall: the nodes ruled met, the escalation resolved
30
+ * as answered, shortfall_ruled recorded); each is one attributed edge act
31
+ * that records the decision on the focus.
32
+ *
33
+ * THE DAEMON ATTESTS EVERY SESSION BEFORE IT SPAWNS IT. The session id is
34
+ * minted here and recorded on the row by daemon_escalation_tower_session_start
35
+ * (queries/escalations/tower-escalations.ts attestTowerEscalationSession)
36
+ * before the process starts: the server refuses the supervisor's shortfall
37
+ * ruling for a session the daemon never attested, so an agent cannot claim to
38
+ * be the supervisor by naming an id. An attestation that fails (the row is no
39
+ * longer pending -- 409 -- or the call failed) spawns nothing and costs no
40
+ * attempt; the next sweep retries.
29
41
  *
30
42
  * AFTER A SESSION the daemon reads the row:
31
43
  * - answered -> the answer reaches the team: injected into its live session now
32
44
  * (spawn/live-answer-delivery.ts), else read back at its next spawn through
33
45
  * the answer re-arm signal the answer wrote; a decision record the edge
34
46
  * failed to write is backstopped here (escalation_answered, by the daemon).
47
+ * A RULED escalation reads back answered too (the ruling act resolves it
48
+ * and writes the same re-arm), and its own shortfall_ruled record counts as
49
+ * the decision -- the backstop never adds an escalation_answered beside it.
35
50
  * - deferred -> it stands in the operator's inbox.
36
51
  * - still pending: a session that CRASHED or timed out -> deferred at once
37
52
  * ("crash -> the operator"); one that exited cleanly without deciding is an
@@ -44,7 +59,7 @@
44
59
  import type { ResourceGovernor } from '@telora/daemon-core';
45
60
  import type { DaemonConfig } from '../types/index.js';
46
61
  import type { TowerDecision, TowerDecisionInput } from '../queries/tower-decisions/tower-decisions.js';
47
- import type { TowerDeferral, TowerEscalationState, TowerPendingEscalation } from '../queries/escalations/tower-escalations.js';
62
+ import type { TowerDeferral, TowerEscalationState, TowerPendingEscalation, TowerSessionAttestation } from '../queries/escalations/tower-escalations.js';
48
63
  import { type TowerEscalationRoute } from './tower-escalation-routing.js';
49
64
  import { type EscalationContext } from './tower-escalation-prompt.js';
50
65
  import type { TowerSupervisorSpawnResult } from './tower-supervisor-session.js';
@@ -56,9 +71,9 @@ export declare const TOWER_ESCALATION_TIMEOUT_MS: number;
56
71
  export declare const TOWER_ESCALATION_GOVERNOR_ENGINE = "tower-supervisor";
57
72
  /**
58
73
  * Tools the escalation session is pre-approved for: reading the worktree, and
59
- * the Telora reads plus the two acts it decides through (telora_agent
60
- * escalation_answer / escalation_defer). Pre-approval only; the scoped MCP
61
- * profile is the bound.
74
+ * the Telora reads plus the three acts it decides through (telora_agent
75
+ * escalation_answer / escalation_defer / escalation_rule_shortfall).
76
+ * Pre-approval only; the scoped MCP profile is the bound.
62
77
  */
63
78
  export declare const TOWER_ESCALATION_MCP_TOOLS: readonly string[];
64
79
  /** A focus as the escalation supervisor reads it. */
@@ -92,11 +107,17 @@ export interface TowerEscalationSupervisorDeps {
92
107
  defer: (deferral: TowerDeferral) => Promise<{
93
108
  towerDecisionId: string | null;
94
109
  }>;
110
+ /** Attest the session about to be spawned for a pending row (daemon_escalation_tower_session_start). Throws when refused. */
111
+ attestSession: (args: {
112
+ escalationId: string;
113
+ supervisorSessionId: string;
114
+ }) => Promise<TowerSessionAttestation>;
95
115
  /** The active focuses of one product this daemon runs. */
96
116
  listFocuses: (productId: string) => Promise<TowerEscalationFocus[]>;
97
117
  focusWorktreePath: (focusId: string) => string | null;
98
118
  gatherContext: (args: {
99
119
  focus: TowerEscalationFocus;
120
+ escalation: TowerPendingEscalation;
100
121
  config: DaemonConfig;
101
122
  repoRoot: string;
102
123
  }) => Promise<EscalationContext>;
@@ -135,6 +156,8 @@ export declare function crashed(result: TowerSupervisorSpawnResult): boolean;
135
156
  export declare function operatorRouteDeferral(route: Extract<TowerEscalationRoute, {
136
157
  route: 'operator';
137
158
  }>): Pick<TowerDeferral, 'summary' | 'rationale' | 'evidence'>;
159
+ /** The decision kinds that record a supervisor's answered escalation: an answer, or a shortfall ruling (which resolves it as answered). */
160
+ export declare const ANSWERED_DECISION_KINDS: readonly string[];
138
161
  /** Pure: whether a pending row belongs to a product this daemon runs. */
139
162
  export declare function ownedByThisDaemon(esc: Pick<TowerPendingEscalation, 'productId' | 'focusId'>, productIds: ReadonlySet<string>, focusIds: ReadonlySet<string>): boolean;
140
163
  /** The escalation half of the Tower supervisor (one per process). */
@@ -1 +1 @@
1
- {"version":3,"file":"tower-escalation-session.d.ts","sourceRoot":"","sources":["../../src/tower/tower-escalation-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-escalation-session.d.ts","sourceRoot":"","sources":["../../src/tower/tower-escalation-session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/tower/tower-escalation-session.test.ts
2
+ // Pinned by: packages/daemon/src/tower/tower-escalation-gather.test.ts,
3
+ // packages/daemon/src/tower/tower-escalation-io-cases.test.ts,
4
+ // packages/daemon/src/tower/tower-escalation-session.test.ts
3
5
  // PINNED-BY-END
4
6
  import { createLogger } from '../log/daemon-log.js';
5
7
  import { routeTeamEscalation } from './tower-escalation-routing.js';
@@ -13,9 +15,9 @@ export const TOWER_ESCALATION_TIMEOUT_MS = 20 * 60 * 1000;
13
15
  export const TOWER_ESCALATION_GOVERNOR_ENGINE = 'tower-supervisor';
14
16
  /**
15
17
  * Tools the escalation session is pre-approved for: reading the worktree, and
16
- * the Telora reads plus the two acts it decides through (telora_agent
17
- * escalation_answer / escalation_defer). Pre-approval only; the scoped MCP
18
- * profile is the bound.
18
+ * the Telora reads plus the three acts it decides through (telora_agent
19
+ * escalation_answer / escalation_defer / escalation_rule_shortfall).
20
+ * Pre-approval only; the scoped MCP profile is the bound.
19
21
  */
20
22
  export const TOWER_ESCALATION_MCP_TOOLS = [
21
23
  'Read', 'Grep', 'Glob',
@@ -62,13 +64,15 @@ export function operatorRouteDeferral(route) {
62
64
  evidence: { route: route.reason, detail: route.detail },
63
65
  };
64
66
  }
65
- /** Answered: hand the answer to the live team, and backstop the decision record. */
67
+ /** The decision kinds that record a supervisor's answered escalation: an answer, or a shortfall ruling (which resolves it as answered). */
68
+ export const ANSWERED_DECISION_KINDS = ['escalation_answered', 'shortfall_ruled'];
69
+ /** Answered (or ruled): hand the answer to the live team, and backstop the decision record. */
66
70
  async function onAnswered(st, esc, focusId, now, sessionId) {
67
71
  const delivery = await st.deps.deliverAnswer({ focusId, rearmValues: now.answeredAt ? [now.answeredAt] : [] });
68
72
  log.info(`[tower-escalation] the supervisor answered escalation ${esc.escalationId.slice(0, 8)}; ` +
69
73
  (delivery.delivered ? 'injected into the live team.' : `no live team took it (${delivery.detail ?? 'none'}); it is read back at the next spawn.`));
70
74
  const record = await st.deps.listTowerDecisions(focusId);
71
- if (record.decisions.some((d) => d.kind === 'escalation_answered' && d.escalationId === esc.escalationId))
75
+ if (record.decisions.some((d) => ANSWERED_DECISION_KINDS.includes(d.kind) && d.escalationId === esc.escalationId))
72
76
  return;
73
77
  await st.deps.recordTowerDecision({
74
78
  focusId, kind: 'escalation_answered', decidedByKind: 'daemon', escalationId: esc.escalationId,
@@ -106,7 +110,19 @@ async function settle(st, esc, focus, result, sessionId) {
106
110
  await deferAs(st, esc, `The Tower supervisor ran ${tried} time(s) without deciding; handed to the operator.`, 'No session answered or deferred it; the daemon stops spending sessions on it and the operator decides.', { ...evidence, attempts: tried });
107
111
  }
108
112
  }
109
- /** One session inside a governor slot: gather, prompt, spawn, settle. */
113
+ /** Attest the session before it is spawned; false (logged) when refused or failed -- nothing spawns, no attempt is counted. */
114
+ async function attested(st, esc, supervisorSessionId) {
115
+ try {
116
+ await st.deps.attestSession({ escalationId: esc.escalationId, supervisorSessionId });
117
+ return true;
118
+ }
119
+ catch (err) {
120
+ log.warn(`[tower-escalation] could not attest session ${supervisorSessionId.slice(0, 8)} for escalation ${esc.escalationId.slice(0, 8)}: ` +
121
+ `${err.message}; nothing spawned, the next sweep retries.`);
122
+ return false;
123
+ }
124
+ }
125
+ /** One session inside a governor slot: gather, prompt, attest, spawn, settle. */
110
126
  async function runSession(st, esc, focus, config) {
111
127
  const governor = st.deps.readGovernor();
112
128
  let token = null;
@@ -119,9 +135,11 @@ async function runSession(st, esc, focus, config) {
119
135
  }
120
136
  try {
121
137
  const repoRoot = st.deps.focusWorktreePath(focus.focusId) ?? config.repoPath;
122
- const context = await st.deps.gatherContext({ focus, config, repoRoot });
138
+ const context = await st.deps.gatherContext({ focus, escalation: esc, config, repoRoot });
123
139
  const supervisorSessionId = st.deps.newSessionId();
124
140
  const prompt = buildTowerEscalationPrompt({ focus, escalation: esc, supervisorSessionId, context });
141
+ if (!(await attested(st, esc, supervisorSessionId)))
142
+ return;
125
143
  log.info(`[tower-escalation] deciding escalation ${esc.escalationId.slice(0, 8)} of "${focus.focusName}" (session ${supervisorSessionId.slice(0, 8)}).`);
126
144
  const result = await st.deps.spawn({
127
145
  config, prompt, cwd: repoRoot, focusId: focus.focusId, escalationId: esc.escalationId,
@@ -140,7 +158,7 @@ async function step(st, esc, focuses, config) {
140
158
  return 'in_flight';
141
159
  try {
142
160
  const focus = esc.focusId ? focuses.get(esc.focusId) ?? null : null;
143
- const route = routeTeamEscalation({ disposition: esc.disposition, metadata: esc.metadata, focus });
161
+ const route = routeTeamEscalation({ disposition: esc.disposition, metadata: esc.metadata, focus, deliveryId: esc.deliveryId });
144
162
  if (route.route === 'operator') {
145
163
  const d = operatorRouteDeferral(route);
146
164
  await deferAs(st, esc, d.summary, d.rationale, d.evidence);
@@ -1 +1 @@
1
- {"version":3,"file":"tower-escalation-session.js","sourceRoot":"","sources":["../../src/tower/tower-escalation-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-escalation-session.js","sourceRoot":"","sources":["../../src/tower/tower-escalation-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import type { ReviewVerdictRecord } from '../queries/focus-review/review-criterion-verdicts.js';
2
+ import type { ShortfallNodeBinding } from '../queries/reality-tree/shortfall-node-bindings.js';
3
+ /** The act the supervisor rules through (telora_agent action). */
4
+ export declare const SHORTFALL_RULING_ACT = "escalation_rule_shortfall";
5
+ /** How many verdict-bearing reviews under the arm the record reads. */
6
+ export declare const SHORTFALL_REVIEWS_READ = 10;
7
+ /** A gate verdict gate_state records. */
8
+ export interface ShortfallGateVerdict {
9
+ outcome: 'passed' | 'failed';
10
+ sha: string;
11
+ failedStage: string | null;
12
+ /** The gate_state key that carried it. */
13
+ from: string;
14
+ }
15
+ /** One shortfall node, what names it, and what the tree says binds a verdict to it. */
16
+ export interface ShortfallNode {
17
+ nodeId: string;
18
+ /** The outcome the injection declares for it (from the shortfall judgment), when recorded. */
19
+ declared: string | null;
20
+ namedBy: string[];
21
+ /** Whether the tree read found it among the focus's active nodes (false also when the read failed). */
22
+ inTree: boolean;
23
+ /** Its declared future (frt_statement) as the tree holds it; null when it declares none or was not found. */
24
+ future: string | null;
25
+ /** The active effects it is a `sufficient` cause of (N -> E). */
26
+ sufficientEffectIds: string[];
27
+ }
28
+ /** How a review verdict binds to a shortfall node (module header, THE BINDING RULE). */
29
+ export type ShortfallBindingVia = 'tree_verdict_on_node' | 'declared_future' | 'sufficient_effect';
30
+ /** One review verdict the record shows. */
31
+ export interface ShortfallReviewVerdict {
32
+ /** The criterion verbatim, as the review named it: what the act is passed. */
33
+ criterion: string;
34
+ nodeId: string | null;
35
+ /** A tree verdict (keyed to nodeId), or a verdict on one of this delivery's declared criteria. */
36
+ source: 'tree' | 'delivery_criterion';
37
+ verdict: 'met' | 'not_met' | 'excused';
38
+ evidence: string[];
39
+ /** True when only criterion_verdicts carried it (the summary section did not): no evidence is readable. */
40
+ storedOnly: boolean;
41
+ /** True when the stored row and the summary disagree on this verdict. */
42
+ disagrees: boolean;
43
+ /** The shortfall nodes it binds to, and how; [] when it binds none (shown, never counted). */
44
+ binds: Array<{
45
+ nodeId: string;
46
+ via: ShortfallBindingVia;
47
+ }>;
48
+ }
49
+ /** One verdict-bearing review under the arm. */
50
+ export interface ShortfallReview {
51
+ reviewId: string;
52
+ completedAt: string;
53
+ outcome: string;
54
+ reviewedSha: string | null;
55
+ verdicts: ShortfallReviewVerdict[];
56
+ }
57
+ /** What the supervisor is shown about a delivery-anchored escalation's shortfall. */
58
+ export interface ShortfallRecord {
59
+ deliveryId: string;
60
+ deliveryName: string;
61
+ judgedCommit: {
62
+ sha: string;
63
+ source: 'judged_commit' | 'shortfall_reconciliation';
64
+ } | null;
65
+ /** The verdict about the judged commit (a failed one wins); null when none is about it. */
66
+ gateVerdict: ShortfallGateVerdict | null;
67
+ /** Verdicts gate_state carries about OTHER commits (shown, never counted). */
68
+ otherCommitVerdicts: ShortfallGateVerdict[];
69
+ nodes: ShortfallNode[];
70
+ /** The delivery's own acceptance criteria, verbatim. */
71
+ deliveryCriteria: string[];
72
+ /** Newest first; [] when none (or unreadable: see reviewsReadable). */
73
+ reviews: ShortfallReview[];
74
+ reviewsReadable: boolean;
75
+ /** False when the tree read that binds verdicts to the nodes failed. */
76
+ bindingsReadable: boolean;
77
+ }
78
+ /** One node the standing supports ruling met, on the ONE verdict bound to it. */
79
+ export interface ShortfallRuling {
80
+ nodeId: string;
81
+ criterion: string;
82
+ reviewId: string;
83
+ evidence: string[];
84
+ via: ShortfallBindingVia;
85
+ /** The tree node the bound verdict is keyed to (the node itself, or the effect it sustains); null for a declared criterion. */
86
+ verdictNodeId: string | null;
87
+ }
88
+ /** What the standing says, and on what. */
89
+ export type ShortfallStanding = {
90
+ standing: 'rule';
91
+ rulings: ShortfallRuling[];
92
+ unasked: string[];
93
+ } | {
94
+ standing: 'defer';
95
+ reasons: string[];
96
+ unasked: string[];
97
+ };
98
+ /** Pure: the judged commit and the verdicts about it (module header). */
99
+ export declare function judgedGateOf(gateState: unknown): Pick<ShortfallRecord, 'judgedCommit' | 'gateVerdict' | 'otherCommitVerdicts'>;
100
+ /** Pure: the node ids a filing's structured shortfall-ruling ask names (metadata.human_act.shortfall_ruling.node_ids), tolerantly. */
101
+ export declare function filingShortfallNodeIds(metadata: Record<string, unknown>): string[];
102
+ /** How a node the filing's structured ask names is labelled in namedBy. */
103
+ export declare const NAMED_BY_FILING = "the filing";
104
+ /** Pure: the shortfall nodes gate_state and the filing name, each with what names it. */
105
+ export declare function shortfallNodesOf(gateState: unknown, metadata: Record<string, unknown>): ShortfallNode[];
106
+ /** Pure: the shortfall nodes a verdict binds to, by THE BINDING RULE (module header). */
107
+ export declare function bindsOf(v: {
108
+ criterion: string;
109
+ nodeId: string | null;
110
+ }, nodes: readonly ShortfallNode[]): ShortfallReviewVerdict['binds'];
111
+ /**
112
+ * Pure: one review's verdicts the record shows -- tree verdicts that bind a
113
+ * shortfall node, and verdicts on this delivery's declared criteria (each
114
+ * carrying the nodes it binds, possibly none).
115
+ */
116
+ export declare function shortfallReviewOf(r: ReviewVerdictRecord, nodes: readonly ShortfallNode[], deliveryKeys: ReadonlySet<string>): ShortfallReview;
117
+ /** What the record is built from. */
118
+ export interface ShortfallRecordInput {
119
+ delivery: {
120
+ id: string;
121
+ name: string;
122
+ gateState: unknown;
123
+ acceptanceCriteria: string | null;
124
+ };
125
+ metadata: Record<string, unknown>;
126
+ /** The focus's verdict-bearing reviews under the arm, newest first; null when the read failed. */
127
+ reviews: readonly ReviewVerdictRecord[] | null;
128
+ /** The tree's bindings of the shortfall nodes (queries/reality-tree/shortfall-node-bindings.ts); null when the read failed. */
129
+ bindings: readonly ShortfallNodeBinding[] | null;
130
+ }
131
+ /** Pure: the shortfall nodes with what the tree read says binds a verdict to each. */
132
+ export declare function withBindings(nodes: readonly ShortfallNode[], bindings: readonly ShortfallNodeBinding[] | null): ShortfallNode[];
133
+ /** Pure: the shortfall record. */
134
+ export declare function buildShortfallRecord(input: ShortfallRecordInput): ShortfallRecord;
135
+ /** Pure: the act text a filing's structured human act names (metadata.human_act.act), or null. */
136
+ export declare function filingActOf(metadata: Record<string, unknown>): string | null;
137
+ /** What the excusal check reads: the ask (helpNeeded) and the filing's structured act. */
138
+ export interface ShortfallAsk {
139
+ helpNeeded: string | null;
140
+ /** metadata.human_act.act (filingActOf); null or absent when the filing names no structured act. */
141
+ act?: string | null;
142
+ }
143
+ /** Pure: whether the text asks to EXCUSE or waive a criterion (module header, DECISION). */
144
+ export declare function askExcuses(helpNeeded: string | null): boolean;
145
+ /**
146
+ * Pure: the nodes this ask is a ruling on (module header, THE RULING SCOPE) --
147
+ * the filing's structured nodes when it names any, else every recorded node --
148
+ * and the recorded nodes outside that scope (shown, never counted).
149
+ */
150
+ export declare function rulingScopeOf(record: ShortfallRecord): {
151
+ scope: ShortfallNode[];
152
+ unasked: string[];
153
+ };
154
+ /** Pure: whether the record supports the supervisor's shortfall ruling (module header). */
155
+ export declare function computeShortfallStanding(record: ShortfallRecord, ask: ShortfallAsk): ShortfallStanding;
156
+ /** Pure: the shortfall section of the escalation prompt. */
157
+ export declare function renderShortfallSection(record: ShortfallRecord, standing: ShortfallStanding): string[];
158
+ //# sourceMappingURL=tower-escalation-shortfall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tower-escalation-shortfall.d.ts","sourceRoot":"","sources":["../../src/tower/tower-escalation-shortfall.ts"],"names":[],"mappings":"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"}