@telora/daemon 0.24.16 → 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 (211) hide show
  1. package/build-info.json +7 -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/completion/review-exit/review-exit-phase.js +7 -3
  23. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  24. package/dist/completion/review-exit/review-exit-rehoming.d.ts +27 -3
  25. package/dist/completion/review-exit/review-exit-rehoming.d.ts.map +1 -1
  26. package/dist/completion/review-exit/review-exit-rehoming.js +29 -5
  27. package/dist/completion/review-exit/review-exit-rehoming.js.map +1 -1
  28. package/dist/composition/execution-merge-context.d.ts +13 -0
  29. package/dist/composition/execution-merge-context.d.ts.map +1 -1
  30. package/dist/composition/execution-merge-context.js +76 -3
  31. package/dist/composition/execution-merge-context.js.map +1 -1
  32. package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
  33. package/dist/composition/focus-activity-live-sources.js +1 -0
  34. package/dist/composition/focus-activity-live-sources.js.map +1 -1
  35. package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
  36. package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
  37. package/dist/composition/runtime-heartbeat-context.js +26 -1
  38. package/dist/composition/runtime-heartbeat-context.js.map +1 -1
  39. package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
  40. package/dist/composition/team-liveness-phase-sources.js +1 -0
  41. package/dist/composition/team-liveness-phase-sources.js.map +1 -1
  42. package/dist/composition/verification-context.d.ts.map +1 -1
  43. package/dist/composition/verification-context.js +34 -4
  44. package/dist/composition/verification-context.js.map +1 -1
  45. package/dist/focus/control-state.d.ts +12 -6
  46. package/dist/focus/control-state.d.ts.map +1 -1
  47. package/dist/focus/control-state.js +16 -9
  48. package/dist/focus/control-state.js.map +1 -1
  49. package/dist/focus/heartbeat-metadata.d.ts +5 -0
  50. package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
  51. package/dist/focus/heartbeat-metadata.js +12 -0
  52. package/dist/focus/heartbeat-metadata.js.map +1 -1
  53. package/dist/focus/heartbeat.d.ts.map +1 -1
  54. package/dist/focus/heartbeat.js +1 -0
  55. package/dist/focus/heartbeat.js.map +1 -1
  56. package/dist/focus/host-pressure.d.ts +77 -0
  57. package/dist/focus/host-pressure.d.ts.map +1 -0
  58. package/dist/focus/host-pressure.js +83 -0
  59. package/dist/focus/host-pressure.js.map +1 -0
  60. package/dist/focus-stage-lifecycle/index.js +1 -1
  61. package/dist/focus-stage-lifecycle/index.js.map +1 -1
  62. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +17 -7
  63. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  64. package/dist/focus-stage-lifecycle/wedge-watchdog.js +58 -28
  65. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  66. package/dist/git/types.js +1 -1
  67. package/dist/merge/candidate-ci-failures.d.ts +72 -0
  68. package/dist/merge/candidate-ci-failures.d.ts.map +1 -0
  69. package/dist/merge/candidate-ci-failures.js +240 -0
  70. package/dist/merge/candidate-ci-failures.js.map +1 -0
  71. package/dist/merge/candidate-red-record.d.ts +44 -0
  72. package/dist/merge/candidate-red-record.d.ts.map +1 -0
  73. package/dist/merge/candidate-red-record.js +98 -0
  74. package/dist/merge/candidate-red-record.js.map +1 -0
  75. package/dist/merge/candidate-rework.d.ts +4 -3
  76. package/dist/merge/candidate-rework.d.ts.map +1 -1
  77. package/dist/merge/candidate-rework.js +46 -14
  78. package/dist/merge/candidate-rework.js.map +1 -1
  79. package/dist/merge/candidate-tip-attribution.d.ts +135 -0
  80. package/dist/merge/candidate-tip-attribution.d.ts.map +1 -0
  81. package/dist/merge/candidate-tip-attribution.js +319 -0
  82. package/dist/merge/candidate-tip-attribution.js.map +1 -0
  83. package/dist/merge/completion-merge-driver.d.ts +49 -5
  84. package/dist/merge/completion-merge-driver.d.ts.map +1 -1
  85. package/dist/merge/completion-merge-driver.js +56 -2
  86. package/dist/merge/completion-merge-driver.js.map +1 -1
  87. package/dist/merge/completion-merge-gate.d.ts +4 -1
  88. package/dist/merge/completion-merge-gate.d.ts.map +1 -1
  89. package/dist/merge/completion-merge-gate.js +9 -8
  90. package/dist/merge/completion-merge-gate.js.map +1 -1
  91. package/dist/queries/api-client/shared.d.ts.map +1 -1
  92. package/dist/queries/api-client/shared.js +6 -1
  93. package/dist/queries/api-client/shared.js.map +1 -1
  94. package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts +35 -0
  95. package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts.map +1 -0
  96. package/dist/queries/candidate-ci-reds/candidate-ci-reds.js +42 -0
  97. package/dist/queries/candidate-ci-reds/candidate-ci-reds.js.map +1 -0
  98. package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts +16 -0
  99. package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts.map +1 -0
  100. package/dist/queries/candidate-ci-reds/gate-escape-files.js +51 -0
  101. package/dist/queries/candidate-ci-reds/gate-escape-files.js.map +1 -0
  102. package/dist/queries/focuses/ended-arm.d.ts +55 -7
  103. package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
  104. package/dist/queries/focuses/ended-arm.js +59 -8
  105. package/dist/queries/focuses/ended-arm.js.map +1 -1
  106. package/dist/queries/focuses/focus-discovery.d.ts +18 -8
  107. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  108. package/dist/queries/focuses/focus-discovery.js +1 -0
  109. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  110. package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
  111. package/dist/queries/sessions/daemon-connection.js +1 -0
  112. package/dist/queries/sessions/daemon-connection.js.map +1 -1
  113. package/dist/queries/verification/verification.js +1 -1
  114. package/dist/queries/wire-schemas/schemas.d.ts +2 -0
  115. package/dist/queries/wire-schemas/schemas.d.ts.map +1 -1
  116. package/dist/queries/wire-schemas/schemas.js +10 -3
  117. package/dist/queries/wire-schemas/schemas.js.map +1 -1
  118. package/dist/resolvers/delivery-acceptance-criteria.d.ts +23 -1
  119. package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -1
  120. package/dist/resolvers/delivery-acceptance-criteria.js +52 -8
  121. package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
  122. package/dist/shell/unified-shell.d.ts +25 -0
  123. package/dist/shell/unified-shell.d.ts.map +1 -1
  124. package/dist/shell/unified-shell.js +26 -80
  125. package/dist/shell/unified-shell.js.map +1 -1
  126. package/dist/shell/update-restart.d.ts +47 -0
  127. package/dist/shell/update-restart.d.ts.map +1 -0
  128. package/dist/shell/update-restart.js +124 -0
  129. package/dist/shell/update-restart.js.map +1 -0
  130. package/dist/supervision/escalation-suppression.js +1 -1
  131. package/dist/supervision/recorded-new-intent.d.ts +49 -0
  132. package/dist/supervision/recorded-new-intent.d.ts.map +1 -1
  133. package/dist/supervision/recorded-new-intent.js +10 -2
  134. package/dist/supervision/recorded-new-intent.js.map +1 -1
  135. package/dist/testing/fixtures/api-client.js +1 -1
  136. package/dist/testing/fixtures/completion-judge-stubs.d.ts +7 -2
  137. package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
  138. package/dist/testing/fixtures/completion-judge-stubs.js +11 -1
  139. package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
  140. package/dist/testing/fixtures/index.js +1 -1
  141. package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -1
  142. package/dist/testing/fixtures/merge-log-capture.js +1 -0
  143. package/dist/testing/fixtures/merge-log-capture.js.map +1 -1
  144. package/dist/testing/fixtures/recording-api-client.js +1 -1
  145. package/dist/testing/fixtures/verification-deps.d.ts +7 -0
  146. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  147. package/dist/testing/fixtures/verification-deps.js +17 -1
  148. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  149. package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
  150. package/dist/testing/fixtures/vitest-failure-log.js +2 -1
  151. package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
  152. package/dist/update/auto-update.d.ts +11 -5
  153. package/dist/update/auto-update.d.ts.map +1 -1
  154. package/dist/update/auto-update.js +11 -5
  155. package/dist/update/auto-update.js.map +1 -1
  156. package/dist/update/restart-contract.d.ts +62 -0
  157. package/dist/update/restart-contract.d.ts.map +1 -0
  158. package/dist/update/restart-contract.js +137 -0
  159. package/dist/update/restart-contract.js.map +1 -0
  160. package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
  161. package/dist/verify/attribution/verification-baseline-run.js +1 -0
  162. package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
  163. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +3 -0
  164. package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
  165. package/dist/verify/ci-gate/ci-gate-dispatch.js +31 -9
  166. package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
  167. package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +6 -0
  168. package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -1
  169. package/dist/verify/ci-gate/ci-gate-wait-record.js +1 -0
  170. package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -1
  171. package/dist/verify/deterministic-gate/verification-checkout.d.ts +12 -2
  172. package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
  173. package/dist/verify/deterministic-gate/verification-checkout.js +18 -3
  174. package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
  175. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
  176. package/dist/verify/deterministic-gate/verification-failure-parser.d.ts +30 -9
  177. package/dist/verify/deterministic-gate/verification-failure-parser.d.ts.map +1 -1
  178. package/dist/verify/deterministic-gate/verification-failure-parser.js +52 -8
  179. package/dist/verify/deterministic-gate/verification-failure-parser.js.map +1 -1
  180. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  181. package/dist/verify/engine/verification-commit-sharing.js +6 -2
  182. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  183. package/dist/verify/engine/verification-deps.d.ts +9 -0
  184. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  185. package/dist/verify/engine/verification-deps.js +1 -1
  186. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  187. package/dist/verify/engine/verification-engine.js +4 -1
  188. package/dist/verify/engine/verification-engine.js.map +1 -1
  189. package/dist/verify/escaped-tests/escaped-pass-store.d.ts +19 -0
  190. package/dist/verify/escaped-tests/escaped-pass-store.d.ts.map +1 -0
  191. package/dist/verify/escaped-tests/escaped-pass-store.js +90 -0
  192. package/dist/verify/escaped-tests/escaped-pass-store.js.map +1 -0
  193. package/dist/verify/escaped-tests/escaped-test-run.d.ts +39 -0
  194. package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -0
  195. package/dist/verify/escaped-tests/escaped-test-run.js +156 -0
  196. package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -0
  197. package/dist/verify/escaped-tests/escaped-test-set.d.ts +65 -0
  198. package/dist/verify/escaped-tests/escaped-test-set.d.ts.map +1 -0
  199. package/dist/verify/escaped-tests/escaped-test-set.js +95 -0
  200. package/dist/verify/escaped-tests/escaped-test-set.js.map +1 -0
  201. package/dist/verify/escaped-tests/escaped-tests-source.d.ts +44 -0
  202. package/dist/verify/escaped-tests/escaped-tests-source.d.ts.map +1 -0
  203. package/dist/verify/escaped-tests/escaped-tests-source.js +142 -0
  204. package/dist/verify/escaped-tests/escaped-tests-source.js.map +1 -0
  205. package/dist/verify/gate-config/verification-manifest.d.ts +12 -1
  206. package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
  207. package/dist/verify/gate-config/verification-manifest.js +12 -1
  208. package/dist/verify/gate-config/verification-manifest.js.map +1 -1
  209. package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
  210. package/package.json +2 -2
  211. package/scripts/telora-daemon-wrapper.sh +16 -7
