@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
package/build-info.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "commitSha": "6a98fa2a3",
3
- "builtAt": "2026-10-20T19:28:37.254Z",
2
+ "commitSha": "a2353964f",
3
+ "builtAt": "2026-10-22T00:03:46.953Z",
4
4
  "expectedMigrations": [
5
5
  "20250829113330_create_org_nodes_table.sql",
6
6
  "20250829113402_fix_function_security_search_path.sql",
@@ -896,6 +896,9 @@
896
896
  "20261020142139_armed_criterion_amendment.sql",
897
897
  "20261020142509_review_criterion_verdicts_and_tower_decisions.sql",
898
898
  "20261020143122_workstation_capacity_and_slot_wait_intervals.sql",
899
- "20261020155839_escalation_tower_routing.sql"
899
+ "20261020155839_escalation_tower_routing.sql",
900
+ "20261021012543_issue_keys_product_unique.sql",
901
+ "20261021184915_supervisor_shortfall_rulings.sql",
902
+ "20261021205603_supervisor_ruling_session_and_atomic_apply.sql"
900
903
  ]
901
904
  }
@@ -0,0 +1,88 @@
1
+ /** The ci.yml job whose conclusion is read (`jobs.gate`). */
2
+ export declare const GATE_JOB_NAME = "gate";
3
+ /** A run whose gate job was created this long before the hand-over still counts as its run (clock skew). */
4
+ export declare const GATE_JOB_CLOCK_SKEW_MS = 30000;
5
+ /** Chars of the failed step's log kept as its tail. */
6
+ export declare const GATE_JOB_LOG_TAIL_CHARS = 4000;
7
+ /** The default Gitea base URL, as `ci-logs` defaults it. */
8
+ export declare const DEFAULT_GITEA_URL = "https://git.syntelyos.com:3100";
9
+ /** A concluded gate job: the run and job, how it ended, the step that failed and its log tail. */
10
+ export interface ConcludedGateJob {
11
+ runId: number;
12
+ jobId: number;
13
+ jobName: string;
14
+ conclusion: 'failure' | 'cancelled';
15
+ /** The first step that did not succeed; null when the job names none (it died before any step). */
16
+ failedStep: string | null;
17
+ /** The job log up to the step's error line, last {@link GATE_JOB_LOG_TAIL_CHARS} chars; null when unreadable. */
18
+ logTail: string | null;
19
+ htmlUrl: string | null;
20
+ }
21
+ /** What the job read says: a red the job concluded, or nothing to act on yet (and why). */
22
+ export type GateJobRead = {
23
+ kind: 'red';
24
+ job: ConcludedGateJob;
25
+ } | {
26
+ kind: 'unconcluded';
27
+ why: string;
28
+ };
29
+ /** The Gitea API as the read uses it: JSON or text at a path under /api/v1; null on any failure. */
30
+ export interface GiteaActionsReader {
31
+ getJson: (path: string) => Promise<unknown>;
32
+ getText: (path: string) => Promise<string | null>;
33
+ }
34
+ /** The newest run of `payload` at `sha` (by id); null when none. Pure. */
35
+ export declare function newestRunAt(payload: unknown, sha: string): number | null;
36
+ /** The first step of a job that neither succeeded nor was skipped; null when every step did. Pure. */
37
+ export declare function failedStepOf(job: Record<string, unknown>): string | null;
38
+ /** The gate job of a jobs payload, when it belongs to the run handed over at `sinceMs`; else why not. Pure. */
39
+ export declare function handOverGateJob(payload: unknown, runId: number, sinceMs: number): {
40
+ job: Record<string, unknown> & {
41
+ id: number;
42
+ };
43
+ } | {
44
+ why: string;
45
+ };
46
+ /** What a jobs payload says of its gate job, given when it was handed over. Pure. */
47
+ export declare function classifyGateJob(payload: unknown, runId: number, sinceMs: number): {
48
+ kind: 'red';
49
+ job: Omit<ConcludedGateJob, 'logTail'>;
50
+ } | {
51
+ kind: 'unconcluded';
52
+ why: string;
53
+ };
54
+ /**
55
+ * The tail of a job log that bears on its failure: the log up to and including
56
+ * its first `##[error]` line (what follows is the runner's post-step cleanup),
57
+ * last `maxChars`. Pure.
58
+ */
59
+ export declare function logTailOf(log: string, maxChars?: number): string;
60
+ /**
61
+ * Read the conclusion of the gate job for the run handed over at `sinceMs` on
62
+ * `branch` at `sha` (module doc). Never throws.
63
+ */
64
+ export declare function readGateJobConclusion(params: {
65
+ repo: string | null;
66
+ branch: string;
67
+ sha: string;
68
+ sinceMs: number;
69
+ }, reader: GiteaActionsReader | null): Promise<GateJobRead>;
70
+ /**
71
+ * The log of the gate job of the run handed over at `sinceMs` on `branch` at
72
+ * `sha`, up to its first error (the failed step's), whatever the job's status --
73
+ * the runner has finished the failed step by the time the job's final step
74
+ * publishes. Null when anything is unreadable or the log is empty. Never throws.
75
+ */
76
+ export declare function readGateJobLogTail(params: {
77
+ repo: string | null;
78
+ branch: string;
79
+ sha: string;
80
+ sinceMs: number;
81
+ }, reader: GiteaActionsReader | null): Promise<string | null>;
82
+ /**
83
+ * The production reader: Node fetch against GITEA_URL with the `ci-logs` reader
84
+ * credential. Null when the host holds no credential (the read then waits, as
85
+ * before this channel existed).
86
+ */
87
+ export declare function giteaActionsReader(env?: NodeJS.ProcessEnv): GiteaActionsReader | null;
88
+ //# sourceMappingURL=gate-job-conclusion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-job-conclusion.d.ts","sourceRoot":"","sources":["../../src/ci/gate-job-conclusion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/ci/gate-job-conclusion.test.ts,
3
+ // packages/daemon/src/verify/ci-gate/ci-gate-dispatch.test.ts
4
+ // PINNED-BY-END
5
+ /**
6
+ * The CI gate JOB's own conclusion, read from the Gitea Actions API -- the
7
+ * second channel a handed-over gate run (verify/ci-gate/ci-gate-dispatch.ts)
8
+ * reports through.
9
+ *
10
+ * The first channel is the status ref scripts/ci-gate-run.sh publishes
11
+ * (ci/gate-ref.ts). It is the verdict whenever it exists. But the script runs
12
+ * after the job's checkout, setup and install steps, and a job that dies in one
13
+ * of those publishes nothing from the script. The job's final step publishes a
14
+ * red for an earlier failure itself (ci.yml), and THIS read covers what that
15
+ * step cannot: a job that failed before even the final step could publish (a
16
+ * checkout that never landed the script) or was cancelled. The incident that
17
+ * motivated it: docs/runbook-verify-gate-in-ci.md ("A job that died before the
18
+ * gate is red, at once").
19
+ *
20
+ * The read is the `ci-logs` chain (runs -> jobs -> log) against the same
21
+ * endpoints, with the same read-only reader credential the daemon host already
22
+ * holds for `ci-logs` (CI_LOGS_TOKEN, else the file CI_LOGS_TOKEN_FILE or
23
+ * ~/.config/ci-logs/token names; GITEA_URL, default https://git.syntelyos.com:3100):
24
+ *
25
+ * GET repos/<repo>/actions/runs?branch=<gate branch>&head_sha=<sha>
26
+ * GET repos/<repo>/actions/runs/<run>/jobs -> the `gate` job, its steps
27
+ * GET repos/<repo>/actions/jobs/<job>/logs -> the failed step's tail
28
+ *
29
+ * The same chain serves a red the job's final step DID publish for a step whose
30
+ * output the runner could not capture (an action step: checkout, setup):
31
+ * {@link readGateJobLogTail} reads that job's log up to the failed step's
32
+ * error, so the verdict carries the error itself, not only the step's name.
33
+ *
34
+ * Fail-closed toward WAITING, never toward a verdict: no reader, an unreadable
35
+ * response, no run yet, a run that predates the hand-over, a job still queued or
36
+ * running, or one that concluded success or skipped -- each is 'unconcluded',
37
+ * and the caller keeps its existing bounded wait. Only a gate job of a run this
38
+ * hand-over started, concluded `failure` or `cancelled`, is 'red'.
39
+ *
40
+ * @module ci/gate-job-conclusion
41
+ */
42
+ import { readFileSync } from 'node:fs';
43
+ import { homedir } from 'node:os';
44
+ import { join } from 'node:path';
45
+ /** The ci.yml job whose conclusion is read (`jobs.gate`). */
46
+ export const GATE_JOB_NAME = 'gate';
47
+ /** A run whose gate job was created this long before the hand-over still counts as its run (clock skew). */
48
+ export const GATE_JOB_CLOCK_SKEW_MS = 30_000;
49
+ /** Chars of the failed step's log kept as its tail. */
50
+ export const GATE_JOB_LOG_TAIL_CHARS = 4000;
51
+ /** The default Gitea base URL, as `ci-logs` defaults it. */
52
+ export const DEFAULT_GITEA_URL = 'https://git.syntelyos.com:3100';
53
+ const REQUEST_TIMEOUT_MS = 20_000;
54
+ const isRecord = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
55
+ /** The newest run of `payload` at `sha` (by id); null when none. Pure. */
56
+ export function newestRunAt(payload, sha) {
57
+ const runs = isRecord(payload) && Array.isArray(payload.workflow_runs) ? payload.workflow_runs : [];
58
+ const ids = runs
59
+ .filter((r) => isRecord(r) && typeof r.id === 'number' && String(r.head_sha ?? '').toLowerCase() === sha.toLowerCase())
60
+ .map((r) => r.id);
61
+ return ids.length > 0 ? Math.max(...ids) : null;
62
+ }
63
+ /** The first step of a job that neither succeeded nor was skipped; null when every step did. Pure. */
64
+ export function failedStepOf(job) {
65
+ const steps = Array.isArray(job.steps) ? job.steps.filter(isRecord) : [];
66
+ const failed = steps.find((s) => s.conclusion === 'failure')
67
+ ?? steps.find((s) => s.conclusion === 'cancelled' || (s.status !== 'completed' && s.conclusion !== 'skipped'));
68
+ return failed && typeof failed.name === 'string' ? failed.name : null;
69
+ }
70
+ /** The gate job of a jobs payload, when it belongs to the run handed over at `sinceMs`; else why not. Pure. */
71
+ export function handOverGateJob(payload, runId, sinceMs) {
72
+ const jobs = isRecord(payload) && Array.isArray(payload.jobs) ? payload.jobs.filter(isRecord) : [];
73
+ const job = jobs.find((j) => j.name === GATE_JOB_NAME);
74
+ if (!job || typeof job.id !== 'number')
75
+ return { why: `run ${runId} has no ${GATE_JOB_NAME} job` };
76
+ const created = typeof job.created_at === 'string' ? Date.parse(job.created_at) : Number.NaN;
77
+ if (!Number.isFinite(created) || created < sinceMs - GATE_JOB_CLOCK_SKEW_MS) {
78
+ return { why: `run ${runId} predates the hand-over; its run has not started` };
79
+ }
80
+ return { job: job };
81
+ }
82
+ /** What a jobs payload says of its gate job, given when it was handed over. Pure. */
83
+ export function classifyGateJob(payload, runId, sinceMs) {
84
+ const found = handOverGateJob(payload, runId, sinceMs);
85
+ if ('why' in found)
86
+ return { kind: 'unconcluded', why: found.why };
87
+ const { job } = found;
88
+ if (job.status !== 'completed')
89
+ return { kind: 'unconcluded', why: `gate job ${job.id} of run ${runId} is ${String(job.status)}` };
90
+ if (job.conclusion !== 'failure' && job.conclusion !== 'cancelled') {
91
+ return { kind: 'unconcluded', why: `gate job ${job.id} of run ${runId} concluded ${String(job.conclusion)} with no published status` };
92
+ }
93
+ return {
94
+ kind: 'red',
95
+ job: {
96
+ runId, jobId: job.id, jobName: GATE_JOB_NAME, conclusion: job.conclusion,
97
+ failedStep: failedStepOf(job), htmlUrl: typeof job.html_url === 'string' ? job.html_url : null,
98
+ },
99
+ };
100
+ }
101
+ /**
102
+ * The tail of a job log that bears on its failure: the log up to and including
103
+ * its first `##[error]` line (what follows is the runner's post-step cleanup),
104
+ * last `maxChars`. Pure.
105
+ */
106
+ export function logTailOf(log, maxChars = GATE_JOB_LOG_TAIL_CHARS) {
107
+ const lines = log.split('\n');
108
+ const errorAt = lines.findIndex((l) => l.includes('##[error]'));
109
+ const upTo = errorAt >= 0 ? lines.slice(0, errorAt + 1).join('\n') : log;
110
+ return upTo.slice(-maxChars);
111
+ }
112
+ /**
113
+ * Read the conclusion of the gate job for the run handed over at `sinceMs` on
114
+ * `branch` at `sha` (module doc). Never throws.
115
+ */
116
+ export async function readGateJobConclusion(params, reader) {
117
+ if (reader === null)
118
+ return { kind: 'unconcluded', why: 'no CI log reader credential on this host' };
119
+ if (params.repo === null)
120
+ return { kind: 'unconcluded', why: 'the product\'s CI repo could not be derived from its origin remote' };
121
+ try {
122
+ const runs = await reader.getJson(`repos/${params.repo}/actions/runs?branch=${encodeURIComponent(params.branch)}&head_sha=${params.sha}&limit=10`);
123
+ const runId = newestRunAt(runs, params.sha);
124
+ if (runId === null)
125
+ return { kind: 'unconcluded', why: `no CI run of ${params.branch} at ${params.sha.slice(0, 8)} yet` };
126
+ const read = classifyGateJob(await reader.getJson(`repos/${params.repo}/actions/runs/${runId}/jobs`), runId, params.sinceMs);
127
+ if (read.kind !== 'red')
128
+ return read;
129
+ const log = await reader.getText(`repos/${params.repo}/actions/jobs/${read.job.jobId}/logs`);
130
+ return { kind: 'red', job: { ...read.job, logTail: log === null || log.trim() === '' ? null : logTailOf(log) } };
131
+ }
132
+ catch (err) {
133
+ return { kind: 'unconcluded', why: `the CI job read failed: ${err.message}` };
134
+ }
135
+ }
136
+ /**
137
+ * The log of the gate job of the run handed over at `sinceMs` on `branch` at
138
+ * `sha`, up to its first error (the failed step's), whatever the job's status --
139
+ * the runner has finished the failed step by the time the job's final step
140
+ * publishes. Null when anything is unreadable or the log is empty. Never throws.
141
+ */
142
+ export async function readGateJobLogTail(params, reader) {
143
+ if (reader === null || params.repo === null)
144
+ return null;
145
+ try {
146
+ const runs = await reader.getJson(`repos/${params.repo}/actions/runs?branch=${encodeURIComponent(params.branch)}&head_sha=${params.sha}&limit=10`);
147
+ const runId = newestRunAt(runs, params.sha);
148
+ if (runId === null)
149
+ return null;
150
+ const found = handOverGateJob(await reader.getJson(`repos/${params.repo}/actions/runs/${runId}/jobs`), runId, params.sinceMs);
151
+ if ('why' in found)
152
+ return null;
153
+ const log = await reader.getText(`repos/${params.repo}/actions/jobs/${found.job.id}/logs`);
154
+ return log === null || log.trim() === '' ? null : logTailOf(log);
155
+ }
156
+ catch {
157
+ return null;
158
+ }
159
+ }
160
+ /** The reader credential `ci-logs` uses on this host; null when none is provisioned. */
161
+ function readerToken(env) {
162
+ const fromEnv = env.CI_LOGS_TOKEN?.trim();
163
+ if (fromEnv)
164
+ return fromEnv;
165
+ try {
166
+ const file = env.CI_LOGS_TOKEN_FILE || join(homedir(), '.config', 'ci-logs', 'token');
167
+ const token = readFileSync(file, 'utf8').replace(/[\r\n]/g, '').trim();
168
+ return token === '' ? null : token;
169
+ }
170
+ catch {
171
+ return null;
172
+ }
173
+ }
174
+ /**
175
+ * The production reader: Node fetch against GITEA_URL with the `ci-logs` reader
176
+ * credential. Null when the host holds no credential (the read then waits, as
177
+ * before this channel existed).
178
+ */
179
+ export function giteaActionsReader(env = process.env) {
180
+ const token = readerToken(env);
181
+ if (token === null)
182
+ return null;
183
+ const base = (env.GITEA_URL || DEFAULT_GITEA_URL).replace(/\/+$/, '');
184
+ const get = async (path) => {
185
+ const res = await fetch(`${base}/api/v1/${path}`, {
186
+ headers: { Authorization: `token ${token}` },
187
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
188
+ });
189
+ return res.ok ? res : null;
190
+ };
191
+ return {
192
+ getJson: async (path) => {
193
+ const res = await get(path);
194
+ return res === null ? null : res.json();
195
+ },
196
+ getText: async (path) => {
197
+ try {
198
+ const res = await get(path);
199
+ return res === null ? null : await res.text();
200
+ }
201
+ catch {
202
+ return null;
203
+ }
204
+ },
205
+ };
206
+ }
207
+ //# sourceMappingURL=gate-job-conclusion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-job-conclusion.js","sourceRoot":"","sources":["../../src/ci/gate-job-conclusion.ts"],"names":[],"mappings":"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"}
@@ -142,6 +142,18 @@ export interface GateRunResultFacts {
142
142
  exitCode: number | null;
143
143
  timedOut: boolean;
144
144
  durationMs: number | null;
145
+ /**
146
+ * Set when the gate command never ran: the CI job step that failed before it
147
+ * (ci.yml's final step publishes this red itself; scripts/ci-gate-run.sh
148
+ * publish-step-failure).
149
+ */
150
+ failedStep?: string;
151
+ /**
152
+ * With `failedStep`: false when the runner captured none of that step's output
153
+ * (an action step), so the published log carries no error -- the daemon reads it
154
+ * from the job log (ci/gate-job-conclusion.ts readGateJobLogTail).
155
+ */
156
+ stepLogCaptured?: boolean;
145
157
  }
