fix: make release init citation portable

This commit is contained in:
Andriujose 2026-08-04 11:17:51 +00:00
parent f300f60d6e
commit e7df33b277
2 changed files with 10 additions and 4 deletions

View file

@ -746,7 +746,7 @@ itself, so a parse unchanged since the last echo never re-posts.*" >/dev/null
log "#$n: blockers closed -> ready" ;;
esac
elif has_issue_label epic; then
if has_issue_label release; then
if has_issue_label release && ! issue_comment_has_marker "$n" release-init-due; then
refs="$(blocked_references <<<"$(jq -r '.body // ""' <<<"$ISSUE_JSON")")"
cross_refs="$(blocked_cross_references <<<"$(jq -r '.body // ""' <<<"$ISSUE_JSON")")"
states="$(reference_states <<<"$refs")"
@ -760,7 +760,7 @@ itself, so a parse unchanged since the last echo never re-posts.*" >/dev/null
4. Ask the operator to bless the order, then open the first wave.
5. Ship the release, close this epic, and trigger the next window.
See [\`RELEASES.md\`](https://github.com/$REPO/blob/main/RELEASES.md). The operator blessing the order is the one step this chain never automates."
See \`.ceremony/RELEASES.md\`. The operator blessing the order is the one step this chain never automates."
log "#$n: release-init due"
fi
fi

View file

@ -479,16 +479,22 @@ check "a release epic with every declared blocker closed announces init" 0 "" \
grep -qF '<!-- issueflow:release-init-due -->' "$TMP/posted-53"
check "the init announce names all five steps" 0 "5" \
grep -cE '^[1-5]\. ' "$TMP/posted-53"
check "the init announce cites RELEASES.md" 0 "" \
grep -qF 'RELEASES.md' "$TMP/posted-53"
check "the init announce cites the portable vendored doctrine path" 0 "" \
grep -qF 'See `.ceremony/RELEASES.md`.' "$TMP/posted-53"
check "the init announce names the never-automated operator blessing" 0 "" \
grep -qF 'operator blessing the order is the one step this chain never automates' \
"$TMP/posted-53"
check "the opened release gate is logged" 0 "" \
grep -qF '#53: release-init due' <<<"$release_init"
release_init_gate_reads_before_repeat="$(
grep -cE 'repos/owner/repo/issues/(201|202)$' "$TMP/api-calls"
)"
issue_probe 53 $'epic\nrelease' 0 false "" "$release_init_body" >/dev/null
check "an unchanged opened gate announces only once" 0 "1" \
grep -cF '<!-- issueflow:release-init-due -->' "$TMP/posted-53"
check "an announced gate does not re-read its durable blockers" 0 \
"$release_init_gate_reads_before_repeat" \
grep -cE 'repos/owner/repo/issues/(201|202)$' "$TMP/api-calls"
printf '[]\n' >"$(cfix 54)"
issue_probe 54 $'epic\nrelease' 0 false "" \