atlas
d5a81f9195
feat(#2377): forge-webhook-triggered config-PR merge flow
Replace the request_merge_config_pr MCP tool with a Forgejo
pull_request webhook on the agent-configs org. Agents now open a
config PR normally; hive-c0re auto-queues the MergeConfigPr approval
from the webhook event — no extra tool call needed.
Changes:
- dashboard/webhook.rs: add POST /webhook/config-pr handler
- parses Forgejo pull_request payload (opened/synchronize)
- strips agent-configs/<agent> prefix to extract agent name
- calls submit_merge_config_pr → queues dashboard approval card
- always 200 to prevent Forgejo retries; errors logged at warn
- dashboard/mod.rs: wire /webhook/config-pr route
- forge/mod.rs: add ensure_config_pr_webhook() — idempotent org-level
hook registration on agent-configs at startup; CONFIG_ORG now
pub(crate) for webhook handler
- main.rs: call ensure_config_pr_webhook alongside knowledge webhook
- socket_server/config_approvals.rs: drop handle_request_merge_config_pr;
make submit_merge_config_pr pub(crate) for webhook handler
- socket_server/mod.rs: re-export submit_merge_config_pr; drop dispatch arm
- hive-sh4re/src/lib.rs: remove AgentRequest::RequestMergeConfigPr
wire type; drop from ToolGroup::Approvals tool list
- hive-ag3nt/src/mcp/: drop request_merge_config_pr tool + args struct
- docs: update approvals.md (webhook trigger), conventions.md (tool
group), agent-hierarchy.md, tools/lifecycle.md
Hardening from #2375-merge-config-pr-hardening branch preserved:
- pr_is_open check at queue time (rejects closed/merged PRs)
- atomic fetched_sha INSERT via submit_kind(fetched_sha: Some(&sha))
Approve-handler machinery unchanged (run_merge_config_pr,
ff_push_to_main, fetch_pr_head_into_applied, mark_pr_merged).
|
2026-07-11 12:19:52 +02:00 |
| .. |
|
bin
|
refactor(#2112): remove the dead stdio transport from hive-agent-mcp
|
2026-07-11 00:55:41 +02:00 |
|
mcp
|
feat(#2377): forge-webhook-triggered config-PR merge flow
|
2026-07-11 12:19:52 +02:00 |
|
web_ui
|
web_ui: support unix:<path> upstreams in extraWebProxies
|
2026-07-10 12:53:09 +02:00 |
|
client.rs
|
refactor(agent): drop vestigial install_configured param, non_empty_env helper, explicit infallible expect in client
|
2026-07-05 22:49:45 +02:00 |
|
events.rs
|
style: import ordering + blank lines after now_unix sweep (treefmt)
|
2026-07-06 22:08:40 +02:00 |
|
forge_notify.rs
|
fix(forge): review fixes for the forgejo-api port
|
2026-07-07 14:42:43 +02:00 |
|
identity.rs
|
refactor(agent): drop vestigial install_configured param, non_empty_env helper, explicit infallible expect in client
|
2026-07-05 22:49:45 +02:00 |
|
lib.rs
|
refactor(hive-ag3nt): split hive bin into hive-agent / hive-agent-mcp / hive-agent-wake
|
2026-07-06 23:48:05 +02:00 |
|
login.rs
|
docs(agent): clarify cred-file set + settings doc pointer, fix forge_notify cross-ref
|
2026-07-06 00:03:43 +02:00 |
|
login_session.rs
|
hive-ag3nt: scrub stale #658/#419 attribution cookies (#716 batch 2)
|
2026-05-31 16:48:13 +02:00 |
|
mcp_config.rs
|
feat(#2112): make http-mcp the sole transport for the built-in surface
|
2026-07-11 00:32:51 +02:00 |
|
mcp_loose_ends.rs
|
refactor(#1450): lift shared harness-path resolution into hive-sh4re
|
2026-06-14 21:34:58 +02:00 |
|
paths.rs
|
hive-sh4re: make harness_dir the single resolver; hive-ag3nt delegates (#1450)
|
2026-06-16 12:36:48 +02:00 |
|
plugins.rs
|
refactor(agent): drop vestigial install_configured param, non_empty_env helper, explicit infallible expect in client
|
2026-07-05 22:49:45 +02:00 |
|
prompt.rs
|
docs(turn-loop): split into index + claude-invocation/config/mcp sub-pages, condense the loop
|
2026-07-05 23:04:48 +02:00 |
|
serve_common.rs
|
feat(#2300): recv reports remaining inbox depth so agents know how many messages are left
|
2026-07-10 02:03:29 +02:00 |
|
stats.rs
|
style: import ordering + blank lines after now_unix sweep (treefmt)
|
2026-07-06 22:08:40 +02:00 |
|
turn.rs
|
feat(#2112): make http-mcp the sole transport for the built-in surface
|
2026-07-11 00:32:51 +02:00 |
|
turn_stats.rs
|
fix(stats): last_usage orders by id (insertion order); clarify Window default
|
2026-07-05 22:53:16 +02:00 |
|
vacuum.rs
|
style: import ordering + blank lines after now_unix sweep (treefmt)
|
2026-07-06 22:08:40 +02:00 |