Spaces:
Running
Running
| # Cierre de Entregable - Hyper Ferreteria | |
| ## 1) Resumen de commits y avances | |
| ### Ramas principales | |
| - `main` (base estable): commit `e48ad8b` | |
| - `fast-api` (rama de trabajo actual): commit `e33f12e` | |
| Divergencia: | |
| - `fast-api` tiene **1 commit por delante** de `main`. | |
| - `main` no tiene commits por delante de `fast-api`. | |
| ### Commit más relevante reciente (`e33f12e`) | |
| Descripción funcional: | |
| - Limpieza de máscara seleccionada al reaplicar textura. | |
| - Reemplazo por máscara más preciso (evita arrastre de textura previa). | |
| - Mejora de encadenado de ediciones conservando estado de máscaras. | |
| - Historial de texturas aplicado en la UI con sincronización undo/reset. | |
| - Refuerzo de carga de SAM2 para reducir fallas intermitentes. | |
| Impacto en archivos: | |
| - `.gitignore` | |
| - `README.md` | |
| - `docs/SETUP_AND_RUN.md` | |
| - `main.py` | |
| - `run.bat` | |
| - `run.ps1` | |
| - `scripts/download_sam2_checkpoint.py` | |
| ## 2) Estado actual del working tree (pendiente de cierre) | |
| Cambios no confirmados detectados: | |
| - Modificados: `README.md`, `main.py` | |
| - No rastreados: carpeta `templates/` y `texturas/Texture_ACM/` | |
| Antes de entregar, validar y decidir si estos cambios sí forman parte del entregable final. | |
| ## 3) Checklist final de entregable | |
| ### A. Cerrar código y documentación | |
| 1. Confirmar que la rama objetivo de entrega será `fast-api`. | |
| 2. Revisar cambios locales pendientes (`README.md`, `main.py`, `templates/`, `texturas/Texture_ACM/`). | |
| 3. Ajustar README para que el comando de arranque final sea consistente (`uvicorn main:app`). | |
| 4. Verificar que `docs/SETUP_AND_RUN.md` esté alineado con el flujo real. | |
| ### B. Validación técnica mínima (smoke test) | |
| 1. Ejecutar script de verificación: | |
| - PowerShell: `powershell -NoProfile -ExecutionPolicy Bypass -File .\run.ps1 -CheckOnly` | |
| 2. Si faltan dependencias/modelo, ejecutar: | |
| - `powershell -NoProfile -ExecutionPolicy Bypass -File .\run.ps1 -Yes -InstallDeps` | |
| 3. Arrancar servidor: | |
| - `python -m uvicorn main:app --host 127.0.0.1 --port 8000 --reload` | |
| 4. Probar endpoints clave: | |
| - `GET /` | |
| - `GET /availability` | |
| - `GET /textures` | |
| - `GET /health/models` | |
| - `POST /apply_texture` | |
| ### C. Evidencia para entrega | |
| 1. Capturas de pantalla: | |
| - Subida de imagen. | |
| - Segmentación/máscaras visibles. | |
| - Aplicación de textura antes/después. | |
| - Historial de texturas en UI. | |
| 2. Registrar una corrida breve en `logs/app.log`. | |
| 3. Dejar un ejemplo reproducible en `uploads/` y/o `outputs/` (si la política de entrega lo permite). | |
| ### D. Higiene de repositorio | |
| 1. Verificar archivos que NO deben versionarse (modelo, outputs grandes, venv). | |
| 2. Revisar `.gitignore`. | |
| 3. Hacer commit final de cierre con mensaje claro. | |
| 4. Push de rama y, si aplica, Pull Request a `main`. | |
| ### E. Entrega formal | |
| 1. Incluir enlace al repo/branch exacto. | |
| 2. Incluir versión de Python usada (ideal 3.12.x). | |
| 3. Incluir instrucciones de ejecución en 5 pasos (resumen). | |
| 4. Incluir limitaciones conocidas (CPU vs GPU, tiempos de segmentación). | |
| ## 4) Sugerencia de mensaje de commit final | |
| `chore: cierre de entregable con ajustes finales de docs y flujo de ejecución` | |
| ## 5) Criterio de “Listo para entregar” | |
| Se considera listo cuando: | |
| - El proyecto levanta localmente con comandos documentados. | |
| - Los endpoints críticos responden sin error. | |
| - El flujo principal (upload -> segmentación -> aplicar textura) funciona de punta a punta. | |
| - La documentación coincide con el estado real del código. | |
| - El repositorio queda limpio o con cambios explícitamente justificados para la entrega. | |