@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
@@ -6,6 +6,8 @@ import type { AppliedVerificationConfig, VerificationConfigScope } from '../gate
6
6
  import type { JudgedCommitManifest, JudgedCommitRead } from '../run-selection/verification-default-on.js';
7
7
  import type { FileEscalationInput } from '../../nexus/file-escalation.js';
8
8
  import type { CiGateWaitStore } from './ci-gate-wait-record.js';
9
+ import type { ConcludedGateJob, GateJobRead } from '../../ci/gate-job-conclusion.js';
10
+ import type { PinPublishStep } from './ci-gate-pin-publish.js';
9
11
  import { type EscapedTestsDeps } from '../escaped-tests/escaped-tests-source.js';
10
12
  /** Past the gate's own timeout, how long a handed-over run may sit with no verdict before it is re-pushed (once). */
11
13
  export declare const CI_GATE_QUEUE_MARGIN_MS: number;
@@ -13,6 +15,8 @@ export declare const CI_GATE_QUEUE_MARGIN_MS: number;
13
15
  export declare const CI_GATE_REGISTRATION_STALE_MS: number;
14
16
  /** The machine kind of the one filing a held CI gate run makes. */
15
17
  export declare const CI_GATE_NO_VERDICT_KIND = "verify_ci_gate_no_verdict";
18
+ /** Dispatch attempts a published red waits for its uncaptured step's error from the job log before it routes without it. */
19
+ export declare const CI_GATE_STEP_LOG_ATTEMPTS = 3;
16
20
  /** The CI-run gate's own seams; production binds the git IO of ci/gate-ref.ts and the durable wait record. */