@@ -26,10 +26,6 @@
26
26
  *
27
27
  * History: docs/daemon/history-team-lifecycle.md (shell/unified-shell.ts).
28
28
  */
29
- import { openSync, closeSync } from 'node:fs';
30
- import { dirname, resolve } from 'node:path';
31
- import { fileURLToPath } from 'node:url';
32
- import { spawn, execFileSync } from 'node:child_process';
33
29
  import { loadUnifiedConfig, loadEnvConfig, acquirePidLock, releasePidLock, PidLockError, } from '@telora/daemon-core';
34
30
  import { createAutoUpdateLogSink, performSelfUpdate, startAutoUpdateLoop } from '../update/auto-update.js';
35
31
  import { createDebouncedIdleGate, isBatchSafeIdle } from '../update/auto-update-idle.js';
@@ -43,9 +39,9 @@ import { runDrainToIdleTeardown } from './drain-teardown.js';
43
39
  import { startVersionCacheRefreshLoop, readFreshVersionCache } from '../update/staleness.js';
44
40
  import { detectInstallMode, getCurrentVersion, isNpxRunMode, npxRunRefusalMessage, runNpm } from '../update/self-update.js';
45
41
  import { resolveUpdateChannelUrl } from '../config/update-channel.js';
46
- import { setDaemonShuttingDown } from '../daemon-state/shutdown-state.js';
47
42
  import { clearStopRequest, readStopRequest } from '../daemon-state/stop-request.js';
48
43
  import { createGracefulShutdown, registerStopSignals } from './graceful-shutdown.js';
44
+ import { createUpdateRestart } from './update-restart.js';
49
45
  import { startOtlpReceiver, stopOtlpReceiver } from '../otlp/index.js';
50
46
  import { initTelemetryWriter, stopTelemetryWriter } from '../otlp/telemetry-writer.js';
51
47
  import { startCircuitWedgeWatcher, stopCircuitWedgeWatcher } from './circuit-wedge-watcher.js';
@@ -55,7 +51,7 @@ import { buildReapPersistedDeps, buildReapWorkerFleetDeps } from '../composition
55
51
  import { finalizeWorkerOwnership } from './shutdown-ownership.js';
56
52
  import { startLacunaSidecarIfEnabled, stopLacunaSidecar } from '../backends/lacuna/index.js';
57
53
  import { buildLacunaSupervisorDeps } from '../composition/runtime-lacuna-context.js';
58
- import { rotateDaemonLog, setupCanonicalLogTee, writeDaemonMeta, removeDaemonMeta, resolveDaemonLogPath, childConfigArgs, resolvePidFilePath, ensureGlobalStateDir, STOP_DRAIN_BUDGET_MS } from '../daemon-state/daemon-process.js';
54
+ import { rotateDaemonLog, setupCanonicalLogTee, writeDaemonMeta, removeDaemonMeta, resolveDaemonLogPath, resolvePidFilePath, ensureGlobalStateDir, STOP_DRAIN_BUDGET_MS } from '../daemon-state/daemon-process.js';
59
55
  import { printUnifiedConfigSummary, reportEngineReadiness } from './unified-shell-status.js';
60
56
  import { formatVerificationPostureLines } from '../verify/gate-config/verification-config.js';
61
57
  import { readVerifyManifest } from '../verify/gate-config/verification-manifest.js';
@@ -403,75 +399,29 @@ export async function runUnifiedDaemon(opts) {
403
399
  now: () => Date.now(),
404
400
  exit: (code) => process.exit(code),
405
401
  });
