feat: Update docker-compose configuration to use environment variables for sensitive data, enhance testing documentation with new LaTeX files for capacity planning, and refine README for clarity on compilation and testing processes.
This commit is contained in:
@@ -1,77 +1,97 @@
|
||||
\babel@toc {spanish}{}\relax
|
||||
\contentsline {chapter}{\numberline {1}Resumen ejecutivo}{5}{chapter.1}%
|
||||
\contentsline {section}{\numberline {1.1}Veredicto global}{5}{section.1.1}%
|
||||
\contentsline {section}{\numberline {1.2}KPIs de la campa\~na}{5}{section.1.2}%
|
||||
\contentsline {section}{\numberline {1.3}Respuesta directa: 100\,000 facturas/mes}{5}{section.1.3}%
|
||||
\contentsline {section}{\numberline {1.4}Riesgo principal}{6}{section.1.4}%
|
||||
\contentsline {chapter}{\numberline {2}Objeto y alcance}{7}{chapter.2}%
|
||||
\contentsline {section}{\numberline {2.1}Objeto}{7}{section.2.1}%
|
||||
\contentsline {section}{\numberline {2.2}Alcance incluido}{7}{section.2.2}%
|
||||
\contentsline {section}{\numberline {2.3}Fuera de alcance de esta campa\~na}{7}{section.2.3}%
|
||||
\contentsline {section}{\numberline {2.4}Definici\'on de factura}{7}{section.2.4}%
|
||||
\contentsline {chapter}{\numberline {3}Entorno bajo prueba}{8}{chapter.3}%
|
||||
\contentsline {section}{\numberline {3.1}Hardware y sistema}{8}{section.3.1}%
|
||||
\contentsline {section}{\numberline {3.2}Baseline de memoria (2026-07-13)}{8}{section.3.2}%
|
||||
\contentsline {section}{\numberline {3.3}Salud del stack}{8}{section.3.3}%
|
||||
\contentsline {chapter}{\numberline {4}Metodolog\'ia}{10}{chapter.4}%
|
||||
\contentsline {section}{\numberline {4.1}Tipos de prueba}{10}{section.4.1}%
|
||||
\contentsline {section}{\numberline {4.2}Herramientas}{10}{section.4.2}%
|
||||
\contentsline {section}{\numberline {4.3}SLOs perfil \texttt {shared8g}}{10}{section.4.3}%
|
||||
\contentsline {section}{\numberline {4.4}Comandos representativos}{10}{section.4.4}%
|
||||
\contentsline {chapter}{\numberline {5}Resultados --- pruebas unitarias}{11}{chapter.5}%
|
||||
\contentsline {section}{\numberline {5.1}Scorecard}{11}{section.5.1}%
|
||||
\contentsline {section}{\numberline {5.2}Cobertura agent}{11}{section.5.2}%
|
||||
\contentsline {section}{\numberline {5.3}Cobertura API store}{11}{section.5.3}%
|
||||
\contentsline {section}{\numberline {5.4}Cobertura count-api}{11}{section.5.4}%
|
||||
\contentsline {chapter}{\numberline {6}Resultados --- humo y funcional}{13}{chapter.6}%
|
||||
\contentsline {section}{\numberline {6.1}Humo gateway}{13}{section.6.1}%
|
||||
\contentsline {section}{\numberline {6.2}Funcional E2E-07 (worker offline $\rightarrow $ 409)}{13}{section.6.2}%
|
||||
\contentsline {section}{\numberline {6.3}Script preparado}{13}{section.6.3}%
|
||||
\contentsline {chapter}{\numberline {7}Resultados --- pruebas de carga}{14}{chapter.7}%
|
||||
\contentsline {section}{\numberline {7.1}Tabla consolidada}{14}{section.7.1}%
|
||||
\contentsline {section}{\numberline {7.2}ST-GW-01}{14}{section.7.2}%
|
||||
\contentsline {section}{\numberline {7.3}ST-BOT-01 --- comparativa}{14}{section.7.3}%
|
||||
\contentsline {section}{\numberline {7.4}Throughput gateway}{14}{section.7.4}%
|
||||
\contentsline {chapter}{\numberline {8}Capacidad: 100\,000 facturas al mes}{16}{chapter.8}%
|
||||
\contentsline {section}{\numberline {8.1}Traducci\'on del objetivo}{16}{section.8.1}%
|
||||
\contentsline {section}{\numberline {8.2}Modelo por etapa}{16}{section.8.2}%
|
||||
\contentsline {section}{\numberline {8.3}Interpretaci\'on}{16}{section.8.3}%
|
||||
\contentsline {section}{\numberline {8.4}Veredicto}{17}{section.8.4}%
|
||||
\contentsline {section}{\numberline {8.5}Requisitos m\'inimos sugeridos para 100k/mes}{17}{section.8.5}%
|
||||
\contentsline {chapter}{\numberline {9}An\'alisis y hallazgos}{18}{chapter.9}%
|
||||
\contentsline {section}{\numberline {9.1}Hallazgos}{18}{section.9.1}%
|
||||
\contentsline {section}{\numberline {9.2}Scorecard global}{18}{section.9.2}%
|
||||
\contentsline {section}{\numberline {9.3}Limitaciones}{18}{section.9.3}%
|
||||
\contentsline {chapter}{\numberline {10}Conclusiones y recomendaciones}{19}{chapter.10}%
|
||||
\contentsline {section}{\numberline {10.1}Conclusiones}{19}{section.10.1}%
|
||||
\contentsline {section}{\numberline {10.2}Recomendaciones}{19}{section.10.2}%
|
||||
\contentsline {section}{\numberline {10.3}Pr\'oxima campa\~na sugerida}{19}{section.10.3}%
|
||||
\contentsline {chapter}{\numberline {11}Anexos}{20}{chapter.11}%
|
||||
\contentsline {section}{\numberline {11.1}Datos fuente}{20}{section.11.1}%
|
||||
\contentsline {section}{\numberline {11.2}Extracto ST-GW-01}{20}{section.11.2}%
|
||||
\contentsline {section}{\numberline {11.3}Extracto ST-BOT-01 \#2}{20}{section.11.3}%
|
||||
\contentsline {section}{\numberline {11.4}Unitarias}{20}{section.11.4}%
|
||||
\contentsline {section}{\numberline {11.5}Scripts}{20}{section.11.5}%
|
||||
\contentsline {section}{\numberline {11.6}Reproducibilidad}{21}{section.11.6}%
|
||||
\contentsline {chapter}{\numberline {12}Count-api: qu\'e eval\'ua cada prueba}{22}{chapter.12}%
|
||||
\contentsline {section}{\numberline {12.1}Pipeline bajo prueba}{22}{section.12.1}%
|
||||
\contentsline {section}{\numberline {12.2}Resultado global count-api}{22}{section.12.2}%
|
||||
\contentsline {section}{\numberline {12.3}Features: qu\'e se eval\'ua (con ejemplo)}{23}{section.12.3}%
|
||||
\contentsline {subsection}{\numberline {12.3.1}TestExtractRowFeaturesServiceTablePattern --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.1}%
|
||||
\contentsline {subsection}{\numberline {12.3.2}TestBuildFeaturesContinuation --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.2}%
|
||||
\contentsline {subsection}{\numberline {12.3.3}TestExtractRowFeaturesHeaderKeyword --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.3}%
|
||||
\contentsline {subsection}{\numberline {12.3.4}TestExtractRowFeaturesServiceCode --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.4}%
|
||||
\contentsline {subsection}{\numberline {12.3.5}TestExtractRowFeaturesNoTablePattern --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.5}%
|
||||
\contentsline {subsection}{\numberline {12.3.6}TestBuildFeatureRowsEmpty --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.6}%
|
||||
\contentsline {subsection}{\numberline {12.3.7}TestFeatureCount --- \textcolor {passgreen}{\textbf {PASS}}}{23}{subsection.12.3.7}%
|
||||
\contentsline {section}{\numberline {12.4}Clustering: qu\'e se eval\'ua (con ejemplo)}{24}{section.12.4}%
|
||||
\contentsline {subsection}{\numberline {12.4.1}TestClusterRowsTwoBands --- \textcolor {passgreen}{\textbf {PASS}}}{24}{subsection.12.4.1}%
|
||||
\contentsline {subsection}{\numberline {12.4.2}TestClusterRowsSameBand --- \textcolor {passgreen}{\textbf {PASS}}}{24}{subsection.12.4.2}%
|
||||
\contentsline {subsection}{\numberline {12.4.3}TestClusterRowsEmpty --- \textcolor {passgreen}{\textbf {PASS}}}{24}{subsection.12.4.3}%
|
||||
\contentsline {subsection}{\numberline {12.4.4}TestClusterRowsNoiseMinSamples --- \textcolor {passgreen}{\textbf {PASS}}}{24}{subsection.12.4.4}%
|
||||
\contentsline {section}{\numberline {12.5}Pruebas con PDFs reales}{24}{section.12.5}%
|
||||
\contentsline {subsection}{\numberline {12.5.1}Fixtures}{24}{subsection.12.5.1}%
|
||||
\contentsline {subsection}{\numberline {12.5.2}TestProcessPDFTimingFixtures}{25}{subsection.12.5.2}%
|
||||
\contentsline {subsection}{\numberline {12.5.3}Script HTTP \texttt {measure\_count\_latency}}{25}{subsection.12.5.3}%
|
||||
\contentsline {section}{\numberline {12.6}Resultados de latencia HTTP (medidos)}{25}{section.12.6}%
|
||||
\contentsline {section}{\numberline {12.7}C\'omo reproducir}{25}{section.12.7}%
|
||||
\contentsline {chapter}{\numberline {1}Resumen ejecutivo}{4}{chapter.1}%
|
||||
\contentsline {section}{\numberline {1.1}Veredicto global}{4}{section.1.1}%
|
||||
\contentsline {section}{\numberline {1.2}KPIs de la campa\~na}{4}{section.1.2}%
|
||||
\contentsline {section}{\numberline {1.3}Capacidad 100k/mes (resumen)}{5}{section.1.3}%
|
||||
\contentsline {section}{\numberline {1.4}Riesgo principal}{5}{section.1.4}%
|
||||
\contentsline {section}{\numberline {1.5}Alcance de esta campa\~na}{5}{section.1.5}%
|
||||
\contentsline {chapter}{\numberline {2}Arquitectura y patrones (contexto)}{6}{chapter.2}%
|
||||
\contentsline {section}{\numberline {2.1}Vista de componentes}{6}{section.2.1}%
|
||||
\contentsline {section}{\numberline {2.2}Patrones de dise\~no}{7}{section.2.2}%
|
||||
\contentsline {section}{\numberline {2.3}Pipeline de negocio}{7}{section.2.3}%
|
||||
\contentsline {section}{\numberline {2.4}Definici\'on de factura}{8}{section.2.4}%
|
||||
\contentsline {chapter}{\numberline {3}Entorno bajo prueba}{9}{chapter.3}%
|
||||
\contentsline {section}{\numberline {3.1}Hardware y sistema}{9}{section.3.1}%
|
||||
\contentsline {section}{\numberline {3.2}Baseline de memoria (2026-07-13)}{9}{section.3.2}%
|
||||
\contentsline {section}{\numberline {3.3}Salud del stack}{9}{section.3.3}%
|
||||
\contentsline {chapter}{\numberline {4}C\'omo leer este informe}{11}{chapter.4}%
|
||||
\contentsline {section}{\numberline {4.1}Plantilla de interpretaci\'on}{11}{section.4.1}%
|
||||
\contentsline {section}{\numberline {4.2}Leyenda de estados}{11}{section.4.2}%
|
||||
\contentsline {section}{\numberline {4.3}Perfil de carga \texttt {shared8g}}{11}{section.4.3}%
|
||||
\contentsline {section}{\numberline {4.4}Herramientas}{11}{section.4.4}%
|
||||
\contentsline {section}{\numberline {4.5}Mapa de cap\'itulos de resultados}{12}{section.4.5}%
|
||||
\contentsline {chapter}{\numberline {5}Resultados --- pruebas unitarias}{13}{chapter.5}%
|
||||
\contentsline {section}{\numberline {5.1}Qu\'e eval\'uan}{13}{section.5.1}%
|
||||
\contentsline {section}{\numberline {5.2}Scorecard}{13}{section.5.2}%
|
||||
\contentsline {section}{\numberline {5.3}Cobertura agent Selenium}{13}{section.5.3}%
|
||||
\contentsline {section}{\numberline {5.4}Cobertura API \texttt {bot-descarga} (orquestador)}{14}{section.5.4}%
|
||||
\contentsline {section}{\numberline {5.5}Cobertura count-api}{14}{section.5.5}%
|
||||
\contentsline {section}{\numberline {5.6}Cobertura desktop (Vitest)}{14}{section.5.6}%
|
||||
\contentsline {chapter}{\numberline {6}Resultados --- humo y funcional}{15}{chapter.6}%
|
||||
\contentsline {section}{\numberline {6.1}Qu\'e eval\'uan}{15}{section.6.1}%
|
||||
\contentsline {section}{\numberline {6.2}Humo gateway}{15}{section.6.2}%
|
||||
\contentsline {section}{\numberline {6.3}Funcional E2E-07 (worker offline $\rightarrow $ 409)}{15}{section.6.3}%
|
||||
\contentsline {section}{\numberline {6.4}Scripts}{16}{section.6.4}%
|
||||
\contentsline {chapter}{\numberline {7}Resultados --- pruebas de carga}{17}{chapter.7}%
|
||||
\contentsline {section}{\numberline {7.1}Qu\'e eval\'uan}{17}{section.7.1}%
|
||||
\contentsline {section}{\numberline {7.2}Tabla consolidada}{17}{section.7.2}%
|
||||
\contentsline {section}{\numberline {7.3}ST-GW-01}{17}{section.7.3}%
|
||||
\contentsline {section}{\numberline {7.4}ST-BOT-01 --- comparativa}{18}{section.7.4}%
|
||||
\contentsline {section}{\numberline {7.5}Throughput gateway}{19}{section.7.5}%
|
||||
\contentsline {chapter}{\numberline {8}Count-api: qu\'e eval\'ua cada prueba}{20}{chapter.8}%
|
||||
\contentsline {section}{\numberline {8.1}Qu\'e eval\'ua / resultado / significado}{20}{section.8.1}%
|
||||
\contentsline {section}{\numberline {8.2}Pipeline bajo prueba}{20}{section.8.2}%
|
||||
\contentsline {section}{\numberline {8.3}Resultado global count-api}{21}{section.8.3}%
|
||||
\contentsline {section}{\numberline {8.4}Features: qu\'e se eval\'ua (con ejemplo)}{21}{section.8.4}%
|
||||
\contentsline {subsection}{\numberline {8.4.1}TestExtractRowFeaturesServiceTablePattern --- \textcolor {passgreen}{\textbf {PASS}}}{21}{subsection.8.4.1}%
|
||||
\contentsline {subsection}{\numberline {8.4.2}TestBuildFeaturesContinuation --- \textcolor {passgreen}{\textbf {PASS}}}{21}{subsection.8.4.2}%
|
||||
\contentsline {subsection}{\numberline {8.4.3}TestExtractRowFeaturesHeaderKeyword --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.4.3}%
|
||||
\contentsline {subsection}{\numberline {8.4.4}TestExtractRowFeaturesServiceCode --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.4.4}%
|
||||
\contentsline {subsection}{\numberline {8.4.5}TestExtractRowFeaturesNoTablePattern --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.4.5}%
|
||||
\contentsline {subsection}{\numberline {8.4.6}TestBuildFeatureRowsEmpty --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.4.6}%
|
||||
\contentsline {subsection}{\numberline {8.4.7}TestFeatureCount --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.4.7}%
|
||||
\contentsline {section}{\numberline {8.5}Clustering: qu\'e se eval\'ua (con ejemplo)}{22}{section.8.5}%
|
||||
\contentsline {subsection}{\numberline {8.5.1}TestClusterRowsTwoBands --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.5.1}%
|
||||
\contentsline {subsection}{\numberline {8.5.2}TestClusterRowsSameBand --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.5.2}%
|
||||
\contentsline {subsection}{\numberline {8.5.3}TestClusterRowsEmpty --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.5.3}%
|
||||
\contentsline {subsection}{\numberline {8.5.4}TestClusterRowsNoiseMinSamples --- \textcolor {passgreen}{\textbf {PASS}}}{22}{subsection.8.5.4}%
|
||||
\contentsline {section}{\numberline {8.6}Pruebas con PDFs reales}{23}{section.8.6}%
|
||||
\contentsline {subsection}{\numberline {8.6.1}Fixtures}{23}{subsection.8.6.1}%
|
||||
\contentsline {subsection}{\numberline {8.6.2}TestProcessPDFTimingFixtures}{23}{subsection.8.6.2}%
|
||||
\contentsline {subsection}{\numberline {8.6.3}Script HTTP \texttt {measure\_count\_latency}}{23}{subsection.8.6.3}%
|
||||
\contentsline {section}{\numberline {8.7}Resultados agregados (23 PDFs)}{23}{section.8.7}%
|
||||
\contentsline {section}{\numberline {8.8}Resultados de latencia HTTP}{24}{section.8.8}%
|
||||
\contentsline {section}{\numberline {8.9}Detalle por archivo}{25}{section.8.9}%
|
||||
\contentsline {section}{\numberline {8.10}C\'omo reproducir}{25}{section.8.10}%
|
||||
\contentsline {chapter}{\numberline {9}Extracci\'on LLM: bench de latencia (ST-EXT-02)}{26}{chapter.9}%
|
||||
\contentsline {section}{\numberline {9.1}Qu\'e eval\'ua / resultado / significado}{26}{section.9.1}%
|
||||
\contentsline {section}{\numberline {9.2}C\'omo ejecutar}{26}{section.9.2}%
|
||||
\contentsline {section}{\numberline {9.3}Resultados (2026-07-17)}{27}{section.9.3}%
|
||||
\contentsline {section}{\numberline {9.4}Lectura para capacidad}{27}{section.9.4}%
|
||||
\contentsline {chapter}{\numberline {10}Cola ARQ: bench ST-EXT-01 (LLM mock)}{28}{chapter.10}%
|
||||
\contentsline {section}{\numberline {10.1}Qu\'e eval\'ua / resultado / significado}{28}{section.10.1}%
|
||||
\contentsline {section}{\numberline {10.2}Condiciones de la corrida}{28}{section.10.2}%
|
||||
\contentsline {section}{\numberline {10.3}Resultados}{29}{section.10.3}%
|
||||
\contentsline {section}{\numberline {10.4}Lectura}{29}{section.10.4}%
|
||||
\contentsline {chapter}{\numberline {11}Count-api bajo carga (ST-COUNT-01)}{30}{chapter.11}%
|
||||
\contentsline {section}{\numberline {11.1}Qu\'e eval\'ua / resultado / significado}{30}{section.11.1}%
|
||||
\contentsline {section}{\numberline {11.2}Condiciones}{30}{section.11.2}%
|
||||
\contentsline {section}{\numberline {11.3}Resultados}{30}{section.11.3}%
|
||||
\contentsline {section}{\numberline {11.4}Lectura}{30}{section.11.4}%
|
||||
\contentsline {chapter}{\numberline {12}An\'alisis y hallazgos}{32}{chapter.12}%
|
||||
\contentsline {section}{\numberline {12.1}Hallazgos}{32}{section.12.1}%
|
||||
\contentsline {section}{\numberline {12.2}Scorecard global}{32}{section.12.2}%
|
||||
\contentsline {section}{\numberline {12.3}Limitaciones}{32}{section.12.3}%
|
||||
\contentsline {chapter}{\numberline {13}Conclusiones y recomendaciones}{34}{chapter.13}%
|
||||
\contentsline {section}{\numberline {13.1}Conclusiones}{34}{section.13.1}%
|
||||
\contentsline {section}{\numberline {13.2}Recomendaciones}{34}{section.13.2}%
|
||||
\contentsline {section}{\numberline {13.3}Documentos relacionados}{34}{section.13.3}%
|
||||
\contentsline {chapter}{\numberline {14}Anexos}{35}{chapter.14}%
|
||||
\contentsline {section}{\numberline {14.1}Datos fuente}{35}{section.14.1}%
|
||||
\contentsline {section}{\numberline {14.2}Extracto ST-GW-01}{35}{section.14.2}%
|
||||
\contentsline {section}{\numberline {14.3}Extracto ST-BOT-01 \#2}{35}{section.14.3}%
|
||||
\contentsline {section}{\numberline {14.4}Unitarias}{35}{section.14.4}%
|
||||
\contentsline {section}{\numberline {14.5}Scripts}{35}{section.14.5}%
|
||||
\contentsline {section}{\numberline {14.6}Extracto ST-EXT-01}{36}{section.14.6}%
|
||||
\contentsline {section}{\numberline {14.7}Documentos hermanos}{36}{section.14.7}%
|
||||
\contentsline {section}{\numberline {14.8}Reproducibilidad}{36}{section.14.8}%
|
||||
|
||||
Reference in New Issue
Block a user