tapps-agents 3.5.40__py3-none-any.whl → 3.6.0__py3-none-any.whl
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.
- tapps_agents/__init__.py +2 -2
- tapps_agents/agents/__init__.py +22 -22
- tapps_agents/agents/analyst/__init__.py +5 -5
- tapps_agents/agents/architect/__init__.py +5 -5
- tapps_agents/agents/architect/agent.py +1033 -1033
- tapps_agents/agents/architect/pattern_detector.py +75 -75
- tapps_agents/agents/cleanup/__init__.py +7 -7
- tapps_agents/agents/cleanup/agent.py +445 -445
- tapps_agents/agents/debugger/__init__.py +7 -7
- tapps_agents/agents/debugger/agent.py +310 -310
- tapps_agents/agents/debugger/error_analyzer.py +437 -437
- tapps_agents/agents/designer/__init__.py +5 -5
- tapps_agents/agents/designer/agent.py +786 -786
- tapps_agents/agents/designer/visual_designer.py +638 -638
- tapps_agents/agents/documenter/__init__.py +7 -7
- tapps_agents/agents/documenter/agent.py +531 -531
- tapps_agents/agents/documenter/doc_generator.py +472 -472
- tapps_agents/agents/documenter/doc_validator.py +393 -393
- tapps_agents/agents/documenter/framework_doc_updater.py +493 -493
- tapps_agents/agents/enhancer/__init__.py +7 -7
- tapps_agents/agents/evaluator/__init__.py +7 -7
- tapps_agents/agents/evaluator/agent.py +443 -443
- tapps_agents/agents/evaluator/priority_evaluator.py +641 -641
- tapps_agents/agents/evaluator/quality_analyzer.py +147 -147
- tapps_agents/agents/evaluator/report_generator.py +344 -344
- tapps_agents/agents/evaluator/usage_analyzer.py +192 -192
- tapps_agents/agents/evaluator/workflow_analyzer.py +189 -189
- tapps_agents/agents/implementer/__init__.py +7 -7
- tapps_agents/agents/implementer/agent.py +798 -798
- tapps_agents/agents/implementer/auto_fix.py +1119 -1119
- tapps_agents/agents/implementer/code_generator.py +73 -73
- tapps_agents/agents/improver/__init__.py +1 -1
- tapps_agents/agents/improver/agent.py +753 -753
- tapps_agents/agents/ops/__init__.py +1 -1
- tapps_agents/agents/ops/agent.py +619 -619
- tapps_agents/agents/ops/dependency_analyzer.py +600 -600
- tapps_agents/agents/orchestrator/__init__.py +5 -5
- tapps_agents/agents/orchestrator/agent.py +522 -522
- tapps_agents/agents/planner/__init__.py +7 -7
- tapps_agents/agents/planner/agent.py +1127 -1127
- tapps_agents/agents/reviewer/__init__.py +24 -24
- tapps_agents/agents/reviewer/agent.py +3513 -3513
- tapps_agents/agents/reviewer/aggregator.py +213 -213
- tapps_agents/agents/reviewer/batch_review.py +448 -448
- tapps_agents/agents/reviewer/cache.py +443 -443
- tapps_agents/agents/reviewer/context7_enhancer.py +630 -630
- tapps_agents/agents/reviewer/context_detector.py +203 -203
- tapps_agents/agents/reviewer/docker_compose_validator.py +158 -158
- tapps_agents/agents/reviewer/dockerfile_validator.py +176 -176
- tapps_agents/agents/reviewer/error_handling.py +126 -126
- tapps_agents/agents/reviewer/feedback_generator.py +490 -490
- tapps_agents/agents/reviewer/influxdb_validator.py +316 -316
- tapps_agents/agents/reviewer/issue_tracking.py +169 -169
- tapps_agents/agents/reviewer/library_detector.py +295 -295
- tapps_agents/agents/reviewer/library_patterns.py +268 -268
- tapps_agents/agents/reviewer/maintainability_scorer.py +593 -593
- tapps_agents/agents/reviewer/metric_strategies.py +276 -276
- tapps_agents/agents/reviewer/mqtt_validator.py +160 -160
- tapps_agents/agents/reviewer/output_enhancer.py +105 -105
- tapps_agents/agents/reviewer/pattern_detector.py +241 -241
- tapps_agents/agents/reviewer/performance_scorer.py +357 -357
- tapps_agents/agents/reviewer/phased_review.py +516 -516
- tapps_agents/agents/reviewer/progressive_review.py +435 -435
- tapps_agents/agents/reviewer/react_scorer.py +331 -331
- tapps_agents/agents/reviewer/score_constants.py +228 -228
- tapps_agents/agents/reviewer/score_validator.py +507 -507
- tapps_agents/agents/reviewer/scorer_registry.py +373 -373
- tapps_agents/agents/reviewer/scoring.py +1566 -1566
- tapps_agents/agents/reviewer/service_discovery.py +534 -534
- tapps_agents/agents/reviewer/tools/__init__.py +41 -41
- tapps_agents/agents/reviewer/tools/parallel_executor.py +581 -581
- tapps_agents/agents/reviewer/tools/ruff_grouping.py +250 -250
- tapps_agents/agents/reviewer/tools/scoped_mypy.py +284 -284
- tapps_agents/agents/reviewer/typescript_scorer.py +1142 -1142
- tapps_agents/agents/reviewer/validation.py +208 -208
- tapps_agents/agents/reviewer/websocket_validator.py +132 -132
- tapps_agents/agents/tester/__init__.py +7 -7
- tapps_agents/agents/tester/accessibility_auditor.py +309 -309
- tapps_agents/agents/tester/agent.py +1080 -1080
- tapps_agents/agents/tester/batch_generator.py +54 -54
- tapps_agents/agents/tester/context_learner.py +51 -51
- tapps_agents/agents/tester/coverage_analyzer.py +386 -386
- tapps_agents/agents/tester/coverage_test_generator.py +290 -290
- tapps_agents/agents/tester/debug_enhancer.py +238 -238
- tapps_agents/agents/tester/device_emulator.py +241 -241
- tapps_agents/agents/tester/integration_generator.py +62 -62
- tapps_agents/agents/tester/network_recorder.py +300 -300
- tapps_agents/agents/tester/performance_monitor.py +320 -320
- tapps_agents/agents/tester/test_fixer.py +316 -316
- tapps_agents/agents/tester/test_generator.py +632 -632
- tapps_agents/agents/tester/trace_manager.py +234 -234
- tapps_agents/agents/tester/visual_regression.py +291 -291
- tapps_agents/analysis/pattern_detector.py +36 -36
- tapps_agents/beads/hydration.py +213 -213
- tapps_agents/beads/parse.py +32 -32
- tapps_agents/beads/specs.py +206 -206
- tapps_agents/cli/__init__.py +9 -9
- tapps_agents/cli/__main__.py +8 -8
- tapps_agents/cli/base.py +478 -478
- tapps_agents/cli/command_classifier.py +72 -72
- tapps_agents/cli/commands/__init__.py +2 -2
- tapps_agents/cli/commands/analyst.py +173 -173
- tapps_agents/cli/commands/architect.py +109 -109
- tapps_agents/cli/commands/cleanup_agent.py +92 -92
- tapps_agents/cli/commands/common.py +126 -126
- tapps_agents/cli/commands/debugger.py +90 -90
- tapps_agents/cli/commands/designer.py +112 -112
- tapps_agents/cli/commands/documenter.py +136 -136
- tapps_agents/cli/commands/enhancer.py +110 -110
- tapps_agents/cli/commands/evaluator.py +255 -255
- tapps_agents/cli/commands/health.py +665 -665
- tapps_agents/cli/commands/implementer.py +301 -301
- tapps_agents/cli/commands/improver.py +91 -91
- tapps_agents/cli/commands/knowledge.py +111 -111
- tapps_agents/cli/commands/learning.py +172 -172
- tapps_agents/cli/commands/observability.py +283 -283
- tapps_agents/cli/commands/ops.py +135 -135
- tapps_agents/cli/commands/orchestrator.py +116 -116
- tapps_agents/cli/commands/planner.py +237 -237
- tapps_agents/cli/commands/reviewer.py +1872 -1872
- tapps_agents/cli/commands/status.py +285 -285
- tapps_agents/cli/commands/task.py +227 -219
- tapps_agents/cli/commands/tester.py +191 -191
- tapps_agents/cli/commands/top_level.py +3586 -3586
- tapps_agents/cli/feedback.py +936 -936
- tapps_agents/cli/formatters.py +608 -608
- tapps_agents/cli/help/__init__.py +7 -7
- tapps_agents/cli/help/static_help.py +425 -425
- tapps_agents/cli/network_detection.py +110 -110
- tapps_agents/cli/output_compactor.py +274 -274
- tapps_agents/cli/parsers/__init__.py +2 -2
- tapps_agents/cli/parsers/analyst.py +186 -186
- tapps_agents/cli/parsers/architect.py +167 -167
- tapps_agents/cli/parsers/cleanup_agent.py +228 -228
- tapps_agents/cli/parsers/debugger.py +116 -116
- tapps_agents/cli/parsers/designer.py +182 -182
- tapps_agents/cli/parsers/documenter.py +134 -134
- tapps_agents/cli/parsers/enhancer.py +113 -113
- tapps_agents/cli/parsers/evaluator.py +213 -213
- tapps_agents/cli/parsers/implementer.py +168 -168
- tapps_agents/cli/parsers/improver.py +132 -132
- tapps_agents/cli/parsers/ops.py +159 -159
- tapps_agents/cli/parsers/orchestrator.py +98 -98
- tapps_agents/cli/parsers/planner.py +145 -145
- tapps_agents/cli/parsers/reviewer.py +462 -462
- tapps_agents/cli/parsers/tester.py +124 -124
- tapps_agents/cli/progress_heartbeat.py +254 -254
- tapps_agents/cli/streaming_progress.py +336 -336
- tapps_agents/cli/utils/__init__.py +6 -6
- tapps_agents/cli/utils/agent_lifecycle.py +48 -48
- tapps_agents/cli/utils/error_formatter.py +82 -82
- tapps_agents/cli/utils/error_recovery.py +188 -188
- tapps_agents/cli/utils/output_handler.py +59 -59
- tapps_agents/cli/utils/prompt_enhancer.py +319 -319
- tapps_agents/cli/validators/__init__.py +9 -9
- tapps_agents/cli/validators/command_validator.py +81 -81
- tapps_agents/context7/__init__.py +112 -112
- tapps_agents/context7/agent_integration.py +869 -869
- tapps_agents/context7/analytics.py +382 -382
- tapps_agents/context7/analytics_dashboard.py +299 -299
- tapps_agents/context7/async_cache.py +681 -681
- tapps_agents/context7/backup_client.py +958 -958
- tapps_agents/context7/cache_locking.py +194 -194
- tapps_agents/context7/cache_metadata.py +214 -214
- tapps_agents/context7/cache_prewarm.py +488 -488
- tapps_agents/context7/cache_structure.py +168 -168
- tapps_agents/context7/cache_warming.py +604 -604
- tapps_agents/context7/circuit_breaker.py +376 -376
- tapps_agents/context7/cleanup.py +461 -461
- tapps_agents/context7/commands.py +858 -858
- tapps_agents/context7/credential_validation.py +276 -276
- tapps_agents/context7/cross_reference_resolver.py +168 -168
- tapps_agents/context7/cross_references.py +424 -424
- tapps_agents/context7/doc_manager.py +225 -225
- tapps_agents/context7/fuzzy_matcher.py +369 -369
- tapps_agents/context7/kb_cache.py +404 -404
- tapps_agents/context7/language_detector.py +219 -219
- tapps_agents/context7/library_detector.py +725 -725
- tapps_agents/context7/lookup.py +738 -738
- tapps_agents/context7/metadata.py +258 -258
- tapps_agents/context7/refresh_queue.py +300 -300
- tapps_agents/context7/security.py +373 -373
- tapps_agents/context7/staleness_policies.py +278 -278
- tapps_agents/context7/tiles_integration.py +47 -47
- tapps_agents/continuous_bug_fix/__init__.py +20 -20
- tapps_agents/continuous_bug_fix/bug_finder.py +306 -306
- tapps_agents/continuous_bug_fix/bug_fix_coordinator.py +177 -177
- tapps_agents/continuous_bug_fix/commit_manager.py +178 -178
- tapps_agents/continuous_bug_fix/continuous_bug_fixer.py +322 -322
- tapps_agents/continuous_bug_fix/proactive_bug_finder.py +285 -285
- tapps_agents/core/__init__.py +298 -298
- tapps_agents/core/adaptive_cache_config.py +432 -432
- tapps_agents/core/agent_base.py +647 -647
- tapps_agents/core/agent_cache.py +466 -466
- tapps_agents/core/agent_learning.py +1865 -1865
- tapps_agents/core/analytics_dashboard.py +563 -563
- tapps_agents/core/analytics_enhancements.py +597 -597
- tapps_agents/core/anonymization.py +274 -274
- tapps_agents/core/artifact_context_builder.py +293 -0
- tapps_agents/core/ast_parser.py +228 -228
- tapps_agents/core/async_file_ops.py +402 -402
- tapps_agents/core/best_practice_consultant.py +299 -299
- tapps_agents/core/brownfield_analyzer.py +299 -299
- tapps_agents/core/brownfield_review.py +541 -541
- tapps_agents/core/browser_controller.py +513 -513
- tapps_agents/core/capability_registry.py +418 -418
- tapps_agents/core/change_impact_analyzer.py +190 -190
- tapps_agents/core/checkpoint_manager.py +377 -377
- tapps_agents/core/code_generator.py +329 -329
- tapps_agents/core/code_validator.py +276 -276
- tapps_agents/core/command_registry.py +327 -327
- tapps_agents/core/config.py +33 -0
- tapps_agents/core/context_gathering/__init__.py +2 -2
- tapps_agents/core/context_gathering/repository_explorer.py +28 -28
- tapps_agents/core/context_intelligence/__init__.py +2 -2
- tapps_agents/core/context_intelligence/relevance_scorer.py +24 -24
- tapps_agents/core/context_intelligence/token_budget_manager.py +27 -27
- tapps_agents/core/context_manager.py +240 -240
- tapps_agents/core/cursor_feedback_monitor.py +146 -146
- tapps_agents/core/cursor_verification.py +290 -290
- tapps_agents/core/customization_loader.py +280 -280
- tapps_agents/core/customization_schema.py +260 -260
- tapps_agents/core/customization_template.py +238 -238
- tapps_agents/core/debug_logger.py +124 -124
- tapps_agents/core/design_validator.py +298 -298
- tapps_agents/core/diagram_generator.py +226 -226
- tapps_agents/core/docker_utils.py +232 -232
- tapps_agents/core/document_generator.py +617 -617
- tapps_agents/core/domain_detector.py +30 -30
- tapps_agents/core/error_envelope.py +454 -454
- tapps_agents/core/error_handler.py +270 -270
- tapps_agents/core/estimation_tracker.py +189 -189
- tapps_agents/core/eval_prompt_engine.py +116 -116
- tapps_agents/core/evaluation_base.py +119 -119
- tapps_agents/core/evaluation_models.py +320 -320
- tapps_agents/core/evaluation_orchestrator.py +225 -225
- tapps_agents/core/evaluators/__init__.py +7 -7
- tapps_agents/core/evaluators/architectural_evaluator.py +205 -205
- tapps_agents/core/evaluators/behavioral_evaluator.py +160 -160
- tapps_agents/core/evaluators/performance_profile_evaluator.py +160 -160
- tapps_agents/core/evaluators/security_posture_evaluator.py +148 -148
- tapps_agents/core/evaluators/spec_compliance_evaluator.py +181 -181
- tapps_agents/core/exceptions.py +107 -107
- tapps_agents/core/expert_config_generator.py +293 -293
- tapps_agents/core/export_schema.py +202 -202
- tapps_agents/core/external_feedback_models.py +102 -102
- tapps_agents/core/external_feedback_storage.py +213 -213
- tapps_agents/core/fallback_strategy.py +314 -314
- tapps_agents/core/feedback_analyzer.py +162 -162
- tapps_agents/core/feedback_collector.py +178 -178
- tapps_agents/core/git_operations.py +445 -445
- tapps_agents/core/hardware_profiler.py +151 -151
- tapps_agents/core/instructions.py +324 -324
- tapps_agents/core/io_guardrails.py +69 -69
- tapps_agents/core/issue_manifest.py +249 -249
- tapps_agents/core/issue_schema.py +139 -139
- tapps_agents/core/json_utils.py +128 -128
- tapps_agents/core/knowledge_graph.py +446 -446
- tapps_agents/core/language_detector.py +296 -296
- tapps_agents/core/learning_confidence.py +242 -242
- tapps_agents/core/learning_dashboard.py +246 -246
- tapps_agents/core/learning_decision.py +384 -384
- tapps_agents/core/learning_explainability.py +578 -578
- tapps_agents/core/learning_export.py +287 -287
- tapps_agents/core/learning_integration.py +228 -228
- tapps_agents/core/llm_behavior.py +232 -232
- tapps_agents/core/long_duration_support.py +786 -786
- tapps_agents/core/mcp_setup.py +106 -106
- tapps_agents/core/memory_integration.py +396 -396
- tapps_agents/core/meta_learning.py +666 -666
- tapps_agents/core/module_path_sanitizer.py +199 -199
- tapps_agents/core/multi_agent_orchestrator.py +382 -382
- tapps_agents/core/network_errors.py +125 -125
- tapps_agents/core/nfr_validator.py +336 -336
- tapps_agents/core/offline_mode.py +158 -158
- tapps_agents/core/output_contracts.py +300 -300
- tapps_agents/core/output_formatter.py +300 -300
- tapps_agents/core/path_normalizer.py +174 -174
- tapps_agents/core/path_validator.py +322 -322
- tapps_agents/core/pattern_library.py +250 -250
- tapps_agents/core/performance_benchmark.py +301 -301
- tapps_agents/core/performance_monitor.py +184 -184
- tapps_agents/core/playwright_mcp_controller.py +771 -771
- tapps_agents/core/policy_loader.py +135 -135
- tapps_agents/core/progress.py +166 -166
- tapps_agents/core/project_profile.py +354 -354
- tapps_agents/core/project_type_detector.py +454 -454
- tapps_agents/core/prompt_base.py +223 -223
- tapps_agents/core/prompt_learning/__init__.py +2 -2
- tapps_agents/core/prompt_learning/learning_loop.py +24 -24
- tapps_agents/core/prompt_learning/project_prompt_store.py +25 -25
- tapps_agents/core/prompt_learning/skills_prompt_analyzer.py +35 -35
- tapps_agents/core/prompt_optimization/__init__.py +6 -6
- tapps_agents/core/prompt_optimization/ab_tester.py +114 -114
- tapps_agents/core/prompt_optimization/correlation_analyzer.py +160 -160
- tapps_agents/core/prompt_optimization/progressive_refiner.py +129 -129
- tapps_agents/core/prompt_optimization/prompt_library.py +37 -37
- tapps_agents/core/requirements_evaluator.py +431 -431
- tapps_agents/core/resource_aware_executor.py +449 -449
- tapps_agents/core/resource_monitor.py +343 -343
- tapps_agents/core/resume_handler.py +298 -298
- tapps_agents/core/retry_handler.py +197 -197
- tapps_agents/core/review_checklists.py +479 -479
- tapps_agents/core/role_loader.py +201 -201
- tapps_agents/core/role_template_loader.py +201 -201
- tapps_agents/core/runtime_mode.py +60 -60
- tapps_agents/core/security_scanner.py +342 -342
- tapps_agents/core/skill_agent_registry.py +194 -194
- tapps_agents/core/skill_integration.py +208 -208
- tapps_agents/core/skill_loader.py +492 -492
- tapps_agents/core/skill_template.py +341 -341
- tapps_agents/core/skill_validator.py +478 -478
- tapps_agents/core/stack_analyzer.py +35 -35
- tapps_agents/core/startup.py +174 -174
- tapps_agents/core/storage_manager.py +397 -397
- tapps_agents/core/storage_models.py +166 -166
- tapps_agents/core/story_evaluator.py +410 -410
- tapps_agents/core/subprocess_utils.py +170 -170
- tapps_agents/core/task_duration.py +296 -296
- tapps_agents/core/task_memory.py +582 -582
- tapps_agents/core/task_state.py +226 -226
- tapps_agents/core/tech_stack_priorities.py +208 -208
- tapps_agents/core/temp_directory.py +194 -194
- tapps_agents/core/template_merger.py +600 -600
- tapps_agents/core/template_selector.py +280 -280
- tapps_agents/core/test_generator.py +286 -286
- tapps_agents/core/tiered_context.py +253 -253
- tapps_agents/core/token_monitor.py +345 -345
- tapps_agents/core/traceability.py +254 -254
- tapps_agents/core/trajectory_tracker.py +50 -50
- tapps_agents/core/unicode_safe.py +143 -143
- tapps_agents/core/unified_cache_config.py +170 -170
- tapps_agents/core/unified_state.py +324 -324
- tapps_agents/core/validate_cursor_setup.py +237 -237
- tapps_agents/core/validation_registry.py +136 -136
- tapps_agents/core/validators/__init__.py +4 -4
- tapps_agents/core/validators/python_validator.py +87 -87
- tapps_agents/core/verification_agent.py +90 -90
- tapps_agents/core/visual_feedback.py +644 -644
- tapps_agents/core/workflow_validator.py +197 -197
- tapps_agents/core/worktree.py +367 -367
- tapps_agents/docker/__init__.py +10 -10
- tapps_agents/docker/analyzer.py +186 -186
- tapps_agents/docker/debugger.py +229 -229
- tapps_agents/docker/error_patterns.py +216 -216
- tapps_agents/epic/__init__.py +22 -22
- tapps_agents/epic/beads_sync.py +115 -115
- tapps_agents/epic/markdown_sync.py +105 -105
- tapps_agents/epic/models.py +96 -96
- tapps_agents/experts/__init__.py +163 -163
- tapps_agents/experts/agent_integration.py +243 -243
- tapps_agents/experts/auto_generator.py +331 -331
- tapps_agents/experts/base_expert.py +536 -536
- tapps_agents/experts/builtin_registry.py +261 -261
- tapps_agents/experts/business_metrics.py +565 -565
- tapps_agents/experts/cache.py +266 -266
- tapps_agents/experts/confidence_breakdown.py +306 -306
- tapps_agents/experts/confidence_calculator.py +336 -336
- tapps_agents/experts/confidence_metrics.py +236 -236
- tapps_agents/experts/domain_config.py +311 -311
- tapps_agents/experts/domain_detector.py +550 -550
- tapps_agents/experts/domain_utils.py +84 -84
- tapps_agents/experts/expert_config.py +113 -113
- tapps_agents/experts/expert_engine.py +465 -465
- tapps_agents/experts/expert_registry.py +744 -744
- tapps_agents/experts/expert_synthesizer.py +70 -70
- tapps_agents/experts/governance.py +197 -197
- tapps_agents/experts/history_logger.py +312 -312
- tapps_agents/experts/knowledge/README.md +180 -180
- tapps_agents/experts/knowledge/accessibility/accessible-forms.md +331 -331
- tapps_agents/experts/knowledge/accessibility/aria-patterns.md +344 -344
- tapps_agents/experts/knowledge/accessibility/color-contrast.md +285 -285
- tapps_agents/experts/knowledge/accessibility/keyboard-navigation.md +332 -332
- tapps_agents/experts/knowledge/accessibility/screen-readers.md +282 -282
- tapps_agents/experts/knowledge/accessibility/semantic-html.md +355 -355
- tapps_agents/experts/knowledge/accessibility/testing-accessibility.md +369 -369
- tapps_agents/experts/knowledge/accessibility/wcag-2.1.md +296 -296
- tapps_agents/experts/knowledge/accessibility/wcag-2.2.md +211 -211
- tapps_agents/experts/knowledge/agent-learning/best-practices.md +715 -715
- tapps_agents/experts/knowledge/agent-learning/pattern-extraction.md +282 -282
- tapps_agents/experts/knowledge/agent-learning/prompt-optimization.md +320 -320
- tapps_agents/experts/knowledge/ai-frameworks/model-optimization.md +90 -90
- tapps_agents/experts/knowledge/ai-frameworks/openvino-patterns.md +260 -260
- tapps_agents/experts/knowledge/api-design-integration/api-gateway-patterns.md +309 -309
- tapps_agents/experts/knowledge/api-design-integration/api-security-patterns.md +521 -521
- tapps_agents/experts/knowledge/api-design-integration/api-versioning.md +421 -421
- tapps_agents/experts/knowledge/api-design-integration/async-protocol-patterns.md +61 -61
- tapps_agents/experts/knowledge/api-design-integration/contract-testing.md +221 -221
- tapps_agents/experts/knowledge/api-design-integration/external-api-integration.md +489 -489
- tapps_agents/experts/knowledge/api-design-integration/fastapi-patterns.md +360 -360
- tapps_agents/experts/knowledge/api-design-integration/fastapi-testing.md +262 -262
- tapps_agents/experts/knowledge/api-design-integration/graphql-patterns.md +582 -582
- tapps_agents/experts/knowledge/api-design-integration/grpc-best-practices.md +499 -499
- tapps_agents/experts/knowledge/api-design-integration/mqtt-patterns.md +455 -455
- tapps_agents/experts/knowledge/api-design-integration/rate-limiting.md +507 -507
- tapps_agents/experts/knowledge/api-design-integration/restful-api-design.md +618 -618
- tapps_agents/experts/knowledge/api-design-integration/websocket-patterns.md +480 -480
- tapps_agents/experts/knowledge/cloud-infrastructure/cloud-native-patterns.md +175 -175
- tapps_agents/experts/knowledge/cloud-infrastructure/container-health-checks.md +261 -261
- tapps_agents/experts/knowledge/cloud-infrastructure/containerization.md +222 -222
- tapps_agents/experts/knowledge/cloud-infrastructure/cost-optimization.md +122 -122
- tapps_agents/experts/knowledge/cloud-infrastructure/disaster-recovery.md +153 -153
- tapps_agents/experts/knowledge/cloud-infrastructure/dockerfile-patterns.md +285 -285
- tapps_agents/experts/knowledge/cloud-infrastructure/infrastructure-as-code.md +187 -187
- tapps_agents/experts/knowledge/cloud-infrastructure/kubernetes-patterns.md +253 -253
- tapps_agents/experts/knowledge/cloud-infrastructure/multi-cloud-strategies.md +155 -155
- tapps_agents/experts/knowledge/cloud-infrastructure/serverless-architecture.md +200 -200
- tapps_agents/experts/knowledge/code-quality-analysis/README.md +16 -16
- tapps_agents/experts/knowledge/code-quality-analysis/code-metrics.md +137 -137
- tapps_agents/experts/knowledge/code-quality-analysis/complexity-analysis.md +181 -181
- tapps_agents/experts/knowledge/code-quality-analysis/technical-debt-patterns.md +191 -191
- tapps_agents/experts/knowledge/data-privacy-compliance/anonymization.md +313 -313
- tapps_agents/experts/knowledge/data-privacy-compliance/ccpa.md +255 -255
- tapps_agents/experts/knowledge/data-privacy-compliance/consent-management.md +282 -282
- tapps_agents/experts/knowledge/data-privacy-compliance/data-minimization.md +275 -275
- tapps_agents/experts/knowledge/data-privacy-compliance/data-retention.md +297 -297
- tapps_agents/experts/knowledge/data-privacy-compliance/data-subject-rights.md +383 -383
- tapps_agents/experts/knowledge/data-privacy-compliance/encryption-privacy.md +285 -285
- tapps_agents/experts/knowledge/data-privacy-compliance/gdpr.md +344 -344
- tapps_agents/experts/knowledge/data-privacy-compliance/hipaa.md +385 -385
- tapps_agents/experts/knowledge/data-privacy-compliance/privacy-by-design.md +280 -280
- tapps_agents/experts/knowledge/database-data-management/acid-vs-cap.md +164 -164
- tapps_agents/experts/knowledge/database-data-management/backup-and-recovery.md +182 -182
- tapps_agents/experts/knowledge/database-data-management/data-modeling.md +172 -172
- tapps_agents/experts/knowledge/database-data-management/database-design.md +187 -187
- tapps_agents/experts/knowledge/database-data-management/flux-query-optimization.md +342 -342
- tapps_agents/experts/knowledge/database-data-management/influxdb-connection-patterns.md +432 -432
- tapps_agents/experts/knowledge/database-data-management/influxdb-patterns.md +442 -442
- tapps_agents/experts/knowledge/database-data-management/migration-strategies.md +216 -216
- tapps_agents/experts/knowledge/database-data-management/nosql-patterns.md +259 -259
- tapps_agents/experts/knowledge/database-data-management/scalability-patterns.md +184 -184
- tapps_agents/experts/knowledge/database-data-management/sql-optimization.md +175 -175
- tapps_agents/experts/knowledge/database-data-management/time-series-modeling.md +444 -444
- tapps_agents/experts/knowledge/development-workflow/README.md +16 -16
- tapps_agents/experts/knowledge/development-workflow/automation-best-practices.md +216 -216
- tapps_agents/experts/knowledge/development-workflow/build-strategies.md +198 -198
- tapps_agents/experts/knowledge/development-workflow/deployment-patterns.md +205 -205
- tapps_agents/experts/knowledge/development-workflow/git-workflows.md +205 -205
- tapps_agents/experts/knowledge/documentation-knowledge-management/README.md +16 -16
- tapps_agents/experts/knowledge/documentation-knowledge-management/api-documentation-patterns.md +231 -231
- tapps_agents/experts/knowledge/documentation-knowledge-management/documentation-standards.md +191 -191
- tapps_agents/experts/knowledge/documentation-knowledge-management/knowledge-management.md +171 -171
- tapps_agents/experts/knowledge/documentation-knowledge-management/technical-writing-guide.md +192 -192
- tapps_agents/experts/knowledge/observability-monitoring/alerting-patterns.md +461 -461
- tapps_agents/experts/knowledge/observability-monitoring/apm-tools.md +459 -459
- tapps_agents/experts/knowledge/observability-monitoring/distributed-tracing.md +367 -367
- tapps_agents/experts/knowledge/observability-monitoring/logging-strategies.md +478 -478
- tapps_agents/experts/knowledge/observability-monitoring/metrics-and-monitoring.md +510 -510
- tapps_agents/experts/knowledge/observability-monitoring/observability-best-practices.md +492 -492
- tapps_agents/experts/knowledge/observability-monitoring/open-telemetry.md +573 -573
- tapps_agents/experts/knowledge/observability-monitoring/slo-sli-sla.md +419 -419
- tapps_agents/experts/knowledge/performance/anti-patterns.md +284 -284
- tapps_agents/experts/knowledge/performance/api-performance.md +256 -256
- tapps_agents/experts/knowledge/performance/caching.md +327 -327
- tapps_agents/experts/knowledge/performance/database-performance.md +252 -252
- tapps_agents/experts/knowledge/performance/optimization-patterns.md +327 -327
- tapps_agents/experts/knowledge/performance/profiling.md +297 -297
- tapps_agents/experts/knowledge/performance/resource-management.md +293 -293
- tapps_agents/experts/knowledge/performance/scalability.md +306 -306
- tapps_agents/experts/knowledge/security/owasp-top10.md +209 -209
- tapps_agents/experts/knowledge/security/secure-coding-practices.md +207 -207
- tapps_agents/experts/knowledge/security/threat-modeling.md +220 -220
- tapps_agents/experts/knowledge/security/vulnerability-patterns.md +342 -342
- tapps_agents/experts/knowledge/software-architecture/docker-compose-patterns.md +314 -314
- tapps_agents/experts/knowledge/software-architecture/microservices-patterns.md +379 -379
- tapps_agents/experts/knowledge/software-architecture/service-communication.md +316 -316
- tapps_agents/experts/knowledge/testing/best-practices.md +310 -310
- tapps_agents/experts/knowledge/testing/coverage-analysis.md +293 -293
- tapps_agents/experts/knowledge/testing/mocking.md +256 -256
- tapps_agents/experts/knowledge/testing/test-automation.md +276 -276
- tapps_agents/experts/knowledge/testing/test-data.md +271 -271
- tapps_agents/experts/knowledge/testing/test-design-patterns.md +280 -280
- tapps_agents/experts/knowledge/testing/test-maintenance.md +236 -236
- tapps_agents/experts/knowledge/testing/test-strategies.md +311 -311
- tapps_agents/experts/knowledge/user-experience/information-architecture.md +325 -325
- tapps_agents/experts/knowledge/user-experience/interaction-design.md +363 -363
- tapps_agents/experts/knowledge/user-experience/prototyping.md +293 -293
- tapps_agents/experts/knowledge/user-experience/usability-heuristics.md +337 -337
- tapps_agents/experts/knowledge/user-experience/usability-testing.md +311 -311
- tapps_agents/experts/knowledge/user-experience/user-journeys.md +296 -296
- tapps_agents/experts/knowledge/user-experience/user-research.md +373 -373
- tapps_agents/experts/knowledge/user-experience/ux-principles.md +340 -340
- tapps_agents/experts/knowledge_freshness.py +321 -321
- tapps_agents/experts/knowledge_ingestion.py +438 -438
- tapps_agents/experts/knowledge_need_detector.py +93 -93
- tapps_agents/experts/knowledge_validator.py +382 -382
- tapps_agents/experts/observability.py +440 -440
- tapps_agents/experts/passive_notifier.py +238 -238
- tapps_agents/experts/proactive_orchestrator.py +32 -32
- tapps_agents/experts/rag_chunker.py +205 -205
- tapps_agents/experts/rag_embedder.py +152 -152
- tapps_agents/experts/rag_evaluation.py +299 -299
- tapps_agents/experts/rag_index.py +303 -303
- tapps_agents/experts/rag_metrics.py +293 -293
- tapps_agents/experts/rag_safety.py +263 -263
- tapps_agents/experts/report_generator.py +296 -296
- tapps_agents/experts/setup_wizard.py +441 -441
- tapps_agents/experts/simple_rag.py +431 -431
- tapps_agents/experts/vector_rag.py +354 -354
- tapps_agents/experts/weight_distributor.py +304 -304
- tapps_agents/health/__init__.py +24 -24
- tapps_agents/health/base.py +75 -75
- tapps_agents/health/checks/__init__.py +22 -22
- tapps_agents/health/checks/automation.py +127 -127
- tapps_agents/health/checks/context7_cache.py +210 -210
- tapps_agents/health/checks/environment.py +116 -116
- tapps_agents/health/checks/execution.py +170 -170
- tapps_agents/health/checks/knowledge_base.py +187 -187
- tapps_agents/health/checks/outcomes.py +324 -324
- tapps_agents/health/collector.py +280 -280
- tapps_agents/health/dashboard.py +137 -137
- tapps_agents/health/metrics.py +151 -151
- tapps_agents/health/orchestrator.py +271 -271
- tapps_agents/health/registry.py +166 -166
- tapps_agents/hooks/__init__.py +33 -33
- tapps_agents/hooks/config.py +140 -140
- tapps_agents/hooks/events.py +135 -135
- tapps_agents/hooks/executor.py +128 -128
- tapps_agents/hooks/manager.py +143 -143
- tapps_agents/integration/__init__.py +8 -8
- tapps_agents/integration/service_integrator.py +121 -121
- tapps_agents/integrations/__init__.py +10 -10
- tapps_agents/integrations/clawdbot.py +525 -525
- tapps_agents/integrations/memory_bridge.py +356 -356
- tapps_agents/mcp/__init__.py +18 -18
- tapps_agents/mcp/gateway.py +112 -112
- tapps_agents/mcp/servers/__init__.py +13 -13
- tapps_agents/mcp/servers/analysis.py +204 -204
- tapps_agents/mcp/servers/context7.py +198 -198
- tapps_agents/mcp/servers/filesystem.py +218 -218
- tapps_agents/mcp/servers/git.py +201 -201
- tapps_agents/mcp/tool_registry.py +115 -115
- tapps_agents/quality/__init__.py +54 -54
- tapps_agents/quality/coverage_analyzer.py +379 -379
- tapps_agents/quality/enforcement.py +82 -82
- tapps_agents/quality/gates/__init__.py +37 -37
- tapps_agents/quality/gates/approval_gate.py +255 -255
- tapps_agents/quality/gates/base.py +84 -84
- tapps_agents/quality/gates/exceptions.py +43 -43
- tapps_agents/quality/gates/policy_gate.py +195 -195
- tapps_agents/quality/gates/registry.py +239 -239
- tapps_agents/quality/gates/security_gate.py +156 -156
- tapps_agents/quality/quality_gates.py +369 -369
- tapps_agents/quality/secret_scanner.py +335 -335
- tapps_agents/session/__init__.py +19 -19
- tapps_agents/session/manager.py +256 -256
- tapps_agents/simple_mode/__init__.py +66 -66
- tapps_agents/simple_mode/agent_contracts.py +357 -357
- tapps_agents/simple_mode/beads_hooks.py +151 -151
- tapps_agents/simple_mode/code_snippet_handler.py +382 -382
- tapps_agents/simple_mode/documentation_manager.py +395 -395
- tapps_agents/simple_mode/documentation_reader.py +187 -187
- tapps_agents/simple_mode/file_inference.py +292 -292
- tapps_agents/simple_mode/framework_change_detector.py +268 -268
- tapps_agents/simple_mode/intent_parser.py +510 -510
- tapps_agents/simple_mode/learning_progression.py +358 -358
- tapps_agents/simple_mode/nl_handler.py +700 -700
- tapps_agents/simple_mode/onboarding.py +253 -253
- tapps_agents/simple_mode/orchestrators/__init__.py +38 -38
- tapps_agents/simple_mode/orchestrators/base.py +185 -185
- tapps_agents/simple_mode/orchestrators/breakdown_orchestrator.py +49 -49
- tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +135 -135
- tapps_agents/simple_mode/orchestrators/build_orchestrator.py +2700 -2667
- tapps_agents/simple_mode/orchestrators/deliverable_checklist.py +349 -349
- tapps_agents/simple_mode/orchestrators/enhance_orchestrator.py +53 -53
- tapps_agents/simple_mode/orchestrators/epic_orchestrator.py +122 -122
- tapps_agents/simple_mode/orchestrators/explore_orchestrator.py +184 -184
- tapps_agents/simple_mode/orchestrators/fix_orchestrator.py +723 -723
- tapps_agents/simple_mode/orchestrators/plan_analysis_orchestrator.py +206 -206
- tapps_agents/simple_mode/orchestrators/pr_orchestrator.py +237 -237
- tapps_agents/simple_mode/orchestrators/refactor_orchestrator.py +222 -222
- tapps_agents/simple_mode/orchestrators/requirements_tracer.py +262 -262
- tapps_agents/simple_mode/orchestrators/resume_orchestrator.py +210 -210
- tapps_agents/simple_mode/orchestrators/review_orchestrator.py +161 -161
- tapps_agents/simple_mode/orchestrators/test_orchestrator.py +82 -82
- tapps_agents/simple_mode/output_aggregator.py +340 -340
- tapps_agents/simple_mode/result_formatters.py +598 -598
- tapps_agents/simple_mode/step_dependencies.py +382 -382
- tapps_agents/simple_mode/step_results.py +276 -276
- tapps_agents/simple_mode/streaming.py +388 -388
- tapps_agents/simple_mode/variations.py +129 -129
- tapps_agents/simple_mode/visual_feedback.py +238 -238
- tapps_agents/simple_mode/zero_config.py +274 -274
- tapps_agents/suggestions/__init__.py +8 -8
- tapps_agents/suggestions/inline_suggester.py +52 -52
- tapps_agents/templates/__init__.py +8 -8
- tapps_agents/templates/microservice_generator.py +274 -274
- tapps_agents/utils/env_validator.py +291 -291
- tapps_agents/workflow/__init__.py +171 -171
- tapps_agents/workflow/acceptance_verifier.py +132 -132
- tapps_agents/workflow/agent_handlers/__init__.py +41 -41
- tapps_agents/workflow/agent_handlers/analyst_handler.py +75 -75
- tapps_agents/workflow/agent_handlers/architect_handler.py +107 -107
- tapps_agents/workflow/agent_handlers/base.py +84 -84
- tapps_agents/workflow/agent_handlers/debugger_handler.py +100 -100
- tapps_agents/workflow/agent_handlers/designer_handler.py +110 -110
- tapps_agents/workflow/agent_handlers/documenter_handler.py +94 -94
- tapps_agents/workflow/agent_handlers/implementer_handler.py +235 -235
- tapps_agents/workflow/agent_handlers/ops_handler.py +62 -62
- tapps_agents/workflow/agent_handlers/orchestrator_handler.py +43 -43
- tapps_agents/workflow/agent_handlers/planner_handler.py +98 -98
- tapps_agents/workflow/agent_handlers/registry.py +119 -119
- tapps_agents/workflow/agent_handlers/reviewer_handler.py +119 -119
- tapps_agents/workflow/agent_handlers/tester_handler.py +69 -69
- tapps_agents/workflow/analytics_accessor.py +337 -337
- tapps_agents/workflow/analytics_alerts.py +416 -416
- tapps_agents/workflow/analytics_dashboard_cursor.py +281 -281
- tapps_agents/workflow/analytics_dual_write.py +103 -103
- tapps_agents/workflow/analytics_integration.py +119 -119
- tapps_agents/workflow/analytics_query_parser.py +278 -278
- tapps_agents/workflow/analytics_visualizer.py +259 -259
- tapps_agents/workflow/artifact_helper.py +204 -204
- tapps_agents/workflow/audit_logger.py +263 -263
- tapps_agents/workflow/auto_execution_config.py +340 -340
- tapps_agents/workflow/auto_progression.py +586 -586
- tapps_agents/workflow/branch_cleanup.py +349 -349
- tapps_agents/workflow/checkpoint.py +256 -256
- tapps_agents/workflow/checkpoint_manager.py +178 -178
- tapps_agents/workflow/code_artifact.py +179 -179
- tapps_agents/workflow/common_enums.py +96 -96
- tapps_agents/workflow/confirmation_handler.py +130 -130
- tapps_agents/workflow/context_analyzer.py +222 -222
- tapps_agents/workflow/context_artifact.py +230 -230
- tapps_agents/workflow/cursor_chat.py +94 -94
- tapps_agents/workflow/cursor_executor.py +2337 -2196
- tapps_agents/workflow/cursor_skill_helper.py +516 -516
- tapps_agents/workflow/dependency_resolver.py +244 -244
- tapps_agents/workflow/design_artifact.py +156 -156
- tapps_agents/workflow/detector.py +751 -751
- tapps_agents/workflow/direct_execution_fallback.py +301 -301
- tapps_agents/workflow/docs_artifact.py +168 -168
- tapps_agents/workflow/enforcer.py +389 -389
- tapps_agents/workflow/enhancement_artifact.py +142 -142
- tapps_agents/workflow/error_recovery.py +806 -806
- tapps_agents/workflow/event_bus.py +183 -183
- tapps_agents/workflow/event_log.py +612 -612
- tapps_agents/workflow/events.py +63 -63
- tapps_agents/workflow/exceptions.py +43 -43
- tapps_agents/workflow/execution_graph.py +498 -498
- tapps_agents/workflow/execution_plan.py +126 -126
- tapps_agents/workflow/file_utils.py +186 -186
- tapps_agents/workflow/gate_evaluator.py +182 -182
- tapps_agents/workflow/gate_integration.py +200 -200
- tapps_agents/workflow/graph_visualizer.py +130 -130
- tapps_agents/workflow/health_checker.py +206 -206
- tapps_agents/workflow/logging_helper.py +243 -243
- tapps_agents/workflow/manifest.py +582 -582
- tapps_agents/workflow/marker_writer.py +250 -250
- tapps_agents/workflow/message_formatter.py +188 -188
- tapps_agents/workflow/messaging.py +325 -325
- tapps_agents/workflow/metadata_models.py +91 -91
- tapps_agents/workflow/metrics_integration.py +226 -226
- tapps_agents/workflow/migration_utils.py +116 -116
- tapps_agents/workflow/models.py +148 -111
- tapps_agents/workflow/nlp_config.py +198 -198
- tapps_agents/workflow/nlp_error_handler.py +207 -207
- tapps_agents/workflow/nlp_executor.py +163 -163
- tapps_agents/workflow/nlp_parser.py +528 -528
- tapps_agents/workflow/observability_dashboard.py +451 -451
- tapps_agents/workflow/observer.py +170 -170
- tapps_agents/workflow/ops_artifact.py +257 -257
- tapps_agents/workflow/output_passing.py +214 -214
- tapps_agents/workflow/parallel_executor.py +463 -463
- tapps_agents/workflow/planning_artifact.py +179 -179
- tapps_agents/workflow/preset_loader.py +285 -285
- tapps_agents/workflow/preset_recommender.py +270 -270
- tapps_agents/workflow/progress_logger.py +145 -145
- tapps_agents/workflow/progress_manager.py +303 -303
- tapps_agents/workflow/progress_monitor.py +186 -186
- tapps_agents/workflow/progress_updates.py +423 -423
- tapps_agents/workflow/quality_artifact.py +158 -158
- tapps_agents/workflow/quality_loopback.py +101 -101
- tapps_agents/workflow/recommender.py +387 -387
- tapps_agents/workflow/remediation_loop.py +166 -166
- tapps_agents/workflow/result_aggregator.py +300 -300
- tapps_agents/workflow/review_artifact.py +185 -185
- tapps_agents/workflow/schema_validator.py +522 -522
- tapps_agents/workflow/session_handoff.py +178 -178
- tapps_agents/workflow/skill_invoker.py +648 -648
- tapps_agents/workflow/state_manager.py +756 -756
- tapps_agents/workflow/state_persistence_config.py +331 -331
- tapps_agents/workflow/status_monitor.py +449 -449
- tapps_agents/workflow/step_checkpoint.py +314 -314
- tapps_agents/workflow/step_details.py +201 -201
- tapps_agents/workflow/story_models.py +147 -147
- tapps_agents/workflow/streaming.py +416 -416
- tapps_agents/workflow/suggestion_engine.py +552 -552
- tapps_agents/workflow/testing_artifact.py +186 -186
- tapps_agents/workflow/timeline.py +158 -158
- tapps_agents/workflow/token_integration.py +209 -209
- tapps_agents/workflow/validation.py +217 -217
- tapps_agents/workflow/visual_feedback.py +391 -391
- tapps_agents/workflow/workflow_chain.py +95 -95
- tapps_agents/workflow/workflow_summary.py +219 -219
- tapps_agents/workflow/worktree_manager.py +724 -724
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/METADATA +672 -672
- tapps_agents-3.6.0.dist-info/RECORD +758 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/licenses/LICENSE +22 -22
- tapps_agents/health/checks/outcomes.backup_20260204_064058.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064256.py +0 -324
- tapps_agents/health/checks/outcomes.backup_20260204_064600.py +0 -324
- tapps_agents-3.5.40.dist-info/RECORD +0 -760
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/WHEEL +0 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/entry_points.txt +0 -0
- {tapps_agents-3.5.40.dist-info → tapps_agents-3.6.0.dist-info}/top_level.txt +0 -0
|
@@ -1,242 +1,242 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Learning Confidence Calculator
|
|
3
|
-
|
|
4
|
-
Calculates confidence scores for learning system decisions, combining
|
|
5
|
-
learned experience and best practices consultation results.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
import logging
|
|
9
|
-
from dataclasses import dataclass
|
|
10
|
-
from typing import Any
|
|
11
|
-
|
|
12
|
-
logger = logging.getLogger(__name__)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@dataclass
|
|
16
|
-
class LearnedExperienceMetrics:
|
|
17
|
-
"""Metrics for learned experience confidence calculation."""
|
|
18
|
-
|
|
19
|
-
usage_count: int
|
|
20
|
-
success_rate: float
|
|
21
|
-
quality_score: float
|
|
22
|
-
sample_size: int = 10
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@dataclass
|
|
26
|
-
class ConfidenceFactors:
|
|
27
|
-
"""Factors used in confidence calculation."""
|
|
28
|
-
|
|
29
|
-
learned_confidence: float
|
|
30
|
-
best_practice_confidence: float | None = None
|
|
31
|
-
context_relevance: float = 1.0
|
|
32
|
-
sample_size_factor: float = 0.0
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class LearningConfidenceCalculator:
|
|
36
|
-
"""
|
|
37
|
-
Calculates confidence scores for learning system decisions.
|
|
38
|
-
|
|
39
|
-
Uses weighted algorithms similar to expert confidence calculation,
|
|
40
|
-
but adapted for learned experience metrics.
|
|
41
|
-
"""
|
|
42
|
-
|
|
43
|
-
# Weight factors for learned experience confidence
|
|
44
|
-
WEIGHT_SUCCESS_RATE = 0.4 # Success rate (40%)
|
|
45
|
-
WEIGHT_QUALITY_SCORE = 0.3 # Quality score (30%)
|
|
46
|
-
WEIGHT_SAMPLE_SIZE = 0.2 # Sample size (20%)
|
|
47
|
-
WEIGHT_CONTEXT_RELEVANCE = 0.1 # Context relevance (10%)
|
|
48
|
-
|
|
49
|
-
# Weight factors for combined confidence
|
|
50
|
-
WEIGHT_LEARNED_HIGH = 0.7 # When learned confidence is high (>= 0.8)
|
|
51
|
-
WEIGHT_BEST_PRACTICE_HIGH = 0.7 # When best practice confidence is high (>= 0.7)
|
|
52
|
-
WEIGHT_EQUAL = 0.5 # When both are moderate
|
|
53
|
-
|
|
54
|
-
# Minimum sample size for reliable confidence
|
|
55
|
-
MIN_SAMPLE_SIZE = 5
|
|
56
|
-
|
|
57
|
-
@staticmethod
|
|
58
|
-
def calculate_learned_confidence(
|
|
59
|
-
usage_count: int,
|
|
60
|
-
success_rate: float,
|
|
61
|
-
quality_score: float,
|
|
62
|
-
context_relevance: float = 1.0,
|
|
63
|
-
min_sample_size: int = 5,
|
|
64
|
-
) -> float:
|
|
65
|
-
"""
|
|
66
|
-
Calculate confidence from learned experience metrics.
|
|
67
|
-
|
|
68
|
-
Formula:
|
|
69
|
-
learned_confidence = (
|
|
70
|
-
success_rate * 0.4 + # Success rate (40%)
|
|
71
|
-
quality_score * 0.3 + # Quality score (30%)
|
|
72
|
-
min(usage_count / 100, 1.0) * 0.2 + # Sample size (20%)
|
|
73
|
-
context_relevance * 0.1 # Context match (10%)
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
Args:
|
|
77
|
-
usage_count: Number of times this has been used
|
|
78
|
-
success_rate: Success rate (0.0-1.0)
|
|
79
|
-
quality_score: Quality score (0.0-1.0)
|
|
80
|
-
context_relevance: How relevant to current context (0.0-1.0)
|
|
81
|
-
min_sample_size: Minimum sample size for reliable confidence
|
|
82
|
-
|
|
83
|
-
Returns:
|
|
84
|
-
Confidence score (0.0-1.0)
|
|
85
|
-
"""
|
|
86
|
-
# Normalize inputs
|
|
87
|
-
success_rate = max(0.0, min(1.0, success_rate))
|
|
88
|
-
quality_score = max(0.0, min(1.0, quality_score))
|
|
89
|
-
context_relevance = max(0.0, min(1.0, context_relevance))
|
|
90
|
-
|
|
91
|
-
# Calculate sample size factor
|
|
92
|
-
# More usage = higher confidence, but with diminishing returns
|
|
93
|
-
if usage_count < min_sample_size:
|
|
94
|
-
# Low sample size reduces confidence
|
|
95
|
-
sample_size_factor = (usage_count / min_sample_size) * 0.5
|
|
96
|
-
else:
|
|
97
|
-
# Normalize to 0-1 range with diminishing returns
|
|
98
|
-
sample_size_factor = min(1.0, usage_count / 100.0)
|
|
99
|
-
|
|
100
|
-
# Calculate weighted confidence
|
|
101
|
-
confidence = (
|
|
102
|
-
success_rate * LearningConfidenceCalculator.WEIGHT_SUCCESS_RATE
|
|
103
|
-
+ quality_score * LearningConfidenceCalculator.WEIGHT_QUALITY_SCORE
|
|
104
|
-
+ sample_size_factor * LearningConfidenceCalculator.WEIGHT_SAMPLE_SIZE
|
|
105
|
-
+ context_relevance * LearningConfidenceCalculator.WEIGHT_CONTEXT_RELEVANCE
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
# Ensure confidence is between 0 and 1
|
|
109
|
-
confidence = max(0.0, min(1.0, confidence))
|
|
110
|
-
|
|
111
|
-
logger.debug(
|
|
112
|
-
f"Calculated learned confidence: {confidence:.3f} "
|
|
113
|
-
f"(usage={usage_count}, success={success_rate:.3f}, "
|
|
114
|
-
f"quality={quality_score:.3f}, context={context_relevance:.3f})"
|
|
115
|
-
)
|
|
116
|
-
|
|
117
|
-
return confidence
|
|
118
|
-
|
|
119
|
-
@staticmethod
|
|
120
|
-
def calculate_best_practice_confidence(
|
|
121
|
-
expert_consultation: Any, # ConsultationResult from expert registry
|
|
122
|
-
) -> float:
|
|
123
|
-
"""
|
|
124
|
-
Calculate confidence from best practices consultation.
|
|
125
|
-
|
|
126
|
-
Uses the confidence score from expert consultation directly,
|
|
127
|
-
as it already incorporates multiple factors (agreement, RAG quality, etc.).
|
|
128
|
-
|
|
129
|
-
Args:
|
|
130
|
-
expert_consultation: ConsultationResult from expert registry
|
|
131
|
-
|
|
132
|
-
Returns:
|
|
133
|
-
Confidence score (0.0-1.0)
|
|
134
|
-
"""
|
|
135
|
-
if not expert_consultation:
|
|
136
|
-
return 0.0
|
|
137
|
-
|
|
138
|
-
# Use the confidence from expert consultation
|
|
139
|
-
confidence = getattr(expert_consultation, "confidence", 0.0)
|
|
140
|
-
|
|
141
|
-
# Ensure confidence is between 0 and 1
|
|
142
|
-
confidence = max(0.0, min(1.0, confidence))
|
|
143
|
-
|
|
144
|
-
logger.debug(f"Best practice confidence: {confidence:.3f}")
|
|
145
|
-
|
|
146
|
-
return confidence
|
|
147
|
-
|
|
148
|
-
@staticmethod
|
|
149
|
-
def combine_confidence(
|
|
150
|
-
learned_confidence: float,
|
|
151
|
-
best_practice_confidence: float | None,
|
|
152
|
-
context_factors: dict[str, float] | None = None,
|
|
153
|
-
) -> float:
|
|
154
|
-
"""
|
|
155
|
-
Combine multiple confidence sources into a single score.
|
|
156
|
-
|
|
157
|
-
Strategy:
|
|
158
|
-
- If learned confidence is high (>= 0.8): Weight learned 70%, best practice 30%
|
|
159
|
-
- If best practice confidence is high (>= 0.7): Weight learned 30%, best practice 70%
|
|
160
|
-
- Otherwise: Equal weighting (50/50)
|
|
161
|
-
|
|
162
|
-
Args:
|
|
163
|
-
learned_confidence: Confidence from learned experience (0.0-1.0)
|
|
164
|
-
best_practice_confidence: Confidence from best practices (0.0-1.0 or None)
|
|
165
|
-
context_factors: Optional context factors for adjustment
|
|
166
|
-
|
|
167
|
-
Returns:
|
|
168
|
-
Combined confidence score (0.0-1.0)
|
|
169
|
-
"""
|
|
170
|
-
# Normalize learned confidence
|
|
171
|
-
learned_confidence = max(0.0, min(1.0, learned_confidence))
|
|
172
|
-
|
|
173
|
-
# If no best practice confidence, return learned
|
|
174
|
-
if best_practice_confidence is None:
|
|
175
|
-
return learned_confidence
|
|
176
|
-
|
|
177
|
-
# Normalize best practice confidence
|
|
178
|
-
best_practice_confidence = max(0.0, min(1.0, best_practice_confidence))
|
|
179
|
-
|
|
180
|
-
# Determine weighting strategy
|
|
181
|
-
if learned_confidence >= 0.8:
|
|
182
|
-
# High learned confidence: prioritize learned experience
|
|
183
|
-
combined = (
|
|
184
|
-
learned_confidence * LearningConfidenceCalculator.WEIGHT_LEARNED_HIGH
|
|
185
|
-
+ best_practice_confidence
|
|
186
|
-
* (1.0 - LearningConfidenceCalculator.WEIGHT_LEARNED_HIGH)
|
|
187
|
-
)
|
|
188
|
-
logger.debug(
|
|
189
|
-
f"Combined confidence (learned priority): {combined:.3f} "
|
|
190
|
-
f"(learned={learned_confidence:.3f}, best_practice={best_practice_confidence:.3f})"
|
|
191
|
-
)
|
|
192
|
-
elif best_practice_confidence >= 0.7:
|
|
193
|
-
# High best practice confidence: prioritize best practices
|
|
194
|
-
combined = (
|
|
195
|
-
learned_confidence
|
|
196
|
-
* (1.0 - LearningConfidenceCalculator.WEIGHT_BEST_PRACTICE_HIGH)
|
|
197
|
-
+ best_practice_confidence
|
|
198
|
-
* LearningConfidenceCalculator.WEIGHT_BEST_PRACTICE_HIGH
|
|
199
|
-
)
|
|
200
|
-
logger.debug(
|
|
201
|
-
f"Combined confidence (best practice priority): {combined:.3f} "
|
|
202
|
-
f"(learned={learned_confidence:.3f}, best_practice={best_practice_confidence:.3f})"
|
|
203
|
-
)
|
|
204
|
-
else:
|
|
205
|
-
# Moderate confidence: equal weighting
|
|
206
|
-
combined = (
|
|
207
|
-
learned_confidence * LearningConfidenceCalculator.WEIGHT_EQUAL
|
|
208
|
-
+ best_practice_confidence * LearningConfidenceCalculator.WEIGHT_EQUAL
|
|
209
|
-
)
|
|
210
|
-
logger.debug(
|
|
211
|
-
f"Combined confidence (equal weight): {combined:.3f} "
|
|
212
|
-
f"(learned={learned_confidence:.3f}, best_practice={best_practice_confidence:.3f})"
|
|
213
|
-
)
|
|
214
|
-
|
|
215
|
-
# Apply context factors if provided
|
|
216
|
-
if context_factors:
|
|
217
|
-
context_adjustment = context_factors.get("relevance", 1.0)
|
|
218
|
-
combined = combined * max(0.0, min(1.0, context_adjustment))
|
|
219
|
-
|
|
220
|
-
# Ensure confidence is between 0 and 1
|
|
221
|
-
combined = max(0.0, min(1.0, combined))
|
|
222
|
-
|
|
223
|
-
return combined
|
|
224
|
-
|
|
225
|
-
@staticmethod
|
|
226
|
-
def calculate_from_metrics(metrics: LearnedExperienceMetrics) -> float:
|
|
227
|
-
"""
|
|
228
|
-
Calculate confidence from LearnedExperienceMetrics.
|
|
229
|
-
|
|
230
|
-
Args:
|
|
231
|
-
metrics: LearnedExperienceMetrics instance
|
|
232
|
-
|
|
233
|
-
Returns:
|
|
234
|
-
Confidence score (0.0-1.0)
|
|
235
|
-
"""
|
|
236
|
-
return LearningConfidenceCalculator.calculate_learned_confidence(
|
|
237
|
-
usage_count=metrics.usage_count,
|
|
238
|
-
success_rate=metrics.success_rate,
|
|
239
|
-
quality_score=metrics.quality_score,
|
|
240
|
-
context_relevance=1.0, # Default context relevance
|
|
241
|
-
min_sample_size=metrics.sample_size,
|
|
242
|
-
)
|
|
1
|
+
"""
|
|
2
|
+
Learning Confidence Calculator
|
|
3
|
+
|
|
4
|
+
Calculates confidence scores for learning system decisions, combining
|
|
5
|
+
learned experience and best practices consultation results.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import logging
|
|
9
|
+
from dataclasses import dataclass
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
logger = logging.getLogger(__name__)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class LearnedExperienceMetrics:
|
|
17
|
+
"""Metrics for learned experience confidence calculation."""
|
|
18
|
+
|
|
19
|
+
usage_count: int
|
|
20
|
+
success_rate: float
|
|
21
|
+
quality_score: float
|
|
22
|
+
sample_size: int = 10
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@dataclass
|
|
26
|
+
class ConfidenceFactors:
|
|
27
|
+
"""Factors used in confidence calculation."""
|
|
28
|
+
|
|
29
|
+
learned_confidence: float
|
|
30
|
+
best_practice_confidence: float | None = None
|
|
31
|
+
context_relevance: float = 1.0
|
|
32
|
+
sample_size_factor: float = 0.0
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class LearningConfidenceCalculator:
|
|
36
|
+
"""
|
|
37
|
+
Calculates confidence scores for learning system decisions.
|
|
38
|
+
|
|
39
|
+
Uses weighted algorithms similar to expert confidence calculation,
|
|
40
|
+
but adapted for learned experience metrics.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
# Weight factors for learned experience confidence
|
|
44
|
+
WEIGHT_SUCCESS_RATE = 0.4 # Success rate (40%)
|
|
45
|
+
WEIGHT_QUALITY_SCORE = 0.3 # Quality score (30%)
|
|
46
|
+
WEIGHT_SAMPLE_SIZE = 0.2 # Sample size (20%)
|
|
47
|
+
WEIGHT_CONTEXT_RELEVANCE = 0.1 # Context relevance (10%)
|
|
48
|
+
|
|
49
|
+
# Weight factors for combined confidence
|
|
50
|
+
WEIGHT_LEARNED_HIGH = 0.7 # When learned confidence is high (>= 0.8)
|
|
51
|
+
WEIGHT_BEST_PRACTICE_HIGH = 0.7 # When best practice confidence is high (>= 0.7)
|
|
52
|
+
WEIGHT_EQUAL = 0.5 # When both are moderate
|
|
53
|
+
|
|
54
|
+
# Minimum sample size for reliable confidence
|
|
55
|
+
MIN_SAMPLE_SIZE = 5
|
|
56
|
+
|
|
57
|
+
@staticmethod
|
|
58
|
+
def calculate_learned_confidence(
|
|
59
|
+
usage_count: int,
|
|
60
|
+
success_rate: float,
|
|
61
|
+
quality_score: float,
|
|
62
|
+
context_relevance: float = 1.0,
|
|
63
|
+
min_sample_size: int = 5,
|
|
64
|
+
) -> float:
|
|
65
|
+
"""
|
|
66
|
+
Calculate confidence from learned experience metrics.
|
|
67
|
+
|
|
68
|
+
Formula:
|
|
69
|
+
learned_confidence = (
|
|
70
|
+
success_rate * 0.4 + # Success rate (40%)
|
|
71
|
+
quality_score * 0.3 + # Quality score (30%)
|
|
72
|
+
min(usage_count / 100, 1.0) * 0.2 + # Sample size (20%)
|
|
73
|
+
context_relevance * 0.1 # Context match (10%)
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
Args:
|
|
77
|
+
usage_count: Number of times this has been used
|
|
78
|
+
success_rate: Success rate (0.0-1.0)
|
|
79
|
+
quality_score: Quality score (0.0-1.0)
|
|
80
|
+
context_relevance: How relevant to current context (0.0-1.0)
|
|
81
|
+
min_sample_size: Minimum sample size for reliable confidence
|
|
82
|
+
|
|
83
|
+
Returns:
|
|
84
|
+
Confidence score (0.0-1.0)
|
|
85
|
+
"""
|
|
86
|
+
# Normalize inputs
|
|
87
|
+
success_rate = max(0.0, min(1.0, success_rate))
|
|
88
|
+
quality_score = max(0.0, min(1.0, quality_score))
|
|
89
|
+
context_relevance = max(0.0, min(1.0, context_relevance))
|
|
90
|
+
|
|
91
|
+
# Calculate sample size factor
|
|
92
|
+
# More usage = higher confidence, but with diminishing returns
|
|
93
|
+
if usage_count < min_sample_size:
|
|
94
|
+
# Low sample size reduces confidence
|
|
95
|
+
sample_size_factor = (usage_count / min_sample_size) * 0.5
|
|
96
|
+
else:
|
|
97
|
+
# Normalize to 0-1 range with diminishing returns
|
|
98
|
+
sample_size_factor = min(1.0, usage_count / 100.0)
|
|
99
|
+
|
|
100
|
+
# Calculate weighted confidence
|
|
101
|
+
confidence = (
|
|
102
|
+
success_rate * LearningConfidenceCalculator.WEIGHT_SUCCESS_RATE
|
|
103
|
+
+ quality_score * LearningConfidenceCalculator.WEIGHT_QUALITY_SCORE
|
|
104
|
+
+ sample_size_factor * LearningConfidenceCalculator.WEIGHT_SAMPLE_SIZE
|
|
105
|
+
+ context_relevance * LearningConfidenceCalculator.WEIGHT_CONTEXT_RELEVANCE
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
# Ensure confidence is between 0 and 1
|
|
109
|
+
confidence = max(0.0, min(1.0, confidence))
|
|
110
|
+
|
|
111
|
+
logger.debug(
|
|
112
|
+
f"Calculated learned confidence: {confidence:.3f} "
|
|
113
|
+
f"(usage={usage_count}, success={success_rate:.3f}, "
|
|
114
|
+
f"quality={quality_score:.3f}, context={context_relevance:.3f})"
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
return confidence
|
|
118
|
+
|
|
119
|
+
@staticmethod
|
|
120
|
+
def calculate_best_practice_confidence(
|
|
121
|
+
expert_consultation: Any, # ConsultationResult from expert registry
|
|
122
|
+
) -> float:
|
|
123
|
+
"""
|
|
124
|
+
Calculate confidence from best practices consultation.
|
|
125
|
+
|
|
126
|
+
Uses the confidence score from expert consultation directly,
|
|
127
|
+
as it already incorporates multiple factors (agreement, RAG quality, etc.).
|
|
128
|
+
|
|
129
|
+
Args:
|
|
130
|
+
expert_consultation: ConsultationResult from expert registry
|
|
131
|
+
|
|
132
|
+
Returns:
|
|
133
|
+
Confidence score (0.0-1.0)
|
|
134
|
+
"""
|
|
135
|
+
if not expert_consultation:
|
|
136
|
+
return 0.0
|
|
137
|
+
|
|
138
|
+
# Use the confidence from expert consultation
|
|
139
|
+
confidence = getattr(expert_consultation, "confidence", 0.0)
|
|
140
|
+
|
|
141
|
+
# Ensure confidence is between 0 and 1
|
|
142
|
+
confidence = max(0.0, min(1.0, confidence))
|
|
143
|
+
|
|
144
|
+
logger.debug(f"Best practice confidence: {confidence:.3f}")
|
|
145
|
+
|
|
146
|
+
return confidence
|
|
147
|
+
|
|
148
|
+
@staticmethod
|
|
149
|
+
def combine_confidence(
|
|
150
|
+
learned_confidence: float,
|
|
151
|
+
best_practice_confidence: float | None,
|
|
152
|
+
context_factors: dict[str, float] | None = None,
|
|
153
|
+
) -> float:
|
|
154
|
+
"""
|
|
155
|
+
Combine multiple confidence sources into a single score.
|
|
156
|
+
|
|
157
|
+
Strategy:
|
|
158
|
+
- If learned confidence is high (>= 0.8): Weight learned 70%, best practice 30%
|
|
159
|
+
- If best practice confidence is high (>= 0.7): Weight learned 30%, best practice 70%
|
|
160
|
+
- Otherwise: Equal weighting (50/50)
|
|
161
|
+
|
|
162
|
+
Args:
|
|
163
|
+
learned_confidence: Confidence from learned experience (0.0-1.0)
|
|
164
|
+
best_practice_confidence: Confidence from best practices (0.0-1.0 or None)
|
|
165
|
+
context_factors: Optional context factors for adjustment
|
|
166
|
+
|
|
167
|
+
Returns:
|
|
168
|
+
Combined confidence score (0.0-1.0)
|
|
169
|
+
"""
|
|
170
|
+
# Normalize learned confidence
|
|
171
|
+
learned_confidence = max(0.0, min(1.0, learned_confidence))
|
|
172
|
+
|
|
173
|
+
# If no best practice confidence, return learned
|
|
174
|
+
if best_practice_confidence is None:
|
|
175
|
+
return learned_confidence
|
|
176
|
+
|
|
177
|
+
# Normalize best practice confidence
|
|
178
|
+
best_practice_confidence = max(0.0, min(1.0, best_practice_confidence))
|
|
179
|
+
|
|
180
|
+
# Determine weighting strategy
|
|
181
|
+
if learned_confidence >= 0.8:
|
|
182
|
+
# High learned confidence: prioritize learned experience
|
|
183
|
+
combined = (
|
|
184
|
+
learned_confidence * LearningConfidenceCalculator.WEIGHT_LEARNED_HIGH
|
|
185
|
+
+ best_practice_confidence
|
|
186
|
+
* (1.0 - LearningConfidenceCalculator.WEIGHT_LEARNED_HIGH)
|
|
187
|
+
)
|
|
188
|
+
logger.debug(
|
|
189
|
+
f"Combined confidence (learned priority): {combined:.3f} "
|
|
190
|
+
f"(learned={learned_confidence:.3f}, best_practice={best_practice_confidence:.3f})"
|
|
191
|
+
)
|
|
192
|
+
elif best_practice_confidence >= 0.7:
|
|
193
|
+
# High best practice confidence: prioritize best practices
|
|
194
|
+
combined = (
|
|
195
|
+
learned_confidence
|
|
196
|
+
* (1.0 - LearningConfidenceCalculator.WEIGHT_BEST_PRACTICE_HIGH)
|
|
197
|
+
+ best_practice_confidence
|
|
198
|
+
* LearningConfidenceCalculator.WEIGHT_BEST_PRACTICE_HIGH
|
|
199
|
+
)
|
|
200
|
+
logger.debug(
|
|
201
|
+
f"Combined confidence (best practice priority): {combined:.3f} "
|
|
202
|
+
f"(learned={learned_confidence:.3f}, best_practice={best_practice_confidence:.3f})"
|
|
203
|
+
)
|
|
204
|
+
else:
|
|
205
|
+
# Moderate confidence: equal weighting
|
|
206
|
+
combined = (
|
|
207
|
+
learned_confidence * LearningConfidenceCalculator.WEIGHT_EQUAL
|
|
208
|
+
+ best_practice_confidence * LearningConfidenceCalculator.WEIGHT_EQUAL
|
|
209
|
+
)
|
|
210
|
+
logger.debug(
|
|
211
|
+
f"Combined confidence (equal weight): {combined:.3f} "
|
|
212
|
+
f"(learned={learned_confidence:.3f}, best_practice={best_practice_confidence:.3f})"
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
# Apply context factors if provided
|
|
216
|
+
if context_factors:
|
|
217
|
+
context_adjustment = context_factors.get("relevance", 1.0)
|
|
218
|
+
combined = combined * max(0.0, min(1.0, context_adjustment))
|
|
219
|
+
|
|
220
|
+
# Ensure confidence is between 0 and 1
|
|
221
|
+
combined = max(0.0, min(1.0, combined))
|
|
222
|
+
|
|
223
|
+
return combined
|
|
224
|
+
|
|
225
|
+
@staticmethod
|
|
226
|
+
def calculate_from_metrics(metrics: LearnedExperienceMetrics) -> float:
|
|
227
|
+
"""
|
|
228
|
+
Calculate confidence from LearnedExperienceMetrics.
|
|
229
|
+
|
|
230
|
+
Args:
|
|
231
|
+
metrics: LearnedExperienceMetrics instance
|
|
232
|
+
|
|
233
|
+
Returns:
|
|
234
|
+
Confidence score (0.0-1.0)
|
|
235
|
+
"""
|
|
236
|
+
return LearningConfidenceCalculator.calculate_learned_confidence(
|
|
237
|
+
usage_count=metrics.usage_count,
|
|
238
|
+
success_rate=metrics.success_rate,
|
|
239
|
+
quality_score=metrics.quality_score,
|
|
240
|
+
context_relevance=1.0, # Default context relevance
|
|
241
|
+
min_sample_size=metrics.sample_size,
|
|
242
|
+
)
|