looply-cli 0.5.28 → 0.5.30

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 (82) hide show
  1. package/dist/.src-hash +1 -1
  2. package/dist/account-connect.d.ts.map +1 -1
  3. package/dist/account-connect.js +10 -2
  4. package/dist/account-connect.js.map +1 -1
  5. package/dist/bin.d.ts.map +1 -1
  6. package/dist/bin.js +5 -3
  7. package/dist/bin.js.map +1 -1
  8. package/dist/branch-delivery-wiring.d.ts.map +1 -1
  9. package/dist/branch-delivery-wiring.js +2 -0
  10. package/dist/branch-delivery-wiring.js.map +1 -1
  11. package/dist/branch-delivery.d.ts +43 -0
  12. package/dist/branch-delivery.d.ts.map +1 -1
  13. package/dist/branch-delivery.js +106 -3
  14. package/dist/branch-delivery.js.map +1 -1
  15. package/dist/config.d.ts +5 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +1 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/connect-node.d.ts.map +1 -1
  20. package/dist/connect-node.js +23 -1
  21. package/dist/connect-node.js.map +1 -1
  22. package/dist/connect.d.ts +2 -0
  23. package/dist/connect.d.ts.map +1 -1
  24. package/dist/connect.js +13 -5
  25. package/dist/connect.js.map +1 -1
  26. package/dist/daemon-cmd.d.ts +3 -0
  27. package/dist/daemon-cmd.d.ts.map +1 -1
  28. package/dist/daemon-cmd.js +5 -1
  29. package/dist/daemon-cmd.js.map +1 -1
  30. package/dist/effective-gates.d.ts +58 -0
  31. package/dist/effective-gates.d.ts.map +1 -0
  32. package/dist/effective-gates.js +153 -0
  33. package/dist/effective-gates.js.map +1 -0
  34. package/dist/environment-hold.d.ts.map +1 -1
  35. package/dist/environment-hold.js +10 -0
  36. package/dist/environment-hold.js.map +1 -1
  37. package/dist/feature-report.d.ts +10 -3
  38. package/dist/feature-report.d.ts.map +1 -1
  39. package/dist/feature-report.js +44 -1
  40. package/dist/feature-report.js.map +1 -1
  41. package/dist/gate-draft.d.ts +16 -0
  42. package/dist/gate-draft.d.ts.map +1 -1
  43. package/dist/gate-draft.js +86 -4
  44. package/dist/gate-draft.js.map +1 -1
  45. package/dist/gate-health.d.ts +157 -0
  46. package/dist/gate-health.d.ts.map +1 -0
  47. package/dist/gate-health.js +432 -0
  48. package/dist/gate-health.js.map +1 -0
  49. package/dist/github-api.d.ts +2 -0
  50. package/dist/github-api.d.ts.map +1 -1
  51. package/dist/github-api.js +1 -0
  52. package/dist/github-api.js.map +1 -1
  53. package/dist/init-detect.d.ts +2 -0
  54. package/dist/init-detect.d.ts.map +1 -1
  55. package/dist/init-detect.js +4 -0
  56. package/dist/init-detect.js.map +1 -1
  57. package/dist/integration-deps.d.ts.map +1 -1
  58. package/dist/integration-deps.js +17 -6
  59. package/dist/integration-deps.js.map +1 -1
  60. package/dist/pair-cmd.d.ts +13 -1
  61. package/dist/pair-cmd.d.ts.map +1 -1
  62. package/dist/pair-cmd.js +30 -13
  63. package/dist/pair-cmd.js.map +1 -1
  64. package/dist/provider-cmd.d.ts +5 -0
  65. package/dist/provider-cmd.d.ts.map +1 -1
  66. package/dist/provider-cmd.js +21 -1
  67. package/dist/provider-cmd.js.map +1 -1
  68. package/dist/provider-ready.js +1 -1
  69. package/dist/provider-ready.js.map +1 -1
  70. package/dist/run-cmd.d.ts.map +1 -1
  71. package/dist/run-cmd.js +104 -7
  72. package/dist/run-cmd.js.map +1 -1
  73. package/dist/setup.d.ts.map +1 -1
  74. package/dist/setup.js +5 -1
  75. package/dist/setup.js.map +1 -1
  76. package/dist/workspace-provisioner.d.ts +8 -0
  77. package/dist/workspace-provisioner.d.ts.map +1 -1
  78. package/dist/workspace-provisioner.js +9 -1
  79. package/dist/workspace-provisioner.js.map +1 -1
  80. package/package.json +2 -2
  81. package/win/acl-canonical.ps1 +34 -0
  82. package/win/appcontainer.ps1 +7 -0