146
158
  /** Parse gate-result.json; null when it is not well-formed. Pure. */
147
159
  export declare function parseGateRunResult(text: string): GateRunResultFacts | null;
@@ -1 +1 @@
1
- {"version":3,"file":"gate-ref.d.ts","sourceRoot":"","sources":["../../src/ci/gate-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-ref.d.ts","sourceRoot":"","sources":["../../src/ci/gate-ref.ts"],"names":[],"mappings":"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"}
@@ -331,6 +331,8 @@ export function parseGateRunResult(text) {
331
331
  exitCode: typeof raw.exitCode === 'number' ? raw.exitCode : null,
332
332
  timedOut: raw.timedOut === true,
333
333
  durationMs: typeof raw.durationMs === 'number' ? raw.durationMs : null,
334
+ ...(typeof raw.failedStep === 'string' && raw.failedStep.trim() !== '' ? { failedStep: raw.failedStep } : {}),
335
+ ...(typeof raw.stepLogCaptured === 'boolean' ? { stepLogCaptured: raw.stepLogCaptured } : {}),
334
336
  };
335
337
  }
336
338
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"gate-ref.js","sourceRoot":"","sources":["../../src/ci/gate-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-ref.js","sourceRoot":"","sources":["../../src/ci/gate-ref.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,8FAA8F;AAC9F,iEAAiE;AACjE,+DAA+D;AAC/D,sEAAsE;AACtE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAoB,MAAM,gBAAgB,CAAC;AAE7E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,kBAAkB,KAAK,CAAC;AAEnE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D,sGAAsG;AACtG,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AAExC,iFAAiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,6FAA6F;AAC7F,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;AASlG,8FAA8F;AAC9F,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YACvC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc;YAC7G,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA+E,CAAC;QAC1F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IAC1H,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAsBhC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAA4C;IACrE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,GAAG,kBAAkB,IAAI,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,GAAG,oBAAoB,IAAI,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACnF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAQhC;IACC,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC1C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACtE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,CAAC,CAAC,OAAO,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClG,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;QAClF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,WAAW,CAAC,QAAgB,EAAE,GAAW,EAAE,GAAY;IAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,OAAe,EAAE,GAAY;IAC/E,OAAO,WAAW,CAAC,QAAQ,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAe,EAAE,GAAY;IAC9E,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC;AAC5G,CAAC;AAED,0GAA0G;AAC1G,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAiB,EAAE,GAAY;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB,CAAU,CAAC;AAE/G,yGAAyG;AACzG,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,SAAiB,EAAE,WAAmB,EAAE,GAAY;IACvG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzF,MAAM,GAAG,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACnI,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,AAAD,EAAG,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;QACnH,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,OAAO,GAAG,GAAG,oBAAoB,SAAS,SAAS,6BAA6B,WAAW,EAAE,CAAC;QACpG,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAiB,EAAE,GAAY,EAAE,WAAoB;IACjG,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3I,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,MAAM,GAAG,cAAc,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,WAAW,EAAE;QAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtI,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAUD,4GAA4G;AAC5G,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc;IACnD,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,MAAM,GAAG,yBAAyB,CAAC,CAAC,oBAAoB,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,GAAW,EAAE,GAAW,EAAE,GAAY;IACrF,MAAM,MAAM,GAAG,GAAG,sBAAsB,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACpI,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAyC;IAC1E,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACjL,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/E,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAClH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,GAAW,EAAE,GAAW,EAAE,GAAY;IACzF,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAqBD,qEAAqE;AACrE,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YAChE,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,IAAI;YAC/B,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YACtE,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7G,GAAG,CAAC,OAAO,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,SAA8B,EAAE,GAAY;IAC3F,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxG,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrF,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3F,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { type OneShotJudgementIdentity } from '../spawn/routing-decider-spawn.js';
2
2
  import { type LiveAnswerDeliveryDeps } from '../spawn/live-answer-delivery.js';
3
+ import { type EscalationGatherDeps } from '../tower/tower-escalation-gather.js';
3
4
  import { type TowerEscalationSupervisor, type TowerEscalationSupervisorDeps } from '../tower/tower-escalation-session.js';
4
5
  /** The escalation session's identity on the shared one-shot judgement process (the subject is the escalation). */
5
6
  export declare const TOWER_ESCALATION_IDENTITY: OneShotJudgementIdentity;
6
7
  /** The live answer delivery's collaborators: the read-back, the guarded lead write, the consume and the re-arm clear. */
7
8
  export declare function buildLiveAnswerDeliveryDeps(): LiveAnswerDeliveryDeps;
9
+ /** The reads the escalation gathering makes: the focus, its deliveries, the standing decisions, the review verdicts under the arm and the tree that binds them. */
10
+ export declare function buildEscalationGatherDeps(): EscalationGatherDeps;
8
11
  /** The escalation supervisor's production collaborators. */
9
12
  export declare function buildTowerEscalationSupervisorDeps(): TowerEscalationSupervisorDeps;
10
13
  /** The process's escalation supervisor (built once). */
@@ -1 +1 @@
1
- {"version":3,"file":"tower-escalation-context.d.ts","sourceRoot":"","sources":["../../src/composition/tower-escalation-context.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAgC,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAEhH,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGzG,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EACnC,MAAM,sCAAsC,CAAC;AAM9C,kHAAkH;AAClH,eAAO,MAAM,yBAAyB,EAAE,wBAMvC,CAAC;AAEF,yHAAyH;AACzH,wBAAgB,2BAA2B,IAAI,sBAAsB,CAQpE;AAmBD,4DAA4D;AAC5D,wBAAgB,kCAAkC,IAAI,6BAA6B,CA+BlF;AAID,wDAAwD;AACxD,wBAAgB,mCAAmC,IAAI,yBAAyB,CAG/E"}
1
+ {"version":3,"file":"tower-escalation-context.d.ts","sourceRoot":"","sources":["../../src/composition/tower-escalation-context.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAgC,KAAK,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAEhH,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAEzG,OAAO,EAA4D,KAAK,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC1I,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EACnC,MAAM,sCAAsC,CAAC;AAM9C,kHAAkH;AAClH,eAAO,MAAM,yBAAyB,EAAE,wBAMvC,CAAC;AAEF,yHAAyH;AACzH,wBAAgB,2BAA2B,IAAI,sBAAsB,CAQpE;AAmBD,mKAAmK;AACnK,wBAAgB,yBAAyB,IAAI,oBAAoB,CAShE;AAED,4DAA4D;AAC5D,wBAAgB,kCAAkC,IAAI,6BAA6B,CA4BlF;AAID,wDAAwD;AACxD,wBAAgB,mCAAmC,IAAI,yBAAyB,CAG/E"}
@@ -4,11 +4,14 @@
4
4
  /**
5
5
  * The production binding of the Tower supervisor's ESCALATION half
6
6
  * (tower/tower-escalation-session.ts): its reads of the pending team
7
- * escalations and their focuses, the context it gathers, its one-shot session
8
- * process (the review-loop supervisor's, under the same scoped
9
- * `tower_supervisor` MCP profile), the daemon's hand-off to the operator, and the
10
- * live delivery of an answer to the team (spawn/live-answer-delivery.ts). One
11
- * per process; the escalation-lane tick (focus/focus-loop-registry.ts) sweeps it.
7
+ * escalations and their focuses, the context it gathers (the reality-tree
8
+ * binding read among it), the attestation of each session before it spawns,
9
+ * its one-shot session process (the review-loop supervisor's, under the same
10
+ * scoped `tower_supervisor` MCP profile; the profile offers the three
11
+ * escalation acts, the evidenced shortfall ruling among them), the daemon's
12
+ * hand-off to the operator, and the live delivery of an answer to the team
13
+ * (spawn/live-answer-delivery.ts). One per process; the escalation-lane tick
14
+ * (focus/focus-loop-registry.ts) sweeps it.
12
15
  *
13
16
  * @module composition/tower-escalation-context
14
17
  */
@@ -18,7 +21,10 @@ import { liveDaemonConfig } from '../config/live-daemon-config.js';
18
21
  import { getActiveFocuses, clearAnswerRearm } from '../queries/focuses/focus-discovery.js';
19
22
  import { getFocusDeliveries } from '../queries/focuses/focuses.js';
20
23
  import { listTowerDecisions, recordTowerDecision } from '../queries/tower-decisions/tower-decisions.js';
21
- import { deferTowerEscalation, listTowerPendingEscalations, readTowerEscalation, } from '../queries/escalations/tower-escalations.js';
24
+ import { listReviewCriterionVerdicts } from '../queries/focus-review/review-criterion-verdicts.js';
25
+ import { readShortfallNodeBindings } from '../queries/reality-tree/shortfall-node-bindings.js';
26
+ import { callApi } from '../queries/api-client/shared.js';
27
+ import { attestTowerEscalationSession, deferTowerEscalation, listTowerPendingEscalations, readTowerEscalation, } from '../queries/escalations/tower-escalations.js';
22
28
  import { readArmBaselineIds } from '../supervision/recorded-new-intent.js';
23
29
  import { getFocusWorktree } from '../worktree/focus-worktree-state.js';
24
30
  import { markDirectedAnswersConsumed, resolveAnsweredEscalations } from '../resolvers/escalation-answers.js';
@@ -67,9 +73,21 @@ async function listFocuses(productId) {
67
73
  }];
68
74
  });
69
75
  }
