agent-merge-broker 0.11.0 → 0.12.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.12.0 — 2026-09-04
4
+
5
+ ### Added
6
+
7
+ - Durable journals for publication, auto-merge enablement and revocation, candidate revision, and
8
+ stale-base refresh operations, allowing unattended service restarts to finish interrupted work.
9
+ - Per-batch operation serialization, recoverable lock ownership, and an operator-visible recovery
10
+ path for abandoned dynamic batch locks.
11
+ - Durable Git remote fingerprints and host-qualified forge selectors so publication remains bound
12
+ to the repository and target selected when a batch was assembled.
13
+
14
+ ### Changed
15
+
16
+ - `serve --publish` now reconciles and safely retries prepared batches, partial publication,
17
+ auto-merge hand-offs, policy changes, and stale bases before integrating more work.
18
+ - The exported `ForgePublisher` contract now requires exact pull-request identity and explicit
19
+ observed auto-merge state, including an `undefined` result when the forge cannot prove it.
20
+ - Broker-generated Git commits use a stable broker identity with signing and ambient repository
21
+ hooks disabled, making integration behavior consistent across clean Windows, macOS, and Linux
22
+ hosts.
23
+
24
+ ### Security
25
+
26
+ - Auto-merge authorization remains bound to the exact candidate SHA, base SHA, policy revision,
27
+ required evidence, authorized actor, pull-request target, and durably recorded forge repository.
28
+ - Merge reconciliation proves the accepted fast-forward, squash, two-parent merge, or linear rebase
29
+ topology before releasing dependent tasks.
30
+ - Revocation, reviewer closure, force-push, reopened pull request, remote retargeting, and
31
+ configuration-downgrade races now fail closed without leaving a possibly-live merge queue behind.
32
+
33
+ ### Fixed
34
+
35
+ - Publication and refresh failures no longer strand the queue or create duplicate pull requests.
36
+ - Validators can no longer validate bytes different from the retained candidate through worktree
37
+ mutation or ambient Git hooks.
38
+ - Stale bases, policy drift, interrupted refreshes, and approval retries now converge to an
39
+ auditable terminal or retryable state after a process restart.
40
+
3
41
  ## 0.11.0 — 2026-09-03
4
42
 
5
43
  ### Added
package/README.md CHANGED
@@ -46,9 +46,11 @@ It is deliberately **not** an agent framework and **not** a replacement for prot
46
46
 
47
47
  `0.3.0` was the first public release: the local broker core, the GitHub CLI publishing adapter with auto-merge, and the remote provenance verifier.
48
48
 
49
- `0.11.0` is the current release. It adds first-class Windows support, permission-separated MCP
50
- servers, actionable status and sanitized support bundles, archive-aware metrics, composable hooks,
51
- and broader JavaScript, Swift, Go, Rust, and Python bootstrap detection.
49
+ `0.12.0` is the current release. It makes pull-request auto-merge crash-recoverable and
50
+ target-bound, adds unattended publication and stale-base recovery, and closes approval, refresh,
51
+ revision, remote-retargeting, and reopened-pull-request races. It also retains the first-class
52
+ Windows support, permission-separated MCP servers, diagnostics, and bootstrap detection added in
53
+ `0.11.0`.
52
54
 
53
55
  The on-disk state, receipt, and provenance formats are versioned, but compatibility is not guaranteed until `1.0.0`. Expect format migrations before then.
54
56
 
@@ -232,7 +234,7 @@ installing dependencies:
232
234
  with:
233
235
  ref: ${{ github.event.pull_request.head.sha }}
234
236
  fetch-depth: 0
