fix(issueflow): the echo's illustrative #9 is an illustration, not a reference

The echo body wrote `no longer blocked by #9` unbackticked, twice in one
sentence. GitHub linkifies both, so every echo posted a pair of "mentioned in"
events onto this repo's issue #9 — an issue with nothing to do with the one
being echoed. On a 15-minute cron that is one pair per `blocked` issue on the
board, and the first sweep after merge would have written the whole board's
worth at once.

The file's own convention two branches down already avoids this: the
`blocked-unparseable` comment code-spans its `Blocked by #N` for exactly this
reason. The prose is unchanged, the rendered set is unchanged, and the marker
digests the parsed set rather than the comment body, so no marker moves.
This commit is contained in:
cndgrr 2026-08-03 21:15:37 +00:00
parent d604abd074
commit 2bab52dc71

View file

@ -625,6 +625,11 @@ The merge releases the claim; no builder owes a draft. Triage owes completion in
# declaration; this catches the readable-but-wrong one, which no flag can # declaration; this catches the readable-but-wrong one, which no flag can
# detect because the machine cannot judge what a human meant — only state # detect because the machine cannot judge what a human meant — only state
# what it read, and let the human see the divergence in one sweep. # what it read, and let the human see the divergence in one sweep.
#
# The illustrative `#9` in the body below is code-spanned for the same
# reason `blocked-unparseable` code-spans its `Blocked by #N`: an
# unbackticked `#N` in a comment this sweep posts on a cron linkifies, and
# writes a "mentioned in" event onto an unrelated issue once per echo.
parsed_set="$(blocked_parse_set "$refs" "$cross_refs")" parsed_set="$(blocked_parse_set "$refs" "$cross_refs")"
parse_marker="$(blocked_parse_marker "$parsed_set")" parse_marker="$(blocked_parse_marker "$parsed_set")"
if blocked_parse_echo_needed "$n" "$parse_marker"; then if blocked_parse_echo_needed "$n" "$parse_marker"; then
@ -633,8 +638,8 @@ This issue's \`Blocked by\` declarations parse to: $parsed_set
That is the exact set this sweep gates on — what the machine read, never a That is the exact set this sweep gates on — what the machine read, never a
judgment about whether it is what you meant. The parse unions every clause it judgment about whether it is what you meant. The parse unions every clause it
finds, so a sentence like \"no longer blocked by #9\" contributes #9 like any finds, so a sentence like \`no longer blocked by #9\` contributes \`#9\` like
other; over-retaining is the deliberate direction of error, because a stale any other; over-retaining is the deliberate direction of error, because a stale
\`blocked\` is a triage comment away and a false \`ready\` sends a builder into \`blocked\` is a triage comment away and a false \`ready\` sends a builder into
work that cannot merge. If this set names something you did not declare, or work that cannot merge. If this set names something you did not declare, or
omits something you did, edit the declaration — the next sweep echoes the omits something you did, edit the declaration — the next sweep echoes the