Skip to content

sync-upstream 自 2026-07-22 起连续失败在 merge 步,没有任何人被通知 #995

Description

@jinjunnn

谁会遇到:负责把上游开源引擎的更新并进我们产品的人(agent),间接是 owner。遇到什么:每天自动跑的「同步上游」任务从 7 月 22 日起天天失败,至今没有任何人收到通知;9 月初上游是靠人手工追平的,自动任务仍在每天报错。为什么是问题:一个天天失败、没人看的自动任务等于没有;而且哪天它被修好真正跑通,会走到一段曾经会悄悄删掉我们自有改动的步骤,必须先确认那道保护还在。不做会怎样:不影响用户,上游更新只能继续靠人想起来手工并。

Refs #976

现象

sync-upstream.yml 的 cron(0 6 * * *)每天照常起 run,但自 2026-07-22 起连续失败在 merge 步,从未走到 apply_alpha_frontend_delta。最近一次(run 31778673158)的失败原文:

CONFLICT (content): Merge conflict in packages/desktop/src/main/index.ts
##[error]Unexpected merge conflicts — the only-add discipline was broken:
packages/desktop/src/main/index.ts
##[error]Process completed with exit code 1.

gh run list --workflow=sync-upstream.yml --limit 60 ⇒ 21 success / 39 failure,最后一次 success = 2026-07-22T08:06:35Z。

后果(两层)

  1. 上游引擎已 20+ 天没进 alpha。 (2026-09-16 订正:此句已过时 —— alpha-code#1248 已于 2026-09-07 手工追平上游)
  2. 它同时是 #976 那条数据丢失路径的临时保险丝:sync 的还原步(rm -rf packages/app packages/ui → checkout $PIN -- → git apply SOT 补丁)会静默删掉补丁里没有的改动;今天没出事,只是因为这个 job 根本没跑到那一步。修好它,那条风险立刻转正 —— 所以两票要互相 ref。[REQ-125][CODE] packages/{app,ui} 的非测试源码改动没有任何闸门校验它已重生进 SOT 补丁 #976 的闸门(PR fix(gates): assert packages/{app,ui} == pinned upstream + SOT patch (#976) #993)已把「树与补丁不一致」变成合并前就红,但它守的是未来的提交,不解决这条 sync 本身。

处置

解掉 packages/desktop/src/main/index.ts 的冲突(那正是 only-add 纪律要求的人工动作),让 sync 恢复;恢复前先确认 bash scripts/assert-frontend-patch-roundtrip.sh 在 alpha 上是绿的。

P1。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

type:bugSomething is incorrect or regressed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions