t4273: fix routine-helper quality-debt from PR #4251 review#4292
t4273: fix routine-helper quality-debt from PR #4251 review#4292alex-solovyev merged 1 commit intomainfrom
Conversation
…stion The validate_routine_name charset was ^[A-Za-z0-9_-]+$ but the coderabbit review (issue #4273) suggested ^[A-Za-z0-9._-]+$ to allow names like 'seo.weekly'. Update the regex and error message to match. All three HIGH findings from PR #4251 review are now fully resolved: - validate_routine_name enforces safe charset (this commit adds dot support) - xml_escape() applied to all plist <string> values (c2bb03f) - ROUTINE_NAME validated before path/label interpolation (c2bb03f) shellcheck: zero issues
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Thu Mar 12 22:59:30 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|



Summary
Closes #4273
Addresses all three HIGH-severity findings from PR #4251 review feedback on
.agents/scripts/routine-helper.sh.Two of the three findings were already resolved in commit
c2bb03f(merged in PR #4251). This PR adds the remaining gap: thevalidate_routine_namecharset was missing dot (.) support, which the coderabbit suggestion explicitly included (^[A-Za-z0-9._-]+$).Findings
✅ HIGH (gemini): XML injection —
${command}unescaped in plist heredocResolved in
c2bb03f. Anxml_escape()helper was added and applied to$commandbefore plist interpolation:✅ HIGH (coderabbit):
ROUTINE_NAMEnot validated before use in paths/labelsResolved in
c2bb03f+ this PR.validate_routine_name()enforces^[A-Za-z0-9._-]+$(dot added in this PR to match the suggested regex) and is called inparse_common_args()before any path interpolation.✅ HIGH (coderabbit): XML escaping needed for all dynamic values in plist heredoc
Resolved in
c2bb03f. All five dynamic values are pre-escaped:Verification