Skip to content

Commit 7a29541

Browse files
committed
ci(release): give the major-boundary surfaces their own refusal
Reverse verification caught the routing: with protocol-version.ts missing from the shape filter's pattern, a major train's output fell into the "wrote outside the reviewed post-version surface" branch -- red for the right reason and wrong about why, on a lane whose refusals are supposed to name the remedy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015ahemw8RcTgqtxrj15PEZx
1 parent a718b4a commit 7a29541

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

.github/workflows/release.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ jobs:
543543
# release paths by pattern, then the two declared lists by WHOLE-LINE
544544
# EXACT match, so neither derived filter can accept a path its
545545
# declaration does not name and neither needs regex-escaping.
546-
UNEXPECTED="$(grep -vE '(^|/)package\.json$|(^|/)CHANGELOG\.md$|^\.changeset/' "${MOVED_FILE}" \
546+
UNEXPECTED="$(grep -vE '(^|/)package\.json$|(^|/)CHANGELOG\.md$|^\.changeset/|^packages/spec/src/kernel/protocol-version\.ts$' "${MOVED_FILE}" \
547547
| grep -vxF -f "${TEMPLATE_LIST}" \
548548
| grep -vxF -f "${SURFACE_LIST}" || true)"
549549
if [ -n "${UNEXPECTED}" ]; then
@@ -552,9 +552,14 @@ jobs:
552552
exit 1
553553
fi
554554
555-
# The two MAJOR-boundary classes. They are inside the surface above,
556-
# so the assertion accepted them; what this lane does not have is a
557-
# gate for either. protocol-version.ts is judged by
555+
# The two MAJOR-boundary classes. Both are INSIDE the surface above —
556+
# protocol-version.ts by the pattern, the template stamps by
557+
# `stampedPaths()` — so the assertion accepts them and they reach this
558+
# check with a diagnosis of their own. Measured: with the pattern
559+
# missing, protocol-version.ts fell into the "wrote outside the
560+
# reviewed surface" branch instead, which is red for the right reason
561+
# and wrong about why. What this lane does not have is a gate for
562+
# either. protocol-version.ts is judged by
558563
# packages/spec/src/kernel/protocol-version.test.ts, reachable only
559564
# through the whole @objectstack/spec suite (measured: 424 files,
560565
# 11273 tests, 5m26s — not a per-refresh cost), and the template stamps

0 commit comments

Comments
 (0)