@telora/daemon 0.24.17 → 0.24.25

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 (175) hide show
  1. package/build-info.json +6 -3
  2. package/dist/ci/candidate-failure-record.d.ts +104 -0
  3. package/dist/ci/candidate-failure-record.d.ts.map +1 -0
  4. package/dist/ci/candidate-failure-record.js +135 -0
  5. package/dist/ci/candidate-failure-record.js.map +1 -0
  6. package/dist/ci/candidate-ref.d.ts.map +1 -1
  7. package/dist/ci/candidate-ref.js +10 -3
  8. package/dist/ci/candidate-ref.js.map +1 -1
  9. package/dist/ci/ci-status-git.d.ts.map +1 -1
  10. package/dist/ci/ci-status-git.js +1 -0
  11. package/dist/ci/ci-status-git.js.map +1 -1
  12. package/dist/ci/ci-status.d.ts.map +1 -1
  13. package/dist/ci/ci-status.js +1 -0
  14. package/dist/ci/ci-status.js.map +1 -1
  15. package/dist/ci/gate-ref.d.ts +10 -1
  16. package/dist/ci/gate-ref.d.ts.map +1 -1
  17. package/dist/ci/gate-ref.js +11 -4
  18. package/dist/ci/gate-ref.js.map +1 -1
  19. package/dist/ci/product-ci-repo.d.ts.map +1 -1
  20. package/dist/ci/product-ci-repo.js +3 -2
  21. package/dist/ci/product-ci-repo.js.map +1 -1
  22. package/dist/composition/execution-merge-context.d.ts +13 -0
  23. package/dist/composition/execution-merge-context.d.ts.map +1 -1
  24. package/dist/composition/execution-merge-context.js +76 -3
  25. package/dist/composition/execution-merge-context.js.map +1 -1
  26. package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
  27. package/dist/composition/focus-activity-live-sources.js +1 -0
  28. package/dist/composition/focus-activity-live-sources.js.map +1 -1
  29. package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
  30. package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
  31. package/dist/composition/runtime-heartbeat-context.js +26 -1
  32. package/dist/composition/runtime-heartbeat-context.js.map +1 -1
  33. package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
  34. package/dist/composition/team-liveness-phase-sources.js +1 -0
  35. package/dist/composition/team-liveness-phase-sources.js.map +1 -1
  36. package/dist/composition/verification-context.d.ts.map +1 -1
  37. package/dist/composition/verification-context.js +34 -4
  38. package/dist/composition/verification-context.js.map +1 -1
  39. package/dist/focus/heartbeat-metadata.d.ts +5 -0
  40. package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
  41. package/dist/focus/heartbeat-metadata.js +12 -0
  42. package/dist/focus/heartbeat-metadata.js.map +1 -1
  43. package/dist/focus/heartbeat.d.ts.map +1 -1
  44. package/dist/focus/heartbeat.js +1 -0
  45. package/dist/focus/heartbeat.js.map +1 -1
  46. package/dist/focus/host-pressure.d.ts +77 -0
  47. package/dist/focus/host-pressure.d.ts.map +1 -0
  48. package/dist/focus/host-pressure.js +83 -0
  49. package/dist/focus/host-pressure.js.map +1 -0
  50. package/dist/git/types.js +1 -1
  51. package/dist/merge/candidate-ci-failures.d.ts +72 -0
  52. package/dist/merge/candidate-ci-failures.d.ts.map +1 -0
  53. package/dist/merge/candidate-ci-failures.js +240 -0
  54. package/dist/merge/candidate-ci-failures.js.map +1 -0
  55. package/dist/merge/candidate-red-record.d.ts +44 -0
  56. package/dist/merge/candidate-red-record.d.ts.map +1 -0
  57. package/dist/merge/candidate-red-record.js +98 -0
  58. package/dist/merge/candidate-red-record.js.map +1 -0
  59. package/dist/merge/candidate-rework.d.ts +4 -3
  60. package/dist/merge/candidate-rework.d.ts.map +1 -1
  61. package/dist/merge/candidate-rework.js +46 -14
  62. package/dist/merge/candidate-rework.js.map +1 -1
  63. package/dist/merge/candidate-tip-attribution.d.ts +135 -0
  64. package/dist/merge/candidate-tip-attribution.d.ts.map +1 -0
  65. package/dist/merge/candidate-tip-attribution.js +319 -0
  66. package/dist/merge/candidate-tip-attribution.js.map +1 -0
  67. package/dist/merge/completion-merge-driver.d.ts +49 -5
  68. package/dist/merge/completion-merge-driver.d.ts.map +1 -1
  69. package/dist/merge/completion-merge-driver.js +56 -2
  70. package/dist/merge/completion-merge-driver.js.map +1 -1
  71. package/dist/merge/completion-merge-gate.d.ts +4 -1
  72. package/dist/merge/completion-merge-gate.d.ts.map +1 -1
  73. package/dist/merge/completion-merge-gate.js +9 -8
  74. package/dist/merge/completion-merge-gate.js.map +1 -1
  75. package/dist/queries/api-client/shared.d.ts.map +1 -1
  76. package/dist/queries/api-client/shared.js +6 -1
  77. package/dist/queries/api-client/shared.js.map +1 -1
  78. package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts +35 -0
  79. package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts.map +1 -0
  80. package/dist/queries/candidate-ci-reds/candidate-ci-reds.js +42 -0
  81. package/dist/queries/candidate-ci-reds/candidate-ci-reds.js.map +1 -0
  82. package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts +16 -0
  83. package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts.map +1 -0
  84. package/dist/queries/candidate-ci-reds/gate-escape-files.js +51 -0
  85. package/dist/queries/candidate-ci-reds/gate-escape-files.js.map +1 -0
  86. package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
  87. package/dist/queries/sessions/daemon-connection.js +1 -0
  88. package/dist/queries/sessions/daemon-connection.js.map +1 -1
  89. package/dist/queries/verification/verification.js +1 -1
  90. package/dist/shell/unified-shell.d.ts +25 -0
  91. package/dist/shell/unified-shell.d.ts.map +1 -1
  92. package/dist/shell/unified-shell.js +26 -80
  93. package/dist/shell/unified-shell.js.map +1 -1
  94. package/dist/shell/update-restart.d.ts +47 -0
  95. package/dist/shell/update-restart.d.ts.map +1 -0
  96. package/dist/shell/update-restart.js +124 -0
  97. package/dist/shell/update-restart.js.map +1 -0
  98. package/dist/supervision/escalation-suppression.js +1 -1
  99. package/dist/testing/fixtures/api-client.js +1 -1
  100. package/dist/testing/fixtures/completion-judge-stubs.d.ts +7 -2
  101. package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
  102. package/dist/testing/fixtures/completion-judge-stubs.js +11 -1
  103. package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
  104. package/dist/testing/fixtures/index.js +1 -1
  105. package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -1
  106. package/dist/testing/fixtures/merge-log-capture.js +1 -0
  107. package/dist/testing/fixtures/merge-log-capture.js.map +1 -1
  108. package/dist/testing/fixtures/recording-api-client.js +1 -1
  109. package/dist/testing/fixtures/verification-deps.d.ts +7 -0
  110. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  111. package/dist/testing/fixtures/verification-deps.js +17 -1
  112. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  113. package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
  114. package/dist/testing/fixtures/vitest-failure-log.js +2 -1
  115. package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
  116. package/dist/update/auto-update.d.ts +11 -5
  117. package/dist/update/auto-update.d.ts.map +1 -1
  118. package/dist/update/auto-update.js +11 -5
  119. package/dist/update/auto-update.js.map +1 -1
  120. package/dist/update/restart-contract.d.ts +62 -0
  121. package/dist/update/restart-contract.d.ts.map +1 -0
  122. package/dist/update/restart-contract.js +137 -0
  123. package/dist/update/restart-contract.js.map +1 -0
  124. package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
  125. package/dist/verify/attribution/verification-baseline-run.js +1 -0
  126. package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
  127. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +3 -0
  128. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
  129. package/dist/verify/ci-gate/ci-gate-dispatch.js +31 -9
  130. package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
  131. package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +6 -0
  132. package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -1
  133. package/dist/verify/ci-gate/ci-gate-wait-record.js +1 -0
  134. package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -1
  135. package/dist/verify/deterministic-gate/verification-checkout.d.ts +12 -2
  136. package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
  137. package/dist/verify/deterministic-gate/verification-checkout.js +18 -3
  138. package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
  139. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
  140. package/dist/verify/deterministic-gate/verification-failure-parser.d.ts +30 -9
  141. package/dist/verify/deterministic-gate/verification-failure-parser.d.ts.map +1 -1
  142. package/dist/verify/deterministic-gate/verification-failure-parser.js +52 -8
  143. package/dist/verify/deterministic-gate/verification-failure-parser.js.map +1 -1
  144. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  145. package/dist/verify/engine/verification-commit-sharing.js +6 -2
  146. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  147. package/dist/verify/engine/verification-deps.d.ts +9 -0
  148. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  149. package/dist/verify/engine/verification-deps.js +1 -1
  150. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  151. package/dist/verify/engine/verification-engine.js +4 -1
  152. package/dist/verify/engine/verification-engine.js.map +1 -1
  153. package/dist/verify/escaped-tests/escaped-pass-store.d.ts +19 -0
  154. package/dist/verify/escaped-tests/escaped-pass-store.d.ts.map +1 -0
  155. package/dist/verify/escaped-tests/escaped-pass-store.js +90 -0
  156. package/dist/verify/escaped-tests/escaped-pass-store.js.map +1 -0
  157. package/dist/verify/escaped-tests/escaped-test-run.d.ts +39 -0
  158. package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -0
  159. package/dist/verify/escaped-tests/escaped-test-run.js +156 -0
  160. package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -0
  161. package/dist/verify/escaped-tests/escaped-test-set.d.ts +65 -0
  162. package/dist/verify/escaped-tests/escaped-test-set.d.ts.map +1 -0
  163. package/dist/verify/escaped-tests/escaped-test-set.js +95 -0
  164. package/dist/verify/escaped-tests/escaped-test-set.js.map +1 -0
  165. package/dist/verify/escaped-tests/escaped-tests-source.d.ts +44 -0
  166. package/dist/verify/escaped-tests/escaped-tests-source.d.ts.map +1 -0
  167. package/dist/verify/escaped-tests/escaped-tests-source.js +142 -0
  168. package/dist/verify/escaped-tests/escaped-tests-source.js.map +1 -0
  169. package/dist/verify/gate-config/verification-manifest.d.ts +12 -1
  170. package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
  171. package/dist/verify/gate-config/verification-manifest.js +12 -1
  172. package/dist/verify/gate-config/verification-manifest.js.map +1 -1
  173. package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
  174. package/package.json +2 -2
  175. package/scripts/telora-daemon-wrapper.sh +16 -7
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat-metadata.js","sourceRoot":"","sources":["../../src/focus/heartbeat-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat-metadata.js","sourceRoot":"","sources":["../../src/focus/heartbeat-metadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  // packages/daemon/src/focus/heartbeat-draining-status.test.ts,
5
5
  // packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
