fix(ci): status-reaper infra-failure→red — observability hardening #2370
Reference in New Issue
Block a user
Delete Branch "fix/status-reaper-observability"
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?
Rebases the status-reaper tail fix onto current main (
d768d866), removing stale sop-tier-check collateral.Refs: internal#219 §1, PR#2367 pair
APPROVED: merge-base diff is scoped to
status-reaper.pyandtests/test_status_reaper.py; noreview-check.shcollateral.The read/infra paths now surface as red: commit-list
ApiErroremits::error::status-reaper cannot run, setsskipped, andmain()returns 1; per-SHAget_combined_statusApiErrorincrementssha_api_errors, emits::error::, andmain()returns 1 when any occurred. This closes the status-reaper observability fail-open I reviewed.Core required contexts are green; red governance/no-tier-label statuses are non-required for this PR.
REQUEST_CHANGES on head
116697c576.Full-diff-scope is clean from stale collateral: only .gitea/scripts/status-reaper.py and tests/test_status_reaper.py changed; no review-check.sh.
Blocking spec gap: the requested observability hardening included gitea-merge-queue.py around the queue API error path, but this PR does not change gitea-merge-queue.py. The queue still logs
::error::queue API error/ network / timeout and returns 0, so infra/read failures in that path remain non-red. status-reaper.py itself now returns 1 on commit-list/per-SHA status errors, but the merge-queue observability portion is missing. Please add the gitea-merge-queue.py fail-red behavior and tests.New commits pushed, approval review dismissed automatically according to repository settings
APPROVED. Independent merge-base review on
db39d519: diff is scoped to status-reaper.py, gitea-merge-queue.py, and tests; no review-check.sh collateral. Merge-queue main now returns 1 on ApiError/URLError/Timeout instead of silently succeeding. status-reaper emits ::error on unreadable commit/status reads and main returns non-zero when skipped/errors occur. This makes infra/read failures observable and red.Reviewed current head
db39d519. Fresh merge-base diff is scoped to status-reaper.py, gitea-merge-queue.py, and tests; no review-check collateral. status-reaper commit-list/per-SHA API failures now emit ::error and main returns 1, and gitea-merge-queue main now returns 1 for ApiError, URLError, and TimeoutError. Both observability halves fail red.