406
- async function shutdownForUpdate() {
407
- if (isShuttingDown)
408
- return;
409
- isShuttingDown = true;
410
- setDaemonShuttingDown();
411
- log.info('\n[auto-update] Shutting down for restart...');
412
- governor.shutdown();
413
- for (const engine of engines) {
414
- try {
415
- engine.stop();
416
- }
417
- catch { /* best effort */ }
418
- }
419
- await Promise.allSettled(engines.map(async (engine) => {
420
- try {
421
- await engine.shutdown();
422
- }
423
- catch { /* best effort */ }
424
- }));
425
- stopCircuitWedgeWatcher();
426
- try {
427
- await stopOtlpReceiver();
428
- await stopTelemetryWriter();
429
- }
430
- catch { /* best effort */ }
431
- try {
432
- await stopLacunaSidecar();
433
- }
434
- catch { /* best effort */ }
435
- // Teams were gracefully terminated above and will be re-spawned by the new
436
- // process; finalize the lead pidfile so the re-exec'd daemon's boot reap does
437
- // not act on pids that are exiting or being legitimately resumed. ONLY the
438
- // ones actually gone: a worker that outlived the reap keeps its record, or
439
- // the re-exec'd daemon inherits an orphan it can no longer name. Same
440
- // boundary the graceful path takes by default -- there is no second one.
441
- finalizeWorkerOwnership('auto-update re-exec');
442
- cleanupLogTee?.();
443
- removeDaemonMeta();
444
- releasePidLock(pidFilePath);
445
- // Re-exec: spawn a new daemon process with the updated code.
446
- // Resolve the entry point fresh from the globally-installed package
447
- // (npm install -g may have replaced files under our feet).
448
- log.info('[auto-update] Spawning new daemon process with updated code...');
449
- const logPath = resolveDaemonLogPath();
450
- const logFd = openSync(logPath, 'a');
451
- let entryPoint;
452
- try {
453
- entryPoint = execFileSync('which', ['telora-daemon'], { encoding: 'utf-8' }).trim();
454
- }
455
- catch {
456
- // Fallback to the current entry point if `which` fails
457
- const thisDir = dirname(fileURLToPath(import.meta.url));
458
- entryPoint = resolve(thisDir, '..', 'index.js');
459
- }
460
- // Preserve --no-auto-update if it was passed to the current process
461
- const runArgs = opts.noAutoUpdate ? ['run', '--no-auto-update'] : ['run'];
462
- // Pass the config path, absolute: the new process starts in repoPath
463
- runArgs.push(...childConfigArgs(opts.config, process.cwd()));
464
- const child = spawn(entryPoint, runArgs, {
465
- detached: true,
466
- stdio: ['ignore', logFd, logFd],
467
- cwd: repoPath,
468
- env: { ...process.env },
469
- });
470
- child.unref();
471
- closeSync(logFd);
472
- log.info(`[auto-update] New daemon spawned (PID ${child.pid}), exiting old process`);
473
- process.exit(0);
474
- }
402
+ // The restart after a self-update (shell/update-restart.ts): the same
403
+ // teardown, then the hand-over the restart contract decides on the live
404
+ // process -- exit 75 to a supervisor, a detached re-exec only when unsupervised.
405
+ const updateRestart = createUpdateRestart({
406
+ engines,
407
+ governor,
408
+ pidFilePath,
409
+ claimShutdown: () => {
410
+ if (isShuttingDown)
411
+ return false;
412
+ isShuttingDown = true;
413
+ return true;
414
+ },
415
+ finalizeWorkerOwnership: () => finalizeWorkerOwnership('auto-update restart'),
416
+ stopCircuitWedgeWatcher,
417
+ stopOtlpReceiver,
418
+ stopTelemetryWriter,
419
+ stopLacunaSidecar,
420
+ cleanupLogTee,
421
+ removeDaemonMeta,
422
+ releasePidLock,
423
+ reExec: { opts, repoPath },
424
+ });
475
425
  // Register drain-aware stop signal handlers.
476
426
  // SIGINT (Ctrl+C) and an external/systemd SIGTERM (no stop-request file) tear
477
427
  // down immediately. A `telora-daemon stop`/`restart`/`update` WITHOUT --now
