Spaces:
Runtime error
Runtime error
Commit History
-
refactor: elimina Shiny (dashboard, run_ui, deps) y el deploy a shinyapps (Fase 10)
22026b0 -
feat(deploy): despliegue a Hugging Face Spaces (Dockerfile raíz + deploy_hf.ps1 + frontmatter)
32765f0 -
feat(deploy): deploy_prod lee SHINYAPPS_* del .env, soporta -New y fija --title
4eccaa5 -
fix(deploy): usa 'rsconnect deploy fastapi' (no 'deploy shiny') para el gateway FastAPI
26f1bf8 -
build(deploy): pipeline Astro (build+inline) + deploy_prod rsconnect + .rscignore
- scripts/build.ps1: compila Astro -> scripts/inline_js.py (inline JS + rutas relativas, Regla de Oro) -> copia a backend/static. Reemplaza build_ui.ps1. - scripts/inline_js.py: post-proceso del build para sub-paths de ShinyApps. - scripts/deploy_prod.ps1: build + uv export requirements.txt + traduce .rscignore a --exclude + rsconnect deploy shiny . --entrypoint backend.main:app (-Name/-AppId parametrizables; app-id pendiente). - .rscignore: exclusiones del bundle; **excluye .env** (BYOK, sin secretos en prod). - dev.ps1: gateway (:8000) + Astro dev (:4321 hot-reload) en ventanas separadas. - pyproject: rsconnect-python (dev). .gitignore: requirements.txt (generado). - ejecucion.md §5: despliegue Agro-Stack documentado. - Verificado: build.ps1 e inline_js.py corren OK; rsconnect importable.f514b00 -
feat(ui): UI Astro completa servida por el gateway (Fase 8 — vistas, responsive, plegable)
- index.astro: SPA hash-routing con los 6 módulos (look del mockup), responsive + sidebar/footer plegables; Leaflet+Leaflet-draw (parcelas), Chart.js (NDVI/clima), heatmap, chat, credenciales efímeras (X-User-* en memoria), API por fetch relativo. - main.py: monta StaticFiles(html=True) en / (tras /api y /shiny) -> sirve la UI Astro. - scripts/build_ui.ps1: pnpm build -> backend/static. backend/Dockerfile: etapa Node compila Astro y la copia. docker-compose: sin servicio ui; frontend/Dockerfile eliminado. - ejecucion.md: flujo de UI Astro (gateway en / · dev :4321 · Shiny legacy :8001). - Verificado en vivo con Playwright (capturas en .playwright-mcp/).26161c7
-
feat(ui): Shiny -> backend/dashboard.py (legacy) + scaffold Astro+Tailwind (Fase 8, SF8.1)
- Reubica la UI Shiny a backend/dashboard.py (montable en /shiny, legacy); frontend/ queda para Astro. Ajusta run_ui.ps1 y README al nuevo path. - Scaffold Astro 5 + Tailwind v4 (plugin @tailwindcss/vite, NO @astrojs/tailwind): package.json, astro.config.mjs (output static + inlineStylesheets 'always' = Regla de Oro + proxy /api y /shiny en dev), tsconfig, src/pages/index.astro, src/styles/global.css. - pnpm-workspace.yaml (allowBuilds) para que pnpm 11 corra esbuild/sharp; build verificado.68ec720 -
docs(ejecucion)+scripts: arranque manual con -u/PYTHONUNBUFFERED, --log-level y --reload-exclude por capa
- Option B del runbook y los launchers usan python -u + PYTHONUNBUFFERED=1 (logs en vivo), --log-level info y --reload-exclude para no reiniciar por dirs no-fuente. - Cada servicio excluye la capa del otro (backend ignora frontend/ y viceversa) + docs/tests/etc. - Verificado: el backend arranca con el comando completo (HTTP 200).e19dd51 -
feat: ortomosaico de arándano simulado y mock por detección de blobs
Añade scripts/make_sample_orthomosaic.py que genera un ortomosaico de arándano de prueba (hileras de arbustos verdes con huecos de siembra y malezas amarillas, determinista por semilla). Mejora MockInferenceAdapter para detectar los arbustos por color (blobs HSV) cuando la imagen los contiene, de modo que las cajas caen sobre ellos y el conteo coincide con el real; en otras imágenes mantiene el fallback aleatorio. Incluye pruebas del generador y de la coherencia con el mock. Verificado en vivo: sobre la imagen generada (112 arbustos, 5 malezas) el conteo es exacto. La imagen PNG no se versiona (se regenera).1cec427 -
chore(infra): contenedores, despliegue y scripts de arranque local
Añade Dockerfiles de backend y UI, docker-compose, render.yaml para el despliegue gratuito y los scripts PowerShell de arranque local sin Docker (run_backend, run_ui, dev) que usan 'python -m uvicorn' para evitar los shims .exe bloqueados por OneDrive. Incluye placeholders de models/ y sample_data/.c0f31a8