Skip to content

Set up agent-relay branch + relay PR flow (repo side; engine in ework#21) | 仓库侧接入:agent-relay 中继分支配置(依赖 ework#21 引擎) #3468

Closed

Description

@ranxianglei

🤖 Powered by ework · qwen3.8-27b

来源: dog/ework-aio#3(中继分支落地拆分;引擎侧见 ranxianglei/ework#21)

仓库侧接入:agent-relay 中继分支配置(b-c)

背景

中继分支机制的引擎侧(web promotion job / 窗口调度 / 通知 / daemon 流程)已在 ranxianglei/ework#21 立项。本 issue 承接 b-c 仓库侧的接入配置,引擎就绪后立即启用。

任务清单

  1. 建分支:从 master 建 agent-relay 分支(推送远端)。
  2. 分支保护:agent-relay 禁止 force-push(GitHub 分支保护规则;master 保持现有人工合并策略不变)。
  3. 流程改造(b-c 仓库 AGENTS.md + 全局规则联动):agent 修复 PR 目标从 master 改为 agent-relay;CI 绿后 agent 自动合入 relay;人工 PR 不受影响仍走 master。
  4. CI 核对:确认 b-c CI 对 agent-relay 为 base 的 PR 正常触发(矩阵/定时任务不因 base 分支变化失效)。
  5. 在途 PR 处置:盘点当前指向 master 的 agent PR——已过 review 的保留等人工合,未处理的改指 relay。
  6. 验收演练:一条完整链路(agent fix → PR→relay → CI 绿 → 窗口提升 master → 通知)+ 一次 CI 红跳过 + 一次非 ff 人工介入路径。

依赖

边界

  • 提升、通知、窗口逻辑全部在 ework 引擎侧实现,本 issue 只做仓库配置与流程切换。

Mirrored from ework issue #3468

Activity

  1. changed the title [-]仓库侧接入:agent-relay 中继分支配置(依赖 ework#21 引擎)[/-] [+]Set up agent-relay branch + relay PR flow (repo side; engine in ework#21) | 仓库侧接入:agent-relay 中继分支配置(依赖 ework#21 引擎)[/+] on Oct 17, 2026
  2. ranxianglei commented on Oct 17, 2026

    @ranxianglei
    OwnerAuthor

    🤖 Powered by ework · qwen3.8-27b

    (ai: vllm-qwen/qwen3.8-27b)

    查重: 不重复。 open+closed 的 issue/PR 里检索 "agent-relay"、"中继分支",仅命中本 issue 自身;两个 8 月旧分支名含 "relay"(2026-08-24_fix-relay-5xx-deadlock、2026-08-26_usage-floor-relay-underreport)是无关的代理修复。

    Triage(功能类,先讨论后实现)

    方向合理:把 agent 高频小修从 master 人工合并队列剥离、经提升窗口批量进 master,减少人工合并次数。但第 3 项「CI 绿后 agent 自动合入 relay」与现行硬规则「PR 合并仅限人工(NEVER merge PRs)」正面冲突——该规则是全局约束、凌驾本仓库 AGENTS.md §4,我无法单方面变更。需 owner 拍板,三个选项:

    A: relay PR 仍人工合 B: 全局规则开窄例外(agent 仅可合 base=agent-relay 的 PR,master 永远人工) C: 引擎执行合并(推荐)——ework#21 daemon 轮询 relay PR,CI 绿即调 merge API
    影响面 自动化收益≈0,relay 退化为暂存队列 agent 每个会话获得受限合并权,审计靠单一不变量 base==agent-relay b-c 侧零规则变更;ework#21 多一项职责(与既有提升/窗口逻辑同类)
    回归风险 无 低但非零:agent 误判 CI 状态合入红;全局规则改动跨仓泄漏 最低:agent 行为完全不变,唯一新写入者=引擎 daemon,单点可审计

    推荐 C 的理由:边界已声明「提升、通知、窗口逻辑全部在 ework 引擎侧」——合入绿 PR 进 relay 与提升是同一类机械动作,放同一调度器闭环最自然;且保住「agent 永不合并」绝对不变量。若不想扩大 ework#21 范围,B 为次选。

    八问:

    1. 是什么问题:中继分支机制的仓库侧接入(建分支/保护/流程切换/CI 触发/在途 PR 处置);当前唯一卡点是「CI 绿→合入 relay」这一步由谁执行。
    2. 什么原因导致的:issue 文本要求 agent 自动合并,而全局硬规则规定 PR 合并仅限人工;另发现 6 条 CI 泳道的 PR 触发器钉死 branches: [master],relay-based PR 根本不触发核心 CI(客观缺陷,独立于选项,已单独修复)。
    3. 影响范围与严重程度:见上表按选项分列(A=体验级效率损失;B=中等,agent 写面扩大;C=低,仅引擎加一项职责)。
    4. 怎么修复的(推荐 C):ework#21 promotion job 增加「轮询 relay PR + 绿则合并」,与窗口提升同源同路径;b-c 侧只做分支/保护/CI 触发器/在途 PR 改指。
    5. 是否有回归问题:A 无;B 低(agent 误判 CI 合红、规则跨仓泄漏);C 最低(无 agent 行为变化)。
    6. 是否破坏缓存:不涉及(纯 Git/CI 流程,不碰运行时缓存/重试/游标)。
    7. 是否改了设计方向:本 issue 即 requested 的设计变更(agent 小修走 relay 暂存层);待定的只是合并执行者,方向不变。
    8. 是否引入新配置:无(无新 env/config/默认值;分支保护与 workflow 调整属仓库级设置)。

    已完成的无决策依赖部分

    1. ✅ 建分支:agent-relay 从 master tip fa41483d4(Merge fix: dsh plugin — stop the re-registration self-lock after a failed proxy respawn (#3380) #3393)切出并推送,远端已验证。
    2. ✅ 分支保护:API 规则已建并验证——allow_force_pushes=false + enforce_admins=true(管理员也不能 force-push),未启用状态检查/推送限制;master 现有保护(12 个 test 上下文 required checks + strict)未动。(首次 PUT 因 payload 缺字段 422、POST 404,补全三子对象后 PUT 成功。)
    3. ✅ CI 核对(第 4 项):ci.yml(核心矩阵)、ci-theorem、ci-image、ci-e2e、pr-artifact、ci-windows-codex 六条泳道的 pull_request 触发器钉死 branches: [master] → 现状 relay-based PR 不触发核心 CI;9 条 e2e lane workflow 不限 base,不受影响;定时任务跑默认分支,不因 base 变化失效。修复 PR 已开:[PR] ci: run PR lanes on agent-relay-based PRs #3469(六处各加一个 agent-relay,纯增量,对现有 master PR/push/schedule 行为零变更;release-bugfix.yml 有意不动——该通道只面向 master)。
    4. ✅ 在途 PR 盘点(第 5 项):open PR 共 164 个,其中 agent 标记(body 含 ework-agent-pr)22 个,全部指向 master,全部无正式人工 review(逐一核过 reviews):[PR] feat(diagnostics): /__bili/memory exposes cumulative CPU time + core count #3455 WS client lane: fall back to HTTP/SSE egress when the upstream refuses the upgrade #3447 [PR] fix: register PUT /__bili/external-summary/credential so Web UI "Save Key" works (#3443) #3445 [PR] docs(codex): Codex Desktop Composer predictions — custom-provider threads are ineligible (#3408) #3409 [PR] fix: re-anchor folded history across host wire-shape flips (#3301) #3316 [PR] fix(server): route pi-claude-bridge /compact summarizer through the #388 side passthrough #3221 fix: persona-lineage follow requires candidates to hold refs (#2948) #2950 [PR] feat: host-side conversation delete co-deletes compression artifacts (#2935) #2937 [PR] fix: anchor pool-outside caches on the session graph (#2920) #2932 [PR] fix(#2778): derive compress-failure recovery hints from live eligibility #2794 [PR] fix: adopt the refold pipeline's Prepared on accepted overflow refolds (#2777) #2785 [PR] fix: wire the #2621 novelty gate on the anthropic and google dsh lanes #2783 [PR] fix(#2766): durable classifiers reject assistant-role marker echoes (identity takeover) #2770 [PR] fix: acp-loop re-request rewrites thread.continue to thread.create on the Anthropic production path (#2701 finding 2) | [PR] fix: acp-loop re-request 在 anthropic 线上把 thread.continue 改写为 thread.create(#2701 finding 2) #2706 [PR] kernel: strict-JSON contract on default compress tool wording (#2587) #2595 [PR] fix: ICMP no-route errno family missing from transport failure taxonomy (#2465) #2468 [PR] fix: reclaim cross-protocol-drifted tool folds via canonical fingerprint (#2454) #2463 [PR] fix: register manifest-advertised conditional tools in the opencode V2 lane (#2443) #2445 [PR] feat: claude lane mid-session proxy self-heal via MCP watchdog #1874 [PR] fix(web): name conflicting third-party plugin(s) in co-resident banner (#1830) #1833 [PR] fix: steer compress partial-failure recovery back to one batched call (#1523) #1526 docs: MESSAGE-IDENTITY — content hashes as the cross-turn join key (#1496) #1509。按 issue 标准「未处理的改指 relay」22 个全符合;执行排在 [PR] ci: run PR lanes on agent-relay-based PRs #3469 合并之后——否则改指后这些 PR 的 CI 不触发(触发器尚未生效),出现信号盲区。[PR] ci: run PR lanes on agent-relay-based PRs #3469 落地后立即批量改指并回帖。
    5. ✅ 标题国际化:已改为「Set up agent-relay branch + relay PR flow (repo side; engine in ework#21) | 仓库侧接入:agent-relay 中继分支配置(依赖 ework#21 引擎)」。

    待办与依赖

    收工判定:无决策依赖部分已完成(分支✅/保护✅/CI 核对+修复 PR✅/盘点✅);合并机制等 owner 拍板(推荐 C),在途 22 个 PR 改指排队在 #3469 之后,全链路验收等引擎。

  3. added
    其他改动范围:内核之外的主机侧接线(src/agent 适配器、server 路由、注入拦截)/范围兜底/客户端标签
    on Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    p3其他改动范围:内核之外的主机侧接线(src/agent 适配器、server 路由、注入拦截)/范围兜底/客户端标签

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions