Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 2.36 KB

File metadata and controls

65 lines (41 loc) · 2.36 KB

Contribuir a UltrasonicGuard

Gracias por tu interés. Este proyecto es un prototipo TRL 2 presentado al Reto IA Responsable y Abierta en Industria (mayo 2026). Las contribuciones que respeten ese alcance son bienvenidas.

Entorno

Requisitos: Python 3.10+, Git.

git clone <repo>
cd UltrasonicGuard
pip install -r requirements.txt

Los datos del IEEE PHM 2012 deben descargarse aparte siguiendo la sección 6 del README y ubicarse en data/. Sin ese paso, ni el pipeline ni el dashboard arrancan.

Flujo de trabajo

  • Rama estable: main. Cada cambio parte de main en una rama propia.
  • Nombrado sugerido: feature/<resumen>, fix/<resumen>, docs/<resumen>.
  • Abre un Pull Request hacia main describiendo qué cambia y por qué. Vincúlalo a una issue cuando exista.

Commits

Mensajes en imperativo y autocontenidos. Coherencia de idioma dentro de cada PR (ES o EN, no mezclados).

  • Bien: Añade banda FFT 4-6 kHz al extractor de features
  • Mal: cambios menores

Estilo de código

  • Python 3.10+ con type hints.
  • Docstrings en formato Google en módulos, clases y funciones no triviales. No documentes lo obvio.
  • No introduzcas dependencias nuevas sin justificarlas en el PR; actualiza requirements.txt cuando sea imprescindible.

Validación antes de abrir un PR

Como mínimo, debe terminar sin errores:

python scripts/run_notebook_pipeline.py
streamlit run dashboard.py

Verifica que se generan los artefactos esperados en data/processed/, features/ y models/.

Important

Cambios en el contrato de features o etiquetas (MODEL_FEATURE_COLUMNS, STATE_LABELS en src/features.py) invalidan la caché del modelo. Regenera los artefactos en models/ y déjalo explícito en el PR.

Documentación

Cambios visibles para el usuario o el evaluador deben reflejarse en ambos README.md (primario, español) y README.en.md (inglés). Mantén las dos versiones sincronizadas en el mismo PR.

Reporte de issues

Incluye:

  • Versión de Python y sistema operativo.
  • Pasos exactos para reproducir.
  • Salida esperada vs. observada.
  • Split y bearing implicados cuando sea relevante (Learning_set / Bearing1_3, etc.).

Licencia de las contribuciones

Al enviar un PR aceptas que tu contribución se publique bajo la misma licencia del proyecto: Apache License 2.0.