Commit Graph
10 Commits
Author SHA1 Message Date
juan b4964261ec proyecto generalizado 2026-05-23 16:44:45 +02:00
Juan 9377730de4 algunas soluciones 2026-05-11 17:30:44 +02:00
JuanandClaude Opus 4.7 33bc9ed133 build: añade Dockerfiles para core y dashboard con healthchecks y usuario no-root
- core/Dockerfile: python:3.11-slim, instala requirements + modelo spaCy
  (en_core_web_sm para Presidio), corre como usuario `agent`, HEALTHCHECK sobre
  /health, CMD uvicorn :8000.
- dashboard/Dockerfile: python:3.11-slim, usuario `dash`, HEALTHCHECK sobre
  /_stcore/health, CMD streamlit :8501 headless.
- .dockerignore: excluye venv, caches, datos runtime, .env, specs/plans y tests.

Ambos pasan `docker build --check` sin warnings.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:58:51 +02:00
JuanandClaude Opus 4.7 a874d9f57d feat(dashboard): página Politicas con detalle de validadores y versiones
Selector de política; muestra descripción, on_validator_error y los validadores
de input/output (cada uno expandible con su config), más la tabla de versiones.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:57:47 +02:00
JuanandClaude Opus 4.7 a36a8afa09 feat(dashboard): página Historial con tabs ejecuciones y violaciones
Tab "Ejecuciones": tabla resumen + detalle (status, error, output, violations,
traza) por trace_id. Tab "Violaciones": log filtrable por severidad.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:53:17 +02:00
JuanandClaude Opus 4.7 826d5b494e feat(dashboard): página Aprobaciones con HITL approve/reject por acción
Lista ejecuciones en awaiting_approval; por cada acción de needs_human_for
muestra risk_score coloreado, target y rollback_plan con un checkbox de
aprobación. Aprueba el subconjunto seleccionado (con comentario) o rechaza con
razón vía /approve y /reject; rerun tras la decisión.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:44:07 +02:00
JuanandClaude Opus 4.7 ab21db2476 feat(dashboard): página Ejecutar con trace timeline y violations rendering
- components/trace_view.render_trace: decision_path como timeline con duración.
- components/violation_view.render_violations: violaciones con badge de severidad.
- pages/2_▶️_Ejecutar.py: selector de agente, botones de escenarios pregrabados,
  textarea, invoke y render de status/output/violations/traza. Aviso si queda en
  awaiting_approval. (Se omite la variable muerta chosen_example del plan.)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:42:12 +02:00
JuanandClaude Opus 4.7 f2ef01d98d feat(dashboard): página de Registro con detalle, versiones y diff coloreado
- components/diff_view.render_unified_diff: pinta +/-/@@ del unified diff.
- pages/1_🏛️_Registro.py: selector de agente, detalle (estado, owner, propósito,
  guardrails, system_prompt, output_schema, llm), tabla de versiones y comparador.
- pyproject: per-file-ignore N999 en pages/* — Streamlit exige nombres
  "<n>_<emoji>_<Label>.py" para la navegación multipágina.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:41:00 +02:00
JuanandClaude Opus 4.7 a27e972360 feat(dashboard): scaffolding Streamlit con cliente HTTP y health check
CoreClient (httpx sync, 2 retries) cubre todos los endpoints del core y mapea
404/409/422 a {"error": ...}. app.py monta la página raíz con sidebar de branding
y un health-check del core.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 12:39:16 +02:00
JuanandClaude Opus 4.7 62536766e6 chore: scaffolding inicial del repo (pyproject, requirements, Makefile)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:08:48 +02:00