Why: the test-hygiene change needs its scope, the review verdict and the real-PostgreSQL evidence recorded before delivery. Evidence: /tmp/mi-diag-impl-r1-20261021.json: cursor, success (single file) /tmp/mi-diag-review-r1-20261021.json: pi-glm, success (PASS, 6 non-blocking) Real-PG runs: idle 15.1s and 96-load 17.4s, both ok (fsync=on cluster on 127.0.0.1:54331); the Backend fix is already in main via PR #237/#674. Impact: card metadata only; no behaviour change. Refs: PR #679; fix/multi-instance-test-failure-diagnostics
6.6 KiB
fix/multi-instance-test-failure-diagnostics 任务卡
任务主记录:<PR 链接,交付前填写>;状态:进行中;owner:weichen
-
权威仓:ssh://git@192.168.3.2:2222/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)=
5360884e92 -
工作区:/home/weichen/projects/Agent-System-Dev-wt-fix-multi-instance-test-failure-diagnostics(worktree);分支:fix/multi-instance-test-failure-diagnostics
-
分支类型:standalone;root_target:main;immediate_target:main;accepting_requirements:false
-
需求分流:verdict=NEW;selected_initiative=无;requirement_sha256=e2453ebdabc4cc9c61bb25a3535fbe7cf0d0fe687f2ea7bc565b799dcf0fcb6d;triage_receipt=/tmp/triage-mi-test-hygiene-20261021.json;receipt_sha256=4f0a610213a5f6363e303e7129cd09a630ae1a04acbaa5116635c804b2f7f56c
-
授权与交付终点:修复
tests/integration/multi-instance两处测试卫生缺陷(轮询静默超时、断言早于恢复视图),让失败直指真正原因。不得改 Backend 或任何生产代码(其根因已由 Backend PR #237 修复)、不得弱化断言、不得放大超时预算。 -
交付模式:goal-first(目标、范围和交付终点一次确认;范围内连续推进)
-
实施执行:agent-per-unit(配置:AGENT-EXECUTION.md)
-
合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入)
-
流程依据:仓库根目录 policy/delivery.md(归档后仍按仓库根目录定位)
目标与非目标
<预期结果、受影响入口/模块/契约;明确不做什么。>
Agent 实施收据
路由与 fail-stop 规则见根目录 AGENT-EXECUTION.md 与 policy/delivery.md;每次尝试一行,原始日志留在源码外收据路径。
| 单元 ID | 预期范围 | 配置摘要 | 角色 | 候选顺序 | attempt | CLI/模型 | 终态 | transport | fallback | 源码外收据路径 |
|---|---|---|---|---|---|---|---|---|---|---|
| 待定义 | — | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | — |
同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | 5360884e92 |
5360884e92 |
2026-10-21T12:07:32Z |
证据(Evidence)
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|---|
结果与验证(完成后填写)
- 结果:owner_crash_takeover 的 interrupted 轮询改为有界等待 + 显式失败(点名未观察到的 run 状态序列、轮询实例、实际耗时与预算、实例日志),未收口时不再落到后续 POST 的误导性 409;restart_invariants 在断言消息数之前新增「恢复视图」有界等待(存在 interrupted run 且无 pending/running/waiting_hitl),未恢复时给出点名判据的失败信息;其余
t.Fatal→t.Fatalf仅补失败信息,断言条件未变。新增runStatuses与e.instanceOf两个小helper 供等待条件与失败信息复用。 - 验证:PASS——真实 PostgreSQL(127.0.0.1:54331,fsync=on)下空闲机器 15.1s 通过、96 忙循环压满 32 核 17.4s 通过(新增失败路径未误触发);
gofmt/go vet干净;独立 Review(pi-glm,PASS 无阻塞项)报告.task/reviews/2026-10-21-mi-diagnostics-review.md,6 项非阻塞发现中第 1 项如实指出恢复视图判据的 interrupted 半边由历史 run 平凡满足(不检出 B 重启对账回归,但改动前同样不检出,覆盖无回退)。 - 影响与剩余项:不改生产代码、不弱化任何断言、未放大任何超时预算、包级
go test -timeout未动。Review 其余非阻塞项(busy 白名单对新增非终态 status 不设防、轮询只附 logA、instanceOf守卫不可达、顺序耦合、瞬态 5xx 即失败)均为既有共享弱点或死代码,不阻塞。
合入与清理
- Review 记录:PASS(独立会话 pi-glm / zai-coding-cn/glm-5.3-flash;base 5360884e9283d962caf945d944df05b5e5059177,head 232477b22f997bc4ab87b5983ae0b350f6ae4c43;报告
.task/reviews/2026-10-21-mi-diagnostics-review.md;无阻塞项,6 项非阻塞发现;重放依据:host 用真实 PG 在空闲与 96 负载两种条件下各跑一次多实例验收,均通过) - 冲突记录:NOT_RUN(一次交付前同步,0 提交 behind)
- CI 记录:NOT_RUN(当前 HEAD 完整 SHA、全部必需检查、运行链接、执行身份及 GATE 结果)
- 合入记录:NOT_RUN(交付授权范围、PR、被核验 HEAD、合入 SHA、目标分支及内容核验)
- 清理记录:NOT_RUN(授权依据、写者退出确认、worktree/分支/任务卡处置)
{
"summary_schema": 1,
"source": "SELF",
"timestamp": "2026-10-21T12:06:44.036919+00:00",
"command": "make precheck",
"exit_code": 0,
"cwd": "/home/weichen/projects/Agent-System-Dev",
"before_head": "5360884e9283d962caf945d944df05b5e5059177",
"after_head": "5360884e9283d962caf945d944df05b5e5059177",
"branch": "main",
"target_branch": "main",
"target_head": "5360884e9283d962caf945d944df05b5e5059177",
"root_target": "main",
"immediate_target": "main",
"before_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"after_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"output_tail": [
"[repo] branch=main head=5360884e92",
"[remote] origin/main=5360884e92 ahead=0 behind=0",
"[tree] clean submodules_drift=0 uninit=0",
"[worktrees] linked=3",
"[initiatives] local cards (not authoritative): none",
"[hooks] core.hooksPath=scripts/hooks(pre-commit/post-merge 实际接线)",
"[facts] policy/facts.md 6 条事实均在有效期内",
"[required-reading] core/baseline.md, workflows/delivery.md §1, policy/delivery.md",
"[R0] 5360884e92(完整:5360884e9283d962caf945d944df05b5e5059177)",
"[worktree] before-sync: recursive component checks passed",
"[verdict] READY — 保留本次 precheck receipt 后建任务工作区:PRECHECK_RECEIPT=/tmp/task-precheck.json make task-start NAME=feature/your-branch"
],
"output_sha256": "6a290a280e9e8ec5b78b7bf430d194dbe3a55fbbd9507b05b6c12899b01ceebb",
"receipt_sha256": "577c22f0e49c012c394aeb6dbcc188fbf681ab8315c5864da6da3d0ca62b90f8",
"receipt_path": "/home/weichen/.cache/agent-system-dev/evidence/577c22f0e49c012c394aeb6dbcc188fbf681ab8315c5864da6da3d0ca62b90f8.json"
}