76
+ /** The reads the escalation gathering makes: the focus, its deliveries, the standing decisions, the review verdicts under the arm and the tree that binds them. */
77
+ export function buildEscalationGatherDeps() {
78
+ return {
79
+ getFocusDeliveries,
80
+ assembleFocusContext: (focusId, productId, config) => assembleFocusRecipe(TOWER_ESCALATION_CONTEXT_RECIPE, focusId, productId, config),
81
+ readTextFile: LOOP_HISTORY_DEPS.readTextFile,
82
+ listDirectory: LOOP_HISTORY_DEPS.listDirectory,
83
+ listReviewCriterionVerdicts,
84
+ readShortfallNodeBindings: (focusId, nodeIds) => readShortfallNodeBindings(focusId, nodeIds, { callApi }),
85
+ };
86
+ }
70
87
  /** The escalation supervisor's production collaborators. */
71
88
  export function buildTowerEscalationSupervisorDeps() {
72
89
  const seam = buildRoutingDeciderSpawnSeam();
90
+ const gatherDeps = buildEscalationGatherDeps();
73
91
  const liveAnswer = buildLiveAnswerDeliveryDeps();
74
92
  return {
75
93
  readConfig: () => liveDaemonConfig,
@@ -81,14 +99,10 @@ export function buildTowerEscalationSupervisorDeps() {
81
99
  listPending: listTowerPendingEscalations,
82
100
  readEscalation: readTowerEscalation,
83
101
  defer: deferTowerEscalation,
102
+ attestSession: attestTowerEscalationSession,
84
103
  listFocuses,
85
104
  focusWorktreePath: (focusId) => getFocusWorktree(focusId)?.worktreePath ?? null,
86
- gatherContext: (args) => gatherEscalationContext({
87
- getFocusDeliveries,
88
- assembleFocusContext: (focusId, productId, config) => assembleFocusRecipe(TOWER_ESCALATION_CONTEXT_RECIPE, focusId, productId, config),
89
- readTextFile: LOOP_HISTORY_DEPS.readTextFile,
90
- listDirectory: LOOP_HISTORY_DEPS.listDirectory,
91
- }, args),
105
+ gatherContext: (args) => gatherEscalationContext(gatherDeps, args),
92
106
  spawn: (opts) => spawnOneShotJudgementSession({
93
107
  config: opts.config, prompt: opts.prompt, cwd: opts.cwd, focusId: opts.focusId, escalationId: opts.escalationId,
94
108
  model: opts.model, timeoutMs: opts.timeoutMs, allowedTools: opts.allowedTools,
@@ -1 +1 @@
1
- {"version":3,"file":"tower-escalation-context.js","sourceRoot":"","sources":["../../src/composition/tower-escalation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-escalation-context.js","sourceRoot":"","sources":["../../src/composition/tower-escalation-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verification-context.d.ts","sourceRoot":"","sources":["../../src/composition/verification-context.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAKhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuBtD,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,6CAA6C,CAAC;AA6D9G,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAqC1G,0HAA0H;AAC1H,eAAO,MAAM,yBAAyB,EAAE,yBAOvC,CAAC;AAkBF,sHAAsH;AACtH,eAAO,MAAM,aAAa,EAAE,SAO1B,CAAC;AAiMH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,YAAY,KAAG,gBAmG5D,CAAC"}
1
+ {"version":3,"file":"verification-context.d.ts","sourceRoot":"","sources":["../../src/composition/verification-context.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAMhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuBtD,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,6CAA6C,CAAC;AA+D9G,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAqC1G,0HAA0H;AAC1H,eAAO,MAAM,yBAAyB,EAAE,yBAOvC,CAAC;AAkBF,sHAAsH;AACtH,eAAO,MAAM,aAAa,EAAE,SAO1B,CAAC;AA0MH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,YAAY,KAAG,gBAmG5D,CAAC"}
@@ -36,7 +36,8 @@ import { buildAttributionEvidenceDeps, buildCreditsReader, buildMisattributedHol
36
36
  import { withCreditRearm } from '../verify/run-selection/credit-rearm.js';
37
37
  import { forgetRecordedPass, releaseDefaultOnMark } from '../verify/run-selection/default-on-guards.js';
38
38
  import { hasPendingGateRun, isGateRunSelected } from '../verify/gate-verdicts/gate-run-registry.js';
39
- import { buildInstallProbeTickDeps } from './verify-probe-context.js';
39
+ import { buildInstallProbeTickDeps, buildPinPublishDeps } from './verify-probe-context.js';
40
+ import { ensureInRepoPinsPublished } from '../verify/ci-gate/ci-gate-pin-publish.js';
40
41
  import { getCommitAttributionsForFocus } from '../queries/verification/commit-attributions.js';
41
42
  import { getActiveFocuses } from '../queries/focuses/focus-discovery.js';
42
43
  import { bindDefaultVerificationResolver } from '../verify/gate-config/verification-config.js';
@@ -78,7 +79,9 @@ import { holdForModelUnavailable } from '../verify/outcome-routing/verification-
78
79
  import { buildDefaultAttributeFailures, buildResolveVerificationCwd, resolveHeadSha } from '../verify/attribution/verification-baseline.js';
79
80
  import { readCommitVerdict, writeCommitVerdict } from '../verify/gate-verdicts/commit-verdict-record.js';
80
81
  import { durableNoVerdictStore, noVerdictDir } from '../verify/gate-verdicts/no-verdict-record.js';
81
- import { gateGit, listGateStatus, pushGateRun, readGateRunLog, readGateRunVerdict } from '../ci/gate-ref.js';
82
+ import { gateBranchForFocus, gateGit, listGateStatus, pushGateRun, readGateRunLog, readGateRunVerdict } from '../ci/gate-ref.js';
83
+ import { giteaActionsReader, readGateJobConclusion, readGateJobLogTail } from '../ci/gate-job-conclusion.js';
84
+ import { resolveProductCiRepo } from '../ci/product-ci-repo.js';
82
85
  import { resolve } from 'node:path';
83
86
  import { resolveGlobalStateDir } from '../daemon-state/daemon-process.js';
84
87
  import { ciGateWaitDir, durableCiGateWaitStore } from '../verify/ci-gate/ci-gate-wait-record.js';
@@ -275,6 +278,9 @@ function attributionAndCiGateSeams(config, attribution) {
275
278
  listStatus: (repoPath, sha, key) => listGateStatus(repoPath, sha, key, gateGit),
276
279
  readLog: (repoPath, published) => readGateRunLog(repoPath, published, gateGit),
277
280
  pushRun: (repoPath, spec, harnessFrom) => pushGateRun(repoPath, spec, gateGit, harnessFrom),
281
+ readJob: (repoPath, focusId, sha, sinceMs) => readGateJobConclusion(gateJobParams(repoPath, focusId, sha, sinceMs), giteaActionsReader()),
282
+ readJobLog: (repoPath, focusId, sha, sinceMs) => readGateJobLogTail(gateJobParams(repoPath, focusId, sha, sinceMs), giteaActionsReader()),
283
+ ensurePins: (run) => ensureInRepoPinsPublished(run, buildPinPublishDeps(config.organizationId)),
278
284
  waits: durableCiGateWaitStore(ciGateWaitDir),
279
285
  logDir: () => resolve(resolveGlobalStateDir(), 'verification'),
280
286
  now: Date.now,
@@ -283,6 +289,11 @@ function attributionAndCiGateSeams(config, attribution) {
283
289
  },
284
290
  };
285
291
  }
292
+ /** Where the Gitea Actions API finds a focus's gate job: the product's CI repo (from its origin remote) and the gate branch. */
293
+ function gateJobParams(repoPath, focusId, sha, sinceMs) {
294
+ const ciRepo = resolveProductCiRepo(repoPath);
295
+ return { repo: ciRepo.kind === 'resolved' ? ciRepo.repo : null, branch: gateBranchForFocus(focusId), sha, sinceMs };
296
+ }
286
297
  /** The durable per-commit verdict record: its writer, its readers, the no-verdict store and the carried verdict. */
287
298
  function commitVerdictSeams(integrationBranch) {
288
299
  const read = (productId, focusId, sha, gate) => readCommitVerdict(productId, focusId, sha, { gate });