tapps-agents 3.6.0__py3-none-any.whl → 3.6.1__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/service_discovery.py +534 -534
- 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/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 -227
- tapps_agents/cli/commands/tester.py +191 -191
- 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/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/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.backup_20260204_064058.py +324 -0
- tapps_agents/health/checks/outcomes.backup_20260204_064256.py +324 -0
- tapps_agents/health/checks/outcomes.backup_20260204_064600.py +324 -0
- 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/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/resources/__init__.py +5 -0
- tapps_agents/resources/claude/__init__.py +1 -0
- tapps_agents/resources/claude/commands/README.md +156 -0
- tapps_agents/resources/claude/commands/__init__.py +1 -0
- tapps_agents/resources/claude/commands/build-fix.md +22 -0
- tapps_agents/resources/claude/commands/build.md +77 -0
- tapps_agents/resources/claude/commands/debug.md +53 -0
- tapps_agents/resources/claude/commands/design.md +68 -0
- tapps_agents/resources/claude/commands/docs.md +53 -0
- tapps_agents/resources/claude/commands/e2e.md +22 -0
- tapps_agents/resources/claude/commands/fix.md +54 -0
- tapps_agents/resources/claude/commands/implement.md +53 -0
- tapps_agents/resources/claude/commands/improve.md +53 -0
- tapps_agents/resources/claude/commands/library-docs.md +64 -0
- tapps_agents/resources/claude/commands/lint.md +52 -0
- tapps_agents/resources/claude/commands/plan.md +65 -0
- tapps_agents/resources/claude/commands/refactor-clean.md +21 -0
- tapps_agents/resources/claude/commands/refactor.md +55 -0
- tapps_agents/resources/claude/commands/review.md +67 -0
- tapps_agents/resources/claude/commands/score.md +60 -0
- tapps_agents/resources/claude/commands/security-review.md +22 -0
- tapps_agents/resources/claude/commands/security-scan.md +54 -0
- tapps_agents/resources/claude/commands/tdd.md +24 -0
- tapps_agents/resources/claude/commands/test-coverage.md +21 -0
- tapps_agents/resources/claude/commands/test.md +54 -0
- tapps_agents/resources/claude/commands/update-codemaps.md +20 -0
- tapps_agents/resources/claude/commands/update-docs.md +21 -0
- tapps_agents/resources/claude/skills/__init__.py +1 -0
- tapps_agents/resources/claude/skills/analyst/SKILL.md +272 -0
- tapps_agents/resources/claude/skills/analyst/__init__.py +1 -0
- tapps_agents/resources/claude/skills/architect/SKILL.md +282 -0
- tapps_agents/resources/claude/skills/architect/__init__.py +1 -0
- tapps_agents/resources/claude/skills/backend-patterns/SKILL.md +30 -0
- tapps_agents/resources/claude/skills/backend-patterns/__init__.py +1 -0
- tapps_agents/resources/claude/skills/coding-standards/SKILL.md +29 -0
- tapps_agents/resources/claude/skills/coding-standards/__init__.py +1 -0
- tapps_agents/resources/claude/skills/debugger/SKILL.md +203 -0
- tapps_agents/resources/claude/skills/debugger/__init__.py +1 -0
- tapps_agents/resources/claude/skills/designer/SKILL.md +243 -0
- tapps_agents/resources/claude/skills/designer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/documenter/SKILL.md +252 -0
- tapps_agents/resources/claude/skills/documenter/__init__.py +1 -0
- tapps_agents/resources/claude/skills/enhancer/SKILL.md +307 -0
- tapps_agents/resources/claude/skills/enhancer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/evaluator/SKILL.md +204 -0
- tapps_agents/resources/claude/skills/evaluator/__init__.py +1 -0
- tapps_agents/resources/claude/skills/frontend-patterns/SKILL.md +29 -0
- tapps_agents/resources/claude/skills/frontend-patterns/__init__.py +1 -0
- tapps_agents/resources/claude/skills/implementer/SKILL.md +188 -0
- tapps_agents/resources/claude/skills/implementer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/improver/SKILL.md +218 -0
- tapps_agents/resources/claude/skills/improver/__init__.py +1 -0
- tapps_agents/resources/claude/skills/ops/SKILL.md +281 -0
- tapps_agents/resources/claude/skills/ops/__init__.py +1 -0
- tapps_agents/resources/claude/skills/orchestrator/SKILL.md +390 -0
- tapps_agents/resources/claude/skills/orchestrator/__init__.py +1 -0
- tapps_agents/resources/claude/skills/planner/SKILL.md +254 -0
- tapps_agents/resources/claude/skills/planner/__init__.py +1 -0
- tapps_agents/resources/claude/skills/reviewer/SKILL.md +434 -0
- tapps_agents/resources/claude/skills/reviewer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/security-review/SKILL.md +31 -0
- tapps_agents/resources/claude/skills/security-review/__init__.py +1 -0
- tapps_agents/resources/claude/skills/simple-mode/SKILL.md +695 -0
- tapps_agents/resources/claude/skills/simple-mode/__init__.py +1 -0
- tapps_agents/resources/claude/skills/tester/SKILL.md +219 -0
- tapps_agents/resources/claude/skills/tester/__init__.py +1 -0
- tapps_agents/resources/cursor/.cursorignore +35 -0
- tapps_agents/resources/cursor/__init__.py +1 -0
- tapps_agents/resources/cursor/commands/__init__.py +1 -0
- tapps_agents/resources/cursor/commands/build-fix.md +11 -0
- tapps_agents/resources/cursor/commands/build.md +11 -0
- tapps_agents/resources/cursor/commands/e2e.md +11 -0
- tapps_agents/resources/cursor/commands/fix.md +11 -0
- tapps_agents/resources/cursor/commands/refactor-clean.md +11 -0
- tapps_agents/resources/cursor/commands/review.md +11 -0
- tapps_agents/resources/cursor/commands/security-review.md +11 -0
- tapps_agents/resources/cursor/commands/tdd.md +11 -0
- tapps_agents/resources/cursor/commands/test-coverage.md +11 -0
- tapps_agents/resources/cursor/commands/test.md +11 -0
- tapps_agents/resources/cursor/commands/update-codemaps.md +10 -0
- tapps_agents/resources/cursor/commands/update-docs.md +11 -0
- tapps_agents/resources/cursor/rules/__init__.py +1 -0
- tapps_agents/resources/cursor/rules/agent-capabilities.mdc +687 -0
- tapps_agents/resources/cursor/rules/coding-style.mdc +31 -0
- tapps_agents/resources/cursor/rules/command-reference.mdc +2081 -0
- tapps_agents/resources/cursor/rules/cursor-mode-usage.mdc +125 -0
- tapps_agents/resources/cursor/rules/git-workflow.mdc +29 -0
- tapps_agents/resources/cursor/rules/performance.mdc +29 -0
- tapps_agents/resources/cursor/rules/project-context.mdc +163 -0
- tapps_agents/resources/cursor/rules/project-profiling.mdc +197 -0
- tapps_agents/resources/cursor/rules/quick-reference.mdc +630 -0
- tapps_agents/resources/cursor/rules/security.mdc +32 -0
- tapps_agents/resources/cursor/rules/simple-mode.mdc +500 -0
- tapps_agents/resources/cursor/rules/testing.mdc +31 -0
- tapps_agents/resources/cursor/rules/when-to-use.mdc +156 -0
- tapps_agents/resources/cursor/rules/workflow-presets.mdc +179 -0
- tapps_agents/resources/customizations/__init__.py +1 -0
- tapps_agents/resources/customizations/example-custom.yaml +83 -0
- tapps_agents/resources/hooks/__init__.py +1 -0
- tapps_agents/resources/hooks/templates/README.md +5 -0
- tapps_agents/resources/hooks/templates/__init__.py +1 -0
- tapps_agents/resources/hooks/templates/add-project-context.yaml +8 -0
- tapps_agents/resources/hooks/templates/auto-format-js.yaml +10 -0
- tapps_agents/resources/hooks/templates/auto-format-python.yaml +10 -0
- tapps_agents/resources/hooks/templates/git-commit-check.yaml +7 -0
- tapps_agents/resources/hooks/templates/notify-on-complete.yaml +8 -0
- tapps_agents/resources/hooks/templates/quality-gate.yaml +8 -0
- tapps_agents/resources/hooks/templates/security-scan-on-edit.yaml +10 -0
- tapps_agents/resources/hooks/templates/session-end-log.yaml +7 -0
- tapps_agents/resources/hooks/templates/show-beads-ready.yaml +8 -0
- tapps_agents/resources/hooks/templates/test-on-edit.yaml +10 -0
- tapps_agents/resources/hooks/templates/update-docs-on-complete.yaml +8 -0
- tapps_agents/resources/hooks/templates/user-prompt-log.yaml +7 -0
- tapps_agents/resources/scripts/__init__.py +1 -0
- tapps_agents/resources/scripts/set_bd_path.ps1 +51 -0
- tapps_agents/resources/workflows/__init__.py +1 -0
- tapps_agents/resources/workflows/presets/__init__.py +1 -0
- tapps_agents/resources/workflows/presets/brownfield-analysis.yaml +235 -0
- tapps_agents/resources/workflows/presets/fix.yaml +78 -0
- tapps_agents/resources/workflows/presets/full-sdlc.yaml +122 -0
- tapps_agents/resources/workflows/presets/quality.yaml +82 -0
- tapps_agents/resources/workflows/presets/rapid-dev.yaml +84 -0
- 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/breakdown_orchestrator.py +49 -49
- tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +135 -135
- 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/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_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/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 -148
- 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.6.0.dist-info → tapps_agents-3.6.1.dist-info}/METADATA +672 -672
- tapps_agents-3.6.1.dist-info/RECORD +883 -0
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/licenses/LICENSE +22 -22
- tapps_agents-3.6.0.dist-info/RECORD +0 -758
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/WHEEL +0 -0
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/entry_points.txt +0 -0
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/top_level.txt +0 -0
|
@@ -1,461 +1,461 @@
|
|
|
1
|
-
# Alerting Patterns
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Effective alerting helps teams respond quickly to issues while avoiding alert fatigue. Good alerts are actionable, timely, and based on symptoms rather than causes.
|
|
6
|
-
|
|
7
|
-
## Alerting Philosophy
|
|
8
|
-
|
|
9
|
-
### Alert on Symptoms, Not Causes
|
|
10
|
-
|
|
11
|
-
**Why:**
|
|
12
|
-
- Symptoms are observable and measurable
|
|
13
|
-
- Causes may not be known
|
|
14
|
-
- Symptoms are user-facing
|
|
15
|
-
- Causes change over time
|
|
16
|
-
|
|
17
|
-
**Example:**
|
|
18
|
-
```yaml
|
|
19
|
-
# Good: Alert on symptom (high error rate)
|
|
20
|
-
- alert: HighErrorRate
|
|
21
|
-
expr: rate(http_errors_total[5m]) / rate(http_requests_total[5m]) > 0.01
|
|
22
|
-
|
|
23
|
-
# Bad: Alert on cause (assumed)
|
|
24
|
-
- alert: DatabaseSlow
|
|
25
|
-
expr: db_query_duration_seconds > 1
|
|
26
|
-
# This assumes database is the problem, but errors might come from elsewhere
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Alert on User Impact
|
|
30
|
-
|
|
31
|
-
**Focus on what affects users:**
|
|
32
|
-
- Service availability
|
|
33
|
-
- Error rates
|
|
34
|
-
- Latency degradation
|
|
35
|
-
- Feature unavailability
|
|
36
|
-
|
|
37
|
-
**Example:**
|
|
38
|
-
```yaml
|
|
39
|
-
# Good: User-visible symptom
|
|
40
|
-
- alert: ServiceUnavailable
|
|
41
|
-
expr: up{job="api"} == 0
|
|
42
|
-
|
|
43
|
-
# Less useful: Internal metric without user impact
|
|
44
|
-
- alert: HighMemoryUsage
|
|
45
|
-
expr: memory_usage_bytes / memory_total_bytes > 0.8
|
|
46
|
-
# Only alert if this actually affects users
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Alert Components
|
|
50
|
-
|
|
51
|
-
### Alert Definition
|
|
52
|
-
|
|
53
|
-
**Required Fields:**
|
|
54
|
-
- `alert`: Alert name
|
|
55
|
-
- `expr`: PromQL expression
|
|
56
|
-
- `for`: Duration before firing
|
|
57
|
-
- `labels`: Additional labels
|
|
58
|
-
- `annotations`: Human-readable information
|
|
59
|
-
|
|
60
|
-
**Example:**
|
|
61
|
-
```yaml
|
|
62
|
-
- alert: HighErrorRate
|
|
63
|
-
expr: |
|
|
64
|
-
rate(http_errors_total{status=~"5.."}[5m])
|
|
65
|
-
/ rate(http_requests_total[5m]) > 0.01
|
|
66
|
-
for: 5m
|
|
67
|
-
labels:
|
|
68
|
-
severity: critical
|
|
69
|
-
team: backend
|
|
70
|
-
annotations:
|
|
71
|
-
summary: "Error rate above 1% for 5 minutes"
|
|
72
|
-
description: "Error rate is {{ $value | humanizePercentage }}"
|
|
73
|
-
runbook: "https://wiki/runbooks/high-error-rate"
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Severity Levels
|
|
77
|
-
|
|
78
|
-
**Critical:**
|
|
79
|
-
- Service down
|
|
80
|
-
- Data loss
|
|
81
|
-
- Security breach
|
|
82
|
-
- Immediate user impact
|
|
83
|
-
|
|
84
|
-
**Warning:**
|
|
85
|
-
- Degraded performance
|
|
86
|
-
- Approaching thresholds
|
|
87
|
-
- Potential issues
|
|
88
|
-
- Needs attention soon
|
|
89
|
-
|
|
90
|
-
**Info:**
|
|
91
|
-
- Significant events
|
|
92
|
-
- State changes
|
|
93
|
-
- Operational notices
|
|
94
|
-
- Not urgent
|
|
95
|
-
|
|
96
|
-
**Example:**
|
|
97
|
-
```yaml
|
|
98
|
-
- alert: ServiceDown
|
|
99
|
-
expr: up{job="api"} == 0
|
|
100
|
-
labels:
|
|
101
|
-
severity: critical
|
|
102
|
-
|
|
103
|
-
- alert: HighLatency
|
|
104
|
-
expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 1
|
|
105
|
-
labels:
|
|
106
|
-
severity: warning
|
|
107
|
-
|
|
108
|
-
- alert: DeploymentComplete
|
|
109
|
-
expr: changes(deployment_version[1h]) > 0
|
|
110
|
-
labels:
|
|
111
|
-
severity: info
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Alerting Patterns
|
|
115
|
-
|
|
116
|
-
### 1. Threshold-Based Alerts
|
|
117
|
-
|
|
118
|
-
**Pattern:** Alert when metric exceeds threshold
|
|
119
|
-
|
|
120
|
-
**Use Cases:**
|
|
121
|
-
- Error rates
|
|
122
|
-
- Latency
|
|
123
|
-
- Resource usage
|
|
124
|
-
- Queue depths
|
|
125
|
-
|
|
126
|
-
**Example:**
|
|
127
|
-
```yaml
|
|
128
|
-
- alert: HighErrorRate
|
|
129
|
-
expr: |
|
|
130
|
-
rate(http_errors_total[5m]) / rate(http_requests_total[5m]) > 0.01
|
|
131
|
-
for: 5m
|
|
132
|
-
|
|
133
|
-
- alert: HighLatency
|
|
134
|
-
expr: |
|
|
135
|
-
histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 1
|
|
136
|
-
for: 10m
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### 2. Rate of Change Alerts
|
|
140
|
-
|
|
141
|
-
**Pattern:** Alert on sudden changes
|
|
142
|
-
|
|
143
|
-
**Use Cases:**
|
|
144
|
-
- Traffic spikes/drops
|
|
145
|
-
- Error rate increases
|
|
146
|
-
- Resource usage changes
|
|
147
|
-
|
|
148
|
-
**Example:**
|
|
149
|
-
```yaml
|
|
150
|
-
- alert: TrafficSpike
|
|
151
|
-
expr: |
|
|
152
|
-
(rate(http_requests_total[5m]) - rate(http_requests_total[15m] offset 10m))
|
|
153
|
-
/ rate(http_requests_total[15m] offset 10m) > 2
|
|
154
|
-
# Alert if current rate is 3x higher than 10 minutes ago
|
|
155
|
-
|
|
156
|
-
- alert: ErrorRateIncrease
|
|
157
|
-
expr: |
|
|
158
|
-
(rate(http_errors_total[5m]) / rate(http_requests_total[5m]))
|
|
159
|
-
- (rate(http_errors_total[15m] offset 10m) / rate(http_requests_total[15m] offset 10m))
|
|
160
|
-
> 0.005
|
|
161
|
-
# Alert if error rate increased by 0.5%
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### 3. Anomaly Detection
|
|
165
|
-
|
|
166
|
-
**Pattern:** Alert when metric deviates from normal
|
|
167
|
-
|
|
168
|
-
**Use Cases:**
|
|
169
|
-
- Unusual patterns
|
|
170
|
-
- Seasonal variations
|
|
171
|
-
- Baseline comparisons
|
|
172
|
-
|
|
173
|
-
**Example:**
|
|
174
|
-
```yaml
|
|
175
|
-
- alert: UnusualTrafficPattern
|
|
176
|
-
expr: |
|
|
177
|
-
(rate(http_requests_total[5m]) -
|
|
178
|
-
avg_over_time(rate(http_requests_total[5m])[1d:]))
|
|
179
|
-
/ stddev_over_time(rate(http_requests_total[5m])[1d:]) > 3
|
|
180
|
-
# Alert if current rate is 3 standard deviations above 24h average
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### 4. Absence Alerts
|
|
184
|
-
|
|
185
|
-
**Pattern:** Alert when metric is missing
|
|
186
|
-
|
|
187
|
-
**Use Cases:**
|
|
188
|
-
- Service down
|
|
189
|
-
- Exporter failures
|
|
190
|
-
- Missing heartbeats
|
|
191
|
-
|
|
192
|
-
**Example:**
|
|
193
|
-
```yaml
|
|
194
|
-
- alert: ServiceDown
|
|
195
|
-
expr: up{job="api"} == 0
|
|
196
|
-
for: 1m
|
|
197
|
-
|
|
198
|
-
- alert: MissingMetrics
|
|
199
|
-
expr: absent(http_requests_total)
|
|
200
|
-
for: 5m
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### 5. SLO-Based Alerts
|
|
204
|
-
|
|
205
|
-
**Pattern:** Alert on error budget burn rate
|
|
206
|
-
|
|
207
|
-
**Use Cases:**
|
|
208
|
-
- SLO violation risk
|
|
209
|
-
- Error budget consumption
|
|
210
|
-
- Reliability targets
|
|
211
|
-
|
|
212
|
-
**Example:**
|
|
213
|
-
```yaml
|
|
214
|
-
# Alert if burning error budget too fast
|
|
215
|
-
- alert: HighErrorBudgetBurnRate
|
|
216
|
-
expr: |
|
|
217
|
-
(rate(http_errors_total[1h]) / rate(http_requests_total[1h]))
|
|
218
|
-
> on() (0.001 * 14) # 14x normal burn rate for 99.9% SLO
|
|
219
|
-
for: 5m
|
|
220
|
-
annotations:
|
|
221
|
-
summary: "Error budget burning at {{ $value }}x normal rate"
|
|
222
|
-
|
|
223
|
-
# Alert on SLO violation
|
|
224
|
-
- alert: SLOViolation
|
|
225
|
-
expr: |
|
|
226
|
-
(1 - (rate(http_errors_total[30d]) / rate(http_requests_total[30d]))) < 0.999
|
|
227
|
-
annotations:
|
|
228
|
-
summary: "Availability SLO violated"
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
## Alert Routing
|
|
232
|
-
|
|
233
|
-
### Routing by Severity
|
|
234
|
-
|
|
235
|
-
**Critical Alerts:**
|
|
236
|
-
- On-call engineer
|
|
237
|
-
- Immediate notification
|
|
238
|
-
- Multiple channels (PagerDuty, phone, SMS)
|
|
239
|
-
|
|
240
|
-
**Warning Alerts:**
|
|
241
|
-
- Team channel
|
|
242
|
-
- Email notification
|
|
243
|
-
- Daily digest
|
|
244
|
-
|
|
245
|
-
**Info Alerts:**
|
|
246
|
-
- Dashboard only
|
|
247
|
-
- Weekly report
|
|
248
|
-
- Optional notification
|
|
249
|
-
|
|
250
|
-
**Example:**
|
|
251
|
-
```yaml
|
|
252
|
-
route:
|
|
253
|
-
receiver: 'default'
|
|
254
|
-
routes:
|
|
255
|
-
- match:
|
|
256
|
-
severity: critical
|
|
257
|
-
receiver: 'oncall'
|
|
258
|
-
continue: false
|
|
259
|
-
- match:
|
|
260
|
-
severity: warning
|
|
261
|
-
receiver: 'team-slack'
|
|
262
|
-
- match:
|
|
263
|
-
severity: info
|
|
264
|
-
receiver: 'email'
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
### Routing by Service
|
|
268
|
-
|
|
269
|
-
**Team Ownership:**
|
|
270
|
-
```yaml
|
|
271
|
-
route:
|
|
272
|
-
routes:
|
|
273
|
-
- match:
|
|
274
|
-
team: backend
|
|
275
|
-
receiver: 'backend-team'
|
|
276
|
-
- match:
|
|
277
|
-
team: frontend
|
|
278
|
-
receiver: 'frontend-team'
|
|
279
|
-
- match:
|
|
280
|
-
service: database
|
|
281
|
-
receiver: 'database-team'
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
## On-Call Practices
|
|
285
|
-
|
|
286
|
-
### On-Call Rotation
|
|
287
|
-
|
|
288
|
-
**Best Practices:**
|
|
289
|
-
- Regular rotation schedule
|
|
290
|
-
- Clear handoff procedures
|
|
291
|
-
- Backup on-call engineer
|
|
292
|
-
- Timezone considerations
|
|
293
|
-
|
|
294
|
-
**Rotation Types:**
|
|
295
|
-
- Weekly rotation
|
|
296
|
-
- Daily rotation (for high-traffic)
|
|
297
|
-
- Follow-the-sun (global teams)
|
|
298
|
-
|
|
299
|
-
### Runbooks
|
|
300
|
-
|
|
301
|
-
**Every alert should have a runbook:**
|
|
302
|
-
```yaml
|
|
303
|
-
- alert: HighErrorRate
|
|
304
|
-
annotations:
|
|
305
|
-
runbook: "https://wiki/runbooks/high-error-rate"
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
**Runbook Contents:**
|
|
309
|
-
1. Alert description
|
|
310
|
-
2. How to verify the issue
|
|
311
|
-
3. Common causes
|
|
312
|
-
4. Investigation steps
|
|
313
|
-
5. Resolution steps
|
|
314
|
-
6. Escalation path
|
|
315
|
-
|
|
316
|
-
### Alert Acknowledgment
|
|
317
|
-
|
|
318
|
-
**Acknowledgment Workflow:**
|
|
319
|
-
1. Alert fires
|
|
320
|
-
2. On-call acknowledges
|
|
321
|
-
3. Investigation begins
|
|
322
|
-
4. Status updates
|
|
323
|
-
5. Resolution or escalation
|
|
324
|
-
|
|
325
|
-
**Benefits:**
|
|
326
|
-
- Prevents duplicate work
|
|
327
|
-
- Tracks response time
|
|
328
|
-
- Shows current status
|
|
329
|
-
|
|
330
|
-
## Reducing Alert Fatigue
|
|
331
|
-
|
|
332
|
-
### Problem: Too Many Alerts
|
|
333
|
-
|
|
334
|
-
**Symptoms:**
|
|
335
|
-
- Engineers ignore alerts
|
|
336
|
-
- Important alerts missed
|
|
337
|
-
- Low signal-to-noise ratio
|
|
338
|
-
- Burnout
|
|
339
|
-
|
|
340
|
-
### Solutions
|
|
341
|
-
|
|
342
|
-
**1. Consolidate Related Alerts:**
|
|
343
|
-
```yaml
|
|
344
|
-
# Bad: Multiple alerts for same issue
|
|
345
|
-
- alert: HighCPU
|
|
346
|
-
- alert: HighMemory
|
|
347
|
-
- alert: HighDiskIO
|
|
348
|
-
|
|
349
|
-
# Better: Single alert for resource exhaustion
|
|
350
|
-
- alert: ResourceExhaustion
|
|
351
|
-
expr: |
|
|
352
|
-
(cpu_usage > 0.8) OR (memory_usage > 0.8) OR (disk_io_utilization > 0.8)
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
**2. Increase Thresholds:**
|
|
356
|
-
- Only alert on significant issues
|
|
357
|
-
- Use `for` clause to prevent flapping
|
|
358
|
-
- Tune based on false positive rate
|
|
359
|
-
|
|
360
|
-
**3. Use Alert Grouping:**
|
|
361
|
-
```yaml
|
|
362
|
-
# Group related alerts
|
|
363
|
-
group_by: ['alertname', 'cluster', 'service']
|
|
364
|
-
group_wait: 30s
|
|
365
|
-
group_interval: 5m
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
**4. Suppress During Maintenance:**
|
|
369
|
-
```yaml
|
|
370
|
-
# Silence alerts during known maintenance
|
|
371
|
-
- alert: MaintenanceMode
|
|
372
|
-
expr: maintenance_mode == 1
|
|
373
|
-
# Use to suppress other alerts
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
**5. Alert on Aggregates:**
|
|
377
|
-
```yaml
|
|
378
|
-
# Alert on service-level, not instance-level
|
|
379
|
-
- alert: ServiceHighErrorRate
|
|
380
|
-
expr: |
|
|
381
|
-
sum(rate(http_errors_total[5m]))
|
|
382
|
-
/ sum(rate(http_requests_total[5m])) > 0.01
|
|
383
|
-
# Instead of alerting per instance
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
## Alert Testing
|
|
387
|
-
|
|
388
|
-
### Test Alerts
|
|
389
|
-
|
|
390
|
-
**Verify alerts work:**
|
|
391
|
-
- Trigger test alerts
|
|
392
|
-
- Verify routing
|
|
393
|
-
- Check notifications
|
|
394
|
-
- Validate runbooks
|
|
395
|
-
|
|
396
|
-
**Example:**
|
|
397
|
-
```yaml
|
|
398
|
-
# Test alert
|
|
399
|
-
- alert: TestAlert
|
|
400
|
-
expr: vector(1)
|
|
401
|
-
annotations:
|
|
402
|
-
summary: "This is a test alert"
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
### Alert Review Process
|
|
406
|
-
|
|
407
|
-
**Regular Reviews:**
|
|
408
|
-
- Weekly alert review
|
|
409
|
-
- Identify false positives
|
|
410
|
-
- Tune thresholds
|
|
411
|
-
- Remove unused alerts
|
|
412
|
-
- Update runbooks
|
|
413
|
-
|
|
414
|
-
**Metrics to Track:**
|
|
415
|
-
- Alert frequency
|
|
416
|
-
- False positive rate
|
|
417
|
-
- Mean time to acknowledge (MTTA)
|
|
418
|
-
- Mean time to resolve (MTTR)
|
|
419
|
-
- Alert-to-incident ratio
|
|
420
|
-
|
|
421
|
-
## Best Practices Summary
|
|
422
|
-
|
|
423
|
-
1. **Alert on symptoms**, not causes
|
|
424
|
-
2. **Focus on user impact**
|
|
425
|
-
3. **Use appropriate severity levels**
|
|
426
|
-
4. **Add `for` clause** to prevent flapping
|
|
427
|
-
5. **Include runbooks** for every alert
|
|
428
|
-
6. **Route alerts** by severity and team
|
|
429
|
-
7. **Reduce alert fatigue** through consolidation
|
|
430
|
-
8. **Test alerts** regularly
|
|
431
|
-
9. **Review and tune** alerts periodically
|
|
432
|
-
10. **Document decisions** and thresholds
|
|
433
|
-
|
|
434
|
-
## Tools
|
|
435
|
-
|
|
436
|
-
### Alert Managers
|
|
437
|
-
|
|
438
|
-
**Prometheus Alertmanager:**
|
|
439
|
-
- Alert routing
|
|
440
|
-
- Grouping and inhibition
|
|
441
|
-
- Silence management
|
|
442
|
-
- Integration with notification channels
|
|
443
|
-
|
|
444
|
-
**PagerDuty:**
|
|
445
|
-
- On-call management
|
|
446
|
-
- Escalation policies
|
|
447
|
-
- Incident response
|
|
448
|
-
- Integration with monitoring tools
|
|
449
|
-
|
|
450
|
-
**Opsgenie:**
|
|
451
|
-
- Alert management
|
|
452
|
-
- On-call scheduling
|
|
453
|
-
- Escalation
|
|
454
|
-
- Mobile app
|
|
455
|
-
|
|
456
|
-
**VictorOps (Splunk On-Call):**
|
|
457
|
-
- Incident management
|
|
458
|
-
- On-call scheduling
|
|
459
|
-
- Timeline view
|
|
460
|
-
- Integration ecosystem
|
|
461
|
-
|
|
1
|
+
# Alerting Patterns
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Effective alerting helps teams respond quickly to issues while avoiding alert fatigue. Good alerts are actionable, timely, and based on symptoms rather than causes.
|
|
6
|
+
|
|
7
|
+
## Alerting Philosophy
|
|
8
|
+
|
|
9
|
+
### Alert on Symptoms, Not Causes
|
|
10
|
+
|
|
11
|
+
**Why:**
|
|
12
|
+
- Symptoms are observable and measurable
|
|
13
|
+
- Causes may not be known
|
|
14
|
+
- Symptoms are user-facing
|
|
15
|
+
- Causes change over time
|
|
16
|
+
|
|
17
|
+
**Example:**
|
|
18
|
+
```yaml
|
|
19
|
+
# Good: Alert on symptom (high error rate)
|
|
20
|
+
- alert: HighErrorRate
|
|
21
|
+
expr: rate(http_errors_total[5m]) / rate(http_requests_total[5m]) > 0.01
|
|
22
|
+
|
|
23
|
+
# Bad: Alert on cause (assumed)
|
|
24
|
+
- alert: DatabaseSlow
|
|
25
|
+
expr: db_query_duration_seconds > 1
|
|
26
|
+
# This assumes database is the problem, but errors might come from elsewhere
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Alert on User Impact
|
|
30
|
+
|
|
31
|
+
**Focus on what affects users:**
|
|
32
|
+
- Service availability
|
|
33
|
+
- Error rates
|
|
34
|
+
- Latency degradation
|
|
35
|
+
- Feature unavailability
|
|
36
|
+
|
|
37
|
+
**Example:**
|
|
38
|
+
```yaml
|
|
39
|
+
# Good: User-visible symptom
|
|
40
|
+
- alert: ServiceUnavailable
|
|
41
|
+
expr: up{job="api"} == 0
|
|
42
|
+
|
|
43
|
+
# Less useful: Internal metric without user impact
|
|
44
|
+
- alert: HighMemoryUsage
|
|
45
|
+
expr: memory_usage_bytes / memory_total_bytes > 0.8
|
|
46
|
+
# Only alert if this actually affects users
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Alert Components
|
|
50
|
+
|
|
51
|
+
### Alert Definition
|
|
52
|
+
|
|
53
|
+
**Required Fields:**
|
|
54
|
+
- `alert`: Alert name
|
|
55
|
+
- `expr`: PromQL expression
|
|
56
|
+
- `for`: Duration before firing
|
|
57
|
+
- `labels`: Additional labels
|
|
58
|
+
- `annotations`: Human-readable information
|
|
59
|
+
|
|
60
|
+
**Example:**
|
|
61
|
+
```yaml
|
|
62
|
+
- alert: HighErrorRate
|
|
63
|
+
expr: |
|
|
64
|
+
rate(http_errors_total{status=~"5.."}[5m])
|
|
65
|
+
/ rate(http_requests_total[5m]) > 0.01
|
|
66
|
+
for: 5m
|
|
67
|
+
labels:
|
|
68
|
+
severity: critical
|
|
69
|
+
team: backend
|
|
70
|
+
annotations:
|
|
71
|
+
summary: "Error rate above 1% for 5 minutes"
|
|
72
|
+
description: "Error rate is {{ $value | humanizePercentage }}"
|
|
73
|
+
runbook: "https://wiki/runbooks/high-error-rate"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Severity Levels
|
|
77
|
+
|
|
78
|
+
**Critical:**
|
|
79
|
+
- Service down
|
|
80
|
+
- Data loss
|
|
81
|
+
- Security breach
|
|
82
|
+
- Immediate user impact
|
|
83
|
+
|
|
84
|
+
**Warning:**
|
|
85
|
+
- Degraded performance
|
|
86
|
+
- Approaching thresholds
|
|
87
|
+
- Potential issues
|
|
88
|
+
- Needs attention soon
|
|
89
|
+
|
|
90
|
+
**Info:**
|
|
91
|
+
- Significant events
|
|
92
|
+
- State changes
|
|
93
|
+
- Operational notices
|
|
94
|
+
- Not urgent
|
|
95
|
+
|
|
96
|
+
**Example:**
|
|
97
|
+
```yaml
|
|
98
|
+
- alert: ServiceDown
|
|
99
|
+
expr: up{job="api"} == 0
|
|
100
|
+
labels:
|
|
101
|
+
severity: critical
|
|
102
|
+
|
|
103
|
+
- alert: HighLatency
|
|
104
|
+
expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 1
|
|
105
|
+
labels:
|
|
106
|
+
severity: warning
|
|
107
|
+
|
|
108
|
+
- alert: DeploymentComplete
|
|
109
|
+
expr: changes(deployment_version[1h]) > 0
|
|
110
|
+
labels:
|
|
111
|
+
severity: info
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Alerting Patterns
|
|
115
|
+
|
|
116
|
+
### 1. Threshold-Based Alerts
|
|
117
|
+
|
|
118
|
+
**Pattern:** Alert when metric exceeds threshold
|
|
119
|
+
|
|
120
|
+
**Use Cases:**
|
|
121
|
+
- Error rates
|
|
122
|
+
- Latency
|
|
123
|
+
- Resource usage
|
|
124
|
+
- Queue depths
|
|
125
|
+
|
|
126
|
+
**Example:**
|
|
127
|
+
```yaml
|
|
128
|
+
- alert: HighErrorRate
|
|
129
|
+
expr: |
|
|
130
|
+
rate(http_errors_total[5m]) / rate(http_requests_total[5m]) > 0.01
|
|
131
|
+
for: 5m
|
|
132
|
+
|
|
133
|
+
- alert: HighLatency
|
|
134
|
+
expr: |
|
|
135
|
+
histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 1
|
|
136
|
+
for: 10m
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 2. Rate of Change Alerts
|
|
140
|
+
|
|
141
|
+
**Pattern:** Alert on sudden changes
|
|
142
|
+
|
|
143
|
+
**Use Cases:**
|
|
144
|
+
- Traffic spikes/drops
|
|
145
|
+
- Error rate increases
|
|
146
|
+
- Resource usage changes
|
|
147
|
+
|
|
148
|
+
**Example:**
|
|
149
|
+
```yaml
|
|
150
|
+
- alert: TrafficSpike
|
|
151
|
+
expr: |
|
|
152
|
+
(rate(http_requests_total[5m]) - rate(http_requests_total[15m] offset 10m))
|
|
153
|
+
/ rate(http_requests_total[15m] offset 10m) > 2
|
|
154
|
+
# Alert if current rate is 3x higher than 10 minutes ago
|
|
155
|
+
|
|
156
|
+
- alert: ErrorRateIncrease
|
|
157
|
+
expr: |
|
|
158
|
+
(rate(http_errors_total[5m]) / rate(http_requests_total[5m]))
|
|
159
|
+
- (rate(http_errors_total[15m] offset 10m) / rate(http_requests_total[15m] offset 10m))
|
|
160
|
+
> 0.005
|
|
161
|
+
# Alert if error rate increased by 0.5%
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 3. Anomaly Detection
|
|
165
|
+
|
|
166
|
+
**Pattern:** Alert when metric deviates from normal
|
|
167
|
+
|
|
168
|
+
**Use Cases:**
|
|
169
|
+
- Unusual patterns
|
|
170
|
+
- Seasonal variations
|
|
171
|
+
- Baseline comparisons
|
|
172
|
+
|
|
173
|
+
**Example:**
|
|
174
|
+
```yaml
|
|
175
|
+
- alert: UnusualTrafficPattern
|
|
176
|
+
expr: |
|
|
177
|
+
(rate(http_requests_total[5m]) -
|
|
178
|
+
avg_over_time(rate(http_requests_total[5m])[1d:]))
|
|
179
|
+
/ stddev_over_time(rate(http_requests_total[5m])[1d:]) > 3
|
|
180
|
+
# Alert if current rate is 3 standard deviations above 24h average
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 4. Absence Alerts
|
|
184
|
+
|
|
185
|
+
**Pattern:** Alert when metric is missing
|
|
186
|
+
|
|
187
|
+
**Use Cases:**
|
|
188
|
+
- Service down
|
|
189
|
+
- Exporter failures
|
|
190
|
+
- Missing heartbeats
|
|
191
|
+
|
|
192
|
+
**Example:**
|
|
193
|
+
```yaml
|
|
194
|
+
- alert: ServiceDown
|
|
195
|
+
expr: up{job="api"} == 0
|
|
196
|
+
for: 1m
|
|
197
|
+
|
|
198
|
+
- alert: MissingMetrics
|
|
199
|
+
expr: absent(http_requests_total)
|
|
200
|
+
for: 5m
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### 5. SLO-Based Alerts
|
|
204
|
+
|
|
205
|
+
**Pattern:** Alert on error budget burn rate
|
|
206
|
+
|
|
207
|
+
**Use Cases:**
|
|
208
|
+
- SLO violation risk
|
|
209
|
+
- Error budget consumption
|
|
210
|
+
- Reliability targets
|
|
211
|
+
|
|
212
|
+
**Example:**
|
|
213
|
+
```yaml
|
|
214
|
+
# Alert if burning error budget too fast
|
|
215
|
+
- alert: HighErrorBudgetBurnRate
|
|
216
|
+
expr: |
|
|
217
|
+
(rate(http_errors_total[1h]) / rate(http_requests_total[1h]))
|
|
218
|
+
> on() (0.001 * 14) # 14x normal burn rate for 99.9% SLO
|
|
219
|
+
for: 5m
|
|
220
|
+
annotations:
|
|
221
|
+
summary: "Error budget burning at {{ $value }}x normal rate"
|
|
222
|
+
|
|
223
|
+
# Alert on SLO violation
|
|
224
|
+
- alert: SLOViolation
|
|
225
|
+
expr: |
|
|
226
|
+
(1 - (rate(http_errors_total[30d]) / rate(http_requests_total[30d]))) < 0.999
|
|
227
|
+
annotations:
|
|
228
|
+
summary: "Availability SLO violated"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Alert Routing
|
|
232
|
+
|
|
233
|
+
### Routing by Severity
|
|
234
|
+
|
|
235
|
+
**Critical Alerts:**
|
|
236
|
+
- On-call engineer
|
|
237
|
+
- Immediate notification
|
|
238
|
+
- Multiple channels (PagerDuty, phone, SMS)
|
|
239
|
+
|
|
240
|
+
**Warning Alerts:**
|
|
241
|
+
- Team channel
|
|
242
|
+
- Email notification
|
|
243
|
+
- Daily digest
|
|
244
|
+
|
|
245
|
+
**Info Alerts:**
|
|
246
|
+
- Dashboard only
|
|
247
|
+
- Weekly report
|
|
248
|
+
- Optional notification
|
|
249
|
+
|
|
250
|
+
**Example:**
|
|
251
|
+
```yaml
|
|
252
|
+
route:
|
|
253
|
+
receiver: 'default'
|
|
254
|
+
routes:
|
|
255
|
+
- match:
|
|
256
|
+
severity: critical
|
|
257
|
+
receiver: 'oncall'
|
|
258
|
+
continue: false
|
|
259
|
+
- match:
|
|
260
|
+
severity: warning
|
|
261
|
+
receiver: 'team-slack'
|
|
262
|
+
- match:
|
|
263
|
+
severity: info
|
|
264
|
+
receiver: 'email'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Routing by Service
|
|
268
|
+
|
|
269
|
+
**Team Ownership:**
|
|
270
|
+
```yaml
|
|
271
|
+
route:
|
|
272
|
+
routes:
|
|
273
|
+
- match:
|
|
274
|
+
team: backend
|
|
275
|
+
receiver: 'backend-team'
|
|
276
|
+
- match:
|
|
277
|
+
team: frontend
|
|
278
|
+
receiver: 'frontend-team'
|
|
279
|
+
- match:
|
|
280
|
+
service: database
|
|
281
|
+
receiver: 'database-team'
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## On-Call Practices
|
|
285
|
+
|
|
286
|
+
### On-Call Rotation
|
|
287
|
+
|
|
288
|
+
**Best Practices:**
|
|
289
|
+
- Regular rotation schedule
|
|
290
|
+
- Clear handoff procedures
|
|
291
|
+
- Backup on-call engineer
|
|
292
|
+
- Timezone considerations
|
|
293
|
+
|
|
294
|
+
**Rotation Types:**
|
|
295
|
+
- Weekly rotation
|
|
296
|
+
- Daily rotation (for high-traffic)
|
|
297
|
+
- Follow-the-sun (global teams)
|
|
298
|
+
|
|
299
|
+
### Runbooks
|
|
300
|
+
|
|
301
|
+
**Every alert should have a runbook:**
|
|
302
|
+
```yaml
|
|
303
|
+
- alert: HighErrorRate
|
|
304
|
+
annotations:
|
|
305
|
+
runbook: "https://wiki/runbooks/high-error-rate"
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**Runbook Contents:**
|
|
309
|
+
1. Alert description
|
|
310
|
+
2. How to verify the issue
|
|
311
|
+
3. Common causes
|
|
312
|
+
4. Investigation steps
|
|
313
|
+
5. Resolution steps
|
|
314
|
+
6. Escalation path
|
|
315
|
+
|
|
316
|
+
### Alert Acknowledgment
|
|
317
|
+
|
|
318
|
+
**Acknowledgment Workflow:**
|
|
319
|
+
1. Alert fires
|
|
320
|
+
2. On-call acknowledges
|
|
321
|
+
3. Investigation begins
|
|
322
|
+
4. Status updates
|
|
323
|
+
5. Resolution or escalation
|
|
324
|
+
|
|
325
|
+
**Benefits:**
|
|
326
|
+
- Prevents duplicate work
|
|
327
|
+
- Tracks response time
|
|
328
|
+
- Shows current status
|
|
329
|
+
|
|
330
|
+
## Reducing Alert Fatigue
|
|
331
|
+
|
|
332
|
+
### Problem: Too Many Alerts
|
|
333
|
+
|
|
334
|
+
**Symptoms:**
|
|
335
|
+
- Engineers ignore alerts
|
|
336
|
+
- Important alerts missed
|
|
337
|
+
- Low signal-to-noise ratio
|
|
338
|
+
- Burnout
|
|
339
|
+
|
|
340
|
+
### Solutions
|
|
341
|
+
|
|
342
|
+
**1. Consolidate Related Alerts:**
|
|
343
|
+
```yaml
|
|
344
|
+
# Bad: Multiple alerts for same issue
|
|
345
|
+
- alert: HighCPU
|
|
346
|
+
- alert: HighMemory
|
|
347
|
+
- alert: HighDiskIO
|
|
348
|
+
|
|
349
|
+
# Better: Single alert for resource exhaustion
|
|
350
|
+
- alert: ResourceExhaustion
|
|
351
|
+
expr: |
|
|
352
|
+
(cpu_usage > 0.8) OR (memory_usage > 0.8) OR (disk_io_utilization > 0.8)
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**2. Increase Thresholds:**
|
|
356
|
+
- Only alert on significant issues
|
|
357
|
+
- Use `for` clause to prevent flapping
|
|
358
|
+
- Tune based on false positive rate
|
|
359
|
+
|
|
360
|
+
**3. Use Alert Grouping:**
|
|
361
|
+
```yaml
|
|
362
|
+
# Group related alerts
|
|
363
|
+
group_by: ['alertname', 'cluster', 'service']
|
|
364
|
+
group_wait: 30s
|
|
365
|
+
group_interval: 5m
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**4. Suppress During Maintenance:**
|
|
369
|
+
```yaml
|
|
370
|
+
# Silence alerts during known maintenance
|
|
371
|
+
- alert: MaintenanceMode
|
|
372
|
+
expr: maintenance_mode == 1
|
|
373
|
+
# Use to suppress other alerts
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**5. Alert on Aggregates:**
|
|
377
|
+
```yaml
|
|
378
|
+
# Alert on service-level, not instance-level
|
|
379
|
+
- alert: ServiceHighErrorRate
|
|
380
|
+
expr: |
|
|
381
|
+
sum(rate(http_errors_total[5m]))
|
|
382
|
+
/ sum(rate(http_requests_total[5m])) > 0.01
|
|
383
|
+
# Instead of alerting per instance
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
## Alert Testing
|
|
387
|
+
|
|
388
|
+
### Test Alerts
|
|
389
|
+
|
|
390
|
+
**Verify alerts work:**
|
|
391
|
+
- Trigger test alerts
|
|
392
|
+
- Verify routing
|
|
393
|
+
- Check notifications
|
|
394
|
+
- Validate runbooks
|
|
395
|
+
|
|
396
|
+
**Example:**
|
|
397
|
+
```yaml
|
|
398
|
+
# Test alert
|
|
399
|
+
- alert: TestAlert
|
|
400
|
+
expr: vector(1)
|
|
401
|
+
annotations:
|
|
402
|
+
summary: "This is a test alert"
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
### Alert Review Process
|
|
406
|
+
|
|
407
|
+
**Regular Reviews:**
|
|
408
|
+
- Weekly alert review
|
|
409
|
+
- Identify false positives
|
|
410
|
+
- Tune thresholds
|
|
411
|
+
- Remove unused alerts
|
|
412
|
+
- Update runbooks
|
|
413
|
+
|
|
414
|
+
**Metrics to Track:**
|
|
415
|
+
- Alert frequency
|
|
416
|
+
- False positive rate
|
|
417
|
+
- Mean time to acknowledge (MTTA)
|
|
418
|
+
- Mean time to resolve (MTTR)
|
|
419
|
+
- Alert-to-incident ratio
|
|
420
|
+
|
|
421
|
+
## Best Practices Summary
|
|
422
|
+
|
|
423
|
+
1. **Alert on symptoms**, not causes
|
|
424
|
+
2. **Focus on user impact**
|
|
425
|
+
3. **Use appropriate severity levels**
|
|
426
|
+
4. **Add `for` clause** to prevent flapping
|
|
427
|
+
5. **Include runbooks** for every alert
|
|
428
|
+
6. **Route alerts** by severity and team
|
|
429
|
+
7. **Reduce alert fatigue** through consolidation
|
|
430
|
+
8. **Test alerts** regularly
|
|
431
|
+
9. **Review and tune** alerts periodically
|
|
432
|
+
10. **Document decisions** and thresholds
|
|
433
|
+
|
|
434
|
+
## Tools
|
|
435
|
+
|
|
436
|
+
### Alert Managers
|
|
437
|
+
|
|
438
|
+
**Prometheus Alertmanager:**
|
|
439
|
+
- Alert routing
|
|
440
|
+
- Grouping and inhibition
|
|
441
|
+
- Silence management
|
|
442
|
+
- Integration with notification channels
|
|
443
|
+
|
|
444
|
+
**PagerDuty:**
|
|
445
|
+
- On-call management
|
|
446
|
+
- Escalation policies
|
|
447
|
+
- Incident response
|
|
448
|
+
- Integration with monitoring tools
|
|
449
|
+
|
|
450
|
+
**Opsgenie:**
|
|
451
|
+
- Alert management
|
|
452
|
+
- On-call scheduling
|
|
453
|
+
- Escalation
|
|
454
|
+
- Mobile app
|
|
455
|
+
|
|
456
|
+
**VictorOps (Splunk On-Call):**
|
|
457
|
+
- Incident management
|
|
458
|
+
- On-call scheduling
|
|
459
|
+
- Timeline view
|
|
460
|
+
- Integration ecosystem
|
|
461
|
+
|