Descripción
Migrar las ~325 líneas de shell script del workflow commit-atomicity.yml a una herramienta Rust nativa de alto rendimiento.
Motivación
- Frecuencia: Se ejecuta en cada PR (máxima frecuencia)
- Complejidad: Parsing complejo de Git logs, YAML config, regex
- ROI estimado: 10-50x más rápido, reduce tiempo CI significativamente
Tareas
Funcionalidades a Migrar
┌─────────────────────────────────────────────────────────────┐
│ SHELL → RUST MAPPING │
├─────────────────────────────────────────────────────────────┤
│ YAML Parsing (grep/sed) → serde_yaml │
│ Git log parsing → git2-rs / tokio::process │
│ Bot detection (regex) → regex crate │
│ File categorization → Pattern matching │
│ Associative arrays → HashMap<String, Concern> │
│ Report generation → pulldown-cmark / custom │
└─────────────────────────────────────────────────────────────┘
Beneficios Esperados
| Métrica |
Shell |
Rust |
Mejora |
| Parse 100 commits |
~5-10s |
~0.1-0.5s |
10-50x |
| Memory usage |
Variable |
Predictable |
✓ |
| Error handling |
Exit codes |
Result types |
✓ |
| Paralelismo |
Limited |
Native async |
✓ |
| Testability |
Hard |
Easy |
✓ |
Descripción
Migrar las ~325 líneas de shell script del workflow
commit-atomicity.ymla una herramienta Rust nativa de alto rendimiento.Motivación
Tareas
tools/atomicity-checker/Funcionalidades a Migrar
Beneficios Esperados