fix(core): check RowsAffected errors in admin_schedules_health, org_import, llm_billing_mode #2107
Reference in New Issue
Block a user
Delete Branch "fix/rows-affected-core"
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?
Three handlers ignored errors from
Result.RowsAffected():admin_schedules_health.goReapOrphans: repointedN / disabledNorg_import.gomigrateRuntimeSchedulesFromRemovedPredecessorllm_billing_mode.goSetWorkspaceLLMBillingMode(clear + set paths)All now log/return the error instead of silently discarding it.
go build ./...cleango test ./internal/handlers/...passesComprehensive testing performed
internal/handlers/pass (go test).Local-postgres E2E run
Staging-smoke verified or pending
Root-cause not symptom
Root cause:
sql.Result.RowsAffected()errors were silently discarded with_, so a DB driver or connection failure during UPDATE/DELETE would be invisible. Fix: capture and propagate the error.Five-Axis review walked
No backwards-compat shim / dead code added
Yes — no shim or dead code.
Memory/saved-feedback consulted
N/A: routine defensive fix following existing patterns.
QA approved (#2107). Verified all 6 changes: proper RowsAffected()/rows.Err() error checks (admin_schedules_health, audit, llm_billing_mode, org_import) + %v->%w error wrapping (ssrf, org_plugin_allowlist). Low-risk defensive hardening, idiomatic, matches surrounding error handling. Platform(Go)+all-required green.
Approve under CTO authority. Reviewed all 6 rows-err/error-wrap changes; correct + low-risk; CI green.
Non-author SOP ack (devops-engineer, engineers): reviewed the 6-file rows-err/RowsAffected/%w hardening — all correct, low-risk, no logic change. /qa-recheck /security-recheck
Security approved (#2107). Defensive error-handling hardening; ssrf.go change is %v->%w wrapping (no behavior change to the SSRF block). No security regression; improves error propagation. CI green.