Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .mergequeue.example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ registry_title = "DeployBot delivery registry"
thread_active_hours = 72
ci_workflows = ["CI"]
deploy_workflows = ["Deploy"]
repair_hold_minutes = 60
ready_to_merge_target_minutes = 15
merge_to_live_target_minutes = 10
auto_promote = true
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ integration PRs, follows `main` through production, and pauses after failures.

## Install

Install the reviewed `v0.2.9` source commit directly from GitHub:
Install the reviewed `v0.2.10` source commit directly from GitHub:

```bash
python3 -m pip install \
'deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@b06346119a29d0be1c25d1643fdc06a03f7b94a9'
'deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@78208849bb743d649a6e3e5e1c452b9d21ec7e2b'
deploybot init
```

Expand Down Expand Up @@ -95,7 +95,7 @@ worker can dispatch deployment when GitHub suppresses the `workflow_run` event
for token-dispatched CI. Pin the Action to the full reviewed release commit:

```yaml
- uses: Forward-Future/DeployBot@b06346119a29d0be1c25d1643fdc06a03f7b94a9
- uses: Forward-Future/DeployBot@78208849bb743d649a6e3e5e1c452b9d21ec7e2b
```

The Action uses GitHub's built-in workflow token. GitHub intentionally does not
Expand Down
2 changes: 1 addition & 1 deletion adapters/claude-code/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deploybot",
"version": "0.2.9",
"version": "0.2.10",
"description": "DeployBot: a provider-neutral GitHub merge queue for coding agents",
"author": {
"name": "DeployBot contributors"
Expand Down
2 changes: 1 addition & 1 deletion adapters/claude-code/.mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"command": "uvx",
"args": [
"--from",
"deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@b06346119a29d0be1c25d1643fdc06a03f7b94a9",
"deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@78208849bb743d649a6e3e5e1c452b9d21ec7e2b",
"deploybot-mcp"
]
}
Expand Down
4 changes: 4 additions & 0 deletions adapters/claude-code/skills/deploybot/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ resolution. Return the repair packet to its source thread, then call `resume`
after its new exact head passes. Finish with `follow_release`, following newer
cumulative base heads until CI, deployment, and configured health checks verify.

Genuine repair blocks may hold overlapping ready work for the configured bounded
repair window, but they remain merge-ineligible until the trusted source agent
resumes the freshly reviewed exact head.

Use `diagnose`/`deploybot doctor` for setup drift and `delivery_metrics` for p50,
p95, and slow-stage evidence. A failed cumulative CI or deployment pauses the
controller; only a designated coordinator may unpause after recovery.
Expand Down
4 changes: 4 additions & 0 deletions adapters/claude-code/skills/manage-merge-queue/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ honor dependencies, route overlap or cumulative validation through
and use `resume_pull_request` after fresh review. Finish with `follow_release`;
a failed CI or deployment pauses the pipeline until verified recovery.

A genuine repair remains merge-ineligible, but DeployBot may temporarily hold
overlapping ready work for the configured bounded repair window so concurrent
merges do not repeatedly invalidate the replacement head.

When `follow_release` returns `thread_notifications`, send each supplied
message to its native source thread. The source thread calls
`acknowledge_thread_deployment` with the matching `notification_id`. Present the
Expand Down
2 changes: 1 addition & 1 deletion adapters/codex/agent-merge-queue/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deploybot",
"version": "0.2.9",
"version": "0.2.10",
"description": "Coordinate exact-head pull requests through verified deployment and thread notification",
"author": {
"name": "DeployBot contributors"
Expand Down
2 changes: 1 addition & 1 deletion adapters/codex/agent-merge-queue/.mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"command": "uvx",
"args": [
"--from",
"deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@b06346119a29d0be1c25d1643fdc06a03f7b94a9",
"deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@78208849bb743d649a6e3e5e1c452b9d21ec7e2b",
"deploybot-mcp"
]
}
Expand Down
4 changes: 4 additions & 0 deletions adapters/codex/agent-merge-queue/skills/deploybot/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ resolution. Return the repair packet to its source thread, then call `resume`
after its new exact head passes. Finish with `follow_release`, following newer
cumulative base heads until CI, deployment, and configured health checks verify.

Genuine repair blocks may hold overlapping ready work for the configured bounded
repair window, but they remain merge-ineligible until the trusted source agent
resumes the freshly reviewed exact head.

Use `diagnose`/`deploybot doctor` for setup drift and `delivery_metrics` for p50,
p95, and slow-stage evidence. A failed cumulative CI or deployment pauses the
controller; only a designated coordinator may unpause after recovery.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ cumulative batch gate. Return repair packets to their source thread and use
`resume_pull_request` after fresh review. Finish with `follow_release`; a failed
CI or deployment pauses the pipeline until verified recovery.

