@on-par/factory-core 0.9.0 → 0.9.1

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 (75) hide show
  1. package/dist/checkers/base-health.d.ts +39 -0
  2. package/dist/checkers/base-health.d.ts.map +1 -0
  3. package/dist/checkers/base-health.js +84 -0
  4. package/dist/checkers/base-health.js.map +1 -0
  5. package/dist/config/index.d.ts +5 -3
  6. package/dist/config/index.d.ts.map +1 -1
  7. package/dist/config/index.js +9 -4
  8. package/dist/config/index.js.map +1 -1
  9. package/dist/config/state-root.d.ts +10 -0
  10. package/dist/config/state-root.d.ts.map +1 -0
  11. package/dist/config/state-root.js +33 -0
  12. package/dist/config/state-root.js.map +1 -0
  13. package/dist/daemon/checkout-validation.d.ts +8 -3
  14. package/dist/daemon/checkout-validation.d.ts.map +1 -1
  15. package/dist/daemon/checkout-validation.js +26 -7
  16. package/dist/daemon/checkout-validation.js.map +1 -1
  17. package/dist/daemon/repos-attach.d.ts +1 -0
  18. package/dist/daemon/repos-attach.d.ts.map +1 -1
  19. package/dist/daemon/repos-attach.js +11 -4
  20. package/dist/daemon/repos-attach.js.map +1 -1
  21. package/dist/events/kinds.d.ts +1 -1
  22. package/dist/events/kinds.d.ts.map +1 -1
  23. package/dist/events/kinds.js +9 -0
  24. package/dist/events/kinds.js.map +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal.d.ts +7 -2
  30. package/dist/internal.d.ts.map +1 -1
  31. package/dist/internal.js +5 -1
  32. package/dist/internal.js.map +1 -1
  33. package/dist/kpis/human.d.ts +13 -1
  34. package/dist/kpis/human.d.ts.map +1 -1
  35. package/dist/kpis/human.js +25 -3
  36. package/dist/kpis/human.js.map +1 -1
  37. package/dist/kpis/index.d.ts +6 -2
  38. package/dist/kpis/index.d.ts.map +1 -1
  39. package/dist/kpis/index.js +8 -3
  40. package/dist/kpis/index.js.map +1 -1
  41. package/dist/kpis-entry.d.ts +2 -2
  42. package/dist/kpis-entry.d.ts.map +1 -1
  43. package/dist/kpis-entry.js +1 -1
  44. package/dist/kpis-entry.js.map +1 -1
  45. package/dist/phases/ship.d.ts +6 -2
  46. package/dist/phases/ship.d.ts.map +1 -1
  47. package/dist/phases/ship.js +16 -3
  48. package/dist/phases/ship.js.map +1 -1
  49. package/dist/reports/pr-body.d.ts +1 -1
  50. package/dist/reports/pr-body.d.ts.map +1 -1
  51. package/dist/reports/pr-body.js +1 -1
  52. package/dist/reports/pr-body.js.map +1 -1
  53. package/dist/run/outcome.d.ts +1 -1
  54. package/dist/run/outcome.d.ts.map +1 -1
  55. package/dist/run/outcome.js.map +1 -1
  56. package/dist/run/resume-context.d.ts +22 -0
  57. package/dist/run/resume-context.d.ts.map +1 -0
  58. package/dist/run/resume-context.js +61 -0
  59. package/dist/run/resume-context.js.map +1 -0
  60. package/dist/run/run-issue.d.ts +6 -0
  61. package/dist/run/run-issue.d.ts.map +1 -1
  62. package/dist/run/run-issue.js +98 -31
  63. package/dist/run/run-issue.js.map +1 -1
  64. package/dist/steward/detect.d.ts +2 -1
  65. package/dist/steward/detect.d.ts.map +1 -1
  66. package/dist/steward/detect.js +5 -1
  67. package/dist/steward/detect.js.map +1 -1
  68. package/dist/utils/ci-watch.d.ts +63 -0
  69. package/dist/utils/ci-watch.d.ts.map +1 -1
  70. package/dist/utils/ci-watch.js +105 -0
  71. package/dist/utils/ci-watch.js.map +1 -1
  72. package/dist/utils/worktree-gc.d.ts.map +1 -1
  73. package/dist/utils/worktree-gc.js +4 -3
  74. package/dist/utils/worktree-gc.js.map +1 -1
  75. package/package.json +5 -5
