merge-steward 0.34.0 → 0.34.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.
@@ -25,8 +25,7 @@ export class GitHubPRClient {
25
25
  const result = await exec("gh", [
26
26
  "pr", "view", String(prNumber),
27
27
  "--repo", this.repoFullName,
28
- // Plan §8.4 change 3a: include baseRefName so the queue can
29
- // detect stacked PRs at admission time.
28
+ // The base ref lets admission detect stacked PRs.
30
29
  "--json", "number,title,headRefName,headRefOid,baseRefName,reviewDecision,state,mergeStateStatus",
31
30
  ], { githubRepoFullName: this.repoFullName });
32
31
  const data = JSON.parse(result.stdout);
@@ -19,11 +19,7 @@ export declare class MergeStewardQueueCommands {
19
19
  issueKey?: string;
20
20
  priority?: number;
21
21
  prTitle?: string;
22
- /**
23
- * Plan §8.4: PR's base ref. When this matches another open PR's
24
- * `branch` (head ref), the entry is stacked and admission orders
25
- * it immediately behind the parent.
26
- */
22
+ /** A matching parent head branch makes this a stacked queue entry. */
27
23
  baseRefName?: string;
28
24
  }): QueueEntry | undefined;
29
25
  scanStartupAdmissions(): Promise<void>;
@@ -189,17 +189,8 @@ export class MergeStewardQueueCommands {
189
189
  return false;
190
190
  }
191
191
  }
192
- // Plan §8.4: stack-aware admission. When the PR's base ref
193
- // names another open PR's branch (head ref), the entry is
194
- // stacked. Enqueue it only when the parent is already in the
195
- // queue — otherwise the child's spec would build against the
196
- // unmerged parent's pre-spec content. Positions are monotonic
197
- // (`nextPosition`), so the child's position is always greater
198
- // than the parent's; sibling PRs admitted between the parent's
199
- // enqueue and the child's tryAdmit can sit between them. That's
200
- // fine: queue head selection orders by (priority, position), so
201
- // the parent is still processed before the child. The functional
202
- // guarantee is "parent before child", not strict adjacency.
192
+ // A stacked PR waits for its parent queue entry. Monotonic positions
193
+ // guarantee parent-before-child ordering, not strict adjacency.
203
194
  const baseRefName = status.baseRefName ?? null;
204
195
  if (baseRefName && baseRefName !== this.config.baseBranch) {
205
196
  const parentEntry = this.findActiveEntryByBranch(baseRefName);
@@ -330,9 +321,7 @@ export class MergeStewardQueueCommands {
330
321
  }
331
322
  return next;
332
323
  }
333
- // Plan §8.4: lookup helper used by stack-aware admission. Returns
334
- // the active queue entry whose `branch` (head ref) matches `name`,
335
- // or undefined when no such entry is in the queue.
324
+ // Find the active entry whose head branch matches `name`.
336
325
  findActiveEntryByBranch(name) {
337
326
  return this.store.listActive(this.config.repoId).find((entry) => entry.branch === name);
338
327
  }
package/dist/types.d.ts CHANGED
@@ -227,11 +227,7 @@ export interface PRStatus {
227
227
  branch: string;
228
228
  headSha: string;
229
229
  title?: string | undefined;
230
- /**
231
- * Plan §8.4: PR's base ref. When this names another open PR's
232
- * `branch` (head ref), the PR is stacked and admission must defer
233
- * until the parent is in the queue.
234
- */
230
+ /** Base ref used to recognize and order stacked PRs. */
235
231
  baseRefName?: string | undefined;
236
232
  mergeable: boolean;
237
233
  mergeStateStatus?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "merge-steward",
3
- "version": "0.34.0",
3
+ "version": "0.34.1",
4
4
  "description": "Serial merge queue for GitHub — rebase, CI-gate, and merge PRs one at a time",
5
5
  "type": "module",
6
6
  "repository": {