17
21
  export interface CiGateDeps {
18
22
  /** The config a default-on run applies at the judged commit (verify/gate-config/judged-commit-gate.ts), or null. */
@@ -29,6 +33,27 @@ export interface CiGateDeps {
29
33
  * whose gate job and script ride along (ci/gate-ref.ts buildHarnessCommit).
30
34
  */
31
35
  pushRun: (repoPath: string, spec: GateRunSpec, harnessFrom?: string) => boolean;
36
+ /**
37
+ * The conclusion of the gate job CI ran for the hand-over at `sinceMs` of `sha`
38
+ * on the focus's gate branch (ci/gate-job-conclusion.ts); 'unconcluded' when
39
+ * still running or unreadable. Never throws.
40
+ */
41
+ readJob: (repoPath: string, focusId: string, sha: string, sinceMs: number) => Promise<GateJobRead>;
42
+ /**
43
+ * The log of the gate job CI ran for the hand-over at `sinceMs`, up to the
44
+ * failed step's error (ci/gate-job-conclusion.ts readGateJobLogTail); null when
45
+ * unreadable. Never throws.
46
+ */
47
+ readJobLog: (repoPath: string, focusId: string, sha: string, sinceMs: number) => Promise<string | null>;
48
+ /**
49
+ * Before a hand-over: publish the judged commit's unpublished in-repo @telora
50
+ * pins under pending, or decline naming them (ci-gate-pin-publish.ts). Never throws.
51
+ */
52
+ ensurePins: (run: {
53
+ repoPath: string;
54
+ focusId: string;
55
+ sha: string;
56
+ }) => Promise<PinPublishStep>;
32
57
  waits: CiGateWaitStore;
33
58
  /** Where a fetched CI log is kept, so the log readers find it by path. */
34
59
  logDir: () => string;
@@ -88,6 +113,22 @@ export declare function __resetCiGateRunsForTests(): void;
88
113
  * and the gate's own blindness rules (a failure naming nothing) apply to it.
89
114
  */
90
115
  export declare function resultFromPublished(run: CiGateRun, status: 'green' | 'red', published: PublishedGateStatus, fetched: PublishedGateLog | null, logPath: string | null): StrategyResult;
116
+ /**
117
+ * The headers scripts/ci-gate-run.sh publish-step-failure writes a failed step's
118
+ * error under in gate.log: its own captured output, or the job log it read over
119
+ * the Gitea Actions API.
120
+ */
121
+ export declare const STEP_ERROR_HEADERS: readonly ["--- last lines of the step's output ---", "--- the step's error, from the job log ---"];
122
+ /** The failed step's error a published gate.log carries (after its header); null when it carries none. Pure. */
123
+ export declare function stepErrorOf(log: string): string | null;
124
+ /** The text a concluded-red gate job is kept and fed back as: what ended, where, and the failed step's log tail. Pure. */
125
+ export declare function concludedJobLogText(run: CiGateRun, job: ConcludedGateJob): string;
126
+ /**
127
+ * The StrategyResult a gate job CI concluded red with NO published status renders
128
+ * (module doc): failed, naming the job and the failed step, its log kept like a
129
+ * published run's. Pure.
130
+ */
131
+ export declare function resultFromConcludedJob(run: CiGateRun, job: ConcludedGateJob, text: string, logPath: string | null): StrategyResult;
91
132
  /**
92
133
  * Take one step of the CI-run gate for `run` (module doc). Never throws for a
93
134
  * normal miss: anything unreadable is a wait.
@@ -1 +1 @@
1
- {"version":3,"file":"ci-gate-dispatch.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-gate-dispatch.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,25 @@
21
21
  * (verify/engine/verification-commit-sharing.ts), so the
22
22
  * review request, re-work routing, the gate-verdict
23
23
  * prompt section and the dashboard read it unchanged.
24
- * nothing handed yet -> push the commit to the focus's gate branch with the
24
+ * nothing handed yet -> first publish what the commit's in-repo @telora pins
25
+ * need (ci-gate-pin-publish.ts) -- the hand-over waits
26
+ * until that lands or is declined (named on gate_state);
27
+ * then push the commit to the focus's gate branch with the
25
28
  * run's spec (command, timeout, the verify boundary env),
26
29
  * and stamp the wait durably (ci-gate-wait-record.ts).
27
- * waiting -> nothing, until the bounded window has passed with no
30
+ * A red whose job's final step names an earlier step the
31
+ * runner captured no output of (checkout, setup) waits a
32
+ * bounded few ticks for that step's ERROR, read from the
33
+ * job log (ci/gate-job-conclusion.ts readGateJobLogTail),
34
+ * so the verdict carries the error, not only the name.
35
+ * waiting -> the gate JOB's own conclusion is read on each tick
36
+ * (ci/gate-job-conclusion.ts): a job of this hand-over's
37
+ * run that concluded failure or cancelled with no status
38
+ * published -- it died before the gate script could
39
+ * publish one, e.g. run 8807's `npm ci` E404 -- is a red
40
+ * at once, naming the job and the step that failed. A job
41
+ * still queued or running (or unreadable) keeps waiting:
42
+ * nothing, until the bounded window has passed with no
28
43
  * verdict; then the run is RE-PUSHED once (so CI sees a
29
44
  * fresh push), and after a second window the delivery
30
45
  * simply holds and the hold is SURFACED once (one
@@ -76,6 +91,8 @@ export const CI_GATE_REGISTRATION_STALE_MS = 10 * 60 * 1000;
76
91
  export const CI_GATE_NO_VERDICT_KIND = 'verify_ci_gate_no_verdict';
77
92
  /** Chars of the CI log kept inline on the result (the whole log is in the file logPath names). */
78
93
  const LOG_TAIL_CHARS = 4000;
94
+ /** Dispatch attempts a published red waits for its uncaptured step's error from the job log before it routes without it. */
95
+ export const CI_GATE_STEP_LOG_ATTEMPTS = 3;
79
96
  /**
80
97
  * The CI-run gate a candidate takes, or null when its gate runs on the host: a
81
98
  * deterministic candidate -- default-on, or an explicit-method row -- on a focus
@@ -172,10 +189,12 @@ export function resultFromPublished(run, status, published, fetched, logPath) {
172
189
  const passed = status === 'green';
173
190
  const exitCode = fetched?.result?.exitCode ?? (passed ? 0 : 1);
174
191
  const tail = fetched ? fetched.log.slice(-LOG_TAIL_CHARS) : undefined;
192
+ const failedStep = fetched?.result?.failedStep;
193
+ const how = passed ? 'passed (exit 0)'
194
+ : failedStep ? `failed at CI job step "${failedStep}", before the gate command ran` : `failed (exit ${exitCode})`;
175
195
  return {
176
196
  outcome: passed ? 'passed' : 'failed',
177
- rationale: `CI gate run #${published.runNumber} of ${run.sha.slice(0, 8)} ${passed ? 'passed (exit 0)' : `failed (exit ${exitCode})`} `
178
- + `-- published as ${published.ref}`,
197
+ rationale: `CI gate run #${published.runNumber} of ${run.sha.slice(0, 8)} ${how} -- published as ${published.ref}`,
179
198
  exitCode,
180
199
  verifiedSha: run.sha,
181
200
  appliedConfig: run.applied,
@@ -183,8 +202,69 @@ export function resultFromPublished(run, status, published, fetched, logPath) {
183
202
  ...(tail !== undefined ? { stdoutTail: tail } : {}),
184
203
  ...(logPath !== null ? { logPath } : {}),
185
204
  publishedLogRef: published.ref,
205
+ ...(!passed && failedStep ? { ciFailedStep: { name: failedStep, error: stepErrorOf(fetched?.log ?? '') } } : {}),
186
206
  };
187
207
  }
208
+ /**
209
+ * The headers scripts/ci-gate-run.sh publish-step-failure writes a failed step's
210
+ * error under in gate.log: its own captured output, or the job log it read over
211
+ * the Gitea Actions API.
212
+ */
213
+ export const STEP_ERROR_HEADERS = ["--- last lines of the step's output ---", "--- the step's error, from the job log ---"];
214
+ /** The failed step's error a published gate.log carries (after its header); null when it carries none. Pure. */
215
+ export function stepErrorOf(log) {
216
+ for (const header of STEP_ERROR_HEADERS) {
217
+ const at = log.indexOf(header);
218
+ if (at >= 0) {
219
+ const error = log.slice(at + header.length).trim();
220
+ return error === '' ? null : error;
221
+ }
222
+ }
223
+ return null;
224
+ }
225
+ /** The text a concluded-red gate job is kept and fed back as: what ended, where, and the failed step's log tail. Pure. */
226
+ export function concludedJobLogText(run, job) {
227
+ const step = job.failedStep === null ? 'before any step ran' : `at step "${job.failedStep}"`;
228
+ return [
229
+ `CI gate job "${job.jobName}" (run ${job.runId}, job ${job.jobId}) of ${run.sha} ${job.conclusion === 'cancelled' ? 'was cancelled' : 'failed'} ${step}, `
230
+ + 'before the gate command published a verdict; read from the job\'s own conclusion.',
231
+ ...(job.htmlUrl ? [`Job: ${job.htmlUrl}`] : []),
232
+ job.logTail === null ? '(the job log could not be read; diagnose with `ci-logs`)' : `--- job log, up to the failed step's error ---\n${job.logTail}`,
233
+ ].join('\n');
234
+ }
235
+ /**
236
+ * The StrategyResult a gate job CI concluded red with NO published status renders
237
+ * (module doc): failed, naming the job and the failed step, its log kept like a
238
+ * published run's. Pure.
239
+ */
240
+ export function resultFromConcludedJob(run, job, text, logPath) {
241
+ const step = job.failedStep === null ? 'before any step ran' : `at step "${job.failedStep}"`;
242
+ return {
243
+ outcome: 'failed',
244
+ rationale: `CI gate job "${job.jobName}" (run ${job.runId}, job ${job.jobId}) of ${run.sha.slice(0, 8)} `
245
+ + `${job.conclusion === 'cancelled' ? 'was cancelled' : 'failed'} ${step} with no gate verdict published -- read from the job's conclusion`,
246
+ exitCode: 1,
247
+ verifiedSha: run.sha,
248
+ appliedConfig: run.applied,
249
+ stdoutTail: text.slice(-LOG_TAIL_CHARS),
250
+ ...(logPath !== null ? { logPath } : {}),
251
+ ciFailedStep: { name: job.failedStep ?? '(the job named no step)', error: job.logTail },
252
+ };
253
+ }
254
+ /** Keep a concluded-red job's text on disk, where the log readers find it; null when it cannot be written. */
255
+ function keepJobLog(run, job, text, deps) {
256
+ try {
257
+ const dir = deps.logDir();
258
+ mkdirSync(dir, { recursive: true });
259
+ const path = resolve(dir, `ci-gate-${run.focusId}-${run.sha.slice(0, 12)}-${run.key}-job${job.jobId}.log`);
260
+ writeFileSync(path, text, { mode: 0o600 });
261
+ return path;
262
+ }
263
+ catch (err) {
264
+ log.warn(`[verification] ci-gate: could not keep the log of CI gate job ${job.jobId}:`, err.message);
265
+ return null;
266
+ }
267
+ }
188
268
  /**
189
269
  * Read the verdict CI published for the run; a 'verdict' step, or null when there
190
270
  * is none to take. A red's log is always fetched; a green's only when the run
@@ -201,11 +281,48 @@ function readPublished(run, deps, fetchGreenLog) {
201
281
  }
202
282
  const logPath = fetched ? keepLog(run, published, fetched.log, deps) : null;
203
283
  const raw = resultFromPublished(run, verdict.status, published, fetched, logPath);
284
+ const step = fetched?.result?.failedStep;
285
+ const uncaptured = verdict.status === 'red' && fetched && step && fetched.result?.stepLogCaptured === false
286
+ ? { step, ref: published.ref, log: fetched.log } : null;
204
287
  if (raw.timedOut !== true)
205
- return { result: raw, timedOutUnrendered: false };
288
+ return { result: raw, timedOutUnrendered: false, uncaptured };
206
289
  // CI ended the run at its timeout: a completed pass or named failing tests in its log are still a verdict.
207
290
  const judged = judgeTimedOutRun(raw, run.applied.command, fetched?.log ?? '');
208
- return { result: judged, timedOutUnrendered: judged.timedOut === true };
291
+ return { result: judged, timedOutUnrendered: judged.timedOut === true, uncaptured };
292
+ }
293
+ const stepLogAttempts = new Map();
294
+ /**
295
+ * A published red whose failed step's output the runner did not capture, with
296
+ * that step's error read from the job log appended (its kept log rewritten and
297
+ * its tail taken from it); null while the log cannot be read yet, inside
298
+ * {@link CI_GATE_STEP_LOG_ATTEMPTS}. Past them it routes as published.
299
+ */
300
+ async function withJobLogError(run, read, sinceMs, deps) {
301
+ const uncaptured = read.uncaptured;
302
+ const tail = await deps.readJobLog(run.repoPath, run.focusId, run.sha, sinceMs);
303
+ if (tail === null) {
304
+ const attempt = (stepLogAttempts.get(uncaptured.ref) ?? 0) + 1;
305
+ stepLogAttempts.set(uncaptured.ref, attempt);
306
+ if (attempt < CI_GATE_STEP_LOG_ATTEMPTS)
307
+ return null;
308
+ log.warn(`[verification] ci-gate: the job log of ${uncaptured.ref} could not be read in ${attempt} attempts; its red routes naming step "${uncaptured.step}" alone`);
309
+ }
310
+ stepLogAttempts.delete(uncaptured.ref);
311
+ if (tail === null)
312
+ return read.result;
313
+ const text = `${uncaptured.log}\n--- job log from the Gitea Actions API, up to the failed step's error ---\n${tail}\n`;
314
+ if (read.result.logPath) {
315
+ try {
316
+ writeFileSync(read.result.logPath, text, { mode: 0o600 });
317
+ }
318
+ catch (err) {
319
+ log.warn(`[verification] ci-gate: could not keep the job log of ${uncaptured.ref}:`, err.message);
320
+ }
321
+ }
322
+ return {
323
+ ...read.result, stdoutTail: text.slice(-LOG_TAIL_CHARS),
324
+ ciFailedStep: { name: uncaptured.step, error: tail },
325
+ };
209
326
  }
210
327
  /**
211
328
  * Hand the run to CI: its spec, carrying the verify boundary the local run would
@@ -297,15 +414,29 @@ export async function stepCiGate(v, run, deps) {
297
414
  const current = wait !== null && wait.sha === run.sha && wait.key === run.key ? wait : null;
298
415
  const published = readPublished(run, deps.ciGate, (current?.escapedFiles ?? 0) > 0);
299
416
  if (published !== null && !published.timedOutUnrendered) {
417
+ let result = published.result;
418
+ if (published.uncaptured !== null) {
419
+ const withError = await withJobLogError(run, published, current?.repushedAt ?? current?.pushedAt ?? 0, deps.ciGate);
420
+ if (withError === null) {
421
+ showWaiting(run, v.deliveryId);
422
+ return { kind: 'waiting', why: `CI's red names step "${published.uncaptured.step}"; reading that step's error from the job log` };
423
+ }
424
+ result = withError;
425
+ }
300
426
  endVisible(run.focusId);
301
427
  log.info(`[verification] ci-gate: delivery "${v.deliveryName}" (${v.deliveryId}) -- CI's '${published.result.outcome}' verdict for `
302
428
  + `${run.sha.slice(0, 8)} is read back; it is judged and recorded as the commit's gate verdict (no gate process on this host)`);
303
- return { kind: 'verdict', result: published.result };
429
+ return { kind: 'verdict', result };
304
430
  }
305
431
  if (current === null && sharesBranchWithOtherGate(run, wait, deps.ciGate, now)) {
306
432
  return { kind: 'waiting', why: `another gate of ${run.sha.slice(0, 8)} is on CI on this focus's gate branch` };
307
433
  }
308
434
  if (current === null) {
435
+ if (run.repoPath === '')
436
+ return { kind: 'waiting', why: 'no repoPath to push from' };
437
+ const pins = await deps.ciGate.ensurePins({ repoPath: run.repoPath, focusId: run.focusId, sha: run.sha });
438
+ if (pins.kind === 'deferred')
439
+ return { kind: 'waiting', why: `the in-repo @telora publish before the hand-over is deferred: ${pins.note}` };
309
440
  const pushed = await handOver(v, run, deps);
310
441
  if (!pushed) {
311
442
  log.warn(`[verification] ci-gate: could not push ${run.sha.slice(0, 8)} to ${gateBranchForFocus(run.focusId)} for delivery ${v.deliveryId}; retried next tick`);
@@ -320,6 +451,16 @@ export async function stepCiGate(v, run, deps) {
320
451
  + `${gateBranchForFocus(run.focusId)} (gate key ${run.key}); the delivery waits on the CI gate`);
321
452
  return { kind: 'waiting', why: 'handed to CI' };
322
453
  }
454
+ if (published === null) {
455
+ const job = await deps.ciGate.readJob(run.repoPath, run.focusId, run.sha, current.repushedAt ?? current.pushedAt);
456
+ if (job.kind === 'red') {
457
+ endVisible(run.focusId);
458
+ const text = concludedJobLogText(run, job.job);
459
+ log.warn(`[verification] ci-gate: delivery "${v.deliveryName}" (${v.deliveryId}) -- CI gate job ${job.job.jobId} (run ${job.job.runId}) of `
460
+ + `${run.sha.slice(0, 8)} concluded ${job.job.conclusion} at step "${job.job.failedStep ?? '(none)'}" with no status published; recorded as a failed gate verdict`);
461
+ return { kind: 'verdict', result: resultFromConcludedJob(run, job.job, text, keepJobLog(run, job.job, text, deps.ciGate)) };
462
+ }
463
+ }
323
464
  showWaiting(run, v.deliveryId);
324
465
  return waitForVerdict(v, run, current, deps, published?.timedOutUnrendered === true && current.repushedAt === undefined);
325
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ci-gate-dispatch.js","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-gate-dispatch.js","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * The in-repo @telora pins of a judged commit, published before its gate is
3
+ * handed to CI (verify/ci-gate/ci-gate-dispatch.ts).
4
+ *
5
+ * A focus branch that raises an in-repo @telora version (daemon-core,
6
+ * mcp-products, daemon) pins a version only /sync publishes, after merge. The
7
+ * CI gate job installs with `npm ci` against the registry, so it fails on that
8
+ * pin (npm E404) before the gate command runs. The daemon already publishes such
9
+ * a version under the `pending` dist-tag from the branch
10
+ * (verify/install-probe/in-repo-publish.ts) -- but only from the install-probe
11
+ * pass, which runs after the dispatch in a tick and judges with
12
+ * `npm ci --dry-run`, which never fetches a tarball: a lockfile entry pinned by
13
+ * its resolved URL passes the probe even when that URL is a 404.
14
+ *
15
+ * So the hand-over asks the registry itself. For every lockfile the CI job
16
+ * installs from ({@link CI_INSTALL_DIRS}), read AT THE JUDGED COMMIT, each
17
+ * registry-resolved `@telora/*` entry is a pin; `npm view <name>@<version>`
18
+ * says whether the registry holds it. A missing pin that is an in-repo package
19
+ * whose version at the judged commit is the pinned one is published from that
20
+ * commit ({@link publishInRepoTargets}: pending, committed bytes, dependency
21
+ * order). Anything else missing -- a package not built in this repo, a pin the
22
+ * commit's own source does not carry, a publish npm refused -- is DECLINED:
23
+ * nothing is published, and the decline is named on the deliveries' gate_state
24
+ * (the install probe's `clean_install_probe` entry and its `installProbe`
25
+ * detail). The hand-over then goes ahead: CI judges, and its red names the step.
26
+ *
27
+ * The hand-over WAITS for this: a publish that could not start (no checkout to
28
+ * build from), a decline whose gate_state write did not land, and a pin the
29
+ * registry could not be asked about are each 'deferred', and the dispatch hands
30
+ * nothing over that tick. A pin the registry still cannot be asked about after
31
+ * {@link PIN_REGISTRY_ATTEMPTS} attempts is declined and named like any other,
32
+ * so a registry outage bounds the wait instead of holding it forever.
33
+ *
34
+ * Settled outcomes are kept per (focus, commit), so a re-push or a retried push
35
+ * of the same commit asks nothing again.
36
+ *
37
+ * @module verify/ci-gate/ci-gate-pin-publish
38
+ */
39
+ import { type InRepoPublishOutcome, type PublishTarget } from '../install-probe/in-repo-publish.js';
40
+ import type { InstallProbeDetail } from '../../queries/delivery-gate-state/delivery-gate-holds.js';
41
+ /** The package dirs whose lockfiles the CI gate job installs from (.github/workflows/ci.yml, job `gate`). */
42
+ export declare const CI_INSTALL_DIRS: readonly string[];
43
+ /** One registry-resolved @telora pin a consumer's lockfile holds. */
44
+ export interface InRepoPin {
45
+ /** The repo-relative dir whose lockfile holds it ('.' = root). */
46
+ consumerDir: string;
47
+ name: string;
48
+ version: string;
49
+ }
50
+ /** What the registry says of one pin. */
51
+ export type RegistryAnswer = 'published' | 'missing' | 'unknown';
52
+ /** The check's IO; production binds git, npm and the gate_state write (composition/verification-context.ts). */
53
+ export interface PinPublishDeps {
54
+ /** `<path>` at commit `sha` of the repository at `repoPath`; null when absent. */
55
+ readFileAt: (repoPath: string, sha: string, path: string) => string | null;
56
+ /** Whether the registry (as `cwd`'s .npmrc scopes it) holds `name@version`. */
57
+ registryHas: (cwd: string, name: string, version: string) => Promise<RegistryAnswer>;
58
+ /** The focus worktree a publish builds against (its installed dependencies); null when it has none. */
59
+ resolveWorktree: (focusId: string) => string | null;
60
+ /** Publish `targets` from commit `sha` (in-repo-publish.ts publishInRepoTargets); null when all landed. */
61
+ publish: (worktreePath: string, sha: string, targets: PublishTarget[]) => Promise<InRepoPublishOutcome | null>;
62
+ /** Name a declined publish on the gate_state of the focus's deliveries in verify. */
63
+ writeDeclined: (focusId: string, detail: InstallProbeDetail) => Promise<void>;
64
+ }
65
+ /** The check's answer: hand over (after what it published), hand over with a named decline, or wait. */
66
+ export type PinPublishStep = {
67
+ kind: 'ready';
68
+ published: PublishTarget[];
69
+ } | {
70
+ kind: 'declined';
71
+ note: string;
72
+ detail: InstallProbeDetail;
73
+ } | {
74
+ kind: 'deferred';
75
+ note: string;
76
+ };
77
+ /** The `@telora/*` entries a lockfile resolves from a registry (not links, not file: specs). Pure. */
78
+ export declare function inRepoPinsOf(consumerDir: string, lockText: string): InRepoPin[];
79
+ /** Classify `npm view <name>@<version> version --json`. Pure. */
80
+ export declare function classifyNpmView(exitCode: number | null, output: string, version: string): RegistryAnswer;
81
+ /** The decline as the gate_state names it: the missing pins and why nothing was published. Pure. */
82
+ export declare function declinedDetail(missing: readonly InRepoPin[], why: string): InstallProbeDetail;
83
+ /**
84
+ * How many dispatch attempts a pin the registry could not be asked about holds
85
+ * the hand-over before it is declined, named, and handed over unverified.
86
+ */
87
+ export declare const PIN_REGISTRY_ATTEMPTS = 3;
88
+ /** The decline settled for (focus, commit), for the install probe to keep naming it; null when none. */
89
+ export declare function declinedPinPublishFor(focusId: string, sha: string): InstallProbeDetail | null;
90
+ /** Test seam: forget every settled check. */
91
+ export declare function __resetPinPublishForTests(): void;
92
+ /**
93
+ * Before the gate of `run.sha` is handed to CI: publish what its in-repo pins
94
+ * need, or name why not (module doc). Never throws.
95
+ */
96
+ export declare function ensureInRepoPinsPublished(run: {
97
+ repoPath: string;
98
+ focusId: string;
99
+ sha: string;
100
+ }, deps: PinPublishDeps): Promise<PinPublishStep>;
101
+ //# sourceMappingURL=ci-gate-pin-publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-gate-pin-publish.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-pin-publish.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAyC,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAC3I,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAKnG,6GAA6G;AAC7G,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAoD,CAAC;AAElG,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE,gHAAgH;AAChH,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3E,+EAA+E;IAC/E,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACrF,uGAAuG;IACvG,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,2GAA2G;IAC3G,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC/G,qFAAqF;IACrF,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED,wGAAwG;AACxG,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvC,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB/E;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAIxG;AAeD,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAK7F;AAuBD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAyBvC,wGAAwG;AACxG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAG7F;AAED,6CAA6C;AAC7C,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAkDD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACvD,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC,CA0BzB"}