evalvault 1.58.0__tar.gz → 1.59.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {evalvault-1.58.0 → evalvault-1.59.0}/PKG-INFO +10 -4
- evalvault-1.59.0/data/datasets/insurance_qa_korean.json +61 -0
- evalvault-1.59.0/docs/web_ui_analysis_migration_plan.md +91 -0
- evalvault-1.59.0/frontend/src/pages/ComprehensiveAnalysis.tsx +695 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/pyproject.toml +18 -8
- evalvault-1.59.0/reports/analysis/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb.json +1657 -0
- evalvault-1.59.0/reports/analysis/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb.md +61 -0
- evalvault-1.59.0/reports/analysis/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775.json +1909 -0
- evalvault-1.59.0/reports/analysis/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775.md +66 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/causal_analysis.json +37 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/diagnostic.json +21 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/final_output.json +112 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/index.json +108 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/load_data.json +462 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/load_runs.json +249 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/low_samples.json +11 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/nlp_analysis.json +143 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/pattern_detection.json +22 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/priority_summary.json +165 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/ragas_eval.json +65 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/report.json +114 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/root_cause.json +18 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/statistics.json +205 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/time_series.json +22 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_4792d785-a8ea-4fd3-8a0c-dcbf1889f5fb/trend_detection.json +12 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/causal_analysis.json +37 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/diagnostic.json +21 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/final_output.json +112 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/index.json +108 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/load_data.json +462 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/load_runs.json +484 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/low_samples.json +11 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/nlp_analysis.json +143 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/pattern_detection.json +22 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/priority_summary.json +165 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/ragas_eval.json +65 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/report.json +114 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/root_cause.json +18 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/statistics.json +205 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/time_series.json +28 -0
- evalvault-1.59.0/reports/analysis/artifacts/analysis_e2f7e6bb-a86e-4f6a-8002-0c6f1a831775/trend_detection.json +23 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/pipeline.py +48 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/analyze.py +258 -2
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/pipeline.py +5 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/run.py +60 -26
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/analysis_io.py +2 -2
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/__init__.py +13 -3
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/embedding_analyzer_module.py +2 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/embedding_searcher_module.py +2 -1
- evalvault-1.59.0/src/evalvault/adapters/outbound/analysis/hypothesis_generator_module.py +359 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/llm_report_module.py +9 -9
- evalvault-1.59.0/src/evalvault/adapters/outbound/analysis/network_analyzer_module.py +250 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/pipeline_factory.py +3 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/pipeline_helpers.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/priority_summary_module.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/retrieval_benchmark_module.py +3 -2
- evalvault-1.59.0/src/evalvault/adapters/outbound/analysis/timeseries_advanced_module.py +349 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/benchmark/lm_eval_adapter.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/improvement/insight_generator.py +13 -10
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/improvement/pattern_detector.py +11 -13
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/improvement/playbook_loader.py +3 -3
- evalvault-1.59.0/src/evalvault/adapters/outbound/llm/__init__.py +128 -0
- evalvault-1.59.0/src/evalvault/adapters/outbound/llm/instructor_factory.py +133 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/ollama_adapter.py +8 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/token_aware_chat.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/report/__init__.py +2 -0
- evalvault-1.59.0/src/evalvault/adapters/outbound/report/dashboard_generator.py +197 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/postgres_adapter.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracer/open_rag_log_handler.py +3 -3
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracer/open_rag_trace_adapter.py +3 -3
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracer/open_rag_trace_helpers.py +4 -4
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/settings.py +10 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/analysis_pipeline.py +13 -3
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/analysis_service.py +3 -3
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/evaluator.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/pipeline_template_registry.py +197 -127
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/visual_space_service.py +1 -1
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_cli.py +8 -4
- {evalvault-1.58.0 → evalvault-1.59.0}/uv.lock +356 -748
- evalvault-1.58.0/src/evalvault/adapters/outbound/llm/__init__.py +0 -128
- evalvault-1.58.0/src/evalvault/adapters/outbound/llm/instructor_factory.py +0 -39
- {evalvault-1.58.0 → evalvault-1.59.0}/.cursor/worktrees.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.dockerignore +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.env.example +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/dependabot.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/pull_request_template.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/stale.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/workflows/ci.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/workflows/release.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.github/workflows/stale.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.gitignore +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.pre-commit-config.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/.python-version +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/AGENTS.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/CHANGELOG.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/CLAUDE.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/CODE_OF_CONDUCT.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/CONTRIBUTING.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/Dockerfile +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/LICENSE.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/README.en.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/SECURITY.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/agent.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/client.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/main.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/memory/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/memory/shared/decisions.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/memory/shared/dependencies.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/memory/templates/coordinator_guide.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/memory/templates/work_log_template.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/memory_integration.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/progress.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/app_spec.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/baseline.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/coding_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/existing_project_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/improvement/architecture_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/improvement/base_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/improvement/coordinator_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/improvement/observability_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/initializer_prompt.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/prompt_manifest.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts/system.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/prompts.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/requirements.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/agent/security.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/domains/insurance/memory.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/domains/insurance/terms_dictionary_en.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/domains/insurance/terms_dictionary_ko.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/methods.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/models.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/regressions/default.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/regressions/ux.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/stage_metric_playbook.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/config/stage_metric_thresholds.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/dummy_test_dataset.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/insurance_qa_korean.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/sample.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/visualization_20q_cluster_map.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/visualization_20q_korean.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/visualization_2q_cluster_map.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/datasets/visualization_2q_korean.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/kg/knowledge_graph.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/raw/The Complete Guide to Mastering Suno Advanced Strategies for Professional Music Generation.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/raw/edge_cases.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/raw/run_mode_full_domain_memory.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/data/raw/sample_rag_knowledge.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/dataset_templates/dataset_template.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/dataset_templates/dataset_template.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/dataset_templates/dataset_template.xlsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/dataset_templates/method_input_template.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docker-compose.langfuse.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docker-compose.phoenix.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docker-compose.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/INDEX.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/README.ko.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/ROADMAP.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/STATUS.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/adapters/inbound.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/adapters/outbound.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/config.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/domain/entities.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/domain/metrics.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/domain/services.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/ports/inbound.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/api/ports/outbound.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/architecture/open-rag-trace-collector.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/architecture/open-rag-trace-spec.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/getting-started/INSTALLATION.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/guides/CLI_MCP_PLAN.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/guides/DEV_GUIDE.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/guides/RELEASE_CHECKLIST.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/guides/USER_GUIDE.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/guides/open-rag-trace-internal-adapter.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/guides/open-rag-trace-samples.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/mapping/component-to-whitepaper.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/00_frontmatter.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/01_overview.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/02_architecture.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/03_data_flow.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/04_components.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/05_expert_lenses.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/06_implementation.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/07_advanced.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/08_customization.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/09_quality.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/10_performance.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/11_security.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/12_operations.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/13_standards.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/14_roadmap.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/INDEX.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/new_whitepaper/STYLE_GUIDE.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/stylesheets/extra.css +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/templates/dataset_template.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/templates/dataset_template.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/templates/dataset_template.xlsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/templates/kg_template.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/templates/retriever_docs_template.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/docs/tools/generate-whitepaper.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/dummy_test_dataset.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/korean_rag/faithfulness_test.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/korean_rag/insurance_qa_100.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/korean_rag/keyword_extraction_test.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/korean_rag/retrieval_test.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/output/comparison.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/output/full_results.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/output/leaderboard.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/output/results_mteb.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/output/retrieval_result.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/benchmarks/run_korean_benchmark.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/kg_generator_demo.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/method_plugin_template/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/method_plugin_template/pyproject.toml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/method_plugin_template/src/method_plugin_template/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/method_plugin_template/src/method_plugin_template/methods.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/usecase/comprehensive_workflow_test.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/usecase/insurance_eval_dataset.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/examples/usecase/output/comprehensive_report.html +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/.env.example +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/.gitignore +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/analysis-compare.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/analysis-lab.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/compare-runs.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/dashboard.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/domain-memory.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/evaluation-studio.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/knowledge-base.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/mocks/intents.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/mocks/run_details.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/mocks/runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/e2e/run-details.spec.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/eslint.config.js +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/index.html +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/package-lock.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/package.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/playwright.config.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/public/vite.svg +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/App.css +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/App.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/assets/react.svg +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/AnalysisNodeOutputs.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/InsightSpacePanel.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/Layout.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/MarkdownContent.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/PrioritySummaryPanel.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/SpaceLegend.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/SpacePlot2D.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/SpacePlot3D.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/StatusBadge.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/components/VirtualizedText.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/config/ui.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/config.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/hooks/useInsightSpace.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/index.css +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/main.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/AnalysisCompareView.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/AnalysisLab.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/AnalysisResultView.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/CompareRuns.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/CustomerReport.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/Dashboard.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/DomainMemory.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/EvaluationStudio.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/KnowledgeBase.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/RunDetails.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/Settings.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/Visualization.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/pages/VisualizationHome.tsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/services/api.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/types/plotly.d.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/utils/format.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/utils/phoenix.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/utils/runAnalytics.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/utils/score.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/src/utils/summaryMetrics.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/tailwind.config.js +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/tsconfig.app.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/tsconfig.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/tsconfig.node.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/frontend/vite.config.ts +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/mkdocs.yml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/package-lock.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/.gitkeep +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_0aa9fab0-6c2c-4c1c-b228-202a38a2f00c.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_0aa9fab0-6c2c-4c1c-b228-202a38a2f00c.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_2163f844-ee2c-4630-9ba8-35cd9954d92e.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_2163f844-ee2c-4630-9ba8-35cd9954d92e.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_4516d358-2797-4c46-9f14-c1d975588025.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_4516d358-2797-4c46-9f14-c1d975588025.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_9fbf4776-9f5b-4c4b-ba08-c556032cee86.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_9fbf4776-9f5b-4c4b-ba08-c556032cee86.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/causal_analysis.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/diagnostic.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/final_output.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/index.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/load_data.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/load_runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/low_samples.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/nlp_analysis.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/pattern_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/priority_summary.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/ragas_eval.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/report.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/root_cause.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/statistics.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/time_series.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_4516d358-2797-4c46-9f14-c1d975588025/trend_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/causal_analysis.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/diagnostic.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/final_output.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/index.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/load_data.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/load_runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/low_samples.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/nlp_analysis.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/pattern_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/priority_summary.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/ragas_eval.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/report.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/root_cause.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/statistics.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/time_series.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_8f825b22-87f1-4d9b-b3a0-8ff65dbec2c5/trend_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/causal_analysis.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/diagnostic.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/final_output.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/index.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/load_data.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/load_runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/low_samples.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/nlp_analysis.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/pattern_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/priority_summary.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/ragas_eval.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/report.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/root_cause.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/statistics.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/time_series.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/analysis/artifacts/analysis_f1287e90-43b6-42c8-b3ac-e6cb3e06a71e/trend_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_0aa9fab0_f1287e90/final_output.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_0aa9fab0_f1287e90/index.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_0aa9fab0_f1287e90/load_runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_0aa9fab0_f1287e90/report.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_0aa9fab0_f1287e90/run_change_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_0aa9fab0_f1287e90/run_metric_comparison.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_8f825b22_4516d358/final_output.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_8f825b22_4516d358/index.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_8f825b22_4516d358/load_runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_8f825b22_4516d358/report.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_8f825b22_4516d358/run_change_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_8f825b22_4516d358/run_metric_comparison.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_f1287e90_8f825b22/final_output.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_f1287e90_8f825b22/index.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_f1287e90_8f825b22/load_runs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_f1287e90_8f825b22/report.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_f1287e90_8f825b22/run_change_detection.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/artifacts/comparison_f1287e90_8f825b22/run_metric_comparison.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_0aa9fab0_9fbf4776.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_0aa9fab0_9fbf4776.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_0aa9fab0_f1287e90.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_0aa9fab0_f1287e90.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_8f825b22_4516d358.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_8f825b22_4516d358.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_9fbf4776_a491fa0e.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_9fbf4776_a491fa0e.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_f1287e90_8f825b22.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/comparison/comparison_f1287e90_8f825b22.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/debug_report_r1_smoke.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/debug_report_r2_graphrag.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/debug_report_r2_graphrag_openai.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/debug_report_r3_bm25.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/debug_report_r3_bm25_langfuse3.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/debug_report_r3_dense_faiss.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/improvement_1d91a667-4288-4742-be3a-a8f5310c5140.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r2_graphrag_openai_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r2_graphrag_openai_stage_report.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r2_graphrag_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r2_graphrag_stage_report.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_bm25_langfuse2_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_bm25_langfuse3_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_bm25_langfuse_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_bm25_phoenix_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_bm25_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_bm25_stage_report.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_dense_faiss_stage_events.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/r3_dense_faiss_stage_report.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/retrieval_benchmark_smoke_precision.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/retrieval_benchmark_smoke_precision_graphrag.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/reports/retrieval_benchmark_smoke_precision_multi.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/benchmark/download_kmmlu.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/dev/open_rag_trace_demo.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/dev/open_rag_trace_integration_template.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/dev/otel-collector-config.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/dev/start_web_ui_with_phoenix.sh +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/dev/validate_open_rag_trace.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/dev_seed_pipeline_results.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/analyzer/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/analyzer/ast_scanner.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/analyzer/confidence_scorer.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/analyzer/graph_builder.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/analyzer/side_effect_detector.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/generate_api_docs.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/models/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/models/schema.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/renderer/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/docs/renderer/html_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/ops/phoenix_watch.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/perf/backfill_langfuse_trace_url.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/perf/r3_dense_smoke.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/perf/r3_evalvault_run_dataset.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/perf/r3_retriever_docs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/perf/r3_smoke_real.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/perf/r3_stage_events_sample.jsonl +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/pipeline_template_inspect.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/reports/generate_release_notes.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/run_with_timeout.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/test_full_evaluation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/tests/run_regressions.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/tests/run_retriever_stage_report_smoke.sh +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/validate_tutorials.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/verify_ragas_compliance.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/scripts/verify_workflows.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/main.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/benchmark.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/domain.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/knowledge.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/api/routers/runs.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/app.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/agent.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/api.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/benchmark.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/debug.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/domain.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/experiment.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/gate.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/generate.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/history.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/init.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/kg.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/langfuse.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/method.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/phoenix.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/prompts.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/run_helpers.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/commands/stage.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/console.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/errors.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/formatters.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/options.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/presets.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/progress.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/inbound/cli/utils/validators.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/analysis_report_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/base_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/bm25_searcher_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/causal_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/causal_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/common.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/comparison_report_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/data_loader_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/detailed_report_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/diagnostic_playbook_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/embedding_distribution_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/hybrid_rrf_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/hybrid_weighted_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/low_performer_extractor_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/model_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/morpheme_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/morpheme_quality_checker_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/nlp_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/nlp_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/pattern_detector_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/ragas_evaluator_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/retrieval_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/retrieval_quality_checker_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/root_cause_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/run_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/run_change_detector_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/run_comparator_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/run_loader_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/run_metric_comparator_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/search_comparator_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/statistical_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/statistical_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/statistical_comparator_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/summary_report_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/time_series_analyzer_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/trend_detector_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/analysis/verification_report_module.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/benchmark/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/cache/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/cache/hybrid_cache.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/cache/memory_cache.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/base.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/csv_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/excel_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/json_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/loader_factory.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/method_input_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/streaming_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/templates.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/dataset/thresholds.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/debug/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/debug/report_renderer.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/documents/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/documents/ocr/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/documents/ocr/paddleocr_backend.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/documents/pdf_extractor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/documents/versioned_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/domain_memory/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/domain_memory/domain_memory_schema.sql +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/domain_memory/sqlite_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/improvement/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/improvement/stage_metric_playbook_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/kg/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/kg/graph_rag_retriever.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/kg/networkx_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/kg/parallel_kg_builder.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/kg/query_strategies.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/anthropic_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/azure_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/base.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/llm_relation_augmenter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/openai_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/llm/vllm_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/methods/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/methods/baseline_oracle.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/methods/external_command.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/methods/registry.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/bm25_retriever.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/dense_retriever.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/document_chunker.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/hybrid_retriever.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/kiwi_tokenizer.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/korean_evaluation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/korean_stopwords.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/nlp/korean/toolkit.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/phoenix/sync_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/report/llm_report_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/report/markdown_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/base_sql.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/benchmark_storage_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/postgres_schema.sql +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/schema.sql +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/storage/sqlite_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracer/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracer/open_rag_trace_decorators.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracer/phoenix_tracer_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracker/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracker/langfuse_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracker/mlflow_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/adapters/outbound/tracker/phoenix_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/agent_types.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/domain_config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/instrumentation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/langfuse_support.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/model_config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/phoenix_support.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/config/playbooks/improvement_playbook.yaml +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/debug_ragas.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/debug_ragas_real.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/analysis.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/benchmark.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/benchmark_run.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/dataset.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/debug.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/experiment.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/improvement.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/kg.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/memory.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/method.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/prompt.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/rag_trace.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/result.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/entities/stage.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/confidence.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/contextual_relevancy.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/entity_preservation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/insurance.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/no_answer.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/retrieval_rank.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/terms_dictionary.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/metrics/text_match.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/async_batch_executor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/batch_executor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/benchmark_report_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/benchmark_runner.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/benchmark_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/cache_metrics.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/cluster_map_builder.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/dataset_preprocessor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/debug_report_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/document_chunker.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/document_versioning.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/domain_learning_hook.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/embedding_overlay.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/entity_extractor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/experiment_comparator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/experiment_manager.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/experiment_reporter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/experiment_repository.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/experiment_statistics.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/improvement_guide_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/intent_classifier.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/kg_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/memory_aware_evaluator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/memory_based_analysis.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/method_runner.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/pipeline_orchestrator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/prompt_manifest.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/prompt_registry.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/prompt_status.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/ragas_prompt_overrides.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/retrieval_metrics.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/retriever_context.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/stage_event_builder.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/stage_metric_guide_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/stage_metric_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/stage_summary_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/synthetic_qa_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/testset_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/threshold_profiles.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/domain/services/unified_report_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/mkdocs_helpers.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/inbound/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/inbound/analysis_pipeline_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/inbound/evaluator_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/inbound/learning_hook_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/inbound/web_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/analysis_cache_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/analysis_module_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/analysis_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/benchmark_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/causal_analysis_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/dataset_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/domain_memory_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/embedding_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/improvement_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/intent_classifier_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/korean_nlp_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/llm_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/method_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/nlp_analysis_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/relation_augmenter_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/report_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/stage_storage_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/storage_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/tracer_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/ports/outbound/tracker_port.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/reports/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/reports/release_notes.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/scripts/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/src/evalvault/scripts/regression_runner.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/conftest.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/README.md +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/benchmark/retrieval_ground_truth_min.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/benchmark/retrieval_ground_truth_multi.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/auto_insurance_qa_korean_full.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/comprehensive_dataset.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/edge_cases.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/edge_cases.xlsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/evaluation_test_sample.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/graphrag_retriever_docs.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/graphrag_smoke.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_document.txt +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_english.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_english.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_english.xlsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_korean.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_korean.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_korean.xlsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/insurance_qa_korean_versioned_pdf.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/run_mode_full_domain_memory.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/run_mode_simple.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/e2e/summary_eval_minimal.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/kg/minimal_graph.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/sample_dataset.csv +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/sample_dataset.json +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/fixtures/sample_dataset.xlsx +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/benchmark/test_benchmark_service_integration.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/conftest.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_cli_integration.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_data_flow.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_e2e_scenarios.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_evaluation_flow.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_full_workflow.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_langfuse_flow.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_phoenix_flow.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_pipeline_api_contracts.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_storage_flow.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/integration/test_summary_eval_fixture.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/optional_deps.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/documents/test_pdf_extractor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/documents/test_versioned_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/improvement/__init__.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/improvement/test_insight_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/improvement/test_pattern_detector.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/improvement/test_playbook_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/improvement/test_stage_metric_playbook_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/kg/test_graph_rag_retriever.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/kg/test_parallel_kg_builder.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/adapters/outbound/storage/test_benchmark_storage_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/config/test_phoenix_support.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/conftest.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/metrics/test_confidence.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/metrics/test_contextual_relevancy.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/metrics/test_entity_preservation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/metrics/test_no_answer.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/metrics/test_retrieval_rank.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/metrics/test_text_match.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_cache_metrics.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_claim_level.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_dataset_preprocessor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_document_versioning.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_evaluator_comprehensive.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_improvement_guide_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_retrieval_metrics.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_retriever_context.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_stage_event_builder.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_stage_metric_guide_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/services/test_synthetic_qa_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/test_embedding_overlay.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/test_prompt_manifest.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/domain/test_prompt_status.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/reports/test_release_notes.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/scripts/test_regression_runner.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_agent_types.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_analysis_entities.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_analysis_modules.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_analysis_pipeline.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_analysis_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_anthropic_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_async_batch_executor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_azure_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_benchmark_helpers.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_benchmark_runner.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_causal_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_cli_domain.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_cli_init.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_cli_progress.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_cli_utils.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_data_loaders.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_domain_config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_domain_memory.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_entities.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_entities_kg.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_entity_extractor.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_evaluator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_experiment.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_hybrid_cache.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_instrumentation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_insurance_metric.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_intent_classifier.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_kg_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_kg_networkx.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_kiwi_tokenizer.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_kiwi_warning_suppression.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_korean_dense.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_korean_evaluation.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_korean_retrieval.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_langfuse_tracker.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_llm_relation_augmenter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_lm_eval_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_markdown_report.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_memory_cache.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_memory_services.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_method_plugins.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_mlflow_tracker.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_model_config.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_nlp_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_nlp_entities.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_ollama_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_openai_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_phoenix_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_pipeline_orchestrator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_ports.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_postgres_storage.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_rag_trace_entities.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_run_memory_helpers.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_run_mode_fixtures.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_settings.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_sqlite_storage.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_stage_cli.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_stage_metric_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_stage_storage.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_stage_summary_service.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_statistical_adapter.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_streaming_loader.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_summary_eval_fixture.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_testset_generator.py +0 -0
- {evalvault-1.58.0 → evalvault-1.59.0}/tests/unit/test_web_adapter.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: evalvault
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.59.0
|
|
4
4
|
Summary: RAG evaluation system using Ragas with Phoenix/Langfuse tracing
|
|
5
5
|
Project-URL: Homepage, https://github.com/ntts9990/EvalVault
|
|
6
6
|
Project-URL: Documentation, https://github.com/ntts9990/EvalVault#readme
|
|
@@ -30,6 +30,7 @@ Requires-Dist: fastapi>=0.128.0
|
|
|
30
30
|
Requires-Dist: instructor
|
|
31
31
|
Requires-Dist: langchain-openai
|
|
32
32
|
Requires-Dist: langfuse
|
|
33
|
+
Requires-Dist: matplotlib<3.9.0,>=3.8.0
|
|
33
34
|
Requires-Dist: networkx
|
|
34
35
|
Requires-Dist: openai
|
|
35
36
|
Requires-Dist: openpyxl
|
|
@@ -37,20 +38,22 @@ Requires-Dist: pandas
|
|
|
37
38
|
Requires-Dist: pydantic
|
|
38
39
|
Requires-Dist: pydantic-settings
|
|
39
40
|
Requires-Dist: python-multipart
|
|
40
|
-
Requires-Dist: ragas
|
|
41
|
+
Requires-Dist: ragas==0.4.2
|
|
41
42
|
Requires-Dist: rich
|
|
42
43
|
Requires-Dist: truststore>=0.10.4
|
|
43
44
|
Requires-Dist: typer
|
|
44
45
|
Requires-Dist: uvicorn>=0.40.0
|
|
45
46
|
Requires-Dist: xlrd
|
|
46
47
|
Provides-Extra: analysis
|
|
47
|
-
Requires-Dist: scikit-learn>=1.
|
|
48
|
+
Requires-Dist: scikit-learn>=1.3.0; extra == 'analysis'
|
|
48
49
|
Provides-Extra: anthropic
|
|
49
50
|
Requires-Dist: anthropic; extra == 'anthropic'
|
|
50
51
|
Requires-Dist: langchain-anthropic; extra == 'anthropic'
|
|
51
52
|
Provides-Extra: benchmark
|
|
52
53
|
Requires-Dist: datasets>=2.0.0; extra == 'benchmark'
|
|
53
54
|
Requires-Dist: lm-eval[api]>=0.4.0; extra == 'benchmark'
|
|
55
|
+
Provides-Extra: dashboard
|
|
56
|
+
Requires-Dist: matplotlib<3.9.0,>=3.8.0; extra == 'dashboard'
|
|
54
57
|
Provides-Extra: dev
|
|
55
58
|
Requires-Dist: anthropic; extra == 'dev'
|
|
56
59
|
Requires-Dist: arize-phoenix>=8.0.0; extra == 'dev'
|
|
@@ -81,7 +84,7 @@ Requires-Dist: pytest-xdist; extra == 'dev'
|
|
|
81
84
|
Requires-Dist: python-multipart; extra == 'dev'
|
|
82
85
|
Requires-Dist: rank-bm25>=0.2.2; extra == 'dev'
|
|
83
86
|
Requires-Dist: ruff; extra == 'dev'
|
|
84
|
-
Requires-Dist: scikit-learn
|
|
87
|
+
Requires-Dist: scikit-learn<1.4.0,>=1.3.0; extra == 'dev'
|
|
85
88
|
Requires-Dist: sentence-transformers>=5.2.0; extra == 'dev'
|
|
86
89
|
Provides-Extra: docs
|
|
87
90
|
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
|
|
@@ -105,6 +108,9 @@ Requires-Dist: opentelemetry-exporter-otlp>=1.20.0; extra == 'phoenix'
|
|
|
105
108
|
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == 'phoenix'
|
|
106
109
|
Provides-Extra: postgres
|
|
107
110
|
Requires-Dist: psycopg[binary]>=3.0.0; extra == 'postgres'
|
|
111
|
+
Provides-Extra: timeseries
|
|
112
|
+
Requires-Dist: aeon>=1.3.0; extra == 'timeseries'
|
|
113
|
+
Requires-Dist: numba>=0.55.0; extra == 'timeseries'
|
|
108
114
|
Provides-Extra: web
|
|
109
115
|
Description-Content-Type: text/markdown
|
|
110
116
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "insurance-qa-korean",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"thresholds": {
|
|
5
|
+
"faithfulness": 0.7,
|
|
6
|
+
"answer_relevancy": 0.7
|
|
7
|
+
},
|
|
8
|
+
"test_cases": [
|
|
9
|
+
{
|
|
10
|
+
"id": "kr-001",
|
|
11
|
+
"question": "이 보험의 사망보험금은 얼마인가요?",
|
|
12
|
+
"answer": "해당 보험의 사망보험금은 1억원입니다.",
|
|
13
|
+
"contexts": [
|
|
14
|
+
"본 보험계약의 사망보험금은 1억원이며, 피보험자가 보험기간 중 사망한 경우 지급됩니다.",
|
|
15
|
+
"보험금 청구 시 사망진단서와 수익자 신분증이 필요합니다."
|
|
16
|
+
],
|
|
17
|
+
"ground_truth": "1억원"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "kr-002",
|
|
21
|
+
"question": "보험료 납입 기간은 어떻게 되나요?",
|
|
22
|
+
"answer": "보험료 납입 기간은 20년입니다.",
|
|
23
|
+
"contexts": [
|
|
24
|
+
"보험료 납입기간은 20년이며, 월납 기준 보험료는 50,000원입니다.",
|
|
25
|
+
"납입 기간 중 보험료 납입이 어려운 경우 납입유예 신청이 가능합니다."
|
|
26
|
+
],
|
|
27
|
+
"ground_truth": "20년"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "kr-003",
|
|
31
|
+
"question": "암 진단비는 얼마를 받을 수 있나요?",
|
|
32
|
+
"answer": "암 진단 시 3,000만원의 진단비를 받으실 수 있습니다.",
|
|
33
|
+
"contexts": [
|
|
34
|
+
"암 진단비는 일반암 기준 3,000만원이 지급됩니다.",
|
|
35
|
+
"다만, 갑상선암, 기타피부암 등 소액암의 경우 300만원이 지급됩니다.",
|
|
36
|
+
"암 진단비는 최초 1회에 한하여 지급됩니다."
|
|
37
|
+
],
|
|
38
|
+
"ground_truth": "3,000만원"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "kr-004",
|
|
42
|
+
"question": "보험 해지 시 환급금은 얼마인가요?",
|
|
43
|
+
"answer": "5년 납입 후 해지 시 납입보험료의 약 70%가 환급됩니다.",
|
|
44
|
+
"contexts": [
|
|
45
|
+
"해지환급금은 납입기간에 따라 다르며, 5년 납입 시 약 70%, 10년 납입 시 약 85%가 환급됩니다.",
|
|
46
|
+
"조기 해지 시 원금 손실이 발생할 수 있습니다."
|
|
47
|
+
],
|
|
48
|
+
"ground_truth": "납입보험료의 약 70%"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "kr-005",
|
|
52
|
+
"question": "입원비 보장은 어떻게 되나요?",
|
|
53
|
+
"answer": "질병 입원 시 1일당 5만원의 입원비가 지급됩니다.",
|
|
54
|
+
"contexts": [
|
|
55
|
+
"질병으로 인한 입원 시 1일당 5만원(최대 180일)이 지급됩니다.",
|
|
56
|
+
"상해로 인한 입원은 별도의 상해입원비 특약 가입이 필요합니다."
|
|
57
|
+
],
|
|
58
|
+
"ground_truth": "1일당 5만원"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Web UI 분석 기능 이관 계획 (SPSS/SAS 스타일)
|
|
2
|
+
|
|
3
|
+
## 1. 목적
|
|
4
|
+
CLI(`evalvault analyze`, `analyze-compare`)의 분석 기능을 Web UI로 이관하여, SPSS/SAS와 같은 **메뉴 기반 기능 선택 + 파라미터 입력** 흐름을 제공한다.
|
|
5
|
+
|
|
6
|
+
## 2. 범위 (CLI 기능 기준)
|
|
7
|
+
- 기초 통계 분석
|
|
8
|
+
- NLP 분석
|
|
9
|
+
- 인과 분석
|
|
10
|
+
- 플레이북 기반 개선 인사이트
|
|
11
|
+
- 시계열 이상 탐지 및 예측
|
|
12
|
+
- 메트릭 상관 네트워크 분석
|
|
13
|
+
- 가설 자동 생성
|
|
14
|
+
- 비교 분석 (t-test / mann-whitney)
|
|
15
|
+
|
|
16
|
+
## 3. UI 구조 설계 (메뉴 구조)
|
|
17
|
+
### 3.1 메뉴 트리
|
|
18
|
+
- **기초 통계**
|
|
19
|
+
- 통계 요약
|
|
20
|
+
- 상관관계 분석
|
|
21
|
+
- **시계열 분석**
|
|
22
|
+
- 이상 탐지
|
|
23
|
+
- 성능 예측
|
|
24
|
+
- **구조/원인 분석**
|
|
25
|
+
- 인과 분석
|
|
26
|
+
- 메트릭 네트워크
|
|
27
|
+
- **지능형 인사이트**
|
|
28
|
+
- 가설 생성
|
|
29
|
+
- 플레이북 분석
|
|
30
|
+
- **비교 분석**
|
|
31
|
+
- Run A/B 비교
|
|
32
|
+
- 테스트 타입 선택
|
|
33
|
+
|
|
34
|
+
### 3.2 사용자 흐름
|
|
35
|
+
1) 메뉴 선택
|
|
36
|
+
2) 파라미터 입력/선택
|
|
37
|
+
3) 실행
|
|
38
|
+
4) 결과 표시 및 리포트 다운로드
|
|
39
|
+
|
|
40
|
+
## 4. CLI 옵션 → UI 컨트롤 매핑
|
|
41
|
+
| CLI 옵션 | UI 컨트롤 | 비고 |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| `--nlp` | Switch | NLP 분석 활성화 |
|
|
44
|
+
| `--causal` | Switch | 인과 분석 활성화 |
|
|
45
|
+
| `--dashboard` | Switch | 시각화 대시보드 생성 |
|
|
46
|
+
| `--anomaly-detect` | Switch | 이상 탐지 |
|
|
47
|
+
| `--window-size` | Number Input | 50~500 |
|
|
48
|
+
| `--forecast` | Switch | 성능 예측 |
|
|
49
|
+
| `--forecast-horizon` | Number Input | 1~10 |
|
|
50
|
+
| `--network` | Switch | 네트워크 분석 |
|
|
51
|
+
| `--min-correlation` | Slider | 0.0~1.0 |
|
|
52
|
+
| `--generate-hypothesis` | Switch | 가설 생성 |
|
|
53
|
+
| `--hypothesis-method` | Select | heuristic/hyporefine/union |
|
|
54
|
+
| `--num-hypotheses` | Number Input | 1~20 |
|
|
55
|
+
| `--test` | Radio | t-test / mann-whitney |
|
|
56
|
+
|
|
57
|
+
## 5. 데이터 흐름 (가정 포함)
|
|
58
|
+
- UI → API → AnalysisService/Pipeline → 결과 반환
|
|
59
|
+
- 일부 기능은 CLI 전용 흐름일 수 있어 API 라우팅 또는 인텐트 매핑 추가가 필요할 수 있음.
|
|
60
|
+
|
|
61
|
+
## 6. 단계별 이행 계획
|
|
62
|
+
### Phase 0: 타입 오류 정리
|
|
63
|
+
- `hypothesis_generator_module.py`의 Optional 값 처리 보강
|
|
64
|
+
- `pipeline.py`의 `db_path` None 가드 추가
|
|
65
|
+
|
|
66
|
+
### Phase 1: 메뉴/파라미터 패널 기반 UI 구축
|
|
67
|
+
- 메뉴/서브메뉴 구조 고정
|
|
68
|
+
- 선택한 기능에 따라 파라미터 폼 동적 렌더링
|
|
69
|
+
|
|
70
|
+
### Phase 2: 기초 통계 + 시계열 기능 이관
|
|
71
|
+
- 기초 통계, 상관 분석
|
|
72
|
+
- 이상 탐지, 예측
|
|
73
|
+
|
|
74
|
+
### Phase 3: 네트워크/가설/플레이북 이관
|
|
75
|
+
- 메트릭 네트워크
|
|
76
|
+
- 가설 생성
|
|
77
|
+
- 플레이북 분석
|
|
78
|
+
|
|
79
|
+
### Phase 4: 비교 분석 및 리포트 기능 고도화
|
|
80
|
+
- Run A/B 비교 UI
|
|
81
|
+
- 결과 리포트 다운로드
|
|
82
|
+
|
|
83
|
+
## 7. 리스크 및 확인 사항
|
|
84
|
+
- `--extra analysis/timeseries/dashboard` 설치 여부에 따라 기능 사용 가능 여부 표시 필요
|
|
85
|
+
- 장시간 분석 시 진행 상태 표시 필요 (SSE 또는 폴링)
|
|
86
|
+
- 일부 기능은 백엔드 API 추가 필요 가능성
|
|
87
|
+
|
|
88
|
+
## 8. 확인 필요 사항 (Open Questions)
|
|
89
|
+
- Web UI 분석 요청 시 API 호출 방식 (기존 `pipeline` 재사용 vs 신규 API)
|
|
90
|
+
- 결과 시각화 방식 (이미지 다운로드 vs UI 차트 렌더링)
|
|
91
|
+
- 분석 실행 이력 저장/조회 범위
|