@@ -2,6 +2,7 @@ import { type ReproductionReport, type BranchDeliveryReport, type BranchDelivery
2
2
  import { type HerokuCli } from './heroku-cli';
3
3
  import { type GitExec } from './git-driver';
4
4
  import type { CheckResult, GitHubApi, PullInfo } from './github-api';
5
+ import type { CiBaseReport } from '@looply/core';
5
6
  import { type ForeignWork } from './commit-ownership';
6
7
  import type { LaneClaimRecord } from './lane-claims';
7
8
  /**
@@ -183,6 +184,17 @@ export interface DeliveryEntry {
183
184
  * pull request holds that goal's work and the fix. The merge guard does not count them.
184
185
  */
185
186
  absorbs?: string[];
187
+ /**
188
+ * CI IS BROKEN ON THE BASE, NOT BY THIS CHANGE: every check that failed on the pull request also
189
+ * fails on its base commit. Held (`pr-open`) with that reason instead of `checks-failed`, and
190
+ * reported to AutoRyn as the component's problem (see `redOnBase`). Null/absent: not the case.
191
+ */
192
+ baseCiRed?: {
193
+ base: string;
194
+ sha: string;
195
+ failing: string[];
196
+ at: string;
197
+ } | null;
186
198
  /** Where the merged commit is, per environment; set at the merge, then followed (see `followDeploys`). */
187
199
  environments?: EnvStatus[];
188
200
  /** When Looply first saw it merged — the start of the 14 days deploys are followed for. */
@@ -201,6 +213,11 @@ export interface DeliveryEntry {
201
213
  /** The environments a person promoted this to that Looply has acted on: name → the request's time. Each once. */
202
214
  promoted?: Record<string, string>;
203
215
  }
216
+ /**
217
+ * "CI IS BROKEN ON <base>", for AutoRyn's per-component status: the newest red base delivery saw on a
218
+ * pull request still open (held), with every pull request it holds. Null when none is.
219
+ */
220
+ export declare function ciBaseReport(entries: readonly DeliveryEntry[]): CiBaseReport | null;
204
221
  export interface DeliveryStore {
205
222
  get(goalId: string): DeliveryEntry | null;
206
223
  all(): DeliveryEntry[];
@@ -421,6 +438,11 @@ export interface AdvanceDeps extends DeliverDeps {
421
438
  deployPush(remote: string, branch: string, sha: string, base: string): Promise<DeployPushResult>;
422
439
  /** When a person approved shipping this goal ("Approve and ship"), from the goal mirror; null when not. */
423
440
  shipRequested(goalId: string): string | null;
441
+ /**
442
+ * The component's switch "merge when CI was already red on the base and Looply's own checks pass"
443
+ * (AutoRyn `gates.mergeOnRedBase`). Absent or false: such a pull request is held for a person.
444
+ */
445
+ mergeOnRedBase?(): boolean;
424
446
  /** The environments a person promoted this goal to ("Promote to production"), from the goal mirror. Absent: none. */
425
447
  promoteRequests?(goalId: string): readonly PromoteRequest[];
426
448
  /** The Heroku CLI, for a `push` deploy that names `herokuAccount` or `herokuApp`. Absent: such a deploy fails plainly. */
@@ -445,6 +467,27 @@ export declare function effectiveMode(asked: DeliverMode, settings: {
445
467
  * every admin-only Tabsy change to a person (TAB-B-61, 2026-10-17: `web:tsc skipped`).
446
468
  */
447
469
  export declare function gatesPassed(checks: Readonly<Record<string, string>> | undefined): boolean;
470
+ /**
471
+ * 🔴 A RED BASE IS NOT THIS CHANGE'S FAILURE (ButtKick3r/RobinBet, 2026-10-15/21: main's own CI failed
472
+ * every day on `npm ci` running out of heap, so RBB-B-215/216 parked as checks-failed with their
473
+ * gates green, the tickets said "goal met" and nothing ever deployed — and nobody was told that the
474
+ * base itself was red).
475
+ *
476
+ * The same checks are read on the pull request's base commit. When EVERY check that failed on the
477
+ * pull request also fails there, CI is broken on the base: the answer names the base, its commit and
478
+ * the checks. A failure the base does not share is the change's, and the answer is null.
479
+ */
480
+ export declare function redOnBase(api: Pick<GitHubApi, 'checksFor'>, pull: Pick<PullInfo, 'base' | 'baseSha'>, failed: readonly string[]): Promise<{
481
+ base: string;
482
+ sha: string;
483
+ failing: string[];
484
+ } | null>;
485
+ /** The reason a pull request held on a red base carries, word for word on the ticket and in AutoRyn. */
486
+ export declare function redBaseNote(r: {
487
+ base: string;
488
+ sha: string;
489
+ failing: readonly string[];
490
+ }, held: boolean): string;
448
491
  /**
449
492
  * One pass over every delivered pull request still waiting on Looply:
450
493
  *
@@ -1 +1 @@
1
- {"version":3,"file":"branch-delivery.d.ts","sourceRoot":"","sources":["../src/branch-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch-delivery.d.ts","sourceRoot":"","sources":["../src/branch-delivery.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEf,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAY7D,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAA8D,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,oDAAoD;IACpD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC7D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,6EAA6E;IAC7E,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClC,+EAA+E;IAC/E,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,4EAA4E;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,8CAA8C;IAC9C,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,+CAA+C;IAC/C,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,mGAAmG;IACnG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,4CAA4C;IAC5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C,oHAAoH;IACpH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjF;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,GAClF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,OAA0B;AACnC,kGAAkG;AAClG,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GACxE,WAAW,CA6Gb;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,OAA0B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAoBzK;AAED,gIAAgI;AAChI,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAyB/F,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,sGAAsG;IACtG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iCAAiC;IACjC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACjI;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChF,0GAA0G;IAC1G,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,iHAAiH;IACjH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,YAAY,GAAG,IAAI,CAcnF;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAC1C,GAAG,IAAI,aAAa,EAAE,CAAC;IACvB,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAsBjE;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAGnD;AAID;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EACpC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAAE,EAChG,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GACrD,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAiB/C;AAKD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,QAAQ,CAAC,EAC/C,KAAK,EAAE;IACL,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,QAAQ,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,GACA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA2B3B;AAID,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kCAAkC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,gEAAgE;IAChE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wHAAwH;IACxH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,6GAA6G;IAC7G,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9C,gHAAgH;IAChH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,yGAAyG;IACzG,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,mFAAmF;IACnF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClG,2EAA2E;IAC3E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,GAAG,IAAI,MAAM,CAAC;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AAiCD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAsB/D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC1C,GAAG,MAAM,CA+CT;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAQhH;AAsVD,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAalH;AAMD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EACpC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC,CAaxB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,EACnD,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAAC,CAiBtF;AAID,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AACnD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,QAAc,CAAC;AAE9C,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,aAAa,CAa9G;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C;;;OAGG;IACH,MAAM,CAAC,IAAI,SAAS,eAAe,EAAE,CAAC;IACtC;;;OAGG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,sGAAsG;IACtG,MAAM,IAAI,YAAY,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,IAAI,aAAa,CAAC,iBAAiB,GAAG;QAAE,OAAO,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACvE,yGAAyG;IACzG,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAClF,iGAAiG;IACjG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjG,2GAA2G;IAC3G,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC;IAC3B,qHAAqH;IACrH,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE,CAAC;IAC5D,0HAA0H;IAC1H,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE;IAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GACpF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAI/C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAGzF;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EACjC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,EACxC,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAWlE;AAED,wGAAwG;AACxG,wBAAgB,WAAW,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAK/G;AAaD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE;AAyPD,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIlD;AAiDD,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAqUvD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,CAmCjG"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FOLLOW_DEPLOYS_MS = exports.NO_CHECKS_GRACE_MS = exports.CHECKS_PATIENCE_MS = exports.BRANCH_DELIVERIES_FILE = void 0;
4
4
  exports.nodeDeliveryGit = nodeDeliveryGit;
5
5
  exports.makeDeployPush = makeDeployPush;
6
+ exports.ciBaseReport = ciBaseReport;
6
7
  exports.fileDeliveryStore = fileDeliveryStore;
7
8
  exports.memoryDeliveryStore = memoryDeliveryStore;
8
9
  exports.findGoalBranch = findGoalBranch;
@@ -17,6 +18,8 @@ exports.mergeGuard = mergeGuard;
17
18
  exports.decideChecks = decideChecks;
18
19
  exports.effectiveMode = effectiveMode;
19
20
  exports.gatesPassed = gatesPassed;
21
+ exports.redOnBase = redOnBase;
22
+ exports.redBaseNote = redBaseNote;
20
23
  exports.advanceDeliveries = advanceDeliveries;
21
24
  exports.noNewCommits = noNewCommits;
22
25
  exports.makeReleaseRunner = makeReleaseRunner;
@@ -216,6 +219,26 @@ async function deployTipContaining(exec, remote, branch, sha) {
216
219
  }
217
220
  /* ────────────────────────────────────────────────────────────── store ── */
218
221
  exports.BRANCH_DELIVERIES_FILE = 'branch-deliveries.json';
222
+ /**
223
+ * "CI IS BROKEN ON <base>", for AutoRyn's per-component status: the newest red base delivery saw on a
224
+ * pull request still open (held), with every pull request it holds. Null when none is.
225
+ */
226
+ function ciBaseReport(entries) {
227
+ const held = entries.filter((e) => !e.done && e.state === 'pr-open' && e.baseCiRed);
228
+ if (held.length === 0)
229
+ return null;
230
+ const newest = [...held].sort((a, b) => Date.parse(b.baseCiRed.at) - Date.parse(a.baseCiRed.at))[0].baseCiRed;
231
+ return {
232
+ state: 'red',
233
+ base: newest.base,
234
+ sha: newest.sha,
235
+ failing: [...newest.failing],
236
+ at: newest.at,
237
+ pulls: held
238
+ .filter((e) => e.baseCiRed.base === newest.base && e.pullNumber !== null)
239
+ .map((e) => ({ number: e.pullNumber, url: e.pullRequestUrl, held: true })),
240
+ };
241
+ }
219
242
  function fileDeliveryStore(stateDir) {
220
243
  const path = (0, node_path_1.join)(stateDir, exports.BRANCH_DELIVERIES_FILE);
221
244
  const read = () => {
@@ -870,6 +893,37 @@ function gatesPassed(checks) {
870
893
  const outcomes = Object.values(checks ?? {});
871
894
  return outcomes.some((o) => o === 'passed') && outcomes.every((o) => o === 'passed' || o === 'skipped');
872
895
  }
896
+ /**
897
+ * 🔴 A RED BASE IS NOT THIS CHANGE'S FAILURE (ButtKick3r/RobinBet, 2026-10-15/21: main's own CI failed
898
+ * every day on `npm ci` running out of heap, so RBB-B-215/216 parked as checks-failed with their
899
+ * gates green, the tickets said "goal met" and nothing ever deployed — and nobody was told that the
900
+ * base itself was red).
901
+ *
902
+ * The same checks are read on the pull request's base commit. When EVERY check that failed on the
903
+ * pull request also fails there, CI is broken on the base: the answer names the base, its commit and
904
+ * the checks. A failure the base does not share is the change's, and the answer is null.
905
+ */
906
+ async function redOnBase(api, pull, failed) {
907
+ const sha = pull.baseSha ?? '';
908
+ if (sha === '' || failed.length === 0)
909
+ return null;
910
+ let onBase;
911
+ try {
912
+ onBase = await api.checksFor(sha);
913
+ }
914
+ catch {
915
+ return null;
916
+ }
917
+ const red = new Set(onBase.filter((c) => c.state === 'failure').map((c) => c.name));
918
+ return failed.every((n) => red.has(n)) ? { base: pull.base, sha, failing: [...failed] } : null;
919
+ }
920
+ /** The reason a pull request held on a red base carries, word for word on the ticket and in AutoRyn. */
921
+ function redBaseNote(r, held) {
922
+ const what = `CI is broken on ${r.base} (${r.sha.slice(0, 7)}): ${r.failing.join(', ')} ${r.failing.length === 1 ? 'fails' : 'fail'} there too, not because of this change`;
923
+ return held
924
+ ? `${what}. Held: fix CI on ${r.base}, approve it, or switch on "merge when CI was already red on the base" for this component`
925
+ : `${what}; merged on Looply's own checks (switched on for this component)`;
926
+ }
873
927
  /** How a pull request parked only because no CI reports on it begins its note (re-examined under ship to test). */
874
928
  const NO_CI_NOTE = 'not merged: no CI checks report on this pull request';
875
929
  /**
@@ -960,6 +1014,36 @@ async function advanceOne(deps, e) {
960
1014
  await save(deps, { ...e, done: true, note: 'the pull request was closed without merging; Looply leaves it', updatedAt: at });
961
1015
  }
962
1016
  else if (
1017
+ /**
1018
+ * HELD ON A RED BASE, OR PARKED AS checks-failed BEFORE THE BASE WAS LOOKED AT (RBB-B-215/216):
1019
+ * asked again every pass. The checks went green, the switch went on, or the base turned out to
1020
+ * be red too → back to `waiting-checks`, which decides; a red the base does not share stays
1021
+ * (or becomes) the change's.
1022
+ */
1023
+ !approved && (e.baseCiRed || (e.state === 'checks-failed' && e.baseCiRed === undefined)) && pull.state === 'open') {
1024
+ const verdict = decideChecks(await api.requiredChecks(pull.base), await api.checksFor(pull.headSha));
1025
+ const red = verdict.kind === 'red' ? await redOnBase(api, pull, verdict.failed) : null;
1026
+ if (verdict.kind !== 'red' || (red !== null && wantsMerge && deps.mergeOnRedBase?.() === true && e.state === 'pr-open')) {
1027
+ if (wantsMerge)
1028
+ await save(deps, { ...e, state: 'waiting-checks', baseCiRed: null, note: 'merging once the checks allow', updatedAt: at });
1029
+ else if (e.baseCiRed !== null)
1030
+ await save(deps, { ...e, baseCiRed: null, updatedAt: at });
1031
+ return;
1032
+ }
1033
+ if (red === null) {
1034
+ if (e.state !== 'checks-failed' || e.baseCiRed !== null) {
1035
+ await save(deps, { ...e, state: 'checks-failed', baseCiRed: null, note: `not merged: ${verdict.failed.join(', ')} failed`, updatedAt: at });
1036
+ }
1037
+ return;
1038
+ }
1039
+ const note = redBaseNote(red, true);
1040
+ if (e.state !== 'pr-open' || e.note !== note) {
1041
+ deps.log(`deliver : ${e.goalId}: ${note}`);
1042
+ await save(deps, { ...e, state: 'pr-open', baseCiRed: { ...red, at }, note, updatedAt: at });
1043
+ }
1044
+ return;
1045
+ }
1046
+ else if (
963
1047
  /**
964
1048
  * PARKED ONLY FOR WANT OF CI, AND THAT NO LONGER HOLDS: under ship to test, a pull request
965
1049
  * handed to a person because "no CI checks report" goes back to `waiting-checks` once its own
@@ -1057,9 +1141,28 @@ async function advanceOne(deps, e) {
1057
1141
  }
1058
1142
  const verdict = decideChecks(await api.requiredChecks(pull.base), await api.checksFor(pull.headSha));
1059
1143
  const age = now - Date.parse(e.approvedAt ?? e.openedAt);
1144
+ let redBaseMerge = null;
1060
1145
  if (verdict.kind === 'red') {
1061
- await save(deps, { ...e, state: 'checks-failed', note: `not merged: ${verdict.failed.join(', ')} failed`, updatedAt: at });
1062
- return;
1146
+ const red = await redOnBase(api, pull, verdict.failed);
1147
+ if (red === null) {
1148
+ await save(deps, { ...e, state: 'checks-failed', baseCiRed: null, note: `not merged: ${verdict.failed.join(', ')} failed`, updatedAt: at });
1149
+ return;
1150
+ }
1151
+ /**
1152
+ * CI IS BROKEN ON THE BASE. Never merged silently: held with that reason (and reported to
1153
+ * AutoRyn), unless a person approved this one or the component's switch says Looply's own
1154
+ * checks are enough — and then only when they all passed, on this very commit.
1155
+ */
1156
+ const sameCommit = (pull.headSha === '' || pull.headSha === e.sha) && !e.rebuiltFrom;
1157
+ const allowed = approved || (deps.mergeOnRedBase?.() === true && gatesPassed(e.checks) && sameCommit);
1158
+ if (!allowed) {
1159
+ const note = redBaseNote(red, true);
1160
+ deps.log(`deliver : ${e.goalId}: ${note}`);
1161
+ await save(deps, { ...e, state: 'pr-open', baseCiRed: { ...red, at }, note, updatedAt: at });
1162
+ return;
1163
+ }
1164
+ e = { ...e, baseCiRed: { ...red, at } };
1165
+ redBaseMerge = approved ? `${redBaseNote(red, false).split(';')[0]}; merged on a person's approval` : redBaseNote(red, false);
1063
1166
  }
1064
1167
  /**
1065
1168
  * No CI at all: an automatic merge waits a little for CI to show up, then hands it to a person;
@@ -1102,7 +1205,7 @@ async function advanceOne(deps, e) {
1102
1205
  return;
1103
1206
  }
1104
1207
  deps.log(`deliver : merged ${e.pullRequestUrl} into ${pull.base}`);
1105
- e = { ...e, state: 'merged', mergeSha: merged.sha ?? null, note: noCiNote, updatedAt: at };
1208
+ e = { ...e, state: 'merged', mergeSha: merged.sha ?? null, note: redBaseMerge ?? noCiNote, updatedAt: at };
1106
1209
  await save(deps, e);
1107
1210
  }
1108
1211
  }