142 lines
4.0 KiB
Markdown
142 lines
4.0 KiB
Markdown
# 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
|
||
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
|
||
```
|
||
|
||
输出摘录:
|
||
|
||
```text
|
||
1
|
||
```
|
||
|
||
```text
|
||
[CHECK-1] 核验关键输入文档存在
|
||
PASS: 输入文档存在
|
||
[CHECK-2] 核验证据文件存在且包含关键语句
|
||
```
|
||
|
||
判定:在 CHECK-2 处中断,符合“最小失败”预期。
|
||
|
||
### B. 刑部介入
|
||
刑部接管后执行“证据化定位”:
|
||
1. 对比演练脚本 CHECK-2 关键行;
|
||
2. 检查目标证据文件实际存在的关键语句。
|
||
|
||
### C. 根因定位
|
||
定位命令与输出:
|
||
|
||
```bash
|
||
nl -ba org/pilot/checks_failure_demo.sh | sed -n '8,16p'
|
||
grep -n "可验证的真实协同证据包\|故意不存在的关键语句" org/pilot/EXECUTION_EVIDENCE.md
|
||
```
|
||
|
||
输出摘录:
|
||
|
||
```text
|
||
11 echo "[CHECK-2] 核验证据文件存在且包含关键语句"
|
||
12 test -f org/pilot/EXECUTION_EVIDENCE.md
|
||
13 grep -q "故意不存在的关键语句" org/pilot/EXECUTION_EVIDENCE.md
|
||
```
|
||
|
||
```text
|
||
36:> 说明:本证据包目标为“可验证的真实协同证据包”,所有结论均可由上述文件与命令复验。
|
||
```
|
||
|
||
根因结论:
|
||
- 演练脚本 CHECK-2 使用了不存在的匹配串,导致 `grep -q` 返回 1。
|
||
- 属于“检查规则与目标文本不一致”导致的可复现实验性失败。
|
||
|
||
### D. 修复动作
|
||
将错误关键字恢复为正确关键字:
|
||
|
||
```bash
|
||
sed -i '' 's/故意不存在的关键语句/可验证的真实协同证据包/' org/pilot/checks_failure_demo.sh
|
||
```
|
||
|
||
### E. 重开验证
|
||
执行修复后脚本(第二次):
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
输出摘录:
|
||
|
||
```text
|
||
0
|
||
```
|
||
|
||
```text
|
||
[CHECK-1] 核验关键输入文档存在
|
||
PASS: 输入文档存在
|
||
[CHECK-2] 核验证据文件存在且包含关键语句
|
||
PASS: 证据文件存在且包含关键语句
|
||
[CHECK-3] 核验日志目录存在(历史执行痕迹)
|
||
PASS: org/logs 目录存在
|
||
[CHECK-4] 核验本校验脚本具有可执行权限
|
||
PASS: checks.sh 可执行
|
||
ALL CHECKS PASSED
|
||
```
|
||
|
||
重开结论:修复生效,演练闭环完成。
|
||
|
||
---
|
||
|
||
## 3) 可复验清单(关键命令)
|
||
|
||
```bash
|
||
# 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) 结果
|
||
|
||
本次“失败先刑部后重开”最小演练已完成,具备:
|
||
- 明确失败注入点
|
||
- 完整处置链路
|
||
- 可复验命令与输出摘录
|
||
- 修复后通过验证结论
|