mergestorm 0.3.32 → 0.3.33

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.
package/README.md CHANGED
@@ -45,7 +45,7 @@ On a TTY, bare `mergestorm` (or `mergestorm shell`) opens a branded REPL: a comp
45
45
 
46
46
  ```
47
47
  ╭──────────────────────────────────────────────────────────────────────────────╮
48
- │ ▀▀▀▀▀▀▀▀▀▀▘ mergestorm v0.3.32 │
48
+ │ ▀▀▀▀▀▀▀▀▀▀▘ mergestorm v0.3.33 │
49
49
  │ ▀▀▀▀▀▀▀▀▀ ● msk_live_… · maelstrom │
50
50
  │ ▀▀▀▀▀▀ [████████░░░░░░░░░░░░░░░░░░░░░░] 25% used │
51
51
  │ ▝▀▀▀▀▀ local reviews + stacked PRs · mergestorm.ai │
@@ -76,6 +76,11 @@ function seamGateBlocker(stack, layer) {
76
76
  return SEAM_REVIEW_NOT_RUNNING;
77
77
  return null;
78
78
  }
79
+ function headChecksAllGreen(layer) {
80
+ const checks = layer.checks;
81
+ return layer.ciStatus === "success" && !!checks && checks.total > 0 &&
82
+ checks.failure === 0 && checks.pending === 0 && checks.success > 0;
83
+ }
79
84
  /** Shared live-fact precedence; bounce history is only passed for the candidate. */
80
85
  function layerAttention(stack, layer, queue, cursor) {
81
86
  const none = { blocker: null, bounceKind: null };
@@ -138,6 +143,8 @@ function layerAttention(stack, layer, queue, cursor) {
138
143
  if (!sameHead(bounce.bounceDetail?.headSha ?? bounce.verifyHeadSha, layer.headSha) ||
139
144
  (bounce.bounceDetail?.prNumber != null && bounce.bounceDetail.prNumber !== layer.prNumber))
140
145
  return none;
146
+ if (kind === "ci_failure" && !bounce.bounceDetail?.batch && headChecksAllGreen(layer))
147
+ return none;
141
148
  return { blocker: mergeQueueBounceLabel(bounce), bounceKind: kind, bounce };
142
149
  }
143
150
  const AUTO_LAND_DISARMING_BOUNCE_KINDS = ["merge_failed", "gh_error", "ci_timeout"];
package/dist/ui/banner.js CHANGED
@@ -129,6 +129,9 @@ const WHATS_NEW = {
129
129
  "0.3.32": [
130
130
  "queue add explains a held merge conflict",
131
131
  ],
132
+ "0.3.33": [
133
+ "stack watch clears a CI failure rerun green",
134
+ ],
132
135
  };
133
136
  function densityFromVariant(variant) {
134
137
  if (variant === "mini" || variant === "nano")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mergestorm",
3
- "version": "0.3.32",
3
+ "version": "0.3.33",
4
4
  "description": "Mergestorm CLI (mg) — local reviews & stacked PRs. MIT; build from source: https://github.com/marginsystems/mergestorm-cli",
5
5
  "license": "MIT",
6
6
  "type": "module",