6
6
  // packages/daemon/src/focus/heartbeat-gap.test.ts, packages/daemon/src/focus/heartbeat-host-load.test.ts,
7
+ // packages/daemon/src/focus/heartbeat-host-pressure.test.ts,
7
8
  // packages/daemon/src/focus/heartbeat-migration-held-set.test.ts,
8
9
  // packages/daemon/src/focus/heartbeat-read-only.test.ts,
9
10
  // packages/daemon/src/focus/heartbeat-shutdown-guard.test.ts,
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Host pressure: Linux PSI (pressure stall information) read off /proc/pressure.
3
+ *
4
+ * A load average says how many tasks wanted to run; it means different things
5
+ * on different core counts and mixes CPU demand with io wait. PSI says what
6
+ * share of wall time work on the host was STALLED waiting for a resource, per
7
+ * resource, as a percentage -- the number an operator can read without knowing
8
+ * the machine. Each file under /proc/pressure carries a `some` line (at least
9
+ * one task stalled) and, for memory and io, a `full` line (every non-idle task
10
+ * stalled at once):
11
+ *
12
+ * some avg10=0.00 avg60=0.00 avg300=0.00 total=245156904
13
+ * full avg10=0.00 avg60=0.00 avg300=0.00 total=0
14
+ *
15
+ * The heartbeat publishes cpu `some` (newer kernels also print a cpu `full`
16
+ * line, which is always zero at system level, so it says nothing), and memory
17
+ * and io `full`. It is published beside -- never instead of -- hostLoad, which
18
+ * stays the fallback for a host that has no PSI.
19
+ *
20
+ * A host without PSI (no /proc/pressure, not Linux, a kernel built without it,
21
+ * an unreadable or malformed file) publishes NO hostPressure: the reader
22
+ * answers null, and nothing it does can fail the beat.
23
+ *
24
+ * @module focus/host-pressure
25
+ */
26
+ /** One PSI line's running averages: percent of wall time stalled, over 10 s / 60 s / 300 s. */
27
+ export interface PsiAverages {
28
+ avg10: number;
29
+ avg60: number;
30
+ avg300: number;
31
+ }
32
+ /** The three resources' stall readings, each on the line that carries signal for it. */
33
+ export interface HostPsiReading {
34
+ /** cpu `some`: share of time at least one runnable task waited for a CPU. */
35
+ cpu: PsiAverages;
36
+ /** memory `full`: share of time every non-idle task was stalled on memory. */
37
+ memory: PsiAverages;
38
+ /** io `full`: share of time every non-idle task was stalled on io. */
39
+ io: PsiAverages;
40
+ }
41
+ /** The hostPressure heartbeat field. */
42
+ export interface HostPressureField extends HostPsiReading {
43
+ /** Logical CPUs available to this process (os.availableParallelism). */
44
+ cores: number;
45
+ /** How many agent sessions this daemon runs at once at most (its configured maxTotalSessions). */
46
+ slotCapacity: number;
47
+ }
48
+ /**
49
+ * The averages on the `kind` line of a /proc/pressure file's text, or null when
50
+ * the file carries no such line or the line is malformed (an average missing,
51
+ * not a number, or outside 0-100). Pure.
52
+ */
53
+ export declare function parsePsiLine(text: string, kind: 'some' | 'full'): PsiAverages | null;
54
+ /** Reads one /proc/pressure file's text; throws when it cannot. A seam, so the read is testable. */
55
+ export type PressureFileReader = (resource: 'cpu' | 'memory' | 'io') => string;
56
+ /**
57
+ * The host's PSI reading, or null when ANY of the three resources cannot be read
58
+ * or parsed. All or nothing: a reading missing a resource could not be compared
59
+ * against the others, and an absent field reads as "no PSI" where a partial one
60
+ * would read as "no stall". Never throws.
61
+ */
62
+ export declare function readHostPsi(readFile: PressureFileReader): HostPsiReading | null;
63
+ /**
64
+ * Build the hostCores metadata field: the host's logical CPU count, published on
65
+ * EVERY beat whether or not the host has PSI, so a host that falls back to its
66
+ * load average can still be read per core. Null -- the key absent -- when the
67
+ * count is not a positive integer. Pure.
68
+ */
69
+ export declare function buildHostCoresField(cores: number): number | null;
70
+ /**
71
+ * Build the hostPressure metadata field from a beat's PSI reading, the host's
72
+ * core count and the daemon's slot capacity. Null -- so the key is simply
73
+ * absent -- when the host has no PSI reading, or when the core count or capacity
74
+ * is not a positive integer. Pure.
75
+ */
76
+ export declare function buildHostPressureField(psi: HostPsiReading | null, cores: number, slotCapacity: number): HostPressureField | null;
77
+ //# sourceMappingURL=host-pressure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-pressure.d.ts","sourceRoot":"","sources":["../../src/focus/host-pressure.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,GAAG,EAAE,WAAW,CAAC;IACjB,8EAA8E;IAC9E,MAAM,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,EAAE,EAAE,WAAW,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;CACtB;AAOD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAoBpF;AAED,oGAAoG;AACpG,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,cAAc,GAAG,IAAI,CAU/E;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CAI1B"}
@@ -0,0 +1,83 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/focus/heartbeat-host-pressure.test.ts
3
+ // PINNED-BY-END
4
+ /** A PSI average: a finite percentage in [0, 100]. */
5
+ function isPsiPercent(value) {
6
+ return Number.isFinite(value) && value >= 0 && value <= 100;
7
+ }
8
+ /**
9
+ * The averages on the `kind` line of a /proc/pressure file's text, or null when
10
+ * the file carries no such line or the line is malformed (an average missing,
11
+ * not a number, or outside 0-100). Pure.
12
+ */
13
+ export function parsePsiLine(text, kind) {
14
+ for (const line of text.split('\n')) {
15
+ const fields = line.trim().split(/\s+/);
16
+ if (fields[0] !== kind)
17
+ continue;
18
+ const values = new Map();
19
+ for (const field of fields.slice(1)) {
20
+ const eq = field.indexOf('=');
21
+ if (eq <= 0)
22
+ return null;
23
+ const raw = field.slice(eq + 1);
24
+ if (raw === '')
25
+ return null;
26
+ values.set(field.slice(0, eq), Number(raw));
27
+ }
28
+ const avg10 = values.get('avg10');
29
+ const avg60 = values.get('avg60');
30
+ const avg300 = values.get('avg300');
31
+ if (avg10 === undefined || avg60 === undefined || avg300 === undefined)
32
+ return null;
33
+ if (!isPsiPercent(avg10) || !isPsiPercent(avg60) || !isPsiPercent(avg300))
34
+ return null;
35
+ return { avg10, avg60, avg300 };
36
+ }
37
+ return null;
38
+ }
39
+ /**
40
+ * The host's PSI reading, or null when ANY of the three resources cannot be read
41
+ * or parsed. All or nothing: a reading missing a resource could not be compared
42
+ * against the others, and an absent field reads as "no PSI" where a partial one
43
+ * would read as "no stall". Never throws.
44
+ */
45
+ export function readHostPsi(readFile) {
46
+ try {
47
+ const cpu = parsePsiLine(readFile('cpu'), 'some');
48
+ const memory = parsePsiLine(readFile('memory'), 'full');
49
+ const io = parsePsiLine(readFile('io'), 'full');
50
+ if (!cpu || !memory || !io)
51
+ return null;
52
+ return { cpu, memory, io };
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
58
+ function isPositiveInteger(value) {
59
+ return Number.isInteger(value) && value > 0;
60
+ }
61
+ /**
62
+ * Build the hostCores metadata field: the host's logical CPU count, published on
63
+ * EVERY beat whether or not the host has PSI, so a host that falls back to its
64
+ * load average can still be read per core. Null -- the key absent -- when the
65
+ * count is not a positive integer. Pure.
66
+ */
67
+ export function buildHostCoresField(cores) {
68
+ return isPositiveInteger(cores) ? cores : null;
69
+ }
70
+ /**
71
+ * Build the hostPressure metadata field from a beat's PSI reading, the host's
72
+ * core count and the daemon's slot capacity. Null -- so the key is simply
73
+ * absent -- when the host has no PSI reading, or when the core count or capacity
74
+ * is not a positive integer. Pure.
75
+ */
76
+ export function buildHostPressureField(psi, cores, slotCapacity) {
77
+ if (!psi)
78
+ return null;
79
+ if (!isPositiveInteger(cores) || !isPositiveInteger(slotCapacity))
80
+ return null;
81
+ return { cpu: psi.cpu, memory: psi.memory, io: psi.io, cores, slotCapacity };
82
+ }
83
+ //# sourceMappingURL=host-pressure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-pressure.js","sourceRoot":"","sources":["../../src/focus/host-pressure.ts"],"names":[],"mappings":"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"}
package/dist/git/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 21 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/git/types.ts
2
+ // Pinned by: 22 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/git/types.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Shared types and utilities for the git subsystem.
@@ -0,0 +1,72 @@
1
+ import { type FailureRecord, type PublishedFailureRecord } from '../ci/candidate-failure-record.js';
2
+ /** How long a red with no failure record yet waits for one, when its product's CI publishes them (module doc). */
3
+ export declare const FAILURE_RECORD_WAIT_MS: number;
4
+ /** The most failing-test ids a held set keeps (the files are what is used; ids are for the record). */
5
+ export declare const HELD_FAILING_TEST_IDS_MAX = 200;
6
+ /** A red candidate's failing test files, as the daemon holds them. */
7
+ export interface CandidateCiFailures {
8
+ /** The candidate commit CI judged. */
9
+ sha: string;
10
+ /** The CI run whose records these are (null: the run could not be told from the status refs). */
11
+ run: number | null;
12
+ /** The jobs (shards) that published a record. */
13
+ jobs: string[];
14
+ /** Repo-relative test files that failed, sorted. */
15
+ failingFiles: string[];
16
+ /** The failing-test ids, file made repo-relative, sorted; at most HELD_FAILING_TEST_IDS_MAX. */
17
+ failingTests: string[];
18
+ /** False when part of the run's output was cut or unreadable, or a failure named no file. */
19
+ complete: boolean;
20
+ readAt: string;
21
+ }
22
+ /**
23
+ * Merge a run's records into one failing set; null when there is no record.
24
+ * A log whose step exited non-zero (its record's `exitCode`) but which yields
25
+ * no failing-test id is unparseable red, so the set is incomplete -- never a
26
+ * complete empty one. Pure (the read time is passed in).
27
+ */
28
+ export declare function failuresFromRecords(sha: string, run: number | null, records: readonly FailureRecord[], readAt: string): CandidateCiFailures | null;
29
+ /** The reads and the hold the set is built through; bound at the composition root. */
30
+ export interface CandidateCiFailuresDeps {
31
+ /** The candidate's refs/ci-status ref names (ci/ci-status-git.ts listCiStatusRefsAt). */
32
+ listCiStatusRefs: (sha: string) => string[];
33
+ /** The failure records CI published for the commit (ci/candidate-failure-record.ts). */
34
+ listRecords: (sha: string) => PublishedFailureRecord[];
35
+ readRecord: (published: PublishedFailureRecord) => FailureRecord | null;
36
+ readHeld: (sha: string) => CandidateCiFailures | null;
37
+ hold: (failures: CandidateCiFailures) => void;
38
+ now: () => string;
39
+ }
40
+ /**
41
+ * The failing test files of the red candidate `sha`: the held set when it was
42
+ * read from the run that decided red AND from every record that run has
43
+ * published now -- a job whose record lands after the set was held (another
44
+ * shard, the e2e job) makes it read again -- else read now (and held). Null when the
45
+ * deciding run published no record -- a set held from ANOTHER run of the same
46
+ * commit is never answered for it, since its files did not fail in this run --
47
+ * or on any failure. Never throws.
48
+ */
49
+ export declare function readCandidateCiFailures(sha: string, deps: CandidateCiFailuresDeps): CandidateCiFailures | null;
50
+ /** The held file for a candidate; `dir` defaults to the global state dir. Exported for tests. */
51
+ export declare function candidateCiFailuresPath(productId: string, focusId: string, sha: string, dir?: string): string;
52
+ /** Parse a held file; null when it is not a well-formed set. Pure. */
53
+ export declare function parseHeldCandidateCiFailures(text: string): CandidateCiFailures | null;
54
+ /** The set held for a candidate; null when none is, or it is unreadable. */
55
+ export declare function readHeldCandidateCiFailures(productId: string, focusId: string, sha: string, dir?: string): CandidateCiFailures | null;
56
+ /** Hold a candidate's set (temp + rename). A failed write is logged, never thrown. */
57
+ export declare function holdCandidateCiFailures(productId: string, focusId: string, failures: CandidateCiFailures, dir?: string): void;
58
+ /** Reset the wait's memory -- tests start from a clean slate. */
59
+ export declare function __resetFailureRecordWaitForTests(): void;
60
+ /** Whether this host has ever held a CI failure set for the product: its CI publishes records. */
61
+ export declare function productPublishesFailureRecords(productId: string, dir?: string): boolean;
62
+ /**
63
+ * Whether the red candidate `sha`, which has no failure record yet, should wait
64
+ * for one this tick rather than have its rework routed without files: only when
65
+ * the product publishes records, and only within FAILURE_RECORD_WAIT_MS of this
66
+ * process's first sighting. Never throws.
67
+ */
68
+ export declare function awaitsFailureRecord(subject: {
69
+ productId: string;
70
+ focusId: string;
71
+ }, sha: string, now: number, publishes: (productId: string) => boolean): boolean;
72
+ //# sourceMappingURL=candidate-ci-failures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidate-ci-failures.d.ts","sourceRoot":"","sources":["../../src/merge/candidate-ci-failures.ts"],"names":[],"mappings":"AA6CA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,mCAAmC,CAAC;AAM3C,kHAAkH;AAClH,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,uGAAuG;AACvG,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,iDAAiD;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,oDAAoD;IACpD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gGAAgG;IAChG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,6FAA6F;IAC7F,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,MAAM,EAAE,MAAM,GACb,mBAAmB,GAAG,IAAI,CAoC5B;AAED,sFAAsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,yFAAyF;IACzF,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC5C,wFAAwF;IACxF,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,EAAE,CAAC;IACvD,UAAU,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,aAAa,GAAG,IAAI,CAAC;IACxE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,mBAAmB,GAAG,IAAI,CAAC;IACtD,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAQD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,IAAI,CAiB9G;AAUD,iGAAiG;AACjG,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,MAAM,CAExH;AAID,sEAAsE;AACtE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAarF;AAED,4EAA4E;AAC5E,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,mBAAmB,GAAG,IAAI,CAMhJ;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,GAAE,MAAkB,GAAG,IAAI,CAUxI;AASD,iEAAiE;AACjE,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,kGAAkG;AAClG,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,OAAO,CAOlG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC/C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GACxC,OAAO,CAUT"}
@@ -0,0 +1,240 @@
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/candidate-failure-contract.test.ts,
3
+ // packages/daemon/src/merge/candidate-ci-failures.test.ts,
4
+ // packages/daemon/src/merge/candidate-red-record.test.ts,
5
+ // packages/daemon/src/merge/candidate-tip-attribution.test.ts,
6
+ // packages/daemon/src/merge/completion-merge-driver.test.ts
7
+ // PINNED-BY-END
8
+ /**
9
+ * The test files a red integration candidate failed in CI, as the daemon HOLDS
10
+ * them: read back over git from the run's failure records
11
+ * (ci/candidate-failure-record.ts), parsed with the gate's own failure parser
12
+ * (verify/deterministic-gate/verification-failure-parser.ts), and kept per
13
+ * (product, focus, candidate sha) under the global state dir.
14
+ *
15
+ * Read when the completion merge driver routes a red candidate's rework
16
+ * (merge/completion-merge-driver.ts), whose Bug names the files
17
+ * (merge/candidate-rework.ts). A held set is reused while the run that decided
18
+ * red, and the records that run has published, are the ones it was read from; a
19
+ * newer red run of the same commit, or another job's record of the same run, is
20
+ * read afresh.
21
+ *
22
+ * Sharded CI: every record (job) of the deciding run is merged into ONE set. A
23
+ * record whose log was cut, could not be read, or reported failures none of
24
+ * whose ids names a test file makes the set INCOMPLETE (`complete: false`):
25
+ * the files it holds failed, but they may not be all that failed. A run that
26
+ * published no record yields null -- the daemon holds nothing, exactly as before
27
+ * records existed -- and so does any read that fails. Nothing here can turn a red
28
+ * into a green.
29
+ *
30
+ * A LATE RECORD: CI may publish the red status before the failing job's record
31
+ * lands, and the red's rework is routed once (it re-opens the focus, and the
32
+ * candidate is not read again). So for a product whose CI has published a
33
+ * failure record before (one is held for it on this host), a red with no record
34
+ * yet waits up to FAILURE_RECORD_WAIT_MS from this process's first sighting
35
+ * before its rework is routed without files ({@link awaitsFailureRecord}). A
36
+ * product that has never published one waits not at all: no record is coming.
37
+ *
38
+ * @module merge/candidate-ci-failures
39
+ */
40
+ import { mkdirSync, readdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
41
+ import { resolve } from 'node:path';
42
+ import { resolveGlobalStateDir } from '../daemon-state/daemon-process.js';
43
+ import { createLogger } from '../log/daemon-log.js';
44
+ import { decidingRedRun, recordsOfRun, } from '../ci/candidate-failure-record.js';
45
+ import { parseFailingTests, reportedFailureCount } from '../verify/deterministic-gate/verification-failure-parser.js';
46
+ import { testFileOfId } from '../verify/failing-test-rerun/rerun-command.js';
47
+ const log = createLogger({ module: 'completion-merge' });
48
+ /** How long a red with no failure record yet waits for one, when its product's CI publishes them (module doc). */
49
+ export const FAILURE_RECORD_WAIT_MS = 15 * 60 * 1000;
50
+ /** The most failing-test ids a held set keeps (the files are what is used; ids are for the record). */
51
+ export const HELD_FAILING_TEST_IDS_MAX = 200;
52
+ /** The repo-relative test file an id names in a log run under `root`, or null. Pure. */
53
+ function repoFileOf(id, root, workspace) {
54
+ const prefix = (file) => (root ? `${root}/${file}` : file);
55
+ const relative = testFileOfId(id, []);
56
+ if (relative !== null && !id.trimStart().startsWith('/'))
57
+ return prefix(relative);
58
+ if (workspace === null)
59
+ return null;
60
+ const absRoot = root ? `${workspace.replace(/\/+$/, '')}/${root}` : workspace;
61
+ const underRoot = testFileOfId(id, [absRoot]);
62
+ if (underRoot !== null)
63
+ return prefix(underRoot);
64
+ return testFileOfId(id, [workspace]);
65
+ }
66
+ /**
67
+ * Merge a run's records into one failing set; null when there is no record.
68
+ * A log whose step exited non-zero (its record's `exitCode`) but which yields
69
+ * no failing-test id is unparseable red, so the set is incomplete -- never a
70
+ * complete empty one. Pure (the read time is passed in).
71
+ */
72
+ export function failuresFromRecords(sha, run, records, readAt) {
73
+ if (records.length === 0)
74
+ return null;
75
+ const files = new Set();
76
+ const tests = new Set();
77
+ let complete = true;
78
+ for (const record of records) {
79
+ for (const logEntry of record.logs) {
80
+ if (logEntry.text === null || logEntry.truncated)
81
+ complete = false;
82
+ if (logEntry.text === null)
83
+ continue;
84
+ const ids = [...parseFailingTests(logEntry.text)];
85
+ let named = 0;
86
+ for (const id of ids) {
87
+ const file = repoFileOf(id, logEntry.root, record.workspace);
88
+ if (file === null) {
89
+ tests.add(id);
90
+ continue;
91
+ }
92
+ named += 1;
93
+ files.add(file);
94
+ tests.add([file, ...id.split(' > ').slice(1)].join(' > '));
95
+ }
96
+ const reported = reportedFailureCount(logEntry.text);
97
+ if ((ids.length > 0 && named === 0) || (ids.length === 0 && reported !== null && reported > 0))
98
+ complete = false;
99
+ const stepFailed = typeof logEntry.exitCode === 'number' && logEntry.exitCode !== 0;
100
+ if (ids.length === 0 && stepFailed)
101
+ complete = false;
102
+ }
103
+ }
104
+ return {
105
+ sha,
106
+ run,
107
+ jobs: [...new Set(records.map((r) => r.job))].sort(),
108
+ failingFiles: [...files].sort(),
109
+ failingTests: [...tests].sort().slice(0, HELD_FAILING_TEST_IDS_MAX),
110
+ complete,
111
+ readAt,
112
+ };
113
+ }
114
+ /** Whether a held set was read from exactly the records the run has published now. Pure. */
115
+ function sameJobs(heldJobs, published) {
116
+ const now = [...new Set(published.map((p) => p.job))].sort();
117
+ return now.length === heldJobs.length && now.every((job, i) => job === heldJobs[i]);
118
+ }
119
+ /**
120
+ * The failing test files of the red candidate `sha`: the held set when it was
121
+ * read from the run that decided red AND from every record that run has
122
+ * published now -- a job whose record lands after the set was held (another
123
+ * shard, the e2e job) makes it read again -- else read now (and held). Null when the
124
+ * deciding run published no record -- a set held from ANOTHER run of the same
125
+ * commit is never answered for it, since its files did not fail in this run --
126
+ * or on any failure. Never throws.
127
+ */
128
+ export function readCandidateCiFailures(sha, deps) {
129
+ try {
130
+ const run = decidingRedRun(deps.listCiStatusRefs(sha));
131
+ const published = recordsOfRun(deps.listRecords(sha), run);
132
+ const held = deps.readHeld(sha);
133
+ if (held !== null && run !== null && held.run === run && sameJobs(held.jobs, published))
134
+ return held;
135
+ const records = published.map((p) => deps.readRecord(p)).filter((r) => r !== null);
136
+ const failures = failuresFromRecords(sha, run ?? published[0]?.run ?? null, records, deps.now());
137
+ if (failures === null)
138
+ return null;
139
+ // A record that was listed but could not be read is part of the run that is missing.
140
+ const read = records.length === published.length ? failures : { ...failures, complete: false };
141
+ deps.hold(read);
142
+ return read;
143
+ }
144
+ catch (err) {
145
+ log.warn(`[completion-merge] the CI failure record of candidate ${sha.slice(0, 9)} could not be read: ${err.message}`);
146
+ return null;
147
+ }
148
+ }
149
+ // ---------------------------------------------------------------------------
150
+ // The hold: one file per (product, focus, candidate sha), written atomically.
151
+ // ---------------------------------------------------------------------------
152
+ function heldDir() {
153
+ return resolve(resolveGlobalStateDir(), 'candidate-ci-failures');
154
+ }
155
+ /** The held file for a candidate; `dir` defaults to the global state dir. Exported for tests. */
156
+ export function candidateCiFailuresPath(productId, focusId, sha, dir = heldDir()) {
157
+ return resolve(dir, `${productId}-${focusId}-${sha}.json`.replace(/[^a-zA-Z0-9._-]/g, '_'));
158
+ }
159
+ const isStrings = (v) => Array.isArray(v) && v.every((s) => typeof s === 'string');
160
+ /** Parse a held file; null when it is not a well-formed set. Pure. */
161
+ export function parseHeldCandidateCiFailures(text) {
162
+ let raw;
163
+ try {
164
+ raw = JSON.parse(text);
165
+ }
166
+ catch {
167
+ return null;
168
+ }
169
+ if (typeof raw !== 'object' || raw === null)
170
+ return null;
171
+ const r = raw;
172
+ if (typeof r.sha !== 'string' || !(r.run === null || (typeof r.run === 'number' && Number.isSafeInteger(r.run))))
173
+ return null;
174
+ if (!isStrings(r.jobs) || !isStrings(r.failingFiles) || !isStrings(r.failingTests))
175
+ return null;
176
+ if (typeof r.complete !== 'boolean' || typeof r.readAt !== 'string')
177
+ return null;
178
+ return { sha: r.sha, run: r.run, jobs: r.jobs, failingFiles: r.failingFiles, failingTests: r.failingTests, complete: r.complete, readAt: r.readAt };
179
+ }
180
+ /** The set held for a candidate; null when none is, or it is unreadable. */
181
+ export function readHeldCandidateCiFailures(productId, focusId, sha, dir = heldDir()) {
182
+ try {
183
+ return parseHeldCandidateCiFailures(readFileSync(candidateCiFailuresPath(productId, focusId, sha, dir), 'utf8'));
184
+ }
185
+ catch {
186
+ return null;
187
+ }
188
+ }
189
+ /** Hold a candidate's set (temp + rename). A failed write is logged, never thrown. */
190
+ export function holdCandidateCiFailures(productId, focusId, failures, dir = heldDir()) {
191
+ const path = candidateCiFailuresPath(productId, focusId, failures.sha, dir);
192
+ try {
193
+ mkdirSync(dir, { recursive: true });
194
+ const tmp = `${path}.${process.pid}.tmp`;
195
+ writeFileSync(tmp, JSON.stringify(failures, null, 2));
196
+ renameSync(tmp, path);
197
+ }
198
+ catch (err) {
199
+ log.warn(`[completion-merge] could not hold the CI failures of candidate ${failures.sha.slice(0, 9)}: ${err.message}`);
200
+ }
201
+ }
202
+ // ---------------------------------------------------------------------------
203
+ // The wait for a late record (module doc).
204
+ // ---------------------------------------------------------------------------
205
+ /** When this process first saw each (product, focus, candidate) red with no record. */
206
+ const firstSeenWithoutRecord = new Map();
207
+ /** Reset the wait's memory -- tests start from a clean slate. */
208
+ export function __resetFailureRecordWaitForTests() {
209
+ firstSeenWithoutRecord.clear();
210
+ }
211
+ /** Whether this host has ever held a CI failure set for the product: its CI publishes records. */
212
+ export function productPublishesFailureRecords(productId, dir = heldDir()) {
213
+ const prefix = `${productId}-`.replace(/[^a-zA-Z0-9._-]/g, '_');
214
+ try {
215
+ return readdirSync(dir).some((name) => name.startsWith(prefix) && name.endsWith('.json'));
216
+ }
217
+ catch {
218
+ return false;
219
+ }
220
+ }
221
+ /**
222
+ * Whether the red candidate `sha`, which has no failure record yet, should wait
223
+ * for one this tick rather than have its rework routed without files: only when
224
+ * the product publishes records, and only within FAILURE_RECORD_WAIT_MS of this
225
+ * process's first sighting. Never throws.
226
+ */
227
+ export function awaitsFailureRecord(subject, sha, now, publishes) {
228
+ const key = `${subject.productId}:${subject.focusId}:${sha}`;
229
+ const since = firstSeenWithoutRecord.get(key) ?? now;
230
+ firstSeenWithoutRecord.set(key, since);
231
+ if (now - since >= FAILURE_RECORD_WAIT_MS)
232
+ return false;
233
+ try {
234
+ return publishes(subject.productId);
235
+ }
236
+ catch {
237
+ return false;
238
+ }
239
+ }
240
+ //# sourceMappingURL=candidate-ci-failures.js.map