agent-merge-broker 0.7.0 → 0.8.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/README.md CHANGED
@@ -35,6 +35,7 @@ One integration authority; implementation stays distributed:
35
35
  - Every batch is tested through real cherry-picks in a disposable worktree.
36
36
  - Focused checks run after each task; the complete gate runs either in the broker or as required CI.
37
37
  - Successful work becomes one local branch, remote branch, or GitHub pull request.
38
+ - Optional exact-candidate policy separates nomination, verification, approval, and mechanical merge.
38
39
  - Published branches can carry a committed provenance manifest for fast remote policy checks.
39
40
  - Tasks are dependency-complete only after their batch is actually merged.
40
41
  - An append-only audit stream records lifecycle decisions and validation results.
@@ -45,9 +46,9 @@ It is deliberately **not** an agent framework and **not** a replacement for prot
45
46
 
46
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.
47
48
 
48
- `0.7.0` is current. Repositories can explicitly delegate the complete integration decision to
49
- protected required CI after focused broker preflight, avoiding a duplicate serial full-suite run.
50
- The default remains broker-authoritative validation for backward compatibility.
49
+ `0.8.0` is current. Repositories can require SHA/base/policy-bound evidence and an explicit approval
50
+ before auto-merge is enabled. Candidate revision stays on the same pull request and invalidates all
51
+ earlier evidence. The gate is opt-in so existing repositories keep their current behavior.
51
52
 
52
53
  The on-disk state, receipt, and provenance formats are versioned, but compatibility is not guaranteed until `1.0.0`. Expect format migrations before then.
53
54
 
@@ -127,14 +128,14 @@ This is the answer integration would give, not an approximation of it, because i
127
128
  `validation` configuration. It includes uncommitted and untracked files, writes no state, needs no
128
129
  lease, and exits non-zero when a validator fails — so a worker script can gate on it.
129
130
 
130
- The worker commits its change and submits a receipt. It does not merge or push:
131
+ The worker commits its change and nominates a candidate receipt. It does not merge or push:
131
132
 
132
133
  ```bash
133
134
  git commit -m 'Add customer search filters'
134
- merge-broker task submit CRM-142 --since-base
135
+ merge-broker task candidate CRM-142 --since-base
135
136
  ```
136
137
 
137
- Submitting again before the batch is assembled replaces the receipt, which is how a follow-up commit
138
+ Nominating again before the batch is assembled replaces the receipt, which is how a follow-up commit
138
139
  from review reaches integration without rebuilding the task.
139
140
 
140
141
  `--since-base` submits the linear commits made after the base the broker handed out, skipping any
@@ -210,7 +211,7 @@ installing dependencies:
210
211
  with:
211
212
  ref: ${{ github.event.pull_request.head.sha }}
212
213
  fetch-depth: 0
