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,284 +1,284 @@
|
|
|
1
|
-
# Performance Anti-Patterns
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Anti-patterns are common mistakes that lead to poor performance. This guide identifies common performance anti-patterns and how to avoid them.
|
|
6
|
-
|
|
7
|
-
## Code Anti-Patterns
|
|
8
|
-
|
|
9
|
-
### Premature Optimization
|
|
10
|
-
|
|
11
|
-
**Problem:**
|
|
12
|
-
- Optimizing before profiling
|
|
13
|
-
- Optimizing non-critical paths
|
|
14
|
-
- Complex code for minimal gain
|
|
15
|
-
|
|
16
|
-
**Solution:**
|
|
17
|
-
- Profile first
|
|
18
|
-
- Optimize hot paths
|
|
19
|
-
- Measure impact
|
|
20
|
-
- Keep code simple
|
|
21
|
-
|
|
22
|
-
### N+1 Query Problem
|
|
23
|
-
|
|
24
|
-
**Problem:**
|
|
25
|
-
```python
|
|
26
|
-
# Bad: N+1 queries
|
|
27
|
-
users = User.objects.all()
|
|
28
|
-
for user in users:
|
|
29
|
-
posts = Post.objects.filter(user=user) # N queries
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Solution:**
|
|
33
|
-
```python
|
|
34
|
-
# Good: Single query with JOIN
|
|
35
|
-
users = User.objects.prefetch_related('posts').all()
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### String Concatenation in Loops
|
|
39
|
-
|
|
40
|
-
**Problem:**
|
|
41
|
-
```python
|
|
42
|
-
# Bad: O(n²) - creates new string each time
|
|
43
|
-
result = ""
|
|
44
|
-
for item in items:
|
|
45
|
-
result += item
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**Solution:**
|
|
49
|
-
```python
|
|
50
|
-
# Good: O(n) - efficient join
|
|
51
|
-
result = "".join(items)
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Unnecessary Object Creation
|
|
55
|
-
|
|
56
|
-
**Problem:**
|
|
57
|
-
- Creating objects in loops
|
|
58
|
-
- Not reusing objects
|
|
59
|
-
- Creating temporary objects
|
|
60
|
-
|
|
61
|
-
**Solution:**
|
|
62
|
-
- Reuse objects
|
|
63
|
-
- Use object pools
|
|
64
|
-
- Minimize allocations
|
|
65
|
-
|
|
66
|
-
## Database Anti-Patterns
|
|
67
|
-
|
|
68
|
-
### SELECT * Queries
|
|
69
|
-
|
|
70
|
-
**Problem:**
|
|
71
|
-
- Fetching unnecessary columns
|
|
72
|
-
- Increased memory usage
|
|
73
|
-
- Slower queries
|
|
74
|
-
- Network overhead
|
|
75
|
-
|
|
76
|
-
**Solution:**
|
|
77
|
-
- Select only needed columns
|
|
78
|
-
- Use projections
|
|
79
|
-
- Optimize data transfer
|
|
80
|
-
|
|
81
|
-
### Missing Indexes
|
|
82
|
-
|
|
83
|
-
**Problem:**
|
|
84
|
-
- Slow queries
|
|
85
|
-
- Full table scans
|
|
86
|
-
- Poor join performance
|
|
87
|
-
|
|
88
|
-
**Solution:**
|
|
89
|
-
- Add indexes on frequently queried columns
|
|
90
|
-
- Index foreign keys
|
|
91
|
-
- Monitor query performance
|
|
92
|
-
|
|
93
|
-
### Large Result Sets
|
|
94
|
-
|
|
95
|
-
**Problem:**
|
|
96
|
-
- Loading all records
|
|
97
|
-
- Memory exhaustion
|
|
98
|
-
- Slow queries
|
|
99
|
-
|
|
100
|
-
**Solution:**
|
|
101
|
-
- Use pagination
|
|
102
|
-
- Limit result sets
|
|
103
|
-
- Stream large datasets
|
|
104
|
-
|
|
105
|
-
## Caching Anti-Patterns
|
|
106
|
-
|
|
107
|
-
### Cache Stampede
|
|
108
|
-
|
|
109
|
-
**Problem:**
|
|
110
|
-
- Multiple requests miss cache simultaneously
|
|
111
|
-
- All query database
|
|
112
|
-
- Database overload
|
|
113
|
-
|
|
114
|
-
**Solution:**
|
|
115
|
-
- Use locks
|
|
116
|
-
- Stale-while-revalidate
|
|
117
|
-
- Pre-warm cache
|
|
118
|
-
|
|
119
|
-
### Cache Invalidation Issues
|
|
120
|
-
|
|
121
|
-
**Problem:**
|
|
122
|
-
- Stale data
|
|
123
|
-
- Inconsistent cache
|
|
124
|
-
- Wrong invalidation strategy
|
|
125
|
-
|
|
126
|
-
**Solution:**
|
|
127
|
-
- Proper invalidation
|
|
128
|
-
- Version-based cache
|
|
129
|
-
- Event-driven invalidation
|
|
130
|
-
|
|
131
|
-
### Over-Caching
|
|
132
|
-
|
|
133
|
-
**Problem:**
|
|
134
|
-
- Caching everything
|
|
135
|
-
- Memory waste
|
|
136
|
-
- Cache pollution
|
|
137
|
-
|
|
138
|
-
**Solution:**
|
|
139
|
-
- Cache selectively
|
|
140
|
-
- Monitor cache hit rate
|
|
141
|
-
- Use appropriate TTL
|
|
142
|
-
|
|
143
|
-
## Concurrency Anti-Patterns
|
|
144
|
-
|
|
145
|
-
### Race Conditions
|
|
146
|
-
|
|
147
|
-
**Problem:**
|
|
148
|
-
- Shared mutable state
|
|
149
|
-
- Non-atomic operations
|
|
150
|
-
- Data corruption
|
|
151
|
-
|
|
152
|
-
**Solution:**
|
|
153
|
-
- Use locks
|
|
154
|
-
- Immutable data
|
|
155
|
-
- Thread-safe collections
|
|
156
|
-
|
|
157
|
-
### Deadlocks
|
|
158
|
-
|
|
159
|
-
**Problem:**
|
|
160
|
-
- Circular dependencies
|
|
161
|
-
- Multiple locks
|
|
162
|
-
- Lock ordering issues
|
|
163
|
-
|
|
164
|
-
**Solution:**
|
|
165
|
-
- Consistent lock ordering
|
|
166
|
-
- Timeout on locks
|
|
167
|
-
- Avoid nested locks
|
|
168
|
-
|
|
169
|
-
### Thread Pool Exhaustion
|
|
170
|
-
|
|
171
|
-
**Problem:**
|
|
172
|
-
- Too many threads
|
|
173
|
-
- Blocking operations
|
|
174
|
-
- Resource exhaustion
|
|
175
|
-
|
|
176
|
-
**Solution:**
|
|
177
|
-
- Limit thread count
|
|
178
|
-
- Use async I/O
|
|
179
|
-
- Monitor thread pool
|
|
180
|
-
|
|
181
|
-
## I/O Anti-Patterns
|
|
182
|
-
|
|
183
|
-
### Synchronous I/O
|
|
184
|
-
|
|
185
|
-
**Problem:**
|
|
186
|
-
- Blocking operations
|
|
187
|
-
- Poor resource utilization
|
|
188
|
-
- Low throughput
|
|
189
|
-
|
|
190
|
-
**Solution:**
|
|
191
|
-
- Use async I/O
|
|
192
|
-
- Non-blocking operations
|
|
193
|
-
- Concurrent I/O
|
|
194
|
-
|
|
195
|
-
### Small I/O Operations
|
|
196
|
-
|
|
197
|
-
**Problem:**
|
|
198
|
-
- Many small reads/writes
|
|
199
|
-
- High overhead
|
|
200
|
-
- Poor performance
|
|
201
|
-
|
|
202
|
-
**Solution:**
|
|
203
|
-
- Batch operations
|
|
204
|
-
- Buffer data
|
|
205
|
-
- Larger I/O operations
|
|
206
|
-
|
|
207
|
-
### Not Closing Resources
|
|
208
|
-
|
|
209
|
-
**Problem:**
|
|
210
|
-
- Resource leaks
|
|
211
|
-
- File handle exhaustion
|
|
212
|
-
- Connection pool exhaustion
|
|
213
|
-
|
|
214
|
-
**Solution:**
|
|
215
|
-
- Always close resources
|
|
216
|
-
- Use context managers
|
|
217
|
-
- Proper cleanup
|
|
218
|
-
|
|
219
|
-
## Memory Anti-Patterns
|
|
220
|
-
|
|
221
|
-
### Memory Leaks
|
|
222
|
-
|
|
223
|
-
**Problem:**
|
|
224
|
-
- Unclosed resources
|
|
225
|
-
- Event listeners not removed
|
|
226
|
-
- Circular references
|
|
227
|
-
|
|
228
|
-
**Solution:**
|
|
229
|
-
- Proper cleanup
|
|
230
|
-
- Weak references
|
|
231
|
-
- Monitor memory usage
|
|
232
|
-
|
|
233
|
-
### Excessive Memory Allocation
|
|
234
|
-
|
|
235
|
-
**Problem:**
|
|
236
|
-
- Allocating in hot paths
|
|
237
|
-
- Large temporary objects
|
|
238
|
-
- Memory churn
|
|
239
|
-
|
|
240
|
-
**Solution:**
|
|
241
|
-
- Reuse objects
|
|
242
|
-
- Object pools
|
|
243
|
-
- Minimize allocations
|
|
244
|
-
|
|
245
|
-
## Architecture Anti-Patterns
|
|
246
|
-
|
|
247
|
-
### Monolithic Design
|
|
248
|
-
|
|
249
|
-
**Problem:**
|
|
250
|
-
- Hard to scale
|
|
251
|
-
- Single point of failure
|
|
252
|
-
- Difficult to optimize
|
|
253
|
-
|
|
254
|
-
**Solution:**
|
|
255
|
-
- Microservices
|
|
256
|
-
- Modular design
|
|
257
|
-
- Horizontal scaling
|
|
258
|
-
|
|
259
|
-
### Tight Coupling
|
|
260
|
-
|
|
261
|
-
**Problem:**
|
|
262
|
-
- Hard to optimize
|
|
263
|
-
- Difficult to scale
|
|
264
|
-
- Poor performance isolation
|
|
265
|
-
|
|
266
|
-
**Solution:**
|
|
267
|
-
- Loose coupling
|
|
268
|
-
- Service boundaries
|
|
269
|
-
- Independent scaling
|
|
270
|
-
|
|
271
|
-
## Best Practices to Avoid Anti-Patterns
|
|
272
|
-
|
|
273
|
-
1. **Profile First**: Always measure before optimizing
|
|
274
|
-
2. **Use Patterns**: Follow established patterns
|
|
275
|
-
3. **Monitor**: Track performance metrics
|
|
276
|
-
4. **Test**: Include performance tests
|
|
277
|
-
5. **Review**: Code reviews for performance
|
|
278
|
-
6. **Document**: Document performance decisions
|
|
279
|
-
7. **Refactor**: Continuously improve performance
|
|
280
|
-
|
|
281
|
-
## References
|
|
282
|
-
|
|
283
|
-
- [Performance Anti-Patterns](https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/)
|
|
284
|
-
|
|
1
|
+
# Performance Anti-Patterns
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Anti-patterns are common mistakes that lead to poor performance. This guide identifies common performance anti-patterns and how to avoid them.
|
|
6
|
+
|
|
7
|
+
## Code Anti-Patterns
|
|
8
|
+
|
|
9
|
+
### Premature Optimization
|
|
10
|
+
|
|
11
|
+
**Problem:**
|
|
12
|
+
- Optimizing before profiling
|
|
13
|
+
- Optimizing non-critical paths
|
|
14
|
+
- Complex code for minimal gain
|
|
15
|
+
|
|
16
|
+
**Solution:**
|
|
17
|
+
- Profile first
|
|
18
|
+
- Optimize hot paths
|
|
19
|
+
- Measure impact
|
|
20
|
+
- Keep code simple
|
|
21
|
+
|
|
22
|
+
### N+1 Query Problem
|
|
23
|
+
|
|
24
|
+
**Problem:**
|
|
25
|
+
```python
|
|
26
|
+
# Bad: N+1 queries
|
|
27
|
+
users = User.objects.all()
|
|
28
|
+
for user in users:
|
|
29
|
+
posts = Post.objects.filter(user=user) # N queries
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Solution:**
|
|
33
|
+
```python
|
|
34
|
+
# Good: Single query with JOIN
|
|
35
|
+
users = User.objects.prefetch_related('posts').all()
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### String Concatenation in Loops
|
|
39
|
+
|
|
40
|
+
**Problem:**
|
|
41
|
+
```python
|
|
42
|
+
# Bad: O(n²) - creates new string each time
|
|
43
|
+
result = ""
|
|
44
|
+
for item in items:
|
|
45
|
+
result += item
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Solution:**
|
|
49
|
+
```python
|
|
50
|
+
# Good: O(n) - efficient join
|
|
51
|
+
result = "".join(items)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Unnecessary Object Creation
|
|
55
|
+
|
|
56
|
+
**Problem:**
|
|
57
|
+
- Creating objects in loops
|
|
58
|
+
- Not reusing objects
|
|
59
|
+
- Creating temporary objects
|
|
60
|
+
|
|
61
|
+
**Solution:**
|
|
62
|
+
- Reuse objects
|
|
63
|
+
- Use object pools
|
|
64
|
+
- Minimize allocations
|
|
65
|
+
|
|
66
|
+
## Database Anti-Patterns
|
|
67
|
+
|
|
68
|
+
### SELECT * Queries
|
|
69
|
+
|
|
70
|
+
**Problem:**
|
|
71
|
+
- Fetching unnecessary columns
|
|
72
|
+
- Increased memory usage
|
|
73
|
+
- Slower queries
|
|
74
|
+
- Network overhead
|
|
75
|
+
|
|
76
|
+
**Solution:**
|
|
77
|
+
- Select only needed columns
|
|
78
|
+
- Use projections
|
|
79
|
+
- Optimize data transfer
|
|
80
|
+
|
|
81
|
+
### Missing Indexes
|
|
82
|
+
|
|
83
|
+
**Problem:**
|
|
84
|
+
- Slow queries
|
|
85
|
+
- Full table scans
|
|
86
|
+
- Poor join performance
|
|
87
|
+
|
|
88
|
+
**Solution:**
|
|
89
|
+
- Add indexes on frequently queried columns
|
|
90
|
+
- Index foreign keys
|
|
91
|
+
- Monitor query performance
|
|
92
|
+
|
|
93
|
+
### Large Result Sets
|
|
94
|
+
|
|
95
|
+
**Problem:**
|
|
96
|
+
- Loading all records
|
|
97
|
+
- Memory exhaustion
|
|
98
|
+
- Slow queries
|
|
99
|
+
|
|
100
|
+
**Solution:**
|
|
101
|
+
- Use pagination
|
|
102
|
+
- Limit result sets
|
|
103
|
+
- Stream large datasets
|
|
104
|
+
|
|
105
|
+
## Caching Anti-Patterns
|
|
106
|
+
|
|
107
|
+
### Cache Stampede
|
|
108
|
+
|
|
109
|
+
**Problem:**
|
|
110
|
+
- Multiple requests miss cache simultaneously
|
|
111
|
+
- All query database
|
|
112
|
+
- Database overload
|
|
113
|
+
|
|
114
|
+
**Solution:**
|
|
115
|
+
- Use locks
|
|
116
|
+
- Stale-while-revalidate
|
|
117
|
+
- Pre-warm cache
|
|
118
|
+
|
|
119
|
+
### Cache Invalidation Issues
|
|
120
|
+
|
|
121
|
+
**Problem:**
|
|
122
|
+
- Stale data
|
|
123
|
+
- Inconsistent cache
|
|
124
|
+
- Wrong invalidation strategy
|
|
125
|
+
|
|
126
|
+
**Solution:**
|
|
127
|
+
- Proper invalidation
|
|
128
|
+
- Version-based cache
|
|
129
|
+
- Event-driven invalidation
|
|
130
|
+
|
|
131
|
+
### Over-Caching
|
|
132
|
+
|
|
133
|
+
**Problem:**
|
|
134
|
+
- Caching everything
|
|
135
|
+
- Memory waste
|
|
136
|
+
- Cache pollution
|
|
137
|
+
|
|
138
|
+
**Solution:**
|
|
139
|
+
- Cache selectively
|
|
140
|
+
- Monitor cache hit rate
|
|
141
|
+
- Use appropriate TTL
|
|
142
|
+
|
|
143
|
+
## Concurrency Anti-Patterns
|
|
144
|
+
|
|
145
|
+
### Race Conditions
|
|
146
|
+
|
|
147
|
+
**Problem:**
|
|
148
|
+
- Shared mutable state
|
|
149
|
+
- Non-atomic operations
|
|
150
|
+
- Data corruption
|
|
151
|
+
|
|
152
|
+
**Solution:**
|
|
153
|
+
- Use locks
|
|
154
|
+
- Immutable data
|
|
155
|
+
- Thread-safe collections
|
|
156
|
+
|
|
157
|
+
### Deadlocks
|
|
158
|
+
|
|
159
|
+
**Problem:**
|
|
160
|
+
- Circular dependencies
|
|
161
|
+
- Multiple locks
|
|
162
|
+
- Lock ordering issues
|
|
163
|
+
|
|
164
|
+
**Solution:**
|
|
165
|
+
- Consistent lock ordering
|
|
166
|
+
- Timeout on locks
|
|
167
|
+
- Avoid nested locks
|
|
168
|
+
|
|
169
|
+
### Thread Pool Exhaustion
|
|
170
|
+
|
|
171
|
+
**Problem:**
|
|
172
|
+
- Too many threads
|
|
173
|
+
- Blocking operations
|
|
174
|
+
- Resource exhaustion
|
|
175
|
+
|
|
176
|
+
**Solution:**
|
|
177
|
+
- Limit thread count
|
|
178
|
+
- Use async I/O
|
|
179
|
+
- Monitor thread pool
|
|
180
|
+
|
|
181
|
+
## I/O Anti-Patterns
|
|
182
|
+
|
|
183
|
+
### Synchronous I/O
|
|
184
|
+
|
|
185
|
+
**Problem:**
|
|
186
|
+
- Blocking operations
|
|
187
|
+
- Poor resource utilization
|
|
188
|
+
- Low throughput
|
|
189
|
+
|
|
190
|
+
**Solution:**
|
|
191
|
+
- Use async I/O
|
|
192
|
+
- Non-blocking operations
|
|
193
|
+
- Concurrent I/O
|
|
194
|
+
|
|
195
|
+
### Small I/O Operations
|
|
196
|
+
|
|
197
|
+
**Problem:**
|
|
198
|
+
- Many small reads/writes
|
|
199
|
+
- High overhead
|
|
200
|
+
- Poor performance
|
|
201
|
+
|
|
202
|
+
**Solution:**
|
|
203
|
+
- Batch operations
|
|
204
|
+
- Buffer data
|
|
205
|
+
- Larger I/O operations
|
|
206
|
+
|
|
207
|
+
### Not Closing Resources
|
|
208
|
+
|
|
209
|
+
**Problem:**
|
|
210
|
+
- Resource leaks
|
|
211
|
+
- File handle exhaustion
|
|
212
|
+
- Connection pool exhaustion
|
|
213
|
+
|
|
214
|
+
**Solution:**
|
|
215
|
+
- Always close resources
|
|
216
|
+
- Use context managers
|
|
217
|
+
- Proper cleanup
|
|
218
|
+
|
|
219
|
+
## Memory Anti-Patterns
|
|
220
|
+
|
|
221
|
+
### Memory Leaks
|
|
222
|
+
|
|
223
|
+
**Problem:**
|
|
224
|
+
- Unclosed resources
|
|
225
|
+
- Event listeners not removed
|
|
226
|
+
- Circular references
|
|
227
|
+
|
|
228
|
+
**Solution:**
|
|
229
|
+
- Proper cleanup
|
|
230
|
+
- Weak references
|
|
231
|
+
- Monitor memory usage
|
|
232
|
+
|
|
233
|
+
### Excessive Memory Allocation
|
|
234
|
+
|
|
235
|
+
**Problem:**
|
|
236
|
+
- Allocating in hot paths
|
|
237
|
+
- Large temporary objects
|
|
238
|
+
- Memory churn
|
|
239
|
+
|
|
240
|
+
**Solution:**
|
|
241
|
+
- Reuse objects
|
|
242
|
+
- Object pools
|
|
243
|
+
- Minimize allocations
|
|
244
|
+
|
|
245
|
+
## Architecture Anti-Patterns
|
|
246
|
+
|
|
247
|
+
### Monolithic Design
|
|
248
|
+
|
|
249
|
+
**Problem:**
|
|
250
|
+
- Hard to scale
|
|
251
|
+
- Single point of failure
|
|
252
|
+
- Difficult to optimize
|
|
253
|
+
|
|
254
|
+
**Solution:**
|
|
255
|
+
- Microservices
|
|
256
|
+
- Modular design
|
|
257
|
+
- Horizontal scaling
|
|
258
|
+
|
|
259
|
+
### Tight Coupling
|
|
260
|
+
|
|
261
|
+
**Problem:**
|
|
262
|
+
- Hard to optimize
|
|
263
|
+
- Difficult to scale
|
|
264
|
+
- Poor performance isolation
|
|
265
|
+
|
|
266
|
+
**Solution:**
|
|
267
|
+
- Loose coupling
|
|
268
|
+
- Service boundaries
|
|
269
|
+
- Independent scaling
|
|
270
|
+
|
|
271
|
+
## Best Practices to Avoid Anti-Patterns
|
|
272
|
+
|
|
273
|
+
1. **Profile First**: Always measure before optimizing
|
|
274
|
+
2. **Use Patterns**: Follow established patterns
|
|
275
|
+
3. **Monitor**: Track performance metrics
|
|
276
|
+
4. **Test**: Include performance tests
|
|
277
|
+
5. **Review**: Code reviews for performance
|
|
278
|
+
6. **Document**: Document performance decisions
|
|
279
|
+
7. **Refactor**: Continuously improve performance
|
|
280
|
+
|
|
281
|
+
## References
|
|
282
|
+
|
|
283
|
+
- [Performance Anti-Patterns](https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/)
|
|
284
|
+
|