feat(sre): Fase 1 API + Admin UX + Health + Fix shebang import_sii #1

Merged
claude.ia merged 2 commits from feature/SRE-fase1-api-admin-health into main 2026-04-22 18:04:07 +00:00
Owner

Resumen

API nueva

  • GET /api/search — búsqueda por nombre/RUT parcial (rate limit 60 req/min)
  • GET /api/token_info — estado y cuota del token (rate limit 30 req/min)
  • GET /api/company_info?full=1 — datos + flag changed en una sola llamada
  • POST /api/company_info — incluye situacion_tributaria en respuesta
  • PUT /api/company_info — retorna confirmación estructurada

Health / Ops

  • GET /health — estado DB + jobs + uptime (HTTP 200 / 503)
  • GET /metrics — contadores de uso y top RUTs

Admin UX

  • Dashboard: capa STC en barras de progreso, cache 5 min para queries lentos
  • EnrichStatusView: filtro Sin STC, columna STC (6 capas visibles)
  • CompanyAdmin: etiquetas ES, filtros por consultas, export hasta 5.000 filas

Infra / Fixes

  • fix: shebang import_sii.py corregido a /var/lib/sre/env/bin/python3
  • migrations/001: índices de performance aplicados en producción
  • Cron /etc/cron.d/sre-sii-import configurado (lunes 03:00)
  • Symlink /opt/SRE/env/var/lib/sre/env para paridad dev/prod
  • Eliminado webmin-setup-repo.sh obsoleto

Tests

  • test_api_search.py (10 tests)
  • test_api_token_info.py (9 tests)
  • test_health.py, test_job_tracker.py, test_services_sii.py, test_views_flask.py

Checklist

  • Código desplegado en producción (192.168.100.250)
  • Índices de BD aplicados
  • Servicio reiniciado y operativo
  • GET /health retorna HTTP 200
  • Importación SII 20260421 completada (7.065 nuevas, 0 errores)

🤖 Generated with Claude Code

## Resumen ### API nueva - `GET /api/search` — búsqueda por nombre/RUT parcial (rate limit 60 req/min) - `GET /api/token_info` — estado y cuota del token (rate limit 30 req/min) - `GET /api/company_info?full=1` — datos + flag `changed` en una sola llamada - `POST /api/company_info` — incluye `situacion_tributaria` en respuesta - `PUT /api/company_info` — retorna confirmación estructurada ### Health / Ops - `GET /health` — estado DB + jobs + uptime (HTTP 200 / 503) - `GET /metrics` — contadores de uso y top RUTs ### Admin UX - Dashboard: capa STC en barras de progreso, cache 5 min para queries lentos - EnrichStatusView: filtro Sin STC, columna STC (6 capas visibles) - CompanyAdmin: etiquetas ES, filtros por consultas, export hasta 5.000 filas ### Infra / Fixes - `fix`: shebang `import_sii.py` corregido a `/var/lib/sre/env/bin/python3` - `migrations/001`: índices de performance aplicados en producción ✅ - Cron `/etc/cron.d/sre-sii-import` configurado (lunes 03:00) - Symlink `/opt/SRE/env` → `/var/lib/sre/env` para paridad dev/prod - Eliminado `webmin-setup-repo.sh` obsoleto ### Tests - `test_api_search.py` (10 tests) - `test_api_token_info.py` (9 tests) - `test_health.py`, `test_job_tracker.py`, `test_services_sii.py`, `test_views_flask.py` ## Checklist - [x] Código desplegado en producción (192.168.100.250) - [x] Índices de BD aplicados - [x] Servicio reiniciado y operativo - [x] `GET /health` retorna HTTP 200 - [x] Importación SII 20260421 completada (7.065 nuevas, 0 errores) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
API:
- GET /api/search: búsqueda por nombre/RUT parcial, hasta 20 resultados
- GET /api/token_info: estado y cuota del token
- GET /api/company_info?full=1: datos + flag changed en una sola llamada
- POST /api/company_info: incluye situacion_tributaria en respuesta
- PUT /api/company_info: retorna confirmación estructurada
- Rate limiting: 60 req/min (search), 30 req/min (token_info)

Admin UX:
- Dashboard: capa STC en barras de progreso, cache 5min para queries lentos
- EnrichStatusView: filtro Sin STC, columna STC (6 capas visibles)
- CompanyAdmin: etiquetas ES, filtros por consultas, export 5000 filas
- Botones Health y Métricas en accesos rápidos

Health/Ops:
- GET /health: estado DB + jobs + uptime (HTTP 200/503)
- GET /metrics: contadores de uso

Infra:
- migrations/001: índices de performance (company_info, company_info_remote, sii_situacion_tributaria)
- requirements.txt actualizado
- Tests: +6 nuevos archivos de test, fixtures actualizados
- Eliminado webmin-setup-repo.sh obsoleto

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(import_sii): use virtualenv python shebang for correct deps resolution
Some checks failed
CI / Lint (flake8) (pull_request) Has been cancelled
CI / Tests (pytest) (pull_request) Has been cancelled
CI / Build check (pull_request) Has been cancelled
fe6a51aa8a
The system python3 does not have Flask or project dependencies.
Scripts must use /var/lib/sre/env/bin/python3 explicitly.
Also added /opt/SRE/env symlink -> /var/lib/sre/env for dev/prod parity.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
OdoocoopTia/sre!1
No description provided.