From 60ac5674271f17099fb82cf820d3b4b9351e704b Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Mon, 31 Aug 2026 04:12:36 +0000 Subject: [PATCH] agents: the ancestor check prints nothing on success -- add the echo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sylpheed-port found this in their own §6 and it is in mine identically. I stated the pass condition as 'exit 0' but left the command silent, so a reader running it as written sees an empty line and cannot tell success from failure. Worse than a number without a pass condition, because there is no number. Now carries '; echo $?' and says why. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- docs/agents/MERGE-STATE.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/agents/MERGE-STATE.md b/docs/agents/MERGE-STATE.md index 13be005c..1a8ff8f6 100644 --- a/docs/agents/MERGE-STATE.md +++ b/docs/agents/MERGE-STATE.md @@ -22,7 +22,11 @@ dry-run merge is clean. Re-derive with: A=; B= git rev-list --count origin/main..$A # rises with every commit; not the claim -git merge-base --is-ancestor origin/main $A # PASS = exit 0 (fast-forward) +git merge-base --is-ancestor origin/main $A; echo $? + # PASS = 0 (fast-forward) + # ⚠️ prints NOTHING on success without + # the echo -- an empty line does not + # distinguish pass from fail comm -12 <(git diff --name-only $(git merge-base $A $B)..$A | sort) \ <(git diff --name-only $(git merge-base $A $B)..$B | sort) | wc -l # PASS = 0 (disjoint change sets)