@@ -566,11 +516,7 @@ export async function runUnifiedDaemon(opts) {
566
516
  // Gated urgent path: operator force only (read live each tick). Never the
567
517
  // loop's autonomous decision.
568
518
  isUrgent: () => loadEnvConfig(process.env).TELORA_AUTO_UPDATE_URGENT,
569
- onUpdateReady: () => {
570
- log.info('[auto-update] Update installed, initiating restart...');
571
- // Trigger graceful shutdown, then exit with code 75
572
- void shutdownForUpdate();
573
- },
519
+ onUpdateReady: updateRestart.onUpdateReady,
574
520
  // The install reads the update channel at install time, not at boot.
575
521
  performUpdate: (pkg) => performSelfUpdate(pkg, { channel: resolveUpdateChannelUrl(), runner: runNpm }),
576
522
  now: () => Date.now(),
@@ -1 +1 @@
1
- {"version":3,"file":"unified-shell.js","sourceRoot":"","sources":["../../src/shell/unified-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-shell.js","sourceRoot":"","sources":["../../src/shell/unified-shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { ShutdownEngine } from './graceful-shutdown.js';
2
+ /** The `telora-daemon run` options a detached replacement inherits. */
3
+ export interface ReExecOptions {
4
+ noAutoUpdate?: boolean;
5
+ config?: string;
6
+ }
7
+ /** What the restart tears down before it hands over. */
8
+ export interface UpdateRestartDeps {
9
+ engines: ReadonlyArray<ShutdownEngine>;
10
+ governor: {
11
+ shutdown(): void;
12
+ };
13
+ pidFilePath: string;
14
+ /** Claim the shutdown: false when one is already under way (the flag the shell's other exits share). */
15
+ claimShutdown: () => boolean;
16
+ /** The shell binds shell/shutdown-ownership.ts `finalizeWorkerOwnership`, as the graceful path does. */
17
+ finalizeWorkerOwnership: () => unknown;
18
+ stopCircuitWedgeWatcher: () => void;
19
+ stopOtlpReceiver: () => Promise<void>;
20
+ stopTelemetryWriter: () => Promise<void>;
21
+ stopLacunaSidecar: () => Promise<void>;
22
+ cleanupLogTee: (() => void) | null;
23
+ removeDaemonMeta: () => void;
24
+ releasePidLock: (pidFilePath: string) => void;
25
+ /** What an unsupervised re-exec runs: the current options, in the repo. */
26
+ reExec: {
27
+ opts: ReExecOptions;
28
+ repoPath: string;
29
+ };
30
+ }
31
+ /** The restart's two entry points: the auto-update callback and the shutdown it runs. */
32
+ export interface UpdateRestart {
33
+ /** The auto-update loop's `onUpdateReady`: start the restart, never awaited. */
34
+ onUpdateReady: () => void;
35
+ shutdownForUpdate: () => Promise<void>;
36
+ }
37
+ /**
38
+ * The UNSUPERVISED half of the restart contract: spawn a detached daemon running
39
+ * the updated code. Never called under a supervisor -- there the detached child
40
+ * would die with the unit's cgroup. The entry point is resolved fresh from the
41
+ * globally-installed package (npm install -g may have replaced files under our
42
+ * feet).
43
+ */
44
+ export declare function reExecDetachedDaemon(opts: ReExecOptions, repoPath: string): void;
45
+ /** Build the daemon's restart-after-update (see the module header). */
46
+ export declare function createUpdateRestart(deps: UpdateRestartDeps): UpdateRestart;
47
+ //# sourceMappingURL=update-restart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-restart.d.ts","sourceRoot":"","sources":["../../src/shell/update-restart.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,QAAQ,EAAE;QAAE,QAAQ,IAAI,IAAI,CAAA;KAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,wGAAwG;IACxG,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,2EAA2E;IAC3E,MAAM,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwBhF;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAyD1E"}
@@ -0,0 +1,124 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/shell/update-restart.test.ts
3
+ // PINNED-BY-END
4
+ /**
5
+ * The unified daemon's restart after a self-update: tear down, then hand over to
6
+ * the new version under the ONE restart contract (update/restart-contract.ts).
7
+ *
8
+ * runUnifiedDaemon (shell/unified-shell.ts) builds it with createUpdateRestart
9
+ * and hands its `onUpdateReady` to the auto-update loop. The teardown steps are
10
+ * REQUIRED deps the shell binds once; the hand-over is NOT injectable: the
11
+ * restart plan is always decided on the live process (liveRestartProbe), the
12
+ * unsupervised re-exec is always reExecDetachedDaemon, and the exit is always
13
+ * process.exit. So update-restart.test.ts, which drives this module in child
14
+ * processes under a systemd-faithful service manager, the wrapper and a bare
15
+ * parent, exercises exactly the hand-over a real self-update performs.
16
+ *
17
+ * Sequence (idempotent; a second call is a no-op):
18
+ * 1. stop every engine accepting new work, then shut them down in parallel;
19
+ * 2. stop telemetry capture and the Lacuna sidecar;
20
+ * 3. finalize worker ownership, release the log tee, daemon meta and PID lock;
21
+ * 4. supervised: exit 75 and spawn nothing. Unsupervised: re-exec a detached
22
+ * replacement, then exit 0.
23
+ *
24
+ * @module shell/update-restart
25
+ */
26
+ import { closeSync, openSync } from 'node:fs';
27
+ import { dirname, resolve } from 'node:path';
28
+ import { fileURLToPath } from 'node:url';
29
+ import { execFileSync, spawn } from 'node:child_process';
30
+ import { setDaemonShuttingDown } from '../daemon-state/shutdown-state.js';
31
+ import { childConfigArgs, resolveDaemonLogPath } from '../daemon-state/daemon-process.js';
32
+ import { createLogger } from '../log/daemon-log.js';
33
+ import { handOverAfterUpdate, liveRestartProbe, planRestartAfterUpdate } from '../update/restart-contract.js';
34
+ const log = createLogger({ module: 'auto-update' });
35
+ /**
36
+ * The UNSUPERVISED half of the restart contract: spawn a detached daemon running
37
+ * the updated code. Never called under a supervisor -- there the detached child
38
+ * would die with the unit's cgroup. The entry point is resolved fresh from the
39
+ * globally-installed package (npm install -g may have replaced files under our
40
+ * feet).
41
+ */
42
+ export function reExecDetachedDaemon(opts, repoPath) {
43
+ log.info('[auto-update] Spawning new daemon process with updated code...');
44
+ const logFd = openSync(resolveDaemonLogPath(), 'a');
45
+ let entryPoint;
46
+ try {
47
+ entryPoint = execFileSync('which', ['telora-daemon'], { encoding: 'utf-8' }).trim();
48
+ }
49
+ catch {
50
+ // Fallback to the current entry point if `which` fails
51
+ const thisDir = dirname(fileURLToPath(import.meta.url));
52
+ entryPoint = resolve(thisDir, '..', 'index.js');
53
+ }
54
+ // Preserve --no-auto-update if it was passed to the current process
55
+ const runArgs = opts.noAutoUpdate ? ['run', '--no-auto-update'] : ['run'];
56
+ // Pass the config path, absolute: the new process starts in repoPath
57
+ runArgs.push(...childConfigArgs(opts.config, process.cwd()));
58
+ const child = spawn(entryPoint, runArgs, {
59
+ detached: true,
60
+ stdio: ['ignore', logFd, logFd],
61
+ cwd: repoPath,
62
+ env: { ...process.env },
63
+ });
64
+ child.unref();
65
+ closeSync(logFd);
66
+ log.info(`[auto-update] New daemon spawned (PID ${child.pid}), exiting old process`);
67
+ }
68
+ /** Build the daemon's restart-after-update (see the module header). */
69
+ export function createUpdateRestart(deps) {
70
+ async function shutdownForUpdate() {
71
+ if (!deps.claimShutdown())
72
+ return;
73
+ setDaemonShuttingDown();
74
+ log.info('\n[auto-update] Shutting down for restart...');
75
+ deps.governor.shutdown();
76
+ for (const engine of deps.engines) {
77
+ try {
78
+ engine.stop();
79
+ }
80
+ catch { /* best effort */ }
81
+ }
82
+ await Promise.allSettled(deps.engines.map(async (engine) => {
83
+ try {
84
+ await engine.shutdown();
85
+ }
86
+ catch { /* best effort */ }
87
+ }));
88
+ deps.stopCircuitWedgeWatcher();
89
+ try {
90
+ await deps.stopOtlpReceiver();
91
+ await deps.stopTelemetryWriter();
92
+ }
93
+ catch { /* best effort */ }
94
+ try {
95
+ await deps.stopLacunaSidecar();
96
+ }
97
+ catch { /* best effort */ }
98
+ // Teams were gracefully terminated above and will be re-spawned by the new
99
+ // process; finalize the lead pidfile so the new daemon's boot reap does not
100
+ // act on pids that are exiting or being legitimately resumed. ONLY the ones
101
+ // actually gone: a worker that outlived the reap keeps its record, or the
102
+ // new daemon inherits an orphan it can no longer name. Same boundary the
103
+ // graceful path takes by default -- there is no second one.
104
+ deps.finalizeWorkerOwnership();
105
+ deps.cleanupLogTee?.();
106
+ deps.removeDaemonMeta();
107
+ deps.releasePidLock(deps.pidFilePath);
108
+ // Hand over to the new version: a supervisor that restarts on 75 gets exit
109
+ // 75 and no child; only an unsupervised daemon re-execs itself.
110
+ handOverAfterUpdate(planRestartAfterUpdate(liveRestartProbe()), {
111
+ reExecDetached: () => reExecDetachedDaemon(deps.reExec.opts, deps.reExec.repoPath),
112
+ exit: (code) => process.exit(code),
113
+ log: (m) => log.info(m),
114
+ });
115
+ }
116
+ return {
117
+ onUpdateReady: () => {
118
+ log.info('[auto-update] Update installed, initiating restart...');
119
+ void shutdownForUpdate();
120
+ },
121
+ shutdownForUpdate,
122
+ };
123
+ }
124
+ //# sourceMappingURL=update-restart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-restart.js","sourceRoot":"","sources":["../../src/shell/update-restart.ts"],"names":[],"mappings":"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"}
@@ -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: 27 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/supervision/escalation-suppression.ts
2
+ // Pinned by: 28 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/supervision/escalation-suppression.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Cause-keyed escalation suppression + idempotent filing.
@@ -1,3 +1,52 @@
1
+ /**
2
+ * The single daemon-side definition of "recorded as new intent under the live
3
+ * arm" -- a delivery an agent added to an already-armed focus that serves no
4
+ * effect the arm covers, and which therefore waits for the NEXT arm.
5
+ *
6
+ * FOUR FACTS, ALL REQUIRED, AND NO NEW STORAGE:
7
+ *
8
+ * 1. The delivery rests at `planning`.
9
+ * 2. The focus is ARMED (assigned_agent_role_id non-null).
10
+ * 3. The focus is NOT read-only.
11
+ * 4. The delivery's id is ABSENT from the focus's ARM BASELINE
12
+ * (product_focuses.armed_baseline_delivery_ids), the id set
13
+ * stamp_focus_arm_baseline() records on the arm edge.
14
+ *
15
+ * Fact 4 is the load-bearing one, and it is why the first three alone are not
16
+ * enough. It is tempting to argue them into sufficiency: the arm edge
17
+ * (trg_bulk_promote_planning_deliveries) promotes EVERY planning delivery to
18
+ * queued when a human arms, and the insert trigger queues means, so `planning`
19
+ * on an armed non-read-only focus "must" post-date the arm. That argument has a
20
+ * hole. A RATIFIED AUDIT focus is armed while read-only; ratification flips
21
+ * read_only to false WITHOUT re-arming, and its held planning deliveries are
22
+ * released by the daemon's planning-release pass instead of by the arm edge. If
23
+ * that release fails, a planning delivery survives on an armed, non-read-only
24
+ * focus while being work the arm genuinely covers -- a wedge the no-progress
25
+ * guard exists to report. The first three facts would swallow it silently.
26
+ *
27
+ * The baseline closes that hole exactly, because it answers the real question
28
+ * -- "was this delivery here when the human armed?" -- rather than inferring it.
29
+ * A delivery in the baseline is covered whatever its status; one absent from it
30
+ * was added afterwards.
31
+ *
32
+ * WHAT IS DELIBERATELY NOT RECORDED NEW INTENT:
33
+ *
34
+ * - `planning` on an UN-ARMED focus. Ordinary un-started work awaiting a
35
+ * human go-signal. It blocks, nudges and holds exactly as it does today.
36
+ * - `planning` on a READ-ONLY (audit) focus. A discovery pass parks its
37
+ * remediation plan at `planning` awaiting human ratification;
38
+ * focus-stage-lifecycle/planning-release.ts releases it on the
39
+ * read_only && ratified_at edge. That hold is the point of an audit focus.
40
+ * - A delivery the arm baseline NAMES, at any status.
41
+ * - Any non-`planning` status. Recorded-ness is a resting state, not a tag.
42
+ *
43
+ * FAIL-CLOSED DEFAULT. Missing arm facts, or a baseline that is absent,
44
+ * unreadable or not an id array, all yield `false` -- today's behaviour, where
45
+ * the delivery gates and counts. The safe direction is to treat work as owed
46
+ * when we cannot PROVE it was merely recorded; the unsafe direction would
47
+ * silently drop real work from a running arm.
48
+ */
49
+ export declare const RECORDED_INTENT_PLANNING_STATUS = "planning";
1
50
  /**
2
51
  * The focus-side facts the predicate needs. Both are carried on every
3
52
  * active-focus discovery row (queries/focuses/focus-discovery.ts ActiveFocusRow) and on
@@ -1 +1 @@
1
- {"version":3,"file":"recorded-new-intent.d.ts","sourceRoot":"","sources":["../../src/supervision/recorded-new-intent.ts"],"names":[],"mappings":"AA0DA;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAQ7E;AAED,mDAAmD;AACnD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAST;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,aAAa,CAAC,sBAAsB,CAAC,EACjD,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,WAAW,CAAC,MAAM,CAAC,CAMrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,sBAAsB,EACrE,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,CAAC,EAAE,CAEL;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9G,QAAQ,CAMV"}
1
+ {"version":3,"file":"recorded-new-intent.d.ts","sourceRoot":"","sources":["../../src/supervision/recorded-new-intent.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AASH,eAAO,MAAM,+BAA+B,aAAa,CAAC;AAE1D;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAQ7E;AAED,mDAAmD;AACnD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAST;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,aAAa,CAAC,sBAAsB,CAAC,EACjD,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,WAAW,CAAC,MAAM,CAAC,CAMrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,sBAAsB,EACrE,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GACpC,CAAC,EAAE,CAEL;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9G,QAAQ,CAMV"}
@@ -1,6 +1,7 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/focus/recorded-delivery-invisibility.test.ts,
3
3
  // packages/daemon/src/prompt/initial-prompt-recorded-intent.test.ts,
4
+ // packages/daemon/src/resolvers/delivery-acceptance-criteria.test.ts,
4
5
  // packages/daemon/src/resolvers/delivery-listing-arm-coverage.test.ts,
5
6
  // packages/daemon/src/supervision/recorded-new-intent.test.ts
6
7
  // PINNED-BY-END
@@ -52,7 +53,14 @@
52
53
  * when we cannot PROVE it was merely recorded; the unsafe direction would
53
54
  * silently drop real work from a running arm.
54
55
  */
55
- import { DELIVERY_STATUS } from '@telora/daemon-core';
56
+ // The `planning` status the predicate tests for. A daemon-local literal (not
57
+ // DELIVERY_STATUS.PLANNING from @telora/daemon-core) on purpose: this module is
58
+ // pulled into the resolver tests through delivery-acceptance-criteria.ts, and
59
+ // those tests use the node:test module-mock loader, under which a bare
60
+ // `@telora/*` VALUE import mis-resolves (ERR_MODULE_NOT_FOUND). Same
61
+ // daemon-local-literal rule as VERIFY_STATUS in delivery/operator-hold.ts;
62
+ // recorded-new-intent.test.ts pins it equal to DELIVERY_STATUS.PLANNING.
63
+ export const RECORDED_INTENT_PLANNING_STATUS = 'planning';
56
64
  /**
57
65
  * Interpret the JSONB arm-baseline column as a set of delivery ids.
58
66
  *
@@ -88,7 +96,7 @@ export function isRecordedNewIntent(delivery, armFacts) {
88
96
  return false;
89
97
  if (armFacts.assignedAgentRoleId == null)
90
98
  return false;
91
- if ((delivery.executionStatus ?? '') !== DELIVERY_STATUS.PLANNING)
99
+ if ((delivery.executionStatus ?? '') !== RECORDED_INTENT_PLANNING_STATUS)
92
100
  return false;
93
101
  const baseline = readArmBaselineIds(armFacts.armedBaselineDeliveryIds);
94
102
  // No usable baseline => we cannot prove this delivery post-dates the arm.
@@ -1 +1 @@
1
- {"version":3,"file":"recorded-new-intent.js","sourceRoot":"","sources":["../../src/supervision/recorded-new-intent.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+EAA+E;AAC/E,uEAAuE;AACvE,yEAAyE;AACzE,gEAAgE;AAChE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAsBtD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgC,EAChC,QAAqC;IAErC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,QAAQ,CAAC,mBAAmB,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,eAAe,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACvE,0EAA0E;IAC1E,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAiD,EACjD,QAAqC;IAErC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAwB,EACxB,QAAqC;IAErC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA+G;IAE/G,OAAO;QACL,mBAAmB,EAAE,SAAS,CAAC,MAAM;QACrC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,wBAAwB,EAAE,SAAS,CAAC,wBAAwB;KAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"recorded-new-intent.js","sourceRoot":"","sources":["../../src/supervision/recorded-new-intent.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+EAA+E;AAC/E,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,gEAAgE;AAChE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,uEAAuE;AACvE,qEAAqE;AACrE,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAU,CAAC;AAsB1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgC,EAChC,QAAqC;IAErC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,QAAQ,CAAC,mBAAmB,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,+BAA+B;QAAE,OAAO,KAAK,CAAC;IACvF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACvE,0EAA0E;IAC1E,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAiD,EACjD,QAAqC;IAErC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAwB,EACxB,QAAqC;IAErC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA+G;IAE/G,OAAO;QACL,mBAAmB,EAAE,SAAS,CAAC,MAAM;QACrC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,wBAAwB,EAAE,SAAS,CAAC,wBAAwB;KAC7D,CAAC;AACJ,CAAC"}
@@ -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: 84 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/api-client.ts
2
+ // Pinned by: 86 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/api-client.ts
3
3
  // PINNED-BY-END
4
4
  /** A fake ApiClient whose every call is answered by `handle`. */
5
5
  export function makeFakeApiClient(handle) {
@@ -10,6 +10,11 @@ import type { CompletionMergeDriverDeps } from '../../merge/completion-merge-dri
10
10
  import type { CompletionMergeGateDeps } from '../../merge/completion-merge-gate.js';
11
11
  /** Gate deps: the candidate declares the CI judge; no local verdict exists. */
12
12
  export declare function ciJudgeGateStubs(): Pick<CompletionMergeGateDeps, 'resolveCompletionJudge' | 'readLocalCandidateStatus'>;
13
- /** Driver deps: nothing was re-pushed, re-pushes succeed, local runs start, no local failure is recorded. */
14
- export declare function inertJudgeDriverStubs(): Pick<CompletionMergeDriverDeps, 'candidateRepushed' | 'markCandidateRepushed' | 'repushCandidate' | 'startLocalRun' | 'readLocalFailure'>;
13
+ /**
14
+ * Driver deps: nothing was re-pushed, re-pushes succeed, local runs start, no
15
+ * local failure or CI failure record is held, a red candidate's record is a
16
+ * no-op, and no red is checkable against the integration tip (so a red is
17
+ * routed as re-work, as it is without the check).
18
+ */
19
+ export declare function inertJudgeDriverStubs(): Pick<CompletionMergeDriverDeps, 'candidateRepushed' | 'markCandidateRepushed' | 'repushCandidate' | 'startLocalRun' | 'readLocalFailure' | 'readCandidateFailures' | 'awaitFailureRecord' | 'recordCandidateRed' | 'attributeCandidateRed' | 'fileIntegrationRed'>;
15
20
  //# sourceMappingURL=completion-judge-stubs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"completion-judge-stubs.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAKvH;AAED,6GAA6G;AAC7G,wBAAgB,qBAAqB,IAAI,IAAI,CAC3C,yBAAyB,EACzB,mBAAmB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,CACzG,CAQA"}
1
+ {"version":3,"file":"completion-judge-stubs.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAKvH;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAC3C,yBAAyB,EACvB,mBAAmB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,oBAAoB,GACzJ,oBAAoB,GAAG,uBAAuB,GAAG,oBAAoB,CACxE,CAaA"}
@@ -25,7 +25,12 @@ export function ciJudgeGateStubs() {
25
25
  readLocalCandidateStatus: () => 'unknown',
26
26
  };
27
27
  }
28
- /** Driver deps: nothing was re-pushed, re-pushes succeed, local runs start, no local failure is recorded. */
28
+ /**
29
+ * Driver deps: nothing was re-pushed, re-pushes succeed, local runs start, no
30
+ * local failure or CI failure record is held, a red candidate's record is a
31
+ * no-op, and no red is checkable against the integration tip (so a red is
32
+ * routed as re-work, as it is without the check).
33
+ */
29
34
  export function inertJudgeDriverStubs() {
30
35
  return {
31
36
  candidateRepushed: () => false,
@@ -33,6 +38,11 @@ export function inertJudgeDriverStubs() {
33
38
  repushCandidate: () => true,
34
39
  startLocalRun: () => ({ kind: 'started' }),
35
40
  readLocalFailure: () => null,
41
+ readCandidateFailures: () => null,
42
+ awaitFailureRecord: () => false,
43
+ recordCandidateRed: async () => { },
44
+ attributeCandidateRed: async () => ({ kind: 'not_eligible', reason: 'inert stub' }),
45
+ fileIntegrationRed: async () => false,
36
46
  };
37
47
  }
38
48
  //# sourceMappingURL=completion-judge-stubs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"completion-judge-stubs.js","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,uEAAuE;AACvE,kEAAkE;AAClE,8FAA8F;AAC9F,4EAA4E;AAC5E,sFAAsF;AACtF,oFAAoF;AACpF,uFAAuF;AACvF,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,8GAA8G;AAC9G,oEAAoE;AACpE,sEAAsE;AACtE,6DAA6D;AAC7D,gBAAgB;AAchB,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,qBAAqB;IAInC,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"completion-judge-stubs.js","sourceRoot":"","sources":["../../../src/testing/fixtures/completion-judge-stubs.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,uEAAuE;AACvE,kEAAkE;AAClE,8FAA8F;AAC9F,4EAA4E;AAC5E,sFAAsF;AACtF,oFAAoF;AACpF,uFAAuF;AACvF,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,8GAA8G;AAC9G,oEAAoE;AACpE,sEAAsE;AACtE,6DAA6D;AAC7D,gBAAgB;AAchB,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IAKnC,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;QAC3B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;QAC5B,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI;QACjC,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC/B,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QAClC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACnF,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;KACtC,CAAC;AACJ,CAAC"}
@@ -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: 364 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
2
+ // Pinned by: 366 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Build an ActiveFocusRow (a getActiveFocuses row): an active, armed focus with
@@ -1 +1 @@
1
- {"version":3,"file":"merge-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAmBA,sEAAsE;AACtE,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpF;AAED,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7E"}
1
+ {"version":3,"file":"merge-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAoBA,sEAAsE;AACtE,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpF;AAED,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7E"}
@@ -2,6 +2,7 @@
2
2
  // Pinned by: packages/daemon/src/completion/team-exit/teardown-merge-gate.test.ts,
3
3
  // packages/daemon/src/completion/team-teardown/mid-flight-merge-gate.test.ts,
4
4
  // packages/daemon/src/integration/approved-head-hold-release-no-directive-regression.test.ts,
5
+ // packages/daemon/src/merge/candidate-red-record.test.ts,
5
6
  // packages/daemon/src/merge/resolved-conflict-merge-gate.test.ts,
6
7
  // packages/daemon/src/merge/safe-remove-merge-gate.test.ts
7
8
  // PINNED-BY-END
@@ -1 +1 @@
1
- {"version":3,"file":"merge-log-capture.js","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,gGAAgG;AAChG,oEAAoE;AACpE,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAA0B;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,UAAU,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"merge-log-capture.js","sourceRoot":"","sources":["../../../src/testing/fixtures/merge-log-capture.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,gFAAgF;AAChF,gGAAgG;AAChG,4DAA4D;AAC5D,oEAAoE;AACpE,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAA0B;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,UAAU,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
@@ -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: 30 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
2
+ // Pinned by: 32 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Test fixture: install a RECORDING fake product-api client -- every call is