From 3bba47bacf0db86e06825e90d231e32ad86e2c86 Mon Sep 17 00:00:00 2001 From: cndgrr <59120057+cndgrr@users.noreply.github.com> Date: Tue, 4 Aug 2026 19:39:05 +0000 Subject: [PATCH] test: pin the claimed-branch ruling pre-read against its own diagnostic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `claimed` + `needs-ruling` with no assignee posts `claimed-unassigned` before the tail, so the top read is the only reason the ruling nudge below still sees the real quiet. Probe 110 asserts both outputs of one sweep and reds when that read drifts below the post. Recovered from ed588a2 by sha — the branch ref was deleted and the push crossed the merge — then re-measured at fd22bd2, behind #293. 486 -> 488 on this file. Refs #307 --- test/issueflow-reconcile.test.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/issueflow-reconcile.test.sh b/test/issueflow-reconcile.test.sh index 1f39de6..f0231ec 100644 --- a/test/issueflow-reconcile.test.sh +++ b/test/issueflow-reconcile.test.sh @@ -945,6 +945,25 @@ check "an hour-old claim does not silence a ruling 9 days quiet" 0 "" \ check "...and the fresh assignment is not reclaim bait either" 1 "" \ grep -q 'reclaimed' <<<"$claimed_fresh" +# The claimed branch's top read, pinned. `claimed` + `needs-ruling` with no +# assignee is the one composition where this branch posts BEFORE the ruling +# block: `claim_decision` returns FLAG_UNASSIGNED and the +# `claimed-unassigned` comment goes out, so a ruling clock read down there +# would date the issue by the sweep's own writing and buy the escalation +# another 7 quiet days — the #274 hazard, on the very branch #284 D6 exists +# to hold. Probe 101 does not reach it: it carries an assignee and an open +# PR. One sweep, both outputs — the board diagnostic and the nudge it must +# not silence — because asserting only the nudge would pass with the +# diagnostic silently gone. Reds the moment the top read drifts below the +# post, and the deletion of that read is what proved it (#284 D6, #307). +ruling_quiet 110 +timeline_add 110 assigned 3600 +unassigned_flag="$(issue_probe 110 $'claimed\nneeds-ruling' 0 false)" +check "an unassigned claim under a ruling still draws its board flag" 0 "1" \ + grep -cF '' "$TMP/posted-110" +check "...and the ruling nudge fires beside it, undated by it" 0 "" \ + grep -q 'ruling nudge' <<<"$unassigned_flag" + # The clock rule alone, no assignee in the way: an assigned/unassigned pair # in the timeline is the claim's history, not activity toward the ruling. ruling_quiet 102