Merge authoritative main into the task branch
Why: include the current integration baseline before verification. Evidence: fetched origin/main=d23fb4363dcc0a206e71e47f9cd23a644c7e1c70. Impact: integrate upstream changes without rewriting task history. Refs: task-sync
This commit is contained in:
+8
-2
@@ -1,6 +1,6 @@
|
||||
# feature/fast-slow-display-design 任务卡
|
||||
|
||||
任务主记录:modules/documents/docs/proposals/2026-10-12-fast-slow-channel-display.md r1.1;状态:方案设计已批准,U1 实施计划待批;owner:weichen
|
||||
任务主记录:PR #451 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/451(merge b56ad1b068);状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:主记录升至 r1.1(R03 切分 + U1 出口白名单);U1 实施计划 r1 已写入 Documents;PROJECT.md 与 INDEX 已关联;阶段 1–4 记为通过
|
||||
- 验证:源码核对及文档检查仅为 SELF;业务测试、真实模型、浏览器、CI、部署验收 NOT_RUN
|
||||
@@ -394,3 +394,9 @@
|
||||
"receipt_sha256": "0694b69d03d960ea6869852da3ce41378f48d4e84b77571f6895b8af3b70699d"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(card-autoclose 回填)
|
||||
|
||||
- 依据:merge b56ad1b06810c48bbf25d959d1b5d60713c4c489(PR #451)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
|
||||
- 合并主题:Merge pull request 'Record fast-slow display design r1.1 approval and docs pin' (#451) from feature/fast-slow-display-design into main
|
||||
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
|
||||
+8
-2
@@ -1,6 +1,6 @@
|
||||
# feature/fast-slow-display-u1 任务卡
|
||||
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/452 ;状态:待审(已推送/已建 PR);owner:weichen
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/452 ;状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:U1 代码已推送并建 PR;设计文档分仓 PR 已建;未合入
|
||||
- 验证:SELF 组件测试与 build 通过(见 evidence 收据);完整 make test 本机治理 svc 环境失败不阻塞建 PR;GATE=PR CI NOT_RUN 待 CI
|
||||
@@ -319,3 +319,9 @@
|
||||
"receipt_sha256": "9bb795f780f759551453f30a2a74a31cc6a61b5a2afdd5e5fc14240f11592cb3"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(card-autoclose 回填)
|
||||
|
||||
- 依据:merge 85fedb803b1a5ad41d4f747efbc1ec5f08eb4b47(PR #452)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
|
||||
- 合并主题:Merge pull request 'Pin Core Backend UI Frontend for fast-slow display U1' (#452) from feature/fast-slow-display-u1 into main
|
||||
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
|
||||
+8
-2
@@ -1,6 +1,6 @@
|
||||
# feature/svc-account-durability-plan 任务卡
|
||||
|
||||
任务主记录:Documents https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/87 ;Dev PR 待建;状态:进行中(首切片:账户帮助可发现性);owner:weichen
|
||||
任务主记录:Documents https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/87 ;Dev PR 待建;状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:
|
||||
- 验证:<结论摘要 PASS/FAIL/SKIP/NOT_RUN 逐项;逐条证据由 make evidence 写入上方证据表>
|
||||
@@ -557,3 +557,9 @@
|
||||
"receipt_sha256": "cbdb4c02332818175f2aa2137a31f23e28bd0a74485812a0255944292e158a51"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(card-autoclose 回填)
|
||||
|
||||
- 依据:merge 9bbb72bd634a7ed732121e2cb353e8d39b2559bd(PR #469)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
|
||||
- 合并主题:Merge pull request 'Add accounts help topic and pin durability plan docs' (#469) from feature/svc-account-durability-plan into main
|
||||
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
|
||||
@@ -1,6 +1,6 @@
|
||||
# feature/svc-pidcheck-leak 任务卡
|
||||
|
||||
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/457 ;状态:进行中;owner:weichen
|
||||
任务主记录:PR #457 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/457(merge 226a4af157);状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
| ID | 描述 | 项目符合度及依据 | 优先级 | 验收条件 | 依赖 | 结论 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| R1 | 批量 update 跨服务不得泄漏 SVC_PIDCHECK | env_config 已重置 DB_*,同理须重置 pid 校验态;与 reclaim_own_port(#456)互补 | P0 | 两服务均在跑时 `update a b` 成功;第二服务旧进程停止;history 有 stop | 无 | 已实现 |
|
||||
| R2 | 合入后恢复三失败服务;rdmcand 独立 data | 现场孤儿 + 误挂 dev/data | P0 | list 四服务运行中;rdmcand exec data=rdmcand/data | R1 合入 | 待合入后 |
|
||||
| R2 | 合入后恢复三失败服务;rdmcand 独立 data | 现场孤儿 + 误挂 dev/data | P0 | list 四服务运行中;rdmcand exec data=rdmcand/data | R1 合入 | 已实现并现场核验 |
|
||||
|
||||
## 方案与计划
|
||||
|
||||
@@ -70,11 +70,11 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:
|
||||
- 验证:<结论摘要 PASS/FAIL/SKIP/NOT_RUN 逐项;逐条证据由 make evidence 写入上方证据表>
|
||||
- 影响与剩余项:
|
||||
- 结果:R1 PASS——env_config 按实例清空 SVC_PIDCHECK/SVC_EXEC/SVC_VERSION/SVC_SOURCE,批量 update 不再跨服务泄漏 pidcheck 态;随 PR #457 合入 main(226a4af157)。R2 PASS——genui/rdm1/rdmcand 恢复运行,rdmcand 使用独立 data。
|
||||
- 验证:R1 SELF=卡内 2026-10-12 两行 test-governance 收据(207 tests OK,含 test_env_config_resets_pidcheck_runtime_state 与 batch update 回归);R1 合入已核实 226a4af157 为 origin/main 祖先(合并前 CI 未重放)。R2 SELF 实测 2026-10-14:`make svc-list` 四服务运行中;`make svc-info ARGS="rdmcand --reveal"` exec `--data …/runtime/rdmcand/data`(非 dev/data)。收据:/tmp/svc-list-verify-20261014T072236.json、/tmp/svc-info-rdmcand-verify-20261014T072259.json。
|
||||
- 影响与剩余项:无未结事项。
|
||||
|
||||
## 规划进展与下一步
|
||||
|
||||
@@ -88,8 +88,8 @@
|
||||
|
||||
## 合入与清理
|
||||
|
||||
- 合入记录:NOT_RUN(授权依据、PR、合入 SHA、验证来源)
|
||||
- 清理记录:NOT_RUN(授权依据、写者退出确认、worktree/分支/任务卡处置)
|
||||
- 合入记录:PR #457("Reset per-service runtime state in svc.sh env_config")以 squash 落地 226a4af15791b8100528c9d9a31c68a32c4781d1,2026-10-12T09:39:31Z 合入 main(已核祖先关系)。
|
||||
- 清理记录:任务 worktree 与分支 feature/svc-pidcheck-leak 均已不在(2026-10-14 核对 worktree 列表与本地/远端引用);任务卡经本次闭合移入 .task/archive/。
|
||||
|
||||
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
|
||||
```json
|
||||
@@ -169,3 +169,9 @@
|
||||
```
|
||||
| 同步前验收 | 2723e452440fc11022c0f6d916cd34cc4cd17335 | 83c4ee2430b841e537178f2cbdfe0b0ec9462730 | 2026-10-12T09:28:24Z |
|
||||
| 同步前验收 | 2723e452440fc11022c0f6d916cd34cc4cd17335 | c7364ed97152d3107f585215468c1a70aa340918 | 2026-10-12T09:33:19Z |
|
||||
|
||||
## 闭合记录(手动回填)
|
||||
|
||||
- 依据:merge 226a4af15791b8100528c9d9a31c68a32c4781d1(PR #457)已包含于 origin/main,分支成果已落盘。
|
||||
- 方式说明:#457 以 squash 落地,main 上无 "from feature/svc-pidcheck-leak into main" 形态合并提交,task-close 的 card_merge 未自动识别(工具缺口,另行登记);本次闭合为手动回填,授权:用户 2026-10-14 会话「继续,把任务收尾」;R2 现场核验见「结果与验证」。
|
||||
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
|
||||
@@ -1,6 +1,6 @@
|
||||
# fix/surface-list-hydrate 任务卡
|
||||
|
||||
任务主记录:<PR 链接,交付前填写>;状态:进行中;owner:weichen
|
||||
任务主记录:PR #454 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/454(merge 1dece88ab0);状态:已完成(回填);owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证(完成后填写)
|
||||
## 结果与验证
|
||||
|
||||
- 结果:
|
||||
- 验证:<结论摘要 PASS/FAIL/SKIP/NOT_RUN 逐项;逐条证据由 make evidence 写入上方证据表>
|
||||
@@ -241,3 +241,9 @@
|
||||
"receipt_sha256": "2b3095dcb48e3da9dc0428546729591ee61d41847c786429873d8241430bc5bf"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(card-autoclose 回填)
|
||||
|
||||
- 依据:merge 1dece88ab0eb6bbeab0ddfb4c7c57c2a7752d248(PR #454)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
|
||||
- 合并主题:Merge pull request 'Fix surface list hydrate black screen on refresh' (#454) from fix/surface-list-hydrate into main
|
||||
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
|
||||
+6
-6
@@ -10,9 +10,9 @@
|
||||
|
||||
| ID | 事实 | 验证命令 | last_verified | TTL(天) |
|
||||
|---|---|---|---|---|
|
||||
| F1 | Gitea Web/API 可达:https://git-home.u1680832.nyat.app:30319(1.27.3) | `curl -fsS -m 10 https://git-home.u1680832.nyat.app:30319/api/v1/version` | 2026-10-05 | 30 |
|
||||
| F2 | API token 存在且可用(值在 ~/.secrets/gitea,文件为 markdown 列表格式 `- ACCESS_TOKEN=…`,不入仓不回显) | `t=$(sed -n "s/^[ -]*ACCESS_TOKEN=//p" ~/.secrets/gitea); test -n "$t" && curl -fsS -m 10 -o /dev/null -H "Authorization: token $t" https://git-home.u1680832.nyat.app:30319/api/v1/user` | 2026-10-05 | 30 |
|
||||
| F3 | Git over SSH 可达:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/<Repo>.git(key ~/.ssh/home_gitea) | `GIT_SSH_COMMAND="ssh -i ~/.ssh/home_gitea -o BatchMode=yes" git ls-remote ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Development-Guidelines.git HEAD` | 2026-10-05 | 30 |
|
||||
| F4 | 旧端点 git-panel.u1680832.nyat.app:30319 已失效(TLS 握手失败),不得使用 | `! curl -fsS -m 8 https://git-panel.u1680832.nyat.app:30319/api/v1/version` | 2026-10-05 | 180 |
|
||||
| F5 | 基座 users 表存有姓名(name 列,CreateAccount/ListUsersAdmin 读写;EXT-19 目录自 P3 起向授权管理读面下发) | `cd modules/backend && go test ./internal/app/ -run TestInprocHostSearchAccounts -count=1` | 2026-10-13 | 180 |
|
||||
| F6 | 基座账号无停用位(users 表无 disabled;EXT-19 Valid 恒为存在性)——停用机制未实现,不得当已具备 | `cd modules/backend && grep -rn "disabled\|Disabled" internal/store/auth.go pkg/extension/extension.go` | 2026-10-13 | 180 |
|
||||
| F1 | Gitea Web/API 可达:https://git-home.u1680832.nyat.app:30319(1.27.3) | `curl -fsS -m 10 https://git-home.u1680832.nyat.app:30319/api/v1/version` | 2026-10-14 | 30 |
|
||||
| F2 | API token 存在且可用(值在 ~/.secrets/gitea,HOME/IMC 两段各一组 `- ACCESS_TOKEN=…`,本条取 HOME 段;不入仓不回显) | `t=$(awk '/^HOME:/{h=1;next} /^IMC:/{h=0} h&&sub(/^- ACCESS_TOKEN=/,""){print;exit}' ~/.secrets/gitea); test -n "$t" && curl -fsS -m 10 -o /dev/null -H "Authorization: token $t" https://git-home.u1680832.nyat.app:30319/api/v1/user` | 2026-10-14 | 30 |
|
||||
| F3 | Git over SSH 可达:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/<Repo>.git(key ~/.ssh/home_gitea) | `GIT_SSH_COMMAND="ssh -i ~/.ssh/home_gitea -o BatchMode=yes" git ls-remote ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Development-Guidelines.git HEAD` | 2026-10-14 | 30 |
|
||||
| F4 | 旧端点 git-panel.u1680832.nyat.app:30319 已失效(TLS 握手失败),不得使用 | `! curl -fsS -m 8 https://git-panel.u1680832.nyat.app:30319/api/v1/version` | 2026-10-14 | 180 |
|
||||
| F5 | 基座 users 表存有姓名(name 列,CreateAccount/ListUsersAdmin 读写;EXT-19 目录自 P3 起向授权管理读面下发) | `cd modules/backend && go test ./internal/app/ -run TestInprocHostSearchAccounts -count=1` | 2026-10-14 | 180 |
|
||||
| F6 | 基座账号无停用位(users 表无 disabled;EXT-19 Valid 恒为存在性)——停用机制未实现,不得当已具备 | `cd modules/backend && ! grep -rn -e disabled -e Disabled internal/store/auth.go pkg/extension/extension.go` | 2026-10-14 | 180 |
|
||||
|
||||
+4
-1
@@ -91,7 +91,10 @@ cmd_precheck() {
|
||||
# [facts] 外部事实登记表过期项(policy/facts.md;引用前先跑其验证命令,AGENTS.md 证据与验证门禁)。
|
||||
if [ -f policy/facts.md ]; then
|
||||
local fid lv ttl expired="" ftotal=0
|
||||
while IFS='|' read -r _ fid _ _ lv ttl _; do
|
||||
while read -r factline; do
|
||||
# 单元格内转义竖线(\|)先中和,与 facts-verify 的还原约定一致,避免命令列把日期列顶偏
|
||||
factline=${factline//\\|/$'\x01'}
|
||||
IFS='|' read -r _ fid _ _ lv ttl _ <<<"$factline"
|
||||
fid=$(echo "${fid:-}" | tr -d ' '); case "$fid" in F[0-9]*) ;; *) continue ;; esac
|
||||
ftotal=$((ftotal+1))
|
||||
lv=$(echo "$lv" | tr -d ' '); ttl=$(echo "$ttl" | tr -d ' ')
|
||||
|
||||
@@ -120,6 +120,21 @@ class TaskLifecycleTests(unittest.TestCase):
|
||||
reading = next(line for line in result.stdout.splitlines() if line.startswith("[required-reading]"))
|
||||
self.assertIn("policy/delivery.md", reading)
|
||||
|
||||
def test_precheck_facts_row_with_escaped_pipe_stays_fresh(self):
|
||||
facts = self.repo / "policy/facts.md"
|
||||
facts.parent.mkdir(exist_ok=True)
|
||||
facts.write_text(
|
||||
"| ID | 事实 | 验证命令 | last_verified | TTL(天) |\n"
|
||||
"|---|---|---|---|---|\n"
|
||||
"| F1 | 含转义竖线的验证命令 | `echo a\\|b` | 2026-10-13 | 9999 |\n"
|
||||
)
|
||||
self.git(self.repo, "add", "policy")
|
||||
self.git(self.repo, "commit", "-m", "Add facts registry with escaped pipe")
|
||||
result = self.task(self.repo, "precheck")
|
||||
line = next(l for l in result.stdout.splitlines() if l.startswith("[facts]"))
|
||||
self.assertIn("均在有效期内", line)
|
||||
self.assertNotIn("日期格式", line)
|
||||
|
||||
def test_sync_same_base_preserves_head_and_card(self):
|
||||
wt = self.worktree()
|
||||
card = self.record_task_card(wt)
|
||||
|
||||
Reference in New Issue
Block a user