235
- - uses: WeSpitfire/agent-merge-broker/verify@v0.11.0
237
+ - uses: WeSpitfire/agent-merge-broker/verify@v0.12.0
236
238
  ```
237
239
 
238
240
  The check verifies the Ed25519 signature, branch and batch identity, real base history, one-file
@@ -295,7 +297,14 @@ merge-broker batch approve <batch-id> \
295
297
 
296
298
  Every binding is explicit on purpose. A stale command fails instead of approving whatever happens
297
299
  to be current. Approval also rechecks the open PR head, target base, task state, reviews, conflicts,
298
- and configured GitHub checks. The final `gh pr merge` uses GitHub's head-SHA guard.
300
+ and configured GitHub checks. Approval becomes merge-authorizing only after it is durable and the
301
+ broker observes that exact PR still open; the final `gh pr merge` uses GitHub's head-SHA guard.
302
+
303
+ Protect the target branch with either “require branches to be up to date before merging” or a merge
304
+ queue, and restrict bypass permission. GitHub's merge API can guard the head SHA but cannot
305
+ atomically guard a base SHA. The broker rechecks the base immediately before queueing and proves the
306
+ merged Git history afterward, but branch protection prevents an out-of-band base update in that
307
+ final remote interval.
299
308
 
300
309
  If verification finds a problem, keep the task and PR:
301
310
 
@@ -322,9 +331,16 @@ Two configuration combinations cannot work and are rejected at load time rather
322
331
 
323
332
  Auto-merge requires the setting to be enabled on the GitHub repository. Configurations written before this feature existed default to `autoMerge: false`, so upgrading never starts landing work on its own.
324
333
 
325
- Running `merge-broker serve --publish` reconciles checks, integrates the next batch, and publishes it.
326
- With exact approval enabled it deliberately stops at `ready_for_approval`; only `batch approve`
327
- grants merge permission.
334
+ The broker resolves and records the exact Git push URL locator and GitHub `HOST/OWNER/REPO` when it
335
+ assembles a batch. Later changes to the named Git remote or to `gh repo set-default` cannot redirect
336
+ publication. Standard GitHub and GitHub Enterprise remote URLs are derived automatically. If the
337
+ Git remote is a local mirror or proxy, set `publish.repository` explicitly; otherwise pull-request
338
+ mode fails closed rather than guessing a GitHub repository.
339
+
340
+ Running `merge-broker serve --publish` reconciles checks, finishes interrupted publication or
341
+ auto-merge hand-offs, re-cuts stale batches, and only then integrates the next batch. With exact
342
+ approval enabled it deliberately stops at `ready_for_approval`; only `batch approve` grants merge
343
+ permission.
328
344
 
329
345
  ## Failure recovery
330
346
 
@@ -365,18 +381,21 @@ That closes the superseded pull request, returns the tasks to the queue without
365
381
  budget, and integrates them again from the current tip, re-validating against the base that is
366
382
  actually being merged into. A batch already cut from the current tip is left alone.
367
383
 
368
- Publication is safe to retry. The pull request is recorded before auto-merge is attempted, so a
369
- forge that fails halfway leaves a published batch carrying a `publishWarning` rather than a batch
370
- whose pull request exists but whose state does not admit it. Running `batch publish` again finds the
371
- existing pull request and retries what is left.
384
+ Publication is safe to retry. The pull request is recorded before auto-merge is attempted, and a
385
+ durable intent is recorded before the remote queue is changed. A forge that fails halfway therefore
386
+ leaves a resumable batch rather than silently stranding the queue. `serve --publish` resumes it
387
+ automatically; `batch publish` does the same explicitly. Retries reuse the recorded PR URL, and a
388
+ crash before that URL is recorded searches all PR states for the batch's unique branch before it can
389
+ create anything new.
372
390
 
373
391
  A process that dies mid-integration can leave both a lock and durable `running` state. A holder on
374
- this machine is reclaimed automatically once its process is gone; a holder on another machine cannot
375
- be probed and waits out the stale window. Once the integration lock is safely acquired, `serve` and
376
- `integrate` automatically mark the abandoned batch failed, clean its broker-owned worktree and
377
- branch, and return its tasks to `submitted` without spending their attempt budget. `merge-broker
378
- recover` performs that reconciliation explicitly. `unlock --force` remains only for an owner that
379
- cannot be proven gone and must follow confirming no integration is active.
392
+ this machine is reclaimed automatically once its process is proven gone. A holder on another machine
393
+ cannot be probed and is never stolen merely because it is old; after confirming that process is
394
+ gone, inspect or release it explicitly with `unlock batch:<batch-id> --force` (or `state` /
395
+ `integration`). Once the integration lock is safely acquired, `serve` and `integrate` automatically
396
+ mark abandoned work failed, clean its broker-owned worktree and branch, and return its tasks to
397
+ `submitted` without spending their attempt budget. `merge-broker recover` performs that
398
+ reconciliation explicitly.
380
399
 
381
400
  Candidate revisions also carry a durable intent before the broker moves their branch. If a process
382
401
  stops after the branch update but before state finalization, `recover` compares the real PR/local
@@ -458,6 +477,7 @@ The generated `.merge-broker/config.json` is intentionally explicit and reviewab
458
477
  },
459
478
  "publish": {
460
479
  "mode": "pull-request",
480
+ "repository": "owner/repository",
461
481
  "draft": false,
462
482
  "autoMerge": true,
463
483
  "mergeMethod": "squash",
@@ -553,7 +573,7 @@ merge-broker audit
553
573
  merge-broker metrics
554
574
  merge-broker events
555
575
  merge-broker prune [--older-than <days>] [--dry-run]
556
- merge-broker unlock [state|integration] [--force]
576
+ merge-broker unlock [state|integration|batch:<batch-id>] [--force]
557
577
  merge-broker recover
558
578
  merge-broker serve [--publish] [--eager] [--log-file <path>]
559
579
  merge-broker-mcp -C <directory> [--profile worker|operator]
package/dist/broker.d.ts CHANGED
@@ -61,6 +61,23 @@ export declare class MergeBroker {
61
61
  keyPath: string;
62
62
  }>;
63
63
  private provenanceSigningPrivateKey;
64
+ /**
65
+ * Resolves the exact base used for a new merge candidate. The generated configuration names the
66
+ * local branch for repositories that have no remote, but once refresh succeeds that local ref is
67
+ * not the refreshed value; the remote-tracking branch is. Publication fails closed when the
68
+ * requested refresh cannot be performed.
69
+ */
70
+ private currentIntegrationBaseSha;
71
+ /** Resolve the current tip of the immutable forge target recorded on an existing batch. */
72
+ private currentBatchTargetSha;
73
+ private assertBatchBaseFresh;
74
+ /**
75
+ * GitHub can report the target branch's newer tip as `baseRefOid` after a merge. In that case,
76
+ * prove from Git itself that the recorded merge commit landed the approved candidate tree on a
77
+ * history rooted at the approved base. A transient inability to fetch is retryable; a graph/tree
78
+ * mismatch is an authorization failure.
79
+ */
80
+ private proveMergedCandidate;
64
81
  registerTask(input: RegisterTaskInput): Promise<TaskRecord>;
65
82
  claimTask(input: ClaimTaskInput): Promise<{
66
83
  task: TaskRecord;
@@ -107,7 +124,14 @@ export declare class MergeBroker {
107
124
  files?: string[];
108
125
  cwd?: string;
109
126
  }): Promise<LocalValidationResult>;
127
+ /**
128
+ * Validators are observers of an immutable candidate, not build steps. A validator that commits
129
+ * or leaves tracked/untracked changes behind has tested a different tree from the one the broker
130
+ * is about to retain and publish. Refuse that ambiguity even when the command exited successfully.
131
+ */
132
+ private assertValidatorPreservedCandidate;
110
133
  integrate(options?: IntegrationOptions): Promise<IntegrationResult>;
134
+ private integrateForTarget;
111
135
  private writeRevisionArtifacts;
112
136
  private recoverAbandonedIntegrationsLocked;
113
137
  /**
@@ -116,6 +140,7 @@ export declare class MergeBroker {
116
140
  */
117
141
  recoverAbandonedIntegrations(): Promise<RecoveryResult>;
118
142
  publishBatch(id: string): Promise<BatchRecord>;
143
+ private publishBatchLocked;
119
144
  recordVerification(id: string, input: {
120
145
  name: string;
121
146
  status: "passed" | "failed";
@@ -126,6 +151,7 @@ export declare class MergeBroker {
126
151
  evidenceUrl?: string;
127
152
  notes?: string;
128
153
  }): Promise<BatchRecord>;
154
+ private recordVerificationLocked;
129
155
  requestChanges(id: string, input: {
130
156
  candidateSha: string;
131
157
  baseSha: string;
@@ -133,12 +159,15 @@ export declare class MergeBroker {
133
159
  actor: string;
134
160
  reason: string;
135
161
  }): Promise<BatchRecord>;
162
+ private requestChangesLocked;
163
+ private completeChangeRequestLocked;
136
164
  approveBatch(id: string, input: {
137
165
  candidateSha: string;
138
166
  baseSha: string;
139
167
  policyRevision?: string;
140
168
  actor: string;
141
169
  }): Promise<BatchRecord>;
170
+ private approveBatchLocked;
142
171
  reopenTaskForRevision(taskId: string, input: {
143
172
  holder: string;
144
173
  expectedPaths?: string[];
@@ -152,10 +181,13 @@ export declare class MergeBroker {
152
181
  token: string;
153
182
  tokenPath?: string;
154
183
  }>;
184
+ private reopenTaskForRevisionLocked;
155
185
  reviseTask(taskId: string, commits: string[], token: string, options?: {
156
186
  sinceBase?: boolean;
157
187
  }): Promise<RevisionResult>;
188
+ private reviseTaskLocked;
158
189
  syncBatch(id: string): Promise<BatchRecord>;
190
+ private syncBatchLocked;
159
191
  syncPublishedBatches(): Promise<{
160
192
  synced: BatchRecord[];
161
193
  closed: BatchRecord[];
@@ -174,6 +206,7 @@ export declare class MergeBroker {
174
206
  * an explicit operator action through `task retry`.
175
207
  */
176
208
  closeBatch(id: string, reason: string): Promise<BatchRecord>;
209
+ private closeBatchLocked;
177
210
  /**
178
211
  * Replaces a batch that can no longer merge because the base branch moved under it.
179
212
  *
@@ -192,7 +225,9 @@ export declare class MergeBroker {
192
225
  refreshBatch(id: string, options?: {
193
226
  publish?: boolean;
194
227
  }): Promise<RefreshResult>;
228
+ private refreshBatchLocked;
195
229
  markBatchMerged(id: string, mergedAt?: string, mergeCommitSha?: string): Promise<BatchRecord>;
230
+ private markBatchMergedLocked;
196
231
  auditWorktrees(): Promise<{
197
232
  worktrees: Array<{
198
233
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}