fix(ci): preserve gate refusal and cannot-grade diagnostics #1254
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1254
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "sentry/1226-ci-sentinel-boundary"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Refs #1226.
The two-sentinel gate contract remains fail-closed while preserving its reader-visible distinction:
base-divergence-checklabels every direct rc=2 path asCOULD-NOT-GRADEand rc=1 divergence asREFUSED; it has no workflow caller, so the direct CLI output is the boundary.digest-pin-verifycaller captures its exit code beforeset -ecan collapse it, then reportsREFUSED (rc=1)versusCOULD-NOT-GRADE (rc=2)while returning the original failure code.Verification
Implementation commit:
c365d2acdfbe5ea25a17cb11daaeebb30c001e09.go test ./...go vet ./...rt gitea-twin --check: 11/11git diff --checkThe workflow regression arm executes both non-zero classifier paths and asserts the opposite label is absent. Base-divergence tests exercise unreadable fields, fetch/compare failures, disagreement in both directions, and corroborated refusal.
c365d2acdf7fef96367aApproved exact head
7fef96367a(base60ec9228fd). Verified the rc=1 refusal versus rc=2 cannot-grade boundary: the workflow captures the exit code before set -e, emits the corresponding diagnostic, and still fails closed. Ran go test ./..., vet, build, golangci-lint, Bats 163/163, register-check, fragment-check, twin/diff checks. Re-ran the exact-head mutation replacing the classified boundary with if-not; the #1226 workflow arm reddened. Forgejo CI is terminal 28/28 success. No findings.