diff --git a/.task/fix-svc-pipefail-early-exit-pipes.md b/.task/archive/fix-svc-pipefail-early-exit-pipes.md similarity index 95% rename from .task/fix-svc-pipefail-early-exit-pipes.md rename to .task/archive/fix-svc-pipefail-early-exit-pipes.md index 5f846c1c..32cc4f20 100644 --- a/.task/fix-svc-pipefail-early-exit-pipes.md +++ b/.task/archive/fix-svc-pipefail-early-exit-pipes.md @@ -1,6 +1,6 @@ # fix/svc-pipefail-early-exit-pipes 任务卡 -任务主记录:;状态:进行中;owner:weichen +任务主记录:PR #664 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/664;状态:已完成(合入前闭合);owner:weichen - 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 7e19cf3e182b566bdc48a7e690e44ff11b4ab33c - 工作区:/home/weichen/projects/Agent-System-Dev-wt-fix-svc-pipefail-early-exit-pipes(worktree);分支:fix/svc-pipefail-early-exit-pipes @@ -44,7 +44,7 @@ | 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) | |---|---|---|---|---|---| -## 结果与验证(完成后填写) +## 结果与验证 - 结果:6 个受管脚本中共 41 处早退读取器管道改为语义等价形态——变量入管道改 here-string(`grep -q PAT <<<"$var"`)、命令生产者改进程替换(`grep -q PAT < <(producer)`,二进制 `grep -qa` 亦走进程替换以避免 NUL 截断)、`sed … | head -1` 改 `sed -n '/re/{s//x/p;q;}'`;另新增 `tests/test_shell_pipe_hazard.py`(词法扫描管道末级 + 可失败的合成自检)。未使用 `|| true` / `set +o pipefail` 掩盖状态。 - 验证:PASS——行为对照 `/tmp/pipefail-demo-evidence-20261020.json`:旧式在 >64KiB 生产者下把命中分支错误地跳过,新式正确命中,小输入语义不变;dsn 提取新旧表达式在命中/未命中/值内含伪 dsn/文件缺失/多行匹配五种输入下逐一 MATCH(`/tmp/dsn-equiv-evidence-20261020.json`);6 个脚本 `bash -n` 全过;最终 HEAD 上守护测试 4 项 OK、`test_svc*.py` 213 项 OK(18 skipped)、`make test-governance` 518 项 OK(18 skipped)。真实故障参照:PR #657 修复前 Backend 组件索引 76386 字节、旧式管道 rc=141。 @@ -96,3 +96,9 @@ } ``` | 同步(记录前对象) | 6a7f008ed491e813d7f43fb013cb9542d849ff85 | ba4917e62bec2a4e149391f4f7535e6e937e4559 | 2026-10-20T15:48:20Z | + +## 闭合记录(合入前折叠) + +- 本卡在 PR #664(https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/664)合入前闭合并归档,随该 PR 一同合入。 +- 该 PR 的合并提交即本任务的落地记录。 +- 合入后无需回填,也无需单独的闭合 PR。