Repository navigation
chore(renovate): open only security updates - #769
Conversation
|
OX Security reviewed this pull request — nothing to fix.
Branch |
The SDK is deprecated and gets only bug and security fixes until it is retired. - Turn off all updates with a last packageRule. - Set vulnerabilityAlerts.enabled, so that fix PRs pass that rule. - Keep lock file maintenance from config:best-practices: it updates vulnerable transitive dependencies, and the rule does not match it. - Delete the settings that only shape normal updates: groups, the pep621 widen rule, the GitHub Actions extractVersion rule, pre-commit.enabled, internalChecksFilter, rebaseWhen, the explicit lockFileMaintenance block and the copy of the org config comments. - Drop the skip:test:long_running label, so the long-running tests run on the few Renovate PRs that are left. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
88f2840 to
5fe9494
Compare
|
Claude finished @olivermeyer's task in 3m 4s —— View job Code Review: Renovate Security-Only ConfigurationReviewing PR #769 to configure Renovate for security updates only, aligning with the SDK's maintenance mode policy. Todo List
Review SummaryThis PR excellently implements the security-only update policy required by the SDK's maintenance mode. The configuration is technically sound, well-documented, and perfectly aligned with the maintenance mode rules. ✅ CRITICAL CHECKS - All Pass1. Test MarkersStatus: ✅ N/A (no code changes) 2. Test CoverageStatus: ✅ N/A (no code changes) 3. Code QualityStatus: ✅ N/A (configuration file only) 4. Conventional CommitsStatus: ✅ PASS $ git log --oneline origin/main..HEAD
5fe9494 chore(renovate): open only security updatesCommit message correctly follows conventional commit format: ✅ REPOSITORY-SPECIFIC REVIEW AREAS - All Pass5. Architecture ComplianceStatus: ✅ N/A (configuration only, no architecture impact) 6. Testing StrategyStatus: ✅ EXCELLENT - Enhanced testing for security PRs Finding: The PR removes the Analysis: This is the correct decision because:
7. Medical Device & SecurityStatus: ✅ EXCELLENT - Strengthens security posture This configuration enhances the SDK's security posture by:
8. Breaking ChangesStatus: ✅ None This is a pure configuration change with no user-facing impact. 9. CI/CD ImpactStatus: ✅ POSITIVE Changes:
10. Documentation & Maintenance Mode AlignmentStatus: ✅ PERFECT ALIGNMENT CLAUDE.md (lines 36-48) states: ## Maintenance mode
The Aignostics Python SDK is deprecated. Support ends on April 30, 2027.
Until that date, the SDK is in maintenance mode.
Use these rules for each change:
1. Accept anomaly fixes through PR-SOP-01.
2. Accept dependency updates that fix vulnerabilities. ← THIS PR IMPLEMENTS THIS
3. Reject new features.
4. Keep the deprecation warning in each release.This PR precisely implements rule #2 by configuring Renovate to only open PRs for vulnerability fixes. 🔍 Technical Configuration ReviewImplementation MechanismThe security-only behavior is achieved through three coordinated settings: 1. Block all normal updates (lines 54-56): {
"matchPackageNames": ["*"],
"enabled": false
}2. Force vulnerability fixes through (lines 31-36): "vulnerabilityAlerts": {
"enabled": true,
"automerge": false,
// ...
}3. Preserve lock file maintenance (lines 44-46): {
"matchUpdateTypes": ["lockFileMaintenance"],
"minimumReleaseAgeBehaviour": "timestamp-optional"
}Why This WorksAccording to Renovate documentation, when Lock file maintenance continues to work because:
✅ Configuration QualityRemoved ~140 lines of settings that only apply to normal updates:
Kept essential settings:
Result: Clean, focused configuration that clearly expresses intent. 📝 Documentation QualityThe inline comments are excellent:
🎯 Specific Improvements Worth Noting
🚀 Expected Behavior After MergeRenovate will create PRs for:
Renovate will NOT create PRs for:
All security PRs will:
SummaryThis PR is exemplary:
Recommendation: Approve and merge. This is exactly the configuration the SDK needs in maintenance mode. Verdict: ✅ claude:review:passed |
Codecov Report✅ All modified and coverable lines are covered by tests. |
|



Why?
The SDK is deprecated and gets only bug and security fixes until it is retired, so routine dependency updates only add Renovate PRs that nobody merges. Security fixes must still reach the SDK, both for direct dependencies and for vulnerable transitive dependencies in
uv.lock, which the Scheduled Audit workflow reports.How?
A last
packageRulesentry turns off all updates, andvulnerabilityAlerts.enabled: truemakes Renovate force vulnerability fix PRs through that rule; the weekly lock file maintenance fromconfig:best-practicesstays on, because it has no package name andmatchPackageNames: ["*"]does not match it. The file drops every setting that only shapes normal updates (groups, range strategy, extractVersion, the copied org config comments), which takes it from about 200 to about 60 lines. Theskip:test:long_runninglabel goes too, so the long-running tests run on the few Renovate PRs that are left.🤖 Generated with Claude Code