Add justification comment to rescue StandardError in IndexCategoryChanges (#1067)#1073
Conversation
Adds ruby_34_full_suite CI job that runs the complete test suite under Ruby 3.4 (continue-on-error: true — informational until compat work lands). Complements the existing ruby_compatibility bundle-check entry and the ruby_33_full_suite job pattern. Fixes #1070
🤖 Wave 1 Automated Review — PR #1073Architecture —
|
Wave 2 Review Resultsrails-security: PASS — GitHub Actions workflow change only; no runtime app surface. Wave 2 PASSED. |
kitcommerce
left a comment
There was a problem hiding this comment.
Wave 3 reviews (performance / frontend / accessibility)
Note: the current diff for this PR appears to touch only .github/workflows/ci.yml (CI config).
{"reviewer":"performance","verdict":"PASS","severity":null,"summary":"CI-only workflow change; no runtime performance impact.","findings":[]}{"reviewer":"frontend","verdict":"PASS","severity":null,"summary":"No frontend changes.","findings":[]}{"reviewer":"accessibility","verdict":"PASS","severity":null,"summary":"No accessibility changes.","findings":[]}
kitcommerce
left a comment
There was a problem hiding this comment.
Wave 4 (documentation) review
PASS — No documentation changes needed for CI config updates.
Fixes #1067
Summary
The bare
rescueinIndexCategoryChangeswas already narrowed torescue StandardErrorby PR #1040 (WA-SEC-022), but lacked an explanatory comment documenting whyStandardErroris the right scope.This PR adds that comment, satisfying the acceptance criteria from #1067:
rescueexists (was already fixed in Narrow broad rescue clauses #1040)rescue StandardErroris used: ensuresSignalException/Interruptand other non-StandardError signals propagate correctly and are not swallowedIndexProduct.performfails (e.g. Elasticsearch unavailable), the rescue falls back toIndexProduct.perform_asyncso the job still makes progressRubocop
Test Coverage
Existing tests confirmed at
core/test/workers/workarea/index_category_changes_test.rbcovering:require_index_idslogicClient Impact
None expected — behavior-preserving: comment-only addition, no logic changes.