Files
val-blog/org/pilot/EVIDENCE_FAILURE_LOOP.md
T

4.0 KiB
Raw Blame History

EVIDENCE_FAILURE_LOOP|“失败先刑部后重开”最小演练留痕

  • 演练时间:2026-03-08 12:23:49 CST
  • 责任角色:刑部(Justice Agent
  • 目标:构造一次可控失败,并完整记录“失败发现 → 刑部介入 → 根因定位 → 修复 → 重开验证”闭环。

1) 最小失败场景设计

采用 org/pilot/checks.sh 的副本作为演练脚本:

  • 基线脚本:org/pilot/checks.sh(正常通过)
  • 演练脚本:org/pilot/checks_failure_demo.sh

故意注入失败点(CHECK-2):

  • 将 grep 关键字从 可验证的真实协同证据包 改为 故意不存在的关键语句
  • 预期结果:CHECK-2 失败,脚本以非零退出。

2) 全链路记录

A. 失败发现

执行演练脚本(第一次):

bash org/pilot/checks_failure_demo.sh > org/pilot/FAILURE_DEMO_OUTPUT_1.txt 2>&1
echo $? > org/pilot/FAILURE_DEMO_EXIT_1.txt
cat org/pilot/FAILURE_DEMO_EXIT_1.txt

输出摘录:

1
[CHECK-1] 核验关键输入文档存在
PASS: 输入文档存在
[CHECK-2] 核验证据文件存在且包含关键语句

判定:在 CHECK-2 处中断,符合“最小失败”预期。

B. 刑部介入

刑部接管后执行“证据化定位”:

  1. 对比演练脚本 CHECK-2 关键行;
  2. 检查目标证据文件实际存在的关键语句。

C. 根因定位

定位命令与输出:

nl -ba org/pilot/checks_failure_demo.sh | sed -n '8,16p'
grep -n "可验证的真实协同证据包\|故意不存在的关键语句" org/pilot/EXECUTION_EVIDENCE.md

输出摘录:

11  echo "[CHECK-2] 核验证据文件存在且包含关键语句"
12  test -f org/pilot/EXECUTION_EVIDENCE.md
13  grep -q "故意不存在的关键语句" org/pilot/EXECUTION_EVIDENCE.md
36:> 说明:本证据包目标为“可验证的真实协同证据包”,所有结论均可由上述文件与命令复验。

根因结论:

  • 演练脚本 CHECK-2 使用了不存在的匹配串,导致 grep -q 返回 1。
  • 属于“检查规则与目标文本不一致”导致的可复现实验性失败。

D. 修复动作

将错误关键字恢复为正确关键字:

sed -i '' 's/故意不存在的关键语句/可验证的真实协同证据包/' org/pilot/checks_failure_demo.sh

E. 重开验证

执行修复后脚本(第二次):

bash org/pilot/checks_failure_demo.sh > org/pilot/FAILURE_DEMO_OUTPUT_2.txt 2>&1
echo $? > org/pilot/FAILURE_DEMO_EXIT_2.txt
cat org/pilot/FAILURE_DEMO_EXIT_2.txt

输出摘录:

0
[CHECK-1] 核验关键输入文档存在
PASS: 输入文档存在
[CHECK-2] 核验证据文件存在且包含关键语句
PASS: 证据文件存在且包含关键语句
[CHECK-3] 核验日志目录存在(历史执行痕迹)
PASS: org/logs 目录存在
[CHECK-4] 核验本校验脚本具有可执行权限
PASS: checks.sh 可执行
ALL CHECKS PASSED

重开结论:修复生效,演练闭环完成。


3) 可复验清单(关键命令)

# 1) 构造失败版脚本(若需重演)
cp org/pilot/checks.sh org/pilot/checks_failure_demo.sh
chmod +x org/pilot/checks_failure_demo.sh
sed -i '' 's/可验证的真实协同证据包/故意不存在的关键语句/' org/pilot/checks_failure_demo.sh

# 2) 失败执行
bash org/pilot/checks_failure_demo.sh > org/pilot/FAILURE_DEMO_OUTPUT_1.txt 2>&1; echo $? > org/pilot/FAILURE_DEMO_EXIT_1.txt

# 3) 根因定位
nl -ba org/pilot/checks_failure_demo.sh | sed -n '8,16p'
grep -n "可验证的真实协同证据包\|故意不存在的关键语句" org/pilot/EXECUTION_EVIDENCE.md

# 4) 修复并重开
sed -i '' 's/故意不存在的关键语句/可验证的真实协同证据包/' org/pilot/checks_failure_demo.sh
bash org/pilot/checks_failure_demo.sh > org/pilot/FAILURE_DEMO_OUTPUT_2.txt 2>&1; echo $? > org/pilot/FAILURE_DEMO_EXIT_2.txt

4) 结果

本次“失败先刑部后重开”最小演练已完成,具备:

  • 明确失败注入点
  • 完整处置链路
  • 可复验命令与输出摘录
  • 修复后通过验证结论