Merge authoritative main into the task branch
Why: include the current integration baseline before verification. Evidence: fetched origin/main=4f84c2e1630cd0311643529fae1c3a99f1dd5d64. Impact: integrate upstream changes without rewriting task history. Refs: task-sync
This commit is contained in:
+8
-2
@@ -1,6 +1,6 @@
|
||||
# feature/proposal-status-20261012 任务卡
|
||||
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/489;状态:进行中;owner:weichen
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/489;状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:
|
||||
- 验证:<结论摘要 PASS/FAIL/SKIP/NOT_RUN 逐项;逐条证据由 make evidence 写入上方证据表>
|
||||
@@ -784,3 +784,9 @@
|
||||
"receipt_sha256": "969b9039ffb9c73f4fb898ebeaec7c9079b2023e7458443d44356aa0d570145a"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(受控试行回填)
|
||||
|
||||
- 依据:PR #489 由当前智能体合入为 `f00165e8d71e4dc8ba0ceb7dc50c1a8a3deb6d60`,该提交已包含于 `origin/main`;原始主 PR、Review 和精确 HEAD GATE 见任务主记录与 Dev 调度 Issue #518。
|
||||
- 合并主题:Merge pull request 'Pin proposal status and start the controlled merge queue trial' (#489) from feature/proposal-status-20261012 into main
|
||||
- 归档:仅本轮获授权的三张卡由此闭合 PR 移至 `.task/archive/`;原始过程收据保留。
|
||||
+8
-2
@@ -1,6 +1,6 @@
|
||||
# feature/rdm-audit-export-entry 任务卡
|
||||
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/488;状态:进行中;owner:weichen
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/488;状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:Frontend #73 和 RDM #301 已由Root实际合入并核验相同树,父仓已在 `mq-dev-20261014-488-01` 窗口将 `f00165e8d71e4dc8ba0ceb7dc50c1a8a3deb6d60` 同步进候选;源码实现与真实组件能力的最终父仓PR尚未推送/合入。
|
||||
- 验证:本卡原样导入启动、恢复、正式 `task-sync`、`make test` 和隔离浏览器试验的完整 SELF 收据。`make test` 本地退出0;RDM `ef5100a020abdd8ba8712c3d15c04c28bcac6e84`/Frontend `5313cfad4e633d0909ed40dcdfa28a11bc1902c0`/Backend `5d5fc9891c0eb8994545ccb8b740535d9b99fb0e` 的临时隔离链路在最新运行中七个浏览器用例退出0,包含真实导出、下载与普通基座缺能力。Frontend组件有独立REPLAY,RDM组件有独立REPLAY/GATE;本父仓固定最终 HEAD 的三项CI仍为 NOT_RUN,不能以本地SELF代替。
|
||||
@@ -597,3 +597,9 @@
|
||||
"receipt_sha256": "28b61221931b60fdae3cb4a6558e0b66d2452ba567ce058aeafc9b39b39efe7f"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(受控试行回填)
|
||||
|
||||
- 依据:PR #488 由当前智能体合入为 `d852c159b6b3387a2f418a42ab6d3696ac873d01`,该提交已包含于 `origin/main`;原始主 PR、Review 和精确 HEAD GATE 见任务主记录与 Dev 调度 Issue #518。
|
||||
- 合并主题:Merge pull request 'Deliver RDM audit export in the controlled integration window' (#488) from feature/rdm-audit-export-entry into main
|
||||
- 归档:仅本轮获授权的三张卡由此闭合 PR 移至 `.task/archive/`;原始过程收据保留。
|
||||
@@ -1,6 +1,6 @@
|
||||
# feature/u7-account-tx-audit 任务卡
|
||||
|
||||
任务主记录:PR #486 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/486;Backend PR #185 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Backend/pulls/185;状态:进行中;owner:weichen
|
||||
任务主记录:PR #486 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/486;Backend PR #185 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Backend/pulls/185;状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:Backend #185 已在固定组件 head `a4e33f192fbf5aa7ac6196b8ea1fcabc8832bd1d` 上完成独立 REPLAY 和 GATE,Root 实际合入为 `8e80e2618eb7471dd12d5f172ff3cd23622b7d2f`;Dev #486 已真实同步到 base `d852c159b6b3387a2f418a42ab6d3696ac873d01`,各组件指针未回退。
|
||||
- 验证:SELF `make test`(340 项治理用例、Frontend 263、UI 162 及各 Go 组件)、隔离 PostgreSQL/Redis `make test-backend-pg`、`make build` 均 exit 0;完整原始命令与输出由上方 `make evidence` 收据保存。Backend GATE run3062/job4637 成功;Dev 最终 HEAD GATE 与父仓独立复审仍 NOT_RUN。
|
||||
@@ -325,3 +325,9 @@
|
||||
"receipt_sha256": "62932a74effaf4baef5d251cf0b2dcad71c3efe978422fce9ad50ad1223be3c2"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(受控试行回填)
|
||||
|
||||
- 依据:PR #486 由当前智能体合入为 `05b997b84db26c517604c48d12676f0eb2b86e18`,该提交已包含于 `origin/main`;原始主 PR、Review 和精确 HEAD GATE 见任务主记录与 Dev 调度 Issue #518。
|
||||
- 合并主题:Merge pull request 'Deliver U7 account transactions on the current combination' (#486) from feature/u7-account-tx-audit into main
|
||||
- 归档:仅本轮获授权的三张卡由此闭合 PR 移至 `.task/archive/`;原始过程收据保留。
|
||||
+4
-2
@@ -57,7 +57,9 @@ cmd_precheck() {
|
||||
pb=$(card_of_branch "$pc"); [ -n "$pb" ] || continue
|
||||
pst=$(card_status "$pc"); case "$pst" in 已完成*) continue ;; esac
|
||||
card_pending "${pc##*/}" && continue
|
||||
if git log --merges --format='%s' "origin/${TARGET_BRANCH}" 2>/dev/null | grep -qF " from $pb into ${TARGET_BRANCH}"; then
|
||||
# Consume the complete producer output: grep -q exits on the first match,
|
||||
# making git log die with SIGPIPE (141 under pipefail) on long histories.
|
||||
if git log --merges --format='%s' "origin/${TARGET_BRANCH}" 2>/dev/null | grep -F " from $pb into ${TARGET_BRANCH}" >/dev/null; then
|
||||
open_cards="${open_cards} ${pc##*/}"
|
||||
fi
|
||||
done
|
||||
@@ -379,7 +381,7 @@ card_of_branch() { sed -n 's/^- 工作区:.*分支:\([A-Za-z0-9._/-]\+\).*/\
|
||||
card_status() { sed -n 's/^.*;状态:\([^;]*\).*/\1/p' "$1" | head -1; }
|
||||
card_merge() { # $1=branch → "sha|subject"(该分支合入 origin/<target> 的合并提交)
|
||||
git log --merges --format='%H|%s' "origin/${TARGET_BRANCH}" 2>/dev/null \
|
||||
| grep -F " from $1 into ${TARGET_BRANCH}" | head -1
|
||||
| grep -F " from $1 into ${TARGET_BRANCH}" | sed -n '1p'
|
||||
}
|
||||
card_pending() { # $1=卡片文件名——闭合是否已在某 origin/feature/card-close-* 分支待合入
|
||||
local cb
|
||||
|
||||
@@ -758,6 +758,35 @@ class TaskLifecycleTests(unittest.TestCase):
|
||||
self.git(publisher, "push", "origin", "main")
|
||||
return self.git(publisher, "rev-parse", "HEAD").stdout.strip(), card.read_text()
|
||||
|
||||
def test_long_merge_history_keeps_merged_card_visible_and_closable(self):
|
||||
# A recent match makes grep -q/head exit before git log has finished
|
||||
# writing a large history. With pipefail, its SIGPIPE used to hide the
|
||||
# card from precheck and leave task-close with nothing to archive.
|
||||
base = self.git(self.repo, "rev-parse", "HEAD").stdout.strip()
|
||||
tree = self.git(self.repo, "rev-parse", "HEAD^{tree}").stdout.strip()
|
||||
side = self.git(self.repo, "commit-tree", tree, "-p", base,
|
||||
"-m", "Fixture side commit").stdout.strip()
|
||||
tip = base
|
||||
for i in range(220):
|
||||
tip = self.git(self.repo, "commit-tree", tree, "-p", tip, "-p", side,
|
||||
"-m", f"Older fixture merge {i} " + "x" * 512).stdout.strip()
|
||||
self.git(self.repo, "update-ref", "refs/heads/main", tip)
|
||||
self.git(self.repo, "push", "origin", "main")
|
||||
actual_merge, _ = self.publish_merged_task()
|
||||
self.git(self.repo, "fetch", "origin")
|
||||
self.git(self.repo, "merge", "--ff-only", "origin/main")
|
||||
|
||||
precheck = self.task(self.repo, "precheck")
|
||||
self.assertIn("[cards] 已合入未闭合任务卡:feature-merged.md", precheck.stdout)
|
||||
closed = self.task(self.repo, "close")
|
||||
self.assertIn("[closed] 1 张已合入卡片", closed.stdout)
|
||||
refs = self.git(self.repo, "for-each-ref", "--format=%(refname:short)",
|
||||
"refs/heads/feature/card-close-*").stdout.splitlines()
|
||||
self.assertEqual(len(refs), 1)
|
||||
archived = self.git(self.repo, "show", f"{refs[0]}:.task/archive/feature-merged.md").stdout
|
||||
self.assertIn("状态:已完成(回填)", archived)
|
||||
self.assertIn(actual_merge, archived)
|
||||
|
||||
def assert_post_merge_only_reminds_owner(self, operation):
|
||||
expected_head, expected_card = self.publish_merged_task()
|
||||
self.git(self.repo, "fetch", "origin")
|
||||
|
||||
Reference in New Issue
Block a user