@on-par/factory-cli 0.9.18-next.1 → 0.9.18-next.10

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 (95) hide show
  1. package/dist/cli/awaiting-ci-recheck.d.ts +31 -0
  2. package/dist/cli/awaiting-ci-recheck.d.ts.map +1 -0
  3. package/dist/cli/awaiting-ci-recheck.js +61 -0
  4. package/dist/cli/awaiting-ci-recheck.js.map +1 -0
  5. package/dist/cli/awaiting-ci-wiring.d.ts +6 -0
  6. package/dist/cli/awaiting-ci-wiring.d.ts.map +1 -0
  7. package/dist/cli/awaiting-ci-wiring.js +45 -0
  8. package/dist/cli/awaiting-ci-wiring.js.map +1 -0
  9. package/dist/cli/daemon.d.ts.map +1 -1
  10. package/dist/cli/daemon.js +3 -3
  11. package/dist/cli/daemon.js.map +1 -1
  12. package/dist/cli/errors.d.ts +6 -0
  13. package/dist/cli/errors.d.ts.map +1 -0
  14. package/dist/cli/errors.js +11 -0
  15. package/dist/cli/errors.js.map +1 -0
  16. package/dist/cli/host-claim-guards.d.ts +9 -0
  17. package/dist/cli/host-claim-guards.d.ts.map +1 -0
  18. package/dist/cli/host-claim-guards.js +11 -0
  19. package/dist/cli/host-claim-guards.js.map +1 -0
  20. package/dist/cli/host-slot.d.ts +15 -2
  21. package/dist/cli/host-slot.d.ts.map +1 -1
  22. package/dist/cli/host-slot.js +33 -3
  23. package/dist/cli/host-slot.js.map +1 -1
  24. package/dist/cli/index.d.ts +4 -14
  25. package/dist/cli/index.d.ts.map +1 -1
  26. package/dist/cli/index.js +50 -77
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/json-contract.d.ts +6 -0
  29. package/dist/cli/json-contract.d.ts.map +1 -1
  30. package/dist/cli/json-contract.js +2 -0
  31. package/dist/cli/json-contract.js.map +1 -1
  32. package/dist/cli/land-pr.d.ts +18 -0
  33. package/dist/cli/land-pr.d.ts.map +1 -1
  34. package/dist/cli/land-pr.js +38 -1
  35. package/dist/cli/land-pr.js.map +1 -1
  36. package/dist/cli/land.d.ts +6 -0
  37. package/dist/cli/land.d.ts.map +1 -1
  38. package/dist/cli/land.js +17 -16
  39. package/dist/cli/land.js.map +1 -1
  40. package/dist/cli/lane-pause.d.ts +6 -1
  41. package/dist/cli/lane-pause.d.ts.map +1 -1
  42. package/dist/cli/lane-pause.js +30 -0
  43. package/dist/cli/lane-pause.js.map +1 -1
  44. package/dist/cli/model-override-messages.d.ts +5 -1
  45. package/dist/cli/model-override-messages.d.ts.map +1 -1
  46. package/dist/cli/model-override-messages.js +9 -1
  47. package/dist/cli/model-override-messages.js.map +1 -1
  48. package/dist/cli/notify.d.ts +12 -0
  49. package/dist/cli/notify.d.ts.map +1 -1
  50. package/dist/cli/notify.js +28 -0
  51. package/dist/cli/notify.js.map +1 -1
  52. package/dist/cli/queue-startup.d.ts +2 -0
  53. package/dist/cli/queue-startup.d.ts.map +1 -1
  54. package/dist/cli/repo-live-run-lock.d.ts +7 -0
  55. package/dist/cli/repo-live-run-lock.d.ts.map +1 -0
  56. package/dist/cli/repo-live-run-lock.js +14 -0
  57. package/dist/cli/repo-live-run-lock.js.map +1 -0
  58. package/dist/cli/repo-run-lock.d.ts +14 -0
  59. package/dist/cli/repo-run-lock.d.ts.map +1 -0
  60. package/dist/cli/repo-run-lock.js +27 -0
  61. package/dist/cli/repo-run-lock.js.map +1 -0
  62. package/dist/cli/run-lane-deps.d.ts +10 -1
  63. package/dist/cli/run-lane-deps.d.ts.map +1 -1
  64. package/dist/cli/run-lane-disk-hold.d.ts +14 -0
  65. package/dist/cli/run-lane-disk-hold.d.ts.map +1 -0
  66. package/dist/cli/run-lane-disk-hold.js +25 -0
  67. package/dist/cli/run-lane-disk-hold.js.map +1 -0
  68. package/dist/cli/run-lane.d.ts.map +1 -1
  69. package/dist/cli/run-lane.js +51 -19
  70. package/dist/cli/run-lane.js.map +1 -1
  71. package/dist/cli/run.d.ts.map +1 -1
  72. package/dist/cli/run.js +9 -5
  73. package/dist/cli/run.js.map +1 -1
  74. package/dist/cli/self-update-apply.d.ts +1 -1
  75. package/dist/cli/self-update-apply.d.ts.map +1 -1
  76. package/dist/cli/self-update-apply.js +4 -5
  77. package/dist/cli/self-update-apply.js.map +1 -1
  78. package/dist/cli/ship-steps.d.ts +4 -2
  79. package/dist/cli/ship-steps.d.ts.map +1 -1
  80. package/dist/cli/ship-steps.js +4 -1
  81. package/dist/cli/ship-steps.js.map +1 -1
  82. package/dist/cli/ship.d.ts +2 -2
  83. package/dist/cli/ship.d.ts.map +1 -1
  84. package/dist/cli/ship.js +4 -3
  85. package/dist/cli/ship.js.map +1 -1
  86. package/dist/cli/status-json.d.ts +1 -0
  87. package/dist/cli/status-json.d.ts.map +1 -1
  88. package/dist/cli/status-json.js +1 -0
  89. package/dist/cli/status-json.js.map +1 -1
  90. package/dist/cli/status.d.ts.map +1 -1
  91. package/dist/cli/status.js +16 -1
  92. package/dist/cli/status.js.map +1 -1
  93. package/package.json +4 -4
  94. package/schemas/logs-line.schema.json +5 -0
  95. package/schemas/status.schema.json +24 -0