213
- - uses: WeSpitfire/agent-merge-broker/verify@v0.7.0
214
+ - uses: WeSpitfire/agent-merge-broker/verify@v0.8.0
214
215
  ```
215
216
 
216
217
  The check verifies the Ed25519 signature, branch and batch identity, real base history, one-file
@@ -224,9 +225,53 @@ change under review. Repositories initialized before `0.6.0` must run `merge-bro
224
225
  setup-signing`, commit the resulting public-key policy, and keep the private key outside the working
225
226
  tree. Until then verification reports structural-only rather than authenticated provenance.
226
227
 
227
- ## Automatic merging
228
+ ## Exact-candidate approval and automatic merging
228
229
 
229
- With `publish.mode` set to `pull-request` and `publish.autoMerge` enabled, the broker enables GitHub auto-merge on each published batch. GitHub lands the pull request once required status checks pass. The broker never pushes to the base branch itself, so branch protection remains the authority on what may merge. If the base moves first, re-cut the batch; do not use GitHub's update-branch merge because immutable provenance deliberately rejects it.
230
+ `publish.autoMerge` is the mechanical last step, not merge authorization. When `approval.required`
231
+ is enabled, publication opens the pull request and stops. The broker binds a candidate to its exact
232
+ integrated SHA, base SHA, and `policyRevision`; it will not enable auto-merge until every configured
233
+ GitHub check and manual verification has passed on that tuple and an authorized actor explicitly
234
+ approves it.
235
+
236
+ ```text
237
+ working → candidate → verifying → ready_for_approval → approved → merging → merged
238
+ ↘ verification_failed
239
+ ↘ changes_requested → revised candidate
240
+ ```
241
+
242
+ Sync GitHub checks, attach manual evidence, and approve with values copied from `batch show`:
243
+
244
+ ```bash
245
+ merge-broker batch sync <batch-id>
246
+ merge-broker batch verify <batch-id> --name browser --status passed \
247
+ --candidate <sha> --base <sha> --policy-revision release-v1 --actor browser-agent
248
+ merge-broker batch verify <batch-id> --name responsive --status passed \
249
+ --candidate <sha> --base <sha> --policy-revision release-v1 --actor responsive-agent
250
+ merge-broker batch approve <batch-id> \
251
+ --candidate <sha> --base <sha> --policy-revision release-v1 --actor release-manager
252
+ ```
253
+
254
+ Every binding is explicit on purpose. A stale command fails instead of approving whatever happens
255
+ to be current. Approval also rechecks the open PR head, target base, task state, reviews, conflicts,
256
+ and configured GitHub checks. The final `gh pr merge` uses GitHub's head-SHA guard.
257
+
258
+ If verification finds a problem, keep the task and PR:
259
+
260
+ ```bash
261
+ merge-broker batch request-changes <batch-id> \
262
+ --candidate <sha> --base <sha> --actor reviewer --reason 'Responsive layout fails at 390px'
263
+ merge-broker task reopen <task-id> --holder agent --reason 'Fix responsive layout'
264
+ # edit and commit under the new lease
265
+ merge-broker task revise <task-id> --since-base
266
+ ```
267
+
268
+ The broker force-updates only its own integration branch with `--force-with-lease`. The PR remains
269
+ the same, the old candidate becomes `superseded`, and the new SHA starts with no evidence or
270
+ approval. Editing leases end when a candidate is assembled; they are not kept alive during long CI
271
+ runs. Approval instead requires every task to remain in the published, non-editing state.
272
+
273
+ Without `approval.required`, auto-merge retains its pre-0.8 behavior for compatibility. The broker
274
+ never pushes to the base branch itself, so branch protection remains an independent final defense.
230
275
 
231
276
  Two configuration combinations cannot work and are rejected at load time rather than stalling silently:
232
277
 
@@ -235,7 +280,9 @@ Two configuration combinations cannot work and are rejected at load time rather
235
280
 
236
281
  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.
237
282
 
238
- Running `merge-broker serve --publish` closes the loop: each cycle reconciles published batches, integrates the next batch, and publishes it for auto-merge.
283
+ Running `merge-broker serve --publish` reconciles checks, integrates the next batch, and publishes it.
284
+ With exact approval enabled it deliberately stops at `ready_for_approval`; only `batch approve`
285
+ grants merge permission.
239
286
 
240
287
  ## Failure recovery
241
288
 
@@ -243,15 +290,20 @@ Integration failures are attributed as narrowly as the evidence allows:
243
290
 
244
291
  - A cherry-pick conflict or focused validation failure fails only the responsible task. Its batch-mates return to the queue and are re-planned, so one bad commit cannot stall unrelated agents.
245
292
  - An authoritative validation failure indicts the whole batch, because no single task can be blamed. Those tasks stay `failed` until `task retry`.
246
- - A pull request closed without merging moves the batch to `closed` and returns its tasks to the queue. Leaving such a batch `published` strands the work and reads like success.
293
+ - A pull request closed without merging moves the batch to `closed` and pauses its tasks as `failed`. A closed PR is an explicit rejection signal, so the broker never republishes the same receipts automatically.
247
294
 
248
- `integration.maxAttempts` bounds automatic re-queueing so a task that never integrates eventually stops consuming CI capacity and waits for a human. `task retry` resets that budget.
295
+ `integration.maxAttempts` bounds automatic re-queueing of unaffected batch-mates after an attributable integration failure. Closed pull requests do not consume that retry loop. `task retry` is the explicit escape hatch when an operator has determined that retrying the unchanged receipt is safe.
249
296
 
250
297
  A `failed` task is still the worker's to fix in place: `task extend` can widen its scope, since
251
298
  fixing what validation caught often means touching a file the original claim did not cover, and
252
299
  `task submit` replaces its commits. Rebuilding the task is not required, and `task cancel` — which is
253
300
  final and ends the lease — is not the way back.
254
301
 
302
+ After a pull request closes, reclaim the failed task and submit its corrected commits. The eager
303
+ service will remain idle until that explicit revision arrives. If the pull request was closed only
304
+ because of a transient forge problem and the immutable receipt is still correct, use `task retry`
305
+ deliberately instead.
306
+
255
307
  `integrate --dry-run` is a rehearsal in both directions: it retains no branch when it succeeds, and
256
308
  returns every task to the queue when it fails, so verifying costs nothing.
257
309
 
@@ -351,6 +403,13 @@ The generated `.merge-broker/config.json` is intentionally explicit and reviewab
351
403
  { "name": "build", "command": "npm run build", "timeoutSeconds": 1800 }
352
404
  ]
353
405
  },
406
+ "approval": {
407
+ "required": true,
408
+ "policyRevision": "release-v1",
409
+ "requiredVerifications": ["browser", "responsive"],
410
+ "requiredChecks": ["Verify release"],
411
+ "authorizedActors": ["release-manager"]
412
+ },
354
413
  "publish": {
355
414
  "mode": "pull-request",
356
415
  "draft": false,
@@ -428,11 +487,11 @@ merge-broker install-hooks [--force] [--uninstall]
428
487
  merge-broker install-service [--uninstall] [--interval <seconds>] [--no-eager]
429
488
  merge-broker verify-provenance --branch <ref> --head <sha> --base <sha>
430
489
  merge-broker validate [--task <id>] [--scope focused|authoritative|all] [--base <ref>] [--cwd <path>]
431
- merge-broker task register|claim|extend|heartbeat|submit|retry|release|cancel|show
490
+ merge-broker task register|claim|extend|heartbeat|candidate|submit|reopen|revise|retry|release|cancel|abandon|show
432
491
  merge-broker status
433
492
  merge-broker plan
434
493
  merge-broker integrate [--dry-run] [--publish] [--force]
435
- merge-broker batch list|show|publish|refresh|sync|complete
494
+ merge-broker batch list|show|publish|verify|approve|request-changes|refresh|sync|complete
436
495
  merge-broker audit
437
496
  merge-broker metrics
438
497
  merge-broker events
package/dist/broker.d.ts CHANGED
@@ -2,7 +2,7 @@ import { GitRepository } from "./git.js";
2
2
  import { StateStore, type LockStatus } from "./store.js";
3
3
  import { type HookInstallation } from "./hooks.js";
4
4
  import { type ServiceInstallation } from "./service.js";
5
- import type { BatchRecord, BrokerConfig, BrokerState, IntegrationOptions, IntegrationResult, LocalValidationResult, RefreshResult, RecoveryResult, PruneOptions, PruneResult, SchedulePlan, TaskRecord } from "./types.js";
5
+ import type { BatchRecord, BrokerConfig, BrokerState, IntegrationOptions, IntegrationResult, LocalValidationResult, RefreshResult, RevisionResult, RecoveryResult, PruneOptions, PruneResult, SchedulePlan, TaskRecord } from "./types.js";
6
6
  export interface RegisterTaskInput {
7
7
  id: string;
8
8
  title?: string;
@@ -64,6 +64,7 @@ export declare class MergeBroker {
64
64
  force?: boolean;
65
65
  }): Promise<TaskRecord>;
66
66
  retryTask(taskId: string, token?: string): Promise<TaskRecord>;
67
+ private resolveTaskCommits;
67
68
  submitTask(taskId: string, commits: string[], token: string, options?: {
68
69
  sinceBase?: boolean;
69
70
  }): Promise<{
@@ -102,6 +103,45 @@ export declare class MergeBroker {
102
103
  */
103
104
  recoverAbandonedIntegrations(): Promise<RecoveryResult>;
104
105
  publishBatch(id: string): Promise<BatchRecord>;
106
+ recordVerification(id: string, input: {
107
+ name: string;
108
+ status: "passed" | "failed";
109
+ candidateSha: string;
110
+ baseSha: string;
111
+ policyRevision?: string;
112
+ actor: string;
113
+ evidenceUrl?: string;
114
+ notes?: string;
115
+ }): Promise<BatchRecord>;
116
+ requestChanges(id: string, input: {
117
+ candidateSha: string;
118
+ baseSha: string;
119
+ policyRevision?: string;
120
+ actor: string;
121
+ reason: string;
122
+ }): Promise<BatchRecord>;
123
+ approveBatch(id: string, input: {
124
+ candidateSha: string;
125
+ baseSha: string;
126
+ policyRevision?: string;
127
+ actor: string;
128
+ }): Promise<BatchRecord>;
129
+ reopenTaskForRevision(taskId: string, input: {
130
+ holder: string;
131
+ expectedPaths?: string[];
132
+ worktree?: string;
133
+ reason?: string;
134
+ storeToken?: boolean;
135
+ tokenFile?: string;
136
+ }): Promise<{
137
+ task: TaskRecord;
138
+ batch: BatchRecord;
139
+ token: string;
140
+ tokenPath?: string;
141
+ }>;
142
+ reviseTask(taskId: string, commits: string[], token: string, options?: {
143
+ sinceBase?: boolean;
144
+ }): Promise<RevisionResult>;
105
145
  syncBatch(id: string): Promise<BatchRecord>;
106
146
  syncPublishedBatches(): Promise<{
107
147
  synced: BatchRecord[];
@@ -113,8 +153,12 @@ export declare class MergeBroker {
113
153
  }>;
114
154
  }>;
115
155
  /**
116
- * Records that a published batch will never merge and returns its tasks to the queue, so the work
117
- * is re-planned against a fresh base instead of being silently lost.
156
+ * Records that a published batch will never merge and pauses its tasks for revision.
157
+ *
158
+ * A closed pull request is an explicit rejection signal. Re-queueing the unchanged receipts made
159
+ * an eager broker publish the same rejected work again before its worker could attach a fix. Base
160
+ * movement has its own `refreshBatch` path, and retrying an unchanged receipt remains available as
161
+ * an explicit operator action through `task retry`.
118
162
  */
119
163
  closeBatch(id: string, reason: string): Promise<BatchRecord>;
120
164
  /**
@@ -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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"}