A genuine repair remains merge-ineligible, but DeployBot may temporarily hold
overlapping ready work for the configured bounded repair window so concurrent
merges do not repeatedly invalidate the replacement head.

When `follow_release` returns `thread_notifications`, send each supplied
message to its native source thread. In Codex use `send_message_to_thread`;
the source thread calls `acknowledge_thread_deployment` with the matching
Expand Down
2 changes: 1 addition & 1 deletion adapters/cursor/.cursor/mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"command": "uvx",
"args": [
"--from",
"deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@b06346119a29d0be1c25d1643fdc06a03f7b94a9",
"deploybot-merge-queue[mcp] @ git+https://github.com/Forward-Future/DeployBot.git@78208849bb743d649a6e3e5e1c452b9d21ec7e2b",
"deploybot-mcp"
]
}
Expand Down
5 changes: 3 additions & 2 deletions docs/reference.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# DeployBot reference

This reference describes the CLI, MCP server, policy file, and GitHub Action in
DeployBot v0.2.9. GitHub labels and authenticated comments are the durable state;
DeployBot v0.2.10. GitHub labels and authenticated comments are the durable state;
the CLI and MCP tools are two interfaces to the same operations.

## CLI
Expand Down Expand Up @@ -164,6 +164,7 @@ Provider fields are:
| `batch_settle_seconds` | Non-negative window for coalescing near-ready deploy requests before freezing a batch. Default: 15. |
| `ci_failure_grace_seconds` | Non-negative window for an exact-main CI retry to replace a failed attempt before the release fails. Default: 90. |
| `promotion_workers` | Positive maximum number of deploy requests promoted concurrently. Default: 4. |
| `repair_hold_minutes` | Positive maximum time that a genuine repair may hold overlapping ready work without becoming merge-eligible. Default: 60. |
| `ready_to_merge_target_minutes` | Positive request-to-ready and queued-to-merge timing target; default 15. |
| `merge_to_live_target_minutes` | Positive timing target; default 10. |
| `auto_promote` | Default `true`. |
Expand All @@ -190,7 +191,7 @@ The composite Action runs `deploybot react` from the checked-out default branch.
| Input | Default | Purpose |
| --- | --- | --- |
| `config` | `.mergequeue.toml` | Repository-relative policy path. |
| `follow` | `"false"` | Add `--follow` to the event worker. |
| `follow` | `"true"` | Add `--follow` to the event worker. |
| `dispatch_ci` | `"true"` | Dispatch configured CI after a merge made with `github.token`. |
| `timeout` | `"1800"` | Release-follow timeout in seconds. |

Expand Down
4 changes: 2 additions & 2 deletions examples/github-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,5 @@ jobs:
with:
ref: ${{ github.event.repository.default_branch }}
persist-credentials: false
# v0.2.9 implementation; keep the full commit for privileged workflows.
- uses: Forward-Future/DeployBot@b06346119a29d0be1c25d1643fdc06a03f7b94a9
# v0.2.10 implementation; keep the full commit for privileged workflows.
- uses: Forward-Future/DeployBot@78208849bb743d649a6e3e5e1c452b9d21ec7e2b
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "deploybot-merge-queue"
version = "0.2.9"
version = "0.2.10"
description = "DeployBot: a provider-neutral GitHub merge queue for coding agents"
readme = "README.md"
license = "MIT"
Expand Down
4 changes: 4 additions & 0 deletions skills/deploybot/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ resolution. Return the repair packet to its source thread, then call `resume`
after its new exact head passes. Finish with `follow_release`, following newer
cumulative base heads until CI, deployment, and configured health checks verify.

Genuine repair blocks may hold overlapping ready work for the configured bounded
repair window, but they remain merge-ineligible until the trusted source agent
resumes the freshly reviewed exact head.

Use `diagnose`/`deploybot doctor` for setup drift and `delivery_metrics` for p50,
p95, and slow-stage evidence. A failed cumulative CI or deployment pauses the
controller; only a designated coordinator may unpause after recovery.
Expand Down
4 changes: 4 additions & 0 deletions skills/manage-merge-queue/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ fresh checks and review, call `resume_pull_request` once. If policy requests an
integration PR, let DeployBot scaffold it, resolve source once, run tests once,
and obtain one final review. Never hand-merge generated output.

A genuine repair remains merge-ineligible, but DeployBot may temporarily hold
overlapping ready work for the configured bounded repair window so concurrent
merges do not repeatedly invalidate the replacement head.

Finish with `follow_release`, tracking newer cumulative base heads through CI,
deployment, and configured health checks. A failure pauses further merges until
the coordinator verifies recovery and unpauses. Record exact heads, review
Expand Down
2 changes: 1 addition & 1 deletion src/agent_merge_queue/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""DeployBot: a provider-neutral GitHub merge queue for coding agents."""

__version__ = "0.2.9"
__version__ = "0.2.10"
Loading