@@ -1,6 +1,10 @@
1
- import type { EffectiveModelPins, ModelRouter, RepoFactoryConfig } from '@on-par/factory-core';
1
+ import type { EffectiveModelPins, ModelRouter, ModelsConfig, RepoFactoryConfig } from '@on-par/factory-core';
2
+ import { type ProviderOrder, type SubscriptionLoginDeps } from '@on-par/factory-core/internal';
2
3
  /** One `model-override` message per pinned phase, naming the file or env var it came from (#2497). */
3
4
  export declare function modelOverrideMessages(pins: EffectiveModelPins, repo: RepoFactoryConfig | null, repoConfigLabel: string): string[];
4
5
  /** Turn on the metered failover guard and log one `metered_primary_route` warning per metered plan/build pin (#3234). */
5
6
  export declare function applyMeteredGuard(router: ModelRouter, pins: EffectiveModelPins, log: (type: 'warn', msg: string) => void): void;
7
+ /** The run's provider order (#3338): only when the repo file sets `models.providerOrder`, with refused providers
8
+ * filtered out (#3335); undefined leaves every phase on today's routing. */
9
+ export declare function resolveProviderOrder(repo: RepoFactoryConfig | null, models: ModelsConfig, log: SubscriptionLoginDeps['log']): ProviderOrder | undefined;
6
10
  //# sourceMappingURL=model-override-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-override-messages.d.ts","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG/F,sGAAsG;AACtG,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAC9B,eAAe,EAAE,MAAM,GACtB,MAAM,EAAE,CAWV;AAED,yHAAyH;AACzH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GACvC,IAAI,CAQN"}
1
+ {"version":3,"file":"model-override-messages.d.ts","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,sGAAsG;AACtG,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAC9B,eAAe,EAAE,MAAM,GACtB,MAAM,EAAE,CAWV;AAED,yHAAyH;AACzH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GACvC,IAAI,CAQN;AAED;6EAC6E;AAC7E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAC9B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAChC,aAAa,GAAG,SAAS,CAI3B"}
@@ -1,5 +1,5 @@
1
1
  // packages/cli/src/cli/model-override-messages.ts — the `model-override` lines shipIssue logs, split from ship.ts
2
- import { meteredPrimaryRouteWarnings } from '@on-par/factory-core/internal';
2
+ import { filterRefusedProviders, meteredPrimaryRouteWarnings, } from '@on-par/factory-core/internal';
3
3
  /** One `model-override` message per pinned phase, naming the file or env var it came from (#2497). */