@@ -1,5 +1,6 @@
1
1
  import type { Octokit } from '@octokit/rest';
2
2
  import type { ApprovalGate } from '../approvals/index.js';
3
+ import type { checkBaseHealth } from '../checkers/base-health.js';
3
4
  import { buildPhase as buildPhaseDefault } from '../phases/build.js';
4
5
  import { checkPhase as checkPhaseDefault } from '../phases/check.js';
5
6
  import { planPhase as planPhaseDefault } from '../phases/plan.js';
@@ -20,6 +21,7 @@ import type { WorkRequest, WorkRequestSourceKind } from '../work/index.js';
20
21
  import type { LaneFileGuard } from './lane-file-guard.js';
21
22
  import { type BuildRoute, type RunOutcome } from './outcome.js';
22
23
  import type { RunPolicy } from './policy.js';
24
+ import { type PlanReuseStore } from './resume-context.js';
23
25
  import type { Environment, Workspace } from './ports.js';
24
26
  /** Everything one run needs decided, as a plain resolved value — the CLI adapter
25
27
  * computes this today; no config/file/path resolution happens in here. */
@@ -180,6 +182,10 @@ export interface RunPorts {
180
182
  buildPhase?: typeof buildPhaseDefault;
181
183
  checkPhase?: typeof checkPhaseDefault;
182
184
  shipPhase?: typeof shipPhaseDefault;
185
+ /** Pre-PLAN health check of origin/main (#2339). Absent = skipped (existing callers/tests unchanged). */
186
+ checkBaseHealth?: typeof checkBaseHealth;
187
+ /** Frozen-plan reuse after an environment release (#2340). Absent = always plan (existing callers/tests unchanged). */
188
+ planReuse?: PlanReuseStore;
183
189
  /** Reads the PR's path changes for the classifier (#1724). Defaults to the git-backed reader. */
184
190
  readReviewFloorChanges?: (worktree: string, fallbackBaseRef?: string) => Promise<ReviewFloorPathChange[]>;
185
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../src/run/run-issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../src/run/run-issue.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,14 @@
7
7
  // 4. a failed environment lease degrades (appPort undefined) rather than parking the run.
8
8
  // 5. exactly one terminal event sequence is emitted per run, matching the returned RunOutcome
9
9
  // (including the non-park `released` exit for an environment-caused CHECK failure, #1928).
10
+ // PLAN may be skipped by the planReuse port after an environment release (#2340).
10
11
  //
11
12
  // Path-bound CLI concerns (Octokit, worktree/environment provisioning, the events sink,
12
13
  // approval/steering, and reporting hooks) are injected as ports so this file stays free of
13
14
  // CLI filesystem layout (ADR-0004). The CLI's shipIssue is a thin adapter that constructs
14
15
  // these ports and re-raises a parked/escalated outcome as LaneParkError.
15
16
  import { randomUUID } from 'node:crypto';
17
+ import { laneEnv } from '../environment/index.js';
16
18
  import { buildPhase as buildPhaseDefault } from '../phases/build.js';
17
19
  import { checkPhase as checkPhaseDefault, remainingShowstoppers, renderEnvironmentReleaseComment, } from '../phases/check.js';
18
20
  import { planPhase as planPhaseDefault } from '../phases/plan.js';
@@ -32,6 +34,7 @@ import { gateBuildOnBreaker, parseResetCooldownMs } from '../router/breaker.js';
32
34
  import { describeSteering } from '../steering/index.js';
33
35
  import { touchedFilesFrom } from './lane-file-guard.js';
34
36
  import { parkReasonFor } from './outcome.js';
37
+ import { issueBodyHash } from './resume-context.js';
35
38
  function errorMessage(err) {
36
39
  return err instanceof Error ? err.message : String(err);
37
40
  }
@@ -281,6 +284,35 @@ export async function runIssue(request, policy, ports) {
281
284
  else {
282
285
  log('constitution', 'No standards found (no repo instruction files, no constitution) — proceeding without');
283
286
  }
287
+ // Pre-PLAN base health (#2339): a red origin/main releases the issue before any model spend;
288
+ // the CLI turns `released` into LaneEnvironmentPauseError, whose runLane branch writes the base hold.
289
+ if (ports.checkBaseHealth && !request.localOnly) {
290
+ const health = await ports
291
+ .checkBaseHealth({
292
+ worktree: ports.workspace.path,
293
+ constitution,
294
+ router: ports.router,
295
+ env: laneEnv(appPort, process.env, appBaseUrl, ports.workspace.path, runId),
296
+ cachePath: request.baselineCachePath,
297
+ timeoutSeconds: request.timeouts.check,
298
+ log: (type, msg) => log(type, msg),
299
+ })
300
+ .catch((err) => {
301
+ log('environment_warning', `base health check failed: ${errorMessage(err)} — continuing to PLAN`);
302
+ return undefined;
303
+ });
304
+ if (health?.kind === 'red' && health.baseSha !== undefined) {
305
+ log('environment-released', `origin/main ${health.baseSha.slice(0, 8)} fails ${health.failingChecks.join(', ')} before PLAN — no model calls, releasing #${request.issue} to queued`);
306
+ return {
307
+ state: 'released',
308
+ reason: 'environment',
309
+ branch: request.branch,
310
+ reworkRounds: 0,
311
+ baseSha: health.baseSha,
312
+ failingChecks: health.failingChecks,
313
+ };
314
+ }
315
+ }
284
316
  // Run-start HEAD (#1210): captured exactly once, before PLAN, for local-only
285
317
  // workspace runs — there is no remote to diff against, and every rework round
286
318
  // inside CHECK must diff against this same base rather than a moving target.
@@ -305,36 +337,58 @@ export async function runIssue(request, policy, ports) {
305
337
  if (derivedRoute) {
306
338
  log('model-override', `build route derived from pinned build model ${request.modelPins.build} → ${derivedRoute}`);
307
339
  }
308
- const plan = await planPhase({
309
- issue: request.issue,
310
- repo: request.repo,
311
- worktree: ports.workspace.path,
312
- specPath: request.specPath,
313
- constitution,
314
- router: ports.router,
315
- octokit: ports.octokit,
316
- log: ports.events('plan'),
317
- timeoutSeconds: request.timeouts.plan,
318
- modelOverride: planModel,
319
- modelFallbacks: planModel === request.modelPins.plan && request.modelPins.planFallback
320
- ? [request.modelPins.planFallback]
321
- : undefined,
322
- onProviderFailure: rememberProviderFailure,
323
- branch: request.branch,
324
- approvalGate: request.options.approvePlan ? ports.createApprovalGate?.() : undefined,
325
- drainSteering: request.options.approvePlan ? ports.drainSteering : undefined,
326
- codexDisabled: request.codexDisabled,
327
- localOnly: request.localOnly,
328
- laneId: request.lane,
329
- workSource: request.workSource,
330
- enforceReadiness: true,
331
- fastPath: request.efficiency.fastPath,
332
- enforceSizeGate: (request.sizeGateMode ?? 'file') !== 'off',
333
- sizeGateMode: request.sizeGateMode,
334
- maxSlices: request.maxSlices,
335
- blockUnresolvedRegressions: request.blockUnresolvedRegressions,
336
- preferredRoute: pinnedRoute,
337
- });
340
+ const reusablePlan = async () => {
341
+ if (!ports.planReuse)
342
+ return null;
343
+ let hit = null;
344
+ try {
345
+ hit = await ports.planReuse.load(issueBodyHash(request.work.brief));
346
+ }
347
+ catch (err) {
348
+ log('environment_warning', `could not read the plan-reuse record: ${errorMessage(err)} — planning`);
349
+ }
350
+ try {
351
+ await ports.planReuse.clear();
352
+ }
353
+ catch (err) {
354
+ log('environment_warning', `could not clear the plan-reuse record: ${errorMessage(err)}`);
355
+ }
356
+ if (hit) {
357
+ ports.events('plan')('plan_reused', `reusing frozen plan ${request.specPath} for #${request.issue} — body unchanged since the environment release, no PLAN model call`);
358
+ }
359
+ return hit;
360
+ };
361
+ const plan = (await reusablePlan()) ??
362
+ (await planPhase({
363
+ issue: request.issue,
364
+ repo: request.repo,
365
+ worktree: ports.workspace.path,
366
+ specPath: request.specPath,
367
+ constitution,
368
+ router: ports.router,
369
+ octokit: ports.octokit,
370
+ log: ports.events('plan'),
371
+ timeoutSeconds: request.timeouts.plan,
372
+ modelOverride: planModel,
373
+ modelFallbacks: planModel === request.modelPins.plan && request.modelPins.planFallback
374
+ ? [request.modelPins.planFallback]
375
+ : undefined,
376
+ onProviderFailure: rememberProviderFailure,
377
+ branch: request.branch,
378
+ approvalGate: request.options.approvePlan ? ports.createApprovalGate?.() : undefined,
379
+ drainSteering: request.options.approvePlan ? ports.drainSteering : undefined,
380
+ codexDisabled: request.codexDisabled,
381
+ localOnly: request.localOnly,
382
+ laneId: request.lane,
383
+ workSource: request.workSource,
384
+ enforceReadiness: true,
385
+ fastPath: request.efficiency.fastPath,
386
+ enforceSizeGate: (request.sizeGateMode ?? 'file') !== 'off',
387
+ sizeGateMode: request.sizeGateMode,
388
+ maxSlices: request.maxSlices,
389
+ blockUnresolvedRegressions: request.blockUnresolvedRegressions,
390
+ preferredRoute: pinnedRoute,
391
+ }));
338
392
  route = plan.route;
339
393
  if (!plan.ok) {
340
394
  const decomposedChildren = plan.decomposed?.childIssues ?? [];
@@ -527,6 +581,19 @@ export async function runIssue(request, policy, ports) {
527
581
  }
528
582
  }
529
583
  log('environment-released', `every failing checker (${env.failingChecks.join(', ')}) also fails on base ${env.baseSha.slice(0, 8)} — no rework, releasing #${request.issue} to queued`);
584
+ if (ports.planReuse && !plan.slice) {
585
+ try {
586
+ await ports.planReuse.record({
587
+ bodyHash: issueBodyHash(request.work.brief),
588
+ baseSha: env.baseSha,
589
+ route: plan.route,
590
+ releasedAt: new Date().toISOString(),
591
+ });
592
+ }
593
+ catch (err) {
594
+ log('environment_warning', `could not record the plan-reuse record: ${errorMessage(err)}`);
595
+ }
596
+ }
530
597
  return {
531
598
  state: 'released',
532
599
  reason: 'environment',
@@ -669,7 +736,7 @@ export async function runIssue(request, policy, ports) {
669
736
  slice: plan.slice ? { index: plan.slice.index, count: plan.slice.plan.slices.length } : undefined,
670
737
  });
671
738
  if (!ship.ok) {
672
- const reason = ship.denied ? 'escalate' : 'fail';
739
+ const reason = ship.denied ? 'escalate' : ship.ciOutcome === 'infra-failure' ? 'ci-infra' : 'fail';
673
740
  const message = ship.denied
674
741
  ? `ship denied: ${ship.deniedReason}`
675
742
  : ship.reason
@@ -1 +1 @@
1
- {"version":3,"file":"run-issue.js","sourceRoot":"","sources":["../../src/run/run-issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-issue.js","sourceRoot":"","sources":["../../src/run/run-issue.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface StuckDetection {
10
10
  *
11
11
  * `check-exhausted` requires a `failureSignature` because only runIssue's CHECK-fail path
12
12
  * attaches one. Budget parks (`assertBudget`) and ship-phase failures also park `fail` but
13
- * carry none, and ADR-0155 excludes budget parks. */
13
+ * carry none, and ADR-0155 excludes budget parks.
14
+ * `ci-infra` parks are non-triggers: the change did not break CI. */
14
15
  export declare function detectStuck(outcome: RunOutcome, reworkBudget?: number): StuckDetection | null;
15
16
  //# sourceMappingURL=detect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/steward/detect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;sDAIsD;AACtD,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,GAAE,MAA0B,GAAG,cAAc,GAAG,IAAI,CAUhH"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/steward/detect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;sEAKsE;AACtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,GAAE,MAA0B,GAAG,cAAc,GAAG,IAAI,CAYhH"}
@@ -3,10 +3,14 @@ import { MAX_REWORK_ROUNDS } from '../phases/check.js';
3
3
  *
4
4
  * `check-exhausted` requires a `failureSignature` because only runIssue's CHECK-fail path
5
5
  * attaches one. Budget parks (`assertBudget`) and ship-phase failures also park `fail` but
6
- * carry none, and ADR-0155 excludes budget parks. */
6
+ * carry none, and ADR-0155 excludes budget parks.
7
+ * `ci-infra` parks are non-triggers: the change did not break CI. */
7
8
  export function detectStuck(outcome, reworkBudget = MAX_REWORK_ROUNDS) {
8
9
  if (outcome.state !== 'parked')
9
10
  return null;
11
+ // ci-infra: the one infra rerun also failed for infra (#2366). Like an environment release, the change is not at fault.
12
+ if (outcome.reason === 'ci-infra')
13
+ return null;
10
14
  const signature = outcome.failureSignature ? outcome.failureSignature : undefined;
11
15
  if (outcome.reason === 'ci-failed') {
12
16
  return signature ? { trigger: 'ship-failed', failureSignature: signature } : { trigger: 'ship-failed' };
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/steward/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD;;;;sDAIsD;AACtD,MAAM,UAAU,WAAW,CAAC,OAAmB,EAAE,YAAY,GAAW,iBAAiB;IACvF,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC1G,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;QAC1F,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/steward/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD;;;;;sEAKsE;AACtE,MAAM,UAAU,WAAW,CAAC,OAAmB,EAAE,YAAY,GAAW,iBAAiB;IACvF,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,wHAAwH;IACxH,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC1G,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;QAC1F,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -31,5 +31,68 @@ export interface WatchChecksOptions {
31
31
  * green-PR report (utils/green-prs.ts) decides "green" with the same fail-closed allow-list the
32
32
  * merge gate uses, instead of re-declaring it. */
33
33
  export declare function isPassingConclusion(conclusion: string | null | undefined): boolean;
34
+ /** Whether a failed CI job failed for infrastructure reasons ('infra') or any other reason
35
+ * ('non-infra'), including real test failures. */
36
+ export type CiFailureClass = 'infra' | 'non-infra';
37
+ /** Structural subset of a GitHub Actions workflow-job step (actions.listJobsForWorkflowRun). */
38
+ export interface CiJobStepLike {
39
+ status?: string | null;
40
+ started_at?: string | null;
41
+ }
42
+ /** Structural subset of a GitHub Actions workflow job — only the fields the classifier reads. */
43
+ export interface CiJobLike {
44
+ conclusion?: string | null;
45
+ run_id?: number | null;
46
+ run_attempt?: number | null;
47
+ head_sha?: string | null;
48
+ runner_id?: number | null;
49
+ runner_name?: string | null;
50
+ steps?: CiJobStepLike[] | null;
51
+ }
52
+ /** Classify a CI job as an infrastructure failure or not. Pure; rules run in order:
53
+ * 1. a passing conclusion is never infra;
54
+ * 2. no runner assigned (`runner_id` null/0 and no `runner_name`) is infra;
55
+ * 3. a present-but-empty `steps` array (zero steps ran) is infra;
56
+ * 4. a `cancelled` job whose steps never started is infra;
57
+ * 5. anything else is 'non-infra'.
58
+ * Fails closed: missing (undefined) fields are unknown, never an infra signal, so a real test
59
+ * failure is not mislabelled. */
60
+ export declare function classifyCiFailure(job: CiJobLike): CiFailureClass;
34
61
  export declare function watchChecks(opts: WatchChecksOptions): Promise<CiOutcome>;
62
+ /** One-shot rerun budget keyed by PR head SHA: a SHA in the set is never rerun again. */
63
+ export type CiRerunBudget = Set<string>;
64
+ export interface CiRescue {
65
+ headSha: string;
66
+ runIds: number[];
67
+ }
68
+ /** watchChecksWithInfraRerun's verdict: a CiOutcome, or 'infra-failure' when the one rerun
69
+ * also failed and every failed run is still infra on the same head SHA (#2366). */
70
+ export type InfraRerunOutcome = CiOutcome | 'infra-failure';
71
+ export interface CiRescueFailure extends CiRescue {
72
+ outcome: Exclude<InfraRerunOutcome, 'success'>;
73
+ }
74
+ export interface InfraRerunWatchOptions extends WatchChecksOptions {
75
+ /** The watcher to wrap; default watchChecks. */
76
+ watch?: (opts: WatchChecksOptions) => Promise<CiOutcome>;
77
+ /** Runs the gh rerun argv; default runCommand. */
78
+ rerun?: (argv: readonly string[]) => Promise<{
79
+ ok: boolean;
80
+ }>;
81
+ /** Default: a module-level Set shared by every call in this process. */
82
+ rerunBudget?: CiRerunBudget;
83
+ /** Called once when the post-rerun watch is green. */
84
+ onRescued?: (rescue: CiRescue) => void;
85
+ /** Called once when a rerun was issued in this call and the final verdict is not success. */
86
+ onRescueFailed?: (failure: CiRescueFailure) => void;
87
+ }
88
+ /** watchChecks plus a one-shot rescue for infrastructure failures (#2365). When the watch ends
89
+ * 'failure' and every failed check run maps to an Actions job that classifyCiFailure calls
90
+ * 'infra', the failed jobs are rerun once (`gh run rerun <run> --failed`) and CI is watched
91
+ * again. Budget: one rerun per head SHA (in-process Set) and never for a job already on
92
+ * run_attempt > 1, so there is no second rerun and no loop. Fails closed: any non-infra job,
93
+ * non-Actions check run, missing field or API error returns 'failure' unchanged. Never rejects.
94
+ * When the re-watch also fails, the failed runs are classified again: all still infra on the
95
+ * same head SHA returns 'infra-failure' (#2366), anything else 'failure'. onRescueFailed fires
96
+ * once whenever a rerun budget was spent in this call and the final verdict is not success. */
97
+ export declare function watchChecksWithInfraRerun(opts: InfraRerunWatchOptions): Promise<InfraRerunOutcome>;
35
98
  //# sourceMappingURL=ci-watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ci-watch.d.ts","sourceRoot":"","sources":["../../src/utils/ci-watch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;;oGAGoG;AACpG,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;8FAE0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;0EACsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAQD;;;;mDAImD;AACnD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAElF;AA4BD,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAuD9E"}
1
+ {"version":3,"file":"ci-watch.d.ts","sourceRoot":"","sources":["../../src/utils/ci-watch.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { runCommand } from './command-runner.js';
1
2
  /** Conclusions that count as a passing check. These are the three GitHub itself accepts for a
2
3
  * required status check; `skipped` is the normal result of a path-filtered job. Anything not in
3
4
  * this set blocks the merge — see ADR-0014
@@ -11,6 +12,29 @@ const PASSING_CONCLUSIONS = new Set(['success', 'neutral', 'skipped']);
11
12
  export function isPassingConclusion(conclusion) {
12
13
  return PASSING_CONCLUSIONS.has(conclusion ?? '');
13
14
  }
15
+ function stepStarted(step) {
16
+ return step.status === 'in_progress' || step.status === 'completed' || !!step.started_at;
17
+ }
18
+ /** Classify a CI job as an infrastructure failure or not. Pure; rules run in order:
19
+ * 1. a passing conclusion is never infra;
20
+ * 2. no runner assigned (`runner_id` null/0 and no `runner_name`) is infra;
21
+ * 3. a present-but-empty `steps` array (zero steps ran) is infra;
22
+ * 4. a `cancelled` job whose steps never started is infra;
23
+ * 5. anything else is 'non-infra'.
24
+ * Fails closed: missing (undefined) fields are unknown, never an infra signal, so a real test
25
+ * failure is not mislabelled. */
26
+ export function classifyCiFailure(job) {
27
+ if (isPassingConclusion(job.conclusion))
28
+ return 'non-infra';
29
+ if ((job.runner_id === null || job.runner_id === 0) && !job.runner_name)
30
+ return 'infra';
31
+ if (Array.isArray(job.steps) && job.steps.length === 0)
32
+ return 'infra';
33
+ if (job.conclusion === 'cancelled' && Array.isArray(job.steps) && job.steps.every((s) => !stepStarted(s))) {
34
+ return 'infra';
35
+ }
36
+ return 'non-infra';
37
+ }
14
38
  const DEFAULT_PER_PAGE = 100;
15
39
  const DEFAULT_MAX_PAGES = 10;
16
40
  const DEFAULT_MAX_POLL_ERRORS = 3;
@@ -71,4 +95,85 @@ export async function watchChecks(opts) {
71
95
  }
72
96
  return 'timeout';
73
97
  }
98
+ const DEFAULT_RERUN_BUDGET = new Set();
99
+ /** Lists the failed check runs for a ref and fetches each Actions job. Returns null on any
100
+ * non-infra job, missing numeric id, zero failed runs or missing head SHA. May throw. */
101
+ async function infraFailedJobs(octokit, owner, repo, ref, perPage, maxPages) {
102
+ const runs = await listAllCheckRuns(octokit, owner, repo, ref, perPage, maxPages);
103
+ const failed = runs.filter((r) => r.status === 'completed' && !isPassingConclusion(r.conclusion));
104
+ if (failed.length === 0)
105
+ return null;
106
+ const jobs = [];
107
+ for (const run of failed) {
108
+ if (typeof run.id !== 'number')
109
+ return null;
110
+ const { data: job } = await octokit.rest.actions.getJobForWorkflowRun({ owner, repo, job_id: run.id });
111
+ if (classifyCiFailure(job) !== 'infra')
112
+ return null;
113
+ jobs.push(job);
114
+ }
115
+ const headSha = failed[0].head_sha ?? jobs[0].head_sha;
116
+ if (!headSha)
117
+ return null;
118
+ return { headSha, jobs };
119
+ }
120
+ /** watchChecks plus a one-shot rescue for infrastructure failures (#2365). When the watch ends
121
+ * 'failure' and every failed check run maps to an Actions job that classifyCiFailure calls
122
+ * 'infra', the failed jobs are rerun once (`gh run rerun <run> --failed`) and CI is watched
123
+ * again. Budget: one rerun per head SHA (in-process Set) and never for a job already on
124
+ * run_attempt > 1, so there is no second rerun and no loop. Fails closed: any non-infra job,
125
+ * non-Actions check run, missing field or API error returns 'failure' unchanged. Never rejects.
126
+ * When the re-watch also fails, the failed runs are classified again: all still infra on the
127
+ * same head SHA returns 'infra-failure' (#2366), anything else 'failure'. onRescueFailed fires
128
+ * once whenever a rerun budget was spent in this call and the final verdict is not success. */
129
+ export async function watchChecksWithInfraRerun(opts) {
130
+ const { watch = watchChecks, rerun = runCommand, rerunBudget = DEFAULT_RERUN_BUDGET, onRescued, onRescueFailed, ...watchOpts } = opts;
131
+ const { octokit, owner, repo, ref, initialIntervalMs = 15_000, perPage = DEFAULT_PER_PAGE, maxPages = DEFAULT_MAX_PAGES, sleep = (ms) => new Promise((r) => setTimeout(r, ms)), } = watchOpts;
132
+ const first = await watch(watchOpts);
133
+ if (first !== 'failure')
134
+ return first;
135
+ let rescue;
136
+ let result;
137
+ try {
138
+ const found = await infraFailedJobs(octokit, owner, repo, ref, perPage, maxPages);
139
+ if (!found)
140
+ return 'failure';
141
+ const { headSha, jobs } = found;
142
+ if (rerunBudget.has(headSha) || jobs.some((j) => (j.run_attempt ?? 1) > 1))
143
+ return 'failure';
144
+ const runIds = [...new Set(jobs.map((j) => j.run_id).filter((id) => typeof id === 'number'))];
145
+ if (runIds.length === 0)
146
+ return 'failure';
147
+ rerunBudget.add(headSha);
148
+ rescue = { headSha, runIds };
149
+ result = 'failure';
150
+ let rerunOk = true;
151
+ for (const runId of runIds) {
152
+ const r = await rerun(['gh', 'run', 'rerun', String(runId), '--failed', '--repo', `${owner}/${repo}`]);
153
+ if (!r.ok) {
154
+ rerunOk = false;
155
+ break;
156
+ }
157
+ }
158
+ if (rerunOk) {
159
+ await sleep(initialIntervalMs);
160
+ result = await watch(watchOpts);
161
+ if (result === 'failure') {
162
+ const again = await infraFailedJobs(octokit, owner, repo, ref, perPage, maxPages);
163
+ if (again && again.headSha === headSha)
164
+ result = 'infra-failure';
165
+ }
166
+ }
167
+ }
168
+ catch {
169
+ result = 'failure';
170
+ }
171
+ if (rescue) {
172
+ if (result === 'success')
173
+ onRescued?.(rescue);
174
+ else
175
+ onRescueFailed?.({ ...rescue, outcome: result });
176
+ }
177
+ return result;
178
+ }
74
179
  //# sourceMappingURL=ci-watch.js.map