Files
Agent-System-Dev/scripts/hooks/post-merge
T
weichen b84667a697 Close review gaps in cleanup and evidence handling
Why: independent review found shared submodule metadata risk, quoted header leakage, stale JSON receipt blindness and missing abandon coverage.

Evidence: SELF 92 governance regressions pass; the original review receipt and replay output are recorded in the task card.

Impact: preserves external component worktrees, handles both evidence formats and adds targeted failure-path coverage; no product behavior changes.

Refs: .task/feature-governance-reliability.md; .task/reviews/governance-reliability.json
2026-10-05 13:07:10 +00:00

16 lines
994 B
Bash
Executable File

#!/usr/bin/env bash
# 本地钩子(post-merge):pull/merge 落地后尝试闭合已合入任务卡;ff-only 也会触发。
# precheck [cards] 报告欠账,所有者可用 make task-close 手动兜底。
# 触发条件收紧到"主检出 + 集成分支 main"——任务 worktree 里 task-sync 的 merge 不触发,
# 防止把卡片闭合混进任务分支现场。失败只警告,绝不阻断 pull。
# 注意:task.sh close 在主检出会另建 feature/card-close-* 分支提交(集成分支不直推),
# 结束后切回 main;PR 由所有者合入。
common=$(git rev-parse --git-common-dir) && common=$(cd "$common" 2>/dev/null && pwd) || exit 0
mainrepo=$(dirname "$common")
[ "$mainrepo" = "$PWD" ] || exit 0
[ "$(git rev-parse --abbrev-ref HEAD)" = "main" ] || exit 0
[ -f "$mainrepo/scripts/task.sh" ] || exit 0
bash "$mainrepo/scripts/task.sh" close \
|| echo "[warn] post-merge 卡片自动闭合失败——在主检出手动运行 make task-close" >&2
exit 0