4
4
  export function modelOverrideMessages(pins, repo, repoConfigLabel) {
5
5
  const label = (source, envVar) => (source === 'repo' ? repoConfigLabel : envVar);
@@ -24,4 +24,12 @@ export function applyMeteredGuard(router, pins, log) {
24
24
  for (const msg of meteredPrimaryRouteWarnings(pins, lookup))
25
25
  log('warn', msg);
26
26
  }
27
+ /** The run's provider order (#3338): only when the repo file sets `models.providerOrder`, with refused providers
28
+ * filtered out (#3335); undefined leaves every phase on today's routing. */
29
+ export function resolveProviderOrder(repo, models, log) {
30
+ // applyRepoConfig merges the repo's override over the derived order, so it is set whenever the repo file sets the key.
31
+ if (!repo?.models?.providerOrder || !models.providerOrder)
32
+ return undefined;
33
+ return filterRefusedProviders(models.providerOrder, models.models, { log }).order;
34
+ }
27
35
  //# sourceMappingURL=model-override-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-override-messages.js","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAGlH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,sGAAsG;AACtG,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,IAA8B,EAC9B,eAAuB;IAEvB,MAAM,KAAK,GAAG,CAAC,MAAkC,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;IACpC,OAAO;QACL,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,MAAM,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,GAAG,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC;YAC/F,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B,QAAQ,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,IAAwB,EACxB,GAAwC;IAExC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"model-override-messages.js","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAGlH,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAG5B,MAAM,+BAA+B,CAAC;AAEvC,sGAAsG;AACtG,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,IAA8B,EAC9B,eAAuB;IAEvB,MAAM,KAAK,GAAG,CAAC,MAAkC,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;IACpC,OAAO;QACL,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,MAAM,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,GAAG,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC;YAC/F,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B,QAAQ,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,IAAwB,EACxB,GAAwC;IAExC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,MAAoB,EACpB,GAAiC;IAEjC,uHAAuH;IACvH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAC5E,OAAO,sBAAsB,CAAC,MAAM,CAAC,aAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;AACrG,CAAC"}
@@ -10,6 +10,12 @@ export type NotifySummary = {
10
10
  lane: string;
11
11
  message: string;
12
12
  park: ParkPayload;
13
+ } | {
14
+ kind: 'disk_low';
15
+ ts: string;
16
+ host: string;
17
+ lane: string;
18
+ message: string;
13
19
  } | {
14
20
  kind: 'drain';
15
21
  ts: string;
@@ -34,4 +40,10 @@ export declare function resolveNotifyCommand(flag: string | undefined, env: Node
34
40
  export declare function createNotifier(cmd: string | undefined, deps?: NotifierDeps): Notifier | undefined;
35
41
  /** Wraps an event emitter so each lane `parked` event with a park payload also fires a park summary. */
36
42
  export declare function withParkNotify(emit: typeof logEvent, notifier: Notifier): typeof logEvent;
43
+ /** Wraps an event emitter so a `disk_low` event also fires one alert per host per hour (#2284). */
44
+ export declare function withDiskLowNotify(emit: typeof logEvent, notifier: Notifier, opts?: {
45
+ alertFile?: string;
46
+ now?: () => Date;
47
+ host?: string;
48
+ }): typeof logEvent;
37
49
  //# sourceMappingURL=notify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAC/C,eAAO,MAAM,aAAa,oDAAoD,CAAC;AAG/E,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACtG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,2FAA2F;IAC3F,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAKzG;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,QAAQ,GAAG,SAAS,CAuDrG;AAED,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,QAAQ,CAoBzF"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAC/C,eAAO,MAAM,aAAa,oDAAoD,CAAC;AAG/E,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACtG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,2FAA2F;IAC3F,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAKzG;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,QAAQ,GAAG,SAAS,CAuDrG;AAED,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,QAAQ,CAoBzF;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjE,OAAO,QAAQ,CAuBjB"}
@@ -1,5 +1,7 @@
1
1
  // packages/cli/src/cli/notify.ts — opt-in --notify command fired on park and drain (#3512)
2
2
  import { spawn } from 'node:child_process';
3
+ import { hostname } from 'node:os';
4
+ import { claimDiskAlert, hostDiskAlertFile } from '@on-par/factory-core/internal';
3
5
  export const NOTIFY_ENV = 'FACTORY_NOTIFY_CMD';
4
6
  export const DRAIN_MESSAGE = 'queue drained: all lanes finished, nothing left';
5
7
  const DEFAULT_TIMEOUT_MS = 30_000;
@@ -92,4 +94,30 @@ export function withParkNotify(emit, notifier) {
92
94
  return result;
93
95
  };
94
96
  }
97
+ /** Wraps an event emitter so a `disk_low` event also fires one alert per host per hour (#2284). */
98
+ export function withDiskLowNotify(emit, notifier, opts = {}) {
99
+ const { alertFile = hostDiskAlertFile(), now = () => new Date(), host = hostname() } = opts;
100
+ return (...args) => {
101
+ const result = emit(...args);
102
+ const [, type, issue, msg, extra] = args;
103
+ if (type === 'disk_low') {
104
+ try {
105
+ const at = now();
106
+ if (claimDiskAlert(alertFile, at)) {
107
+ notifier.notify({
108
+ kind: 'disk_low',
109
+ ts: at.toISOString(),
110
+ host,
111
+ lane: extra?.lane ?? String(issue),
112
+ message: msg,
113
+ });
114
+ }
115
+ }
116
+ catch {
117
+ // notify must never break the event log
118
+ }
119
+ }
120
+ return result;
121
+ };
122
+ }
95
123
  //# sourceMappingURL=notify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare function startupSweeps(getOctokit: () => Octokit | undefined): {
21
21
  mergeLock: string;
22
22
  gitLock: string;
23
23
  runLock: string;
24
+ runLocks: string;
24
25
  product: string;
25
26
  stop: string;
26
27
  costs: string;
@@ -60,6 +61,7 @@ export declare function startupSweeps(getOctokit: () => Octokit | undefined): {
60
61
  mergeLock: string;
61
62
  gitLock: string;
62
63
  runLock: string;
64
+ runLocks: string;
63
65
  product: string;
64
66
  stop: string;
65
67
  costs: string;
@@ -1 +1 @@
1
- {"version":3,"file":"queue-startup.d.ts","sourceRoot":"","sources":["../../src/cli/queue-startup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAiB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIjG,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAIzE;AAED;;2CAE2C;AAC3C,wBAAsB,eAAe,CACnC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS,GACpC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS;IAG/D,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAyB,MAAM;IACnD,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAyB,MAAM;EAEnD"}
1
+ {"version":3,"file":"queue-startup.d.ts","sourceRoot":"","sources":["../../src/cli/queue-startup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAiB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIjG,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAIzE;AAED;;2CAE2C;AAC3C,wBAAsB,eAAe,CACnC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS,GACpC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS;IAG/D,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAyB,MAAM;IACnD,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAyB,MAAM;EAEnD"}
@@ -0,0 +1,7 @@
1
+ /** True when the repo's run lock (checkout or per-issue) is held by a live pid. An unreadable
2
+ * issue-locks dir fails closed: the repo is treated as active. */
3
+ export declare function repoHasLiveRunLock(e: {
4
+ path: string;
5
+ stateRoot?: string;
6
+ }): boolean;
7
+ //# sourceMappingURL=repo-live-run-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-live-run-lock.d.ts","sourceRoot":"","sources":["../../src/cli/repo-live-run-lock.ts"],"names":[],"mappings":"AAIA;mEACmE;AACnE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAMnF"}
@@ -0,0 +1,14 @@
1
+ // packages/cli/src/cli/repo-live-run-lock.ts — fail-closed "does this attached repo have a live run?" check (#3643)
2
+ import { listLiveRunLocks } from '@on-par/factory-core/internal';
3
+ import { defaultIsPidAlive, getFactoryPaths } from '@on-par/factory-core';
4
+ /** True when the repo's run lock (checkout or per-issue) is held by a live pid. An unreadable
5
+ * issue-locks dir fails closed: the repo is treated as active. */
6
+ export function repoHasLiveRunLock(e) {
7
+ try {
8
+ return listLiveRunLocks(getFactoryPaths(e.path, e.stateRoot), defaultIsPidAlive).length > 0;
9
+ }
10
+ catch {
11
+ return true;
12
+ }
13
+ }
14
+ //# sourceMappingURL=repo-live-run-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-live-run-lock.js","sourceRoot":"","sources":["../../src/cli/repo-live-run-lock.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1E;mEACmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,CAAuC;IACxE,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { logEvent, withScopedRunLock, type RunLockScope } from '@on-par/factory-core/internal';
2
+ import type { getFactoryPaths } from '@on-par/factory-core';
3
+ /** Fences a whole run behind a run lock (#598, #3643): by default the checkout-wide
4
+ * `.factory/run.lock`, or with `deps.scope` a per-issue `.factory/locks/run/<WorkKey>` lock
5
+ * that lets one-shot runs on different issues share a checkout. A live holder is
6
+ * refused immediately — never queued behind a multi-hour run — and a dead holder's lock is
7
+ * reclaimed by withRunLock. Nested acquisition inside one process is a pass-through, so
8
+ * `factory supervise` can hold this across its loop. */
9
+ export declare function withRepoRunLock<T>(paths: ReturnType<typeof getFactoryPaths>, command: string, fn: () => Promise<T>, deps?: {
10
+ scope?: RunLockScope;
11
+ runLock?: typeof withScopedRunLock;
12
+ emitEvent?: typeof logEvent;
13
+ }): Promise<T>;
14
+ //# sourceMappingURL=repo-run-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-run-lock.d.ts","sourceRoot":"","sources":["../../src/cli/repo-run-lock.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAGR,iBAAiB,EACjB,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;;;yDAKyD;AACzD,wBAAsB,eAAe,CAAC,CAAC,EACrC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,QAAQ,CAAA;CAAO,GACnG,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
@@ -0,0 +1,27 @@
1
+ // packages/cli/src/cli/repo-run-lock.ts — withRepoRunLock, the CLI's run-lock wrapper (#598, #3643)
2
+ import { logEvent, RunLockHeldError, runLockDirFor, withScopedRunLock, } from '@on-par/factory-core/internal';
3
+ import { CliExitError } from './errors.js';
4
+ /** Fences a whole run behind a run lock (#598, #3643): by default the checkout-wide
5
+ * `.factory/run.lock`, or with `deps.scope` a per-issue `.factory/locks/run/<WorkKey>` lock
6
+ * that lets one-shot runs on different issues share a checkout. A live holder is
7
+ * refused immediately — never queued behind a multi-hour run — and a dead holder's lock is
8
+ * reclaimed by withRunLock. Nested acquisition inside one process is a pass-through, so
9
+ * `factory supervise` can hold this across its loop. */
10
+ export async function withRepoRunLock(paths, command, fn, deps = {}) {
11
+ const { scope = { kind: 'checkout' }, runLock = withScopedRunLock, emitEvent = logEvent } = deps;
12
+ try {
13
+ return await runLock(paths, scope, fn, {
14
+ command,
15
+ onReclaim: (pid) => emitEvent(paths.events, 'lock-stolen', '-', `reclaimed ${runLockDirFor(paths, scope)} from dead holder pid ${pid ?? 'unknown'}`),
16
+ });
17
+ }
18
+ catch (err) {
19
+ if (err instanceof RunLockHeldError) {
20
+ emitEvent(paths.events, 'run_lock_conflict', '-', `${command} refused: ${err.message}`);
21
+ throw new CliExitError(`factory: ${err.message} — stop that run (or wait for it to finish) before starting another. ` +
22
+ `A dead run's lock is reclaimed automatically; remove ${err.lockDir} only if you are sure no factory run is live.`, 2);
23
+ }
24
+ throw err;
25
+ }
26
+ }
27
+ //# sourceMappingURL=repo-run-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-run-lock.js","sourceRoot":"","sources":["../../src/cli/repo-run-lock.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAElB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;yDAKyD;AACzD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAyC,EACzC,OAAe,EACf,EAAoB,EACpB,IAAI,GAA8F,EAAE;IAEpG,MAAM,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,GAAG,iBAAiB,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjG,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,OAAO;YACP,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,aAAa,EACb,GAAG,EACH,aAAa,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,yBAAyB,GAAG,IAAI,SAAS,EAAE,CACpF;SACJ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,OAAO,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,MAAM,IAAI,YAAY,CACpB,YAAY,GAAG,CAAC,OAAO,uEAAuE;gBAC5F,wDAAwD,GAAG,CAAC,OAAO,+CAA+C,EACpH,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { getFactoryPaths, ParkReason, ProviderBreaker, RunOutcome } from '@on-par/factory-core';
2
- import type { logEvent, LoadGuardDecision, QueueClaim, QueueReleaseOutcome, StackRestackOutcome } from '@on-par/factory-core/internal';
2
+ import type { AwaitingCiRecord, logEvent, DiskGuardDecision, LoadGuardDecision, QueueClaim, QueueReleaseOutcome, StackRestackOutcome } from '@on-par/factory-core/internal';
3
3
  import type { Octokit } from '@octokit/rest';
4
+ import type { AwaitingCiLaneOps } from './awaiting-ci-recheck.js';
4
5
  import type { BaseHoldDecision } from './base-hold.js';
5
6
  import type { ChildEnqueueResult } from './run-lane-decompose.js';
6
7
  import type { waitForMerge } from './land.js';
@@ -46,6 +47,11 @@ export type RunLaneDeps = {
46
47
  /** #3563: polls open factory PRs for trusted changes-requested reviews and queues their issues; run before every remote claim.
47
48
  * Fail-closed: a rejection is logged as a warn and never changes lane flow. Absent for local lanes. */
48
49
  pollReviewRework?: () => Promise<void>;
50
+ /** #3208: persists the record of a PR whose CI never started (the AwaitingCiError outcome). A rejection is logged as a warn. */
51
+ recordAwaitingCi?: (rec: AwaitingCiRecord) => Promise<void>;
52
+ /** #3208: re-checks due awaiting-ci PRs before every claim, parking through the lane's own park path via `ops`.
53
+ * Fail-closed: a rejection is logged as a warn and never changes lane flow. */
54
+ recheckAwaitingCi?: (ops: AwaitingCiLaneOps) => Promise<void>;
49
55
  releaseIssue?: (issue: number, outcome: QueueReleaseOutcome) => Promise<void>;
50
56
  /** Writes decomposed children into the GitHub queue (queued, lane, order right behind the parent)
51
57
  * before the lane moves on, so a restart never loses them (#3539). Absent for static local lanes. */
@@ -74,6 +80,9 @@ export type RunLaneDeps = {
74
80
  /** Host load guard (#3048): consulted before every remote claim, after the base-hold gate; 'hold'
75
81
  * waits retryMs and re-checks. Absent = always claim (local lanes, injected-deps callers, tests). */
76
82
  loadGuard?: () => LoadGuardDecision;
83
+ /** Host disk guard (#2284): consulted before every remote claim, after the load guard; 'hold' waits
84
+ * retryMs and re-checks (one `disk_low` event per episode). Absent = always claim. */
85
+ diskGuard?: () => DiskGuardDecision;
77
86
  /** Breaker read while the lane is paused for all_providers_down (#3235). Defaults to the repo's breaker file. */
78
87
  providerBreaker?: Pick<ProviderBreaker, 'status'>;
79
88
  /** Stamp of the repo config file; a change ends the all_providers_down pause (#3235). Defaults to its mtime and size. */
@@ -1 +1 @@
1
- {"version":3,"file":"run-lane-deps.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-lane-deps.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane-deps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { getFactoryPaths } from '@on-par/factory-core';
2
+ import type { DiskGuardDecision, logEvent } from '@on-par/factory-core/internal';
3
+ interface DiskHoldIo {
4
+ lane: string;
5
+ paths: Pick<ReturnType<typeof getFactoryPaths>, 'events' | 'stop'>;
6
+ emitEvent: typeof logEvent;
7
+ now: () => Date;
8
+ sleep: (ms: number) => Promise<void>;
9
+ pathExists: (path: string) => boolean;
10
+ }
11
+ /** Holds the claim while disk is low: one `disk_low` event per episode, `warn` per retry, until space recovers or STOP appears. */
12
+ export declare function holdForDisk(guard: () => DiskGuardDecision, io: DiskHoldIo): Promise<'claim' | 'stopped'>;
13
+ export {};
14
+ //# sourceMappingURL=run-lane-disk-hold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-lane-disk-hold.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane-disk-hold.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEjF,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;IACnE,SAAS,EAAE,OAAO,QAAQ,CAAC;IAC3B,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAUD,mIAAmI;AACnI,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,iBAAiB,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAW9G"}
@@ -0,0 +1,25 @@
1
+ // packages/cli/src/cli/run-lane-disk-hold.ts — runLane's host disk claim gate (#2284)
2
+ import { formatDiskHold } from '@on-par/factory-core/internal';
3
+ const decide = (guard) => {
4
+ try {
5
+ return guard();
6
+ }
7
+ catch {
8
+ return { kind: 'claim' };
9
+ }
10
+ };
11
+ /** Holds the claim while disk is low: one `disk_low` event per episode, `warn` per retry, until space recovers or STOP appears. */
12
+ export async function holdForDisk(guard, io) {
13
+ let first = true;
14
+ for (let d = decide(guard); d.kind === 'hold'; d = decide(guard)) {
15
+ const retryAt = new Date(io.now().getTime() + d.retryMs);
16
+ const line = formatDiskHold(`lane '${io.lane}' not claiming:`, d, retryAt);
17
+ io.emitEvent(io.paths.events, first ? 'disk_low' : 'warn', io.lane, line, { lane: io.lane });
18
+ first = false;
19
+ await io.sleep(d.retryMs);
20
+ if (io.pathExists(io.paths.stop))
21
+ return 'stopped';
22
+ }
23
+ return 'claim';
24
+ }
25
+ //# sourceMappingURL=run-lane-disk-hold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-lane-disk-hold.js","sourceRoot":"","sources":["../../src/cli/run-lane-disk-hold.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAGtF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAY/D,MAAM,MAAM,GAAG,CAAC,KAA8B,EAAqB,EAAE;IACnE,IAAI,CAAC;QACH,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC;AAEF,mIAAmI;AACnI,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAA8B,EAAE,EAAc;IAC9E,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3E,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7F,KAAK,GAAG,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-lane.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AAqBrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAwZf"}
1
+ {"version":3,"file":"run-lane.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAa,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AA4BhG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAscf"}
@@ -1,12 +1,13 @@
1
1
  // packages/cli/src/cli/run-lane.ts — the lane loop, moved out of index.ts (#2800)
2
2
  import { existsSync, statSync } from 'node:fs';
3
3
  import { parkReasonFor } from '@on-par/factory-core';
4
- import { formatLoadHold, logEvent, PARKED_LABEL, parkPayload } from '@on-par/factory-core/internal';
4
+ import { formatLoadHold, logEvent, nextRecheckAt, PARKED_LABEL, parkPayload } from '@on-par/factory-core/internal';
5
5
  import { formatBaseHoldKept } from './base-hold.js';
6
+ import { holdForDisk } from './run-lane-disk-hold.js';
6
7
  import { laneParkCommenter } from './lane-park-comment.js';
7
8
  import { pauseLaneForAllProvidersDown, pauseLaneForBrokenBase, pauseLaneForProviderCap, tripLaneBreaker, waitForProviderReset, waitForProvidersRestored, } from './lane-pause.js';
8
9
  import { waitForMerge } from './land.js';
9
- import { AwaitingReviewError } from './land-pr.js';
10
+ import { AwaitMergeStoppedError, AwaitingCiError, AwaitingReviewError } from './land-pr.js';
10
11
  import { restoredLoggingBreaker } from './provider-restored-log.js';
11
12
  import { releaseKeepOnRequeue } from './worktree-keep.js';
12
13
  import { shipIssue } from './ship.js';
@@ -14,7 +15,7 @@ import { withHeartbeat } from './lane-heartbeat.js';
14
15
  import { queueDecomposedChildren } from './run-lane-decompose.js';
15
16
  import { shipRuntime } from './ship-runtime.js';
16
17
  export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {}) {
17
- const { ship = shipIssue, waitMerge = waitForMerge, recordStackMerge = async () => { }, restack = async () => ({ status: 'nothing', reason: 'restack not wired' }), pathExists = existsSync, emitEvent = logEvent, claimNext = async () => null, pollReviewRework, releaseIssue = async () => { }, queueChildren, heartbeat, reapWorktree = async () => { }, closeParkedPr = async () => { }, sweepFinished = async () => { }, activeIssues = new Set(), countRemaining, baseHoldGate, loadGuard, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), now = () => new Date(), laneBreakerThreshold = 0, commentIssue = async () => { }, octokit: getOctokit, runId = '-', readParkSha = () => Promise.reject(new Error('no park sha reader')), providerBreaker = restoredLoggingBreaker(paths.breaker, paths.events, '-', lane, emitEvent), configStamp = () => {
18
+ const { ship = shipIssue, waitMerge = waitForMerge, recordStackMerge = async () => { }, restack = async () => ({ status: 'nothing', reason: 'restack not wired' }), pathExists = existsSync, emitEvent = logEvent, claimNext = async () => null, pollReviewRework, recordAwaitingCi, recheckAwaitingCi, releaseIssue = async () => { }, queueChildren, heartbeat, reapWorktree = async () => { }, closeParkedPr = async () => { }, sweepFinished = async () => { }, activeIssues = new Set(), countRemaining, baseHoldGate, loadGuard, diskGuard, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), now = () => new Date(), laneBreakerThreshold = 0, commentIssue = async () => { }, octokit: getOctokit, runId = '-', readParkSha = () => Promise.reject(new Error('no park sha reader')), providerBreaker = restoredLoggingBreaker(paths.breaker, paths.events, '-', lane, emitEvent), configStamp = () => {
18
19
  try {
19
20
  const st = statSync(paths.config);
20
21
  return `${st.mtimeMs}:${st.size}`;
@@ -38,9 +39,8 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
38
39
  // Issues still pending on this lane after `index`, in queue order (#3511).
39
40
  const queuedBehind = (index) => pending.slice(index + 1).map((c) => c.issue);
40
41
  const seen = new Set(issues);
41
- // Truthful park-time remaining count (#1222): local pending plus the lane's still-queued
42
- // remote issues. Fail-closed — a count lookup may never change the message beyond the
43
- // local truth, and never lane flow.
42
+ // Truthful park-time remaining count (#1222): local pending plus the lane's still-queued remote issues.
43
+ // Fail-closed — a count lookup may never change the message beyond the local truth, nor lane flow.
44
44
  const remainingAfter = async (index) => {
45
45
  const local = pending.length - index - 1;
46
46
  if (!countRemaining)
@@ -52,8 +52,7 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
52
52
  return local;
53
53
  }
54
54
  };
55
- // Every terminal outcome releases the claim, then gives finished worktrees a GC pass before
56
- // the lane moves on (#1757). The pass is fail-closed and must never change lane flow.
55
+ // Every terminal outcome releases the claim, then GCs finished worktrees (#1757); fail-closed, never changes flow.
57
56
  const settle = async (issue, outcome) => {
58
57
  // Drop the in-flight mark first so this lane's own finished worktree stays reapable.
59
58
  activeIssues.delete(issue);
@@ -64,9 +63,8 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
64
63
  };
65
64
  // A park raised outside runIssue upserts the issue park comment (#3534); fail-closed, never changes lane flow.
66
65
  const postParkComment = laneParkCommenter({ getOctokit, ghRepo, repoRoot, runId, lane, readParkSha }, (issue, m) => emitEvent(paths.events, 'warn', issue, m, { lane }));
67
- const pauseCtx = { lane, paths, emitEvent };
68
- // A parked release adds factory:parked (#3424). Log the clean park only once the label
69
- // landed; a rejected add is surfaced as a fail event naming the issue and label (#3425).
66
+ const pauseCtx = { lane, paths, emitEvent, now };
67
+ // A parked release adds factory:parked (#3424). Log the clean park once the label landed; a rejected add fails (#3425).
70
68
  const parkAndSettle = async (issue, parkedMsg, park) => {
71
69
  activeIssues.delete(issue);
72
70
  try {
@@ -81,6 +79,19 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
81
79
  await sweepFinished(issue).catch(() => { });
82
80
  return true;
83
81
  };
82
+ const emitAwaitingCi = (kind, issue, message) => emitEvent(paths.events, kind, issue, message, { lane });
83
+ // #3208: parks an awaiting-ci PR through the lane's park path: reason event, issue comment, worktree reap, label.
84
+ const parkAwaitingCi = async (rec, reason, message) => {
85
+ emitAwaitingCi(reason, rec.issue, message);
86
+ await postParkComment(rec.issue, reason, message, rec.branch);
87
+ await reapWorktree(rec.issue).catch(() => { });
88
+ const msg = `issue #${rec.issue} parked (${reason}); lane '${lane}' continuing`;
89
+ if (!(await parkAndSettle(rec.issue, msg, parkPayload(reason, rec.issue, lane, [])))) {
90
+ throw new Error(`could not park issue #${rec.issue}`);
91
+ }
92
+ parked++;
93
+ };
94
+ const diskIo = { lane, paths, emitEvent, now, sleep, pathExists };
84
95
  const decide = (guard) => {
85
96
  try {
86
97
  return guard();
@@ -110,8 +121,8 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
110
121
  }
111
122
  providersDownWatch = undefined;
112
123
  if (i >= pending.length) {
113
- // A persisted base hold on the unchanged origin/main SHA means the base is still broken
114
- // (#2349): claiming would just cycle an issue again, so stop this lane without claiming.
124
+ // A persisted base hold on the unchanged origin/main SHA means the base is still broken (#2349):
125
+ // stop this lane without claiming.
115
126
  const gate = baseHoldGate ? await baseHoldGate().catch(() => ({ kind: 'claim' })) : null;
116
127
  if (gate?.kind === 'hold') {
117
128
  emitEvent(paths.events, 'warn', lane, formatBaseHoldKept(lane, gate), { lane });
@@ -119,11 +130,18 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
119
130
  }
120
131
  if (loadGuard && (await holdForLoad(loadGuard)) === 'stopped')
121
132
  break;
133
+ if (diskGuard && (await holdForDisk(diskGuard, diskIo)) === 'stopped')
134
+ break;
122
135
  if (pollReviewRework) {
123
136
  await pollReviewRework().catch((err) => emitEvent(paths.events, 'warn', lane, `review-rework poll failed: ${shipRuntime().errorDetail(err)}`, {
124
137
  lane,
125
138
  }));
126
139
  }
140
+ if (recheckAwaitingCi) {
141
+ await recheckAwaitingCi({ park: parkAwaitingCi, emit: emitAwaitingCi }).catch((err) => emitEvent(paths.events, 'warn', lane, `awaiting-ci recheck failed: ${shipRuntime().errorDetail(err)}`, {
142
+ lane,
143
+ }));
144
+ }
127
145
  const claimed = await claimNext();
128
146
  if (claimed === null)
129
147
  break;
@@ -263,13 +281,29 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
263
281
  catch (err) {
264
282
  const { LaneParkError, LaneEnvironmentPauseError, IssueSkippedError, IssueDecomposedError } = shipRuntime();
265
283
  if (err instanceof AwaitingReviewError) {
266
- // The land path already emitted the awaiting-review event and cleaned the
267
- // worktree — this is a clean outcome, not a park; move to the next issue.
284
+ // The land path already emitted awaiting-review and cleaned the worktree: a clean outcome, not a park.
268
285
  awaitingReview++;
269
286
  streak = null;
270
287
  await settle(issue, layer && layer.index < layer.count ? 'queued' : 'done');
271
288
  continue;
272
289
  }
290
+ if (err instanceof AwaitingCiError) {
291
+ // #3208: no CI run ever registered. Keep the PR open and record it for the backoff re-check; never a park.
292
+ const firstSeenAt = now().getTime();
293
+ const rec = { issue, prNumber: err.prNumber, branch: landBranch ?? '', headSha: err.headSha, firstSeenAt };
294
+ await recordAwaitingCi?.({ ...rec, attempts: 0, nextRecheckAt: nextRecheckAt(firstSeenAt, 0) }).catch((e) => emitAwaitingCi('warn', issue, `could not record awaiting-ci for PR #${err.prNumber}: ${shipRuntime().errorDetail(e)}`));
295
+ emitAwaitingCi('awaiting-ci', issue, `PR #${err.prNumber} awaiting CI on ${err.headSha}; re-checking soon`);
296
+ awaitingReview++;
297
+ streak = null;
298
+ await settle(issue, 'done');
299
+ continue;
300
+ }
301
+ if (err instanceof AwaitMergeStoppedError) {
302
+ emitEvent(paths.events, 'await-merge-stopped', issue, `${err.message}; re-queued (#3291)`, { lane });
303
+ streak = null;
304
+ await settle(issue, 'queued');
305
+ continue;
306
+ }
273
307
  if (err instanceof IssueSkippedError) {
274
308
  // shipIssue already emitted skipped-already-closed; nothing was attempted.
275
309
  skipped++;
@@ -311,10 +345,8 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
311
345
  }
312
346
  const reason = parkReasonFor(err);
313
347
  const logSuffix = /(?:^|\n)(Run logs: [^\r\n]+)$/.exec(String(err instanceof Error ? err.message : ''))?.[1];
314
- // Terminal reason events (escalate/timeout/fail/conflict) are emitted exactly
315
- // once by the layer that detects the failure — shipIssue for pipeline failures,
316
- // the land path for merge failures. runLane owns only lane-lifecycle events
317
- // (stopped/parked/lane-done), so injected ship functions never change ownership.
348
+ // Terminal reason events (escalate/timeout/fail/conflict) are emitted once by the detecting layer (shipIssue
349
+ // for pipeline failures, the land path for merge failures); runLane owns only lane-lifecycle events.
318
350
  // A blocked park waits on a filed blocker (#2315); it never counts toward the lane breaker.
319
351
  const signature = err instanceof LaneParkError && err.reason !== 'blocked' ? err.failureSignature : undefined;
320
352
  const checks = err instanceof LaneParkError ? (err.failingChecks ?? []) : [];
@@ -1 +1 @@
1
- {"version":3,"file":"run-lane.js","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-lane.js","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"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"}