问题
IR-0006 统一证据账本(期望变化 3 / AC-4 / 卡 #430 「butler/drill 影子双写」)的 butler 源不可用 :butler-ledger 分支从未成功创建,evidence-query.sh 第 3 源(butler)恒 0 条。独立复现:
根因(代码证据)
.github/.gitignore 第 14 行忽略本地影子文件(持久化真源在 *-ledger 分支,设计正确),但但书写入路径未按同仓先例加 -f :
# .gitignore
governance/butler/shadow-evidence.jsonl # 第 14 行
governance/feishu/shadow-evidence.jsonl
governance/env/shadow-evidence.jsonl
governance/feedback/shadow-evidence.jsonl
# .github/workflows/butler-reconcile.yml:80 —— 缺 -f → git add 被 ignore 拦截,exit 1
git -C ledger add " $SHADOW "
对比同仓其他 *-ledger 写路径均正确使用 -f:
feishu-drill.yml:82 git -C ledger add -f "$SHADOW"(fix: feishu-drill 账本 add 加 -f(W3-F1 实测缺陷之二) #449 正是为此加的 -f)
env-drift.yml:133 git -C ledger add -f "$SHADOW"
feedback-edge.yml:70 git -C ledger add -f "$SHADOW"
(elevation/drill 影子文件不在 .gitignore,故无 -f 也可)
#474 「五连修」只补了 mkdir -p "$(dirname "$BASE")"(修复目录缺位),未补 -f——修复不完整,butler 源仍然恒 0。
影响
IR-0006 期望变化 3「三源事件可按同一 schema 查询」(metering/butler/drill)中 butler 源缺失;acceptance.md 声称「evidence-query.sh 七源一条命令」,实测 only 六源有数。
卡 feat: butler/drill 影子双写 + 三源统一查询(W1-B2 后半,IR-0006) #430 (W1-B2 butler/drill 影子双写)只完成 drill 半边。
但书审计事件(butler-audit.sh 发射)丢失——AUDIT 行仅存在于 runner 临时 shadow,从未持久化。
建议修复
butler-reconcile.yml:80 改为 git -C ledger add -f "$SHADOW"(同 #449 feishu 先例,squash 后 1 行变更);并建议补一条但书双写的离线断言(test-butler 类:gitignore 中文件被 add 时必须 -f),防同款回归。
关联
问题
IR-0006 统一证据账本(期望变化 3 / AC-4 / 卡 #430「butler/drill 影子双写」)的 butler 源不可用:
butler-ledger分支从未成功创建,evidence-query.sh第 3 源(butler)恒 0 条。独立复现:evidence-query.sh七源实测(2026-08-30,token=owner PAT):by_source: {butler: 0, drill: 1, elevation: 5, env: 3, feishu: 9, metering: 1, tickets: 4},total 23——唯一缺 butler。butler-ledger分支不存在(APIbranches/butler-ledger→ Branch not found);governance/butler/shadow-evidence.jsonl从未落盘。ledger/governance/butler/shadow-evidence.jsonl: No such file or directory(目录缺位)根因(代码证据)
.github/.gitignore第 14 行忽略本地影子文件(持久化真源在 *-ledger 分支,设计正确),但但书写入路径未按同仓先例加-f:对比同仓其他 *-ledger 写路径均正确使用
-f:feishu-drill.yml:82git -C ledger add -f "$SHADOW"(fix: feishu-drill 账本 add 加 -f(W3-F1 实测缺陷之二) #449 正是为此加的 -f)env-drift.yml:133git -C ledger add -f "$SHADOW"feedback-edge.yml:70git -C ledger add -f "$SHADOW"#474「五连修」只补了
mkdir -p "$(dirname "$BASE")"(修复目录缺位),未补-f——修复不完整,butler 源仍然恒 0。影响
建议修复
butler-reconcile.yml:80改为git -C ledger add -f "$SHADOW"(同 #449 feishu 先例,squash 后 1 行变更);并建议补一条但书双写的离线断言(test-butler 类:gitignore 中文件被 add 时必须 -f),防同款回归。关联