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,327 +1,327 @@
|
|
|
1
|
-
# Caching Strategies
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Caching is a critical technique for improving application performance. This guide covers caching patterns, strategies, and best practices.
|
|
6
|
-
|
|
7
|
-
## Caching Layers
|
|
8
|
-
|
|
9
|
-
### Browser Cache
|
|
10
|
-
|
|
11
|
-
**Client-Side Caching:**
|
|
12
|
-
- Cache-Control headers
|
|
13
|
-
- ETags
|
|
14
|
-
- Last-Modified
|
|
15
|
-
- Reduce server load
|
|
16
|
-
|
|
17
|
-
### CDN Cache
|
|
18
|
-
|
|
19
|
-
**Edge Caching:**
|
|
20
|
-
- Geographic distribution
|
|
21
|
-
- Static content
|
|
22
|
-
- Reduce latency
|
|
23
|
-
- Offload origin
|
|
24
|
-
|
|
25
|
-
### Application Cache
|
|
26
|
-
|
|
27
|
-
**In-Memory Cache:**
|
|
28
|
-
- Redis, Memcached
|
|
29
|
-
- Frequently accessed data
|
|
30
|
-
- Reduce database load
|
|
31
|
-
- Fast access
|
|
32
|
-
|
|
33
|
-
### Database Cache
|
|
34
|
-
|
|
35
|
-
**Query Result Cache:**
|
|
36
|
-
- Query result caching
|
|
37
|
-
- Connection pooling
|
|
38
|
-
- Reduce query execution
|
|
39
|
-
|
|
40
|
-
## Cache Patterns
|
|
41
|
-
|
|
42
|
-
### Cache-Aside (Lazy Loading)
|
|
43
|
-
|
|
44
|
-
**Application-Managed:**
|
|
45
|
-
1. Check cache
|
|
46
|
-
2. If miss, query database
|
|
47
|
-
3. Store in cache
|
|
48
|
-
4. Return data
|
|
49
|
-
|
|
50
|
-
**Example:**
|
|
51
|
-
```python
|
|
52
|
-
def get_user(user_id):
|
|
53
|
-
# Check cache
|
|
54
|
-
user = cache.get(f"user:{user_id}")
|
|
55
|
-
if user:
|
|
56
|
-
return user
|
|
57
|
-
|
|
58
|
-
# Query database
|
|
59
|
-
user = db.query(User).filter(id=user_id).first()
|
|
60
|
-
|
|
61
|
-
# Store in cache
|
|
62
|
-
cache.set(f"user:{user_id}", user, ttl=3600)
|
|
63
|
-
return user
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Pros:**
|
|
67
|
-
- Simple to implement
|
|
68
|
-
- Flexible
|
|
69
|
-
- Cache failures don't affect app
|
|
70
|
-
|
|
71
|
-
**Cons:**
|
|
72
|
-
- Cache miss penalty
|
|
73
|
-
- Possible stale data
|
|
74
|
-
- Manual invalidation
|
|
75
|
-
|
|
76
|
-
### Write-Through
|
|
77
|
-
|
|
78
|
-
**Synchronous Write:**
|
|
79
|
-
- Write to cache and database
|
|
80
|
-
- Consistent data
|
|
81
|
-
- Higher write latency
|
|
82
|
-
|
|
83
|
-
**Example:**
|
|
84
|
-
```python
|
|
85
|
-
def update_user(user_id, data):
|
|
86
|
-
# Update database
|
|
87
|
-
user = db.update(User, user_id, data)
|
|
88
|
-
|
|
89
|
-
# Update cache
|
|
90
|
-
cache.set(f"user:{user_id}", user, ttl=3600)
|
|
91
|
-
return user
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
**Pros:**
|
|
95
|
-
- Always consistent
|
|
96
|
-
- No stale data
|
|
97
|
-
- Simple invalidation
|
|
98
|
-
|
|
99
|
-
**Cons:**
|
|
100
|
-
- Higher write latency
|
|
101
|
-
- Writes even if not read
|
|
102
|
-
|
|
103
|
-
### Write-Back (Write-Behind)
|
|
104
|
-
|
|
105
|
-
**Asynchronous Write:**
|
|
106
|
-
- Write to cache immediately
|
|
107
|
-
- Write to database asynchronously
|
|
108
|
-
- Lower write latency
|
|
109
|
-
|
|
110
|
-
**Pros:**
|
|
111
|
-
- Fast writes
|
|
112
|
-
- Batch database writes
|
|
113
|
-
- Better write performance
|
|
114
|
-
|
|
115
|
-
**Cons:**
|
|
116
|
-
- Risk of data loss
|
|
117
|
-
- More complex
|
|
118
|
-
- Consistency issues
|
|
119
|
-
|
|
120
|
-
### Refresh-Ahead
|
|
121
|
-
|
|
122
|
-
**Proactive Refresh:**
|
|
123
|
-
- Refresh before expiration
|
|
124
|
-
- Background refresh
|
|
125
|
-
- Always fresh data
|
|
126
|
-
|
|
127
|
-
**Pros:**
|
|
128
|
-
- Always fresh
|
|
129
|
-
- Low latency
|
|
130
|
-
- Good user experience
|
|
131
|
-
|
|
132
|
-
**Cons:**
|
|
133
|
-
- Wasted refreshes
|
|
134
|
-
- More complex
|
|
135
|
-
- Resource usage
|
|
136
|
-
|
|
137
|
-
## Cache Invalidation
|
|
138
|
-
|
|
139
|
-
### Time-Based (TTL)
|
|
140
|
-
|
|
141
|
-
**Expiration:**
|
|
142
|
-
- Set time-to-live
|
|
143
|
-
- Automatic expiration
|
|
144
|
-
- Simple to implement
|
|
145
|
-
|
|
146
|
-
**Example:**
|
|
147
|
-
```python
|
|
148
|
-
cache.set("key", value, ttl=3600) # Expires in 1 hour
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Event-Based
|
|
152
|
-
|
|
153
|
-
**Invalidate on Events:**
|
|
154
|
-
- Invalidate on updates
|
|
155
|
-
- Event-driven
|
|
156
|
-
- Always fresh
|
|
157
|
-
|
|
158
|
-
**Example:**
|
|
159
|
-
```python
|
|
160
|
-
def update_user(user_id, data):
|
|
161
|
-
# Update database
|
|
162
|
-
user = db.update(User, user_id, data)
|
|
163
|
-
|
|
164
|
-
# Invalidate cache
|
|
165
|
-
cache.delete(f"user:{user_id}")
|
|
166
|
-
return user
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Version-Based
|
|
170
|
-
|
|
171
|
-
**Version Keys:**
|
|
172
|
-
- Include version in key
|
|
173
|
-
- Increment on update
|
|
174
|
-
- Old versions expire naturally
|
|
175
|
-
|
|
176
|
-
**Example:**
|
|
177
|
-
```python
|
|
178
|
-
def get_user(user_id, version):
|
|
179
|
-
key = f"user:{user_id}:v{version}"
|
|
180
|
-
return cache.get(key)
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Cache Strategies
|
|
184
|
-
|
|
185
|
-
### LRU (Least Recently Used)
|
|
186
|
-
|
|
187
|
-
**Eviction Policy:**
|
|
188
|
-
- Evict least recently used
|
|
189
|
-
- Good for temporal locality
|
|
190
|
-
- Simple to implement
|
|
191
|
-
|
|
192
|
-
### LFU (Least Frequently Used)
|
|
193
|
-
|
|
194
|
-
**Eviction Policy:**
|
|
195
|
-
- Evict least frequently used
|
|
196
|
-
- Good for frequency patterns
|
|
197
|
-
- More complex
|
|
198
|
-
|
|
199
|
-
### FIFO (First In First Out)
|
|
200
|
-
|
|
201
|
-
**Eviction Policy:**
|
|
202
|
-
- Evict oldest entries
|
|
203
|
-
- Simple
|
|
204
|
-
- May evict frequently used
|
|
205
|
-
|
|
206
|
-
### Random
|
|
207
|
-
|
|
208
|
-
**Eviction Policy:**
|
|
209
|
-
- Random eviction
|
|
210
|
-
- Simple
|
|
211
|
-
- Not optimal
|
|
212
|
-
|
|
213
|
-
## Cache Sizing
|
|
214
|
-
|
|
215
|
-
### Size Limits
|
|
216
|
-
|
|
217
|
-
**Memory Bounded:**
|
|
218
|
-
- Set maximum size
|
|
219
|
-
- Use eviction policies
|
|
220
|
-
- Monitor memory usage
|
|
221
|
-
|
|
222
|
-
**Example:**
|
|
223
|
-
```python
|
|
224
|
-
from cachetools import LRUCache
|
|
225
|
-
|
|
226
|
-
cache = LRUCache(maxsize=1000)
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### Memory Management
|
|
230
|
-
|
|
231
|
-
**Monitor Usage:**
|
|
232
|
-
- Track cache size
|
|
233
|
-
- Monitor hit rate
|
|
234
|
-
- Adjust size dynamically
|
|
235
|
-
|
|
236
|
-
## Distributed Caching
|
|
237
|
-
|
|
238
|
-
### Cache Consistency
|
|
239
|
-
|
|
240
|
-
**Multi-Node Caching:**
|
|
241
|
-
- Invalidate across nodes
|
|
242
|
-
- Event propagation
|
|
243
|
-
- Consistent state
|
|
244
|
-
|
|
245
|
-
**Strategies:**
|
|
246
|
-
- Cache invalidation messages
|
|
247
|
-
- Version vectors
|
|
248
|
-
- Distributed locks
|
|
249
|
-
|
|
250
|
-
### Cache Sharding
|
|
251
|
-
|
|
252
|
-
**Partition Cache:**
|
|
253
|
-
- Shard by key hash
|
|
254
|
-
- Distribute load
|
|
255
|
-
- Scale horizontally
|
|
256
|
-
|
|
257
|
-
## Cache Warming
|
|
258
|
-
|
|
259
|
-
### Pre-Load Cache
|
|
260
|
-
|
|
261
|
-
**Proactive Loading:**
|
|
262
|
-
- Load frequently accessed data
|
|
263
|
-
- Reduce cold starts
|
|
264
|
-
- Better performance
|
|
265
|
-
|
|
266
|
-
**Example:**
|
|
267
|
-
```python
|
|
268
|
-
def warm_cache():
|
|
269
|
-
popular_users = db.query(User).filter(popular=True).all()
|
|
270
|
-
for user in popular_users:
|
|
271
|
-
cache.set(f"user:{user.id}", user, ttl=3600)
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
## Best Practices
|
|
275
|
-
|
|
276
|
-
1. **Cache Hot Data**: Cache frequently accessed data
|
|
277
|
-
2. **Set Appropriate TTL**: Balance freshness and performance
|
|
278
|
-
3. **Monitor Hit Rate**: Track cache effectiveness
|
|
279
|
-
4. **Handle Cache Misses**: Graceful degradation
|
|
280
|
-
5. **Invalidate Properly**: Keep data fresh
|
|
281
|
-
6. **Size Appropriately**: Balance memory and performance
|
|
282
|
-
7. **Use Multiple Layers**: Browser, CDN, application cache
|
|
283
|
-
8. **Test Cache Behavior**: Include in tests
|
|
284
|
-
|
|
285
|
-
## Common Mistakes
|
|
286
|
-
|
|
287
|
-
### Over-Caching
|
|
288
|
-
|
|
289
|
-
**Problem:**
|
|
290
|
-
- Caching everything
|
|
291
|
-
- Memory waste
|
|
292
|
-
- Low hit rate
|
|
293
|
-
|
|
294
|
-
**Solution:**
|
|
295
|
-
- Cache selectively
|
|
296
|
-
- Monitor effectiveness
|
|
297
|
-
- Remove unused caches
|
|
298
|
-
|
|
299
|
-
### Under-Caching
|
|
300
|
-
|
|
301
|
-
**Problem:**
|
|
302
|
-
- Not caching enough
|
|
303
|
-
- Missed opportunities
|
|
304
|
-
- Poor performance
|
|
305
|
-
|
|
306
|
-
**Solution:**
|
|
307
|
-
- Identify hot paths
|
|
308
|
-
- Cache frequently accessed data
|
|
309
|
-
- Monitor performance
|
|
310
|
-
|
|
311
|
-
### Stale Data
|
|
312
|
-
|
|
313
|
-
**Problem:**
|
|
314
|
-
- Outdated cache
|
|
315
|
-
- Wrong invalidation
|
|
316
|
-
- User sees old data
|
|
317
|
-
|
|
318
|
-
**Solution:**
|
|
319
|
-
- Proper invalidation
|
|
320
|
-
- Appropriate TTL
|
|
321
|
-
- Version-based cache
|
|
322
|
-
|
|
323
|
-
## References
|
|
324
|
-
|
|
325
|
-
- [Caching Strategies](https://aws.amazon.com/caching/)
|
|
326
|
-
- [Cache Patterns](https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside)
|
|
327
|
-
|
|
1
|
+
# Caching Strategies
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Caching is a critical technique for improving application performance. This guide covers caching patterns, strategies, and best practices.
|
|
6
|
+
|
|
7
|
+
## Caching Layers
|
|
8
|
+
|
|
9
|
+
### Browser Cache
|
|
10
|
+
|
|
11
|
+
**Client-Side Caching:**
|
|
12
|
+
- Cache-Control headers
|
|
13
|
+
- ETags
|
|
14
|
+
- Last-Modified
|
|
15
|
+
- Reduce server load
|
|
16
|
+
|
|
17
|
+
### CDN Cache
|
|
18
|
+
|
|
19
|
+
**Edge Caching:**
|
|
20
|
+
- Geographic distribution
|
|
21
|
+
- Static content
|
|
22
|
+
- Reduce latency
|
|
23
|
+
- Offload origin
|
|
24
|
+
|
|
25
|
+
### Application Cache
|
|
26
|
+
|
|
27
|
+
**In-Memory Cache:**
|
|
28
|
+
- Redis, Memcached
|
|
29
|
+
- Frequently accessed data
|
|
30
|
+
- Reduce database load
|
|
31
|
+
- Fast access
|
|
32
|
+
|
|
33
|
+
### Database Cache
|
|
34
|
+
|
|
35
|
+
**Query Result Cache:**
|
|
36
|
+
- Query result caching
|
|
37
|
+
- Connection pooling
|
|
38
|
+
- Reduce query execution
|
|
39
|
+
|
|
40
|
+
## Cache Patterns
|
|
41
|
+
|
|
42
|
+
### Cache-Aside (Lazy Loading)
|
|
43
|
+
|
|
44
|
+
**Application-Managed:**
|
|
45
|
+
1. Check cache
|
|
46
|
+
2. If miss, query database
|
|
47
|
+
3. Store in cache
|
|
48
|
+
4. Return data
|
|
49
|
+
|
|
50
|
+
**Example:**
|
|
51
|
+
```python
|
|
52
|
+
def get_user(user_id):
|
|
53
|
+
# Check cache
|
|
54
|
+
user = cache.get(f"user:{user_id}")
|
|
55
|
+
if user:
|
|
56
|
+
return user
|
|
57
|
+
|
|
58
|
+
# Query database
|
|
59
|
+
user = db.query(User).filter(id=user_id).first()
|
|
60
|
+
|
|
61
|
+
# Store in cache
|
|
62
|
+
cache.set(f"user:{user_id}", user, ttl=3600)
|
|
63
|
+
return user
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Pros:**
|
|
67
|
+
- Simple to implement
|
|
68
|
+
- Flexible
|
|
69
|
+
- Cache failures don't affect app
|
|
70
|
+
|
|
71
|
+
**Cons:**
|
|
72
|
+
- Cache miss penalty
|
|
73
|
+
- Possible stale data
|
|
74
|
+
- Manual invalidation
|
|
75
|
+
|
|
76
|
+
### Write-Through
|
|
77
|
+
|
|
78
|
+
**Synchronous Write:**
|
|
79
|
+
- Write to cache and database
|
|
80
|
+
- Consistent data
|
|
81
|
+
- Higher write latency
|
|
82
|
+
|
|
83
|
+
**Example:**
|
|
84
|
+
```python
|
|
85
|
+
def update_user(user_id, data):
|
|
86
|
+
# Update database
|
|
87
|
+
user = db.update(User, user_id, data)
|
|
88
|
+
|
|
89
|
+
# Update cache
|
|
90
|
+
cache.set(f"user:{user_id}", user, ttl=3600)
|
|
91
|
+
return user
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Pros:**
|
|
95
|
+
- Always consistent
|
|
96
|
+
- No stale data
|
|
97
|
+
- Simple invalidation
|
|
98
|
+
|
|
99
|
+
**Cons:**
|
|
100
|
+
- Higher write latency
|
|
101
|
+
- Writes even if not read
|
|
102
|
+
|
|
103
|
+
### Write-Back (Write-Behind)
|
|
104
|
+
|
|
105
|
+
**Asynchronous Write:**
|
|
106
|
+
- Write to cache immediately
|
|
107
|
+
- Write to database asynchronously
|
|
108
|
+
- Lower write latency
|
|
109
|
+
|
|
110
|
+
**Pros:**
|
|
111
|
+
- Fast writes
|
|
112
|
+
- Batch database writes
|
|
113
|
+
- Better write performance
|
|
114
|
+
|
|
115
|
+
**Cons:**
|
|
116
|
+
- Risk of data loss
|
|
117
|
+
- More complex
|
|
118
|
+
- Consistency issues
|
|
119
|
+
|
|
120
|
+
### Refresh-Ahead
|
|
121
|
+
|
|
122
|
+
**Proactive Refresh:**
|
|
123
|
+
- Refresh before expiration
|
|
124
|
+
- Background refresh
|
|
125
|
+
- Always fresh data
|
|
126
|
+
|
|
127
|
+
**Pros:**
|
|
128
|
+
- Always fresh
|
|
129
|
+
- Low latency
|
|
130
|
+
- Good user experience
|
|
131
|
+
|
|
132
|
+
**Cons:**
|
|
133
|
+
- Wasted refreshes
|
|
134
|
+
- More complex
|
|
135
|
+
- Resource usage
|
|
136
|
+
|
|
137
|
+
## Cache Invalidation
|
|
138
|
+
|
|
139
|
+
### Time-Based (TTL)
|
|
140
|
+
|
|
141
|
+
**Expiration:**
|
|
142
|
+
- Set time-to-live
|
|
143
|
+
- Automatic expiration
|
|
144
|
+
- Simple to implement
|
|
145
|
+
|
|
146
|
+
**Example:**
|
|
147
|
+
```python
|
|
148
|
+
cache.set("key", value, ttl=3600) # Expires in 1 hour
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Event-Based
|
|
152
|
+
|
|
153
|
+
**Invalidate on Events:**
|
|
154
|
+
- Invalidate on updates
|
|
155
|
+
- Event-driven
|
|
156
|
+
- Always fresh
|
|
157
|
+
|
|
158
|
+
**Example:**
|
|
159
|
+
```python
|
|
160
|
+
def update_user(user_id, data):
|
|
161
|
+
# Update database
|
|
162
|
+
user = db.update(User, user_id, data)
|
|
163
|
+
|
|
164
|
+
# Invalidate cache
|
|
165
|
+
cache.delete(f"user:{user_id}")
|
|
166
|
+
return user
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Version-Based
|
|
170
|
+
|
|
171
|
+
**Version Keys:**
|
|
172
|
+
- Include version in key
|
|
173
|
+
- Increment on update
|
|
174
|
+
- Old versions expire naturally
|
|
175
|
+
|
|
176
|
+
**Example:**
|
|
177
|
+
```python
|
|
178
|
+
def get_user(user_id, version):
|
|
179
|
+
key = f"user:{user_id}:v{version}"
|
|
180
|
+
return cache.get(key)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Cache Strategies
|
|
184
|
+
|
|
185
|
+
### LRU (Least Recently Used)
|
|
186
|
+
|
|
187
|
+
**Eviction Policy:**
|
|
188
|
+
- Evict least recently used
|
|
189
|
+
- Good for temporal locality
|
|
190
|
+
- Simple to implement
|
|
191
|
+
|
|
192
|
+
### LFU (Least Frequently Used)
|
|
193
|
+
|
|
194
|
+
**Eviction Policy:**
|
|
195
|
+
- Evict least frequently used
|
|
196
|
+
- Good for frequency patterns
|
|
197
|
+
- More complex
|
|
198
|
+
|
|
199
|
+
### FIFO (First In First Out)
|
|
200
|
+
|
|
201
|
+
**Eviction Policy:**
|
|
202
|
+
- Evict oldest entries
|
|
203
|
+
- Simple
|
|
204
|
+
- May evict frequently used
|
|
205
|
+
|
|
206
|
+
### Random
|
|
207
|
+
|
|
208
|
+
**Eviction Policy:**
|
|
209
|
+
- Random eviction
|
|
210
|
+
- Simple
|
|
211
|
+
- Not optimal
|
|
212
|
+
|
|
213
|
+
## Cache Sizing
|
|
214
|
+
|
|
215
|
+
### Size Limits
|
|
216
|
+
|
|
217
|
+
**Memory Bounded:**
|
|
218
|
+
- Set maximum size
|
|
219
|
+
- Use eviction policies
|
|
220
|
+
- Monitor memory usage
|
|
221
|
+
|
|
222
|
+
**Example:**
|
|
223
|
+
```python
|
|
224
|
+
from cachetools import LRUCache
|
|
225
|
+
|
|
226
|
+
cache = LRUCache(maxsize=1000)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Memory Management
|
|
230
|
+
|
|
231
|
+
**Monitor Usage:**
|
|
232
|
+
- Track cache size
|
|
233
|
+
- Monitor hit rate
|
|
234
|
+
- Adjust size dynamically
|
|
235
|
+
|
|
236
|
+
## Distributed Caching
|
|
237
|
+
|
|
238
|
+
### Cache Consistency
|
|
239
|
+
|
|
240
|
+
**Multi-Node Caching:**
|
|
241
|
+
- Invalidate across nodes
|
|
242
|
+
- Event propagation
|
|
243
|
+
- Consistent state
|
|
244
|
+
|
|
245
|
+
**Strategies:**
|
|
246
|
+
- Cache invalidation messages
|
|
247
|
+
- Version vectors
|
|
248
|
+
- Distributed locks
|
|
249
|
+
|
|
250
|
+
### Cache Sharding
|
|
251
|
+
|
|
252
|
+
**Partition Cache:**
|
|
253
|
+
- Shard by key hash
|
|
254
|
+
- Distribute load
|
|
255
|
+
- Scale horizontally
|
|
256
|
+
|
|
257
|
+
## Cache Warming
|
|
258
|
+
|
|
259
|
+
### Pre-Load Cache
|
|
260
|
+
|
|
261
|
+
**Proactive Loading:**
|
|
262
|
+
- Load frequently accessed data
|
|
263
|
+
- Reduce cold starts
|
|
264
|
+
- Better performance
|
|
265
|
+
|
|
266
|
+
**Example:**
|
|
267
|
+
```python
|
|
268
|
+
def warm_cache():
|
|
269
|
+
popular_users = db.query(User).filter(popular=True).all()
|
|
270
|
+
for user in popular_users:
|
|
271
|
+
cache.set(f"user:{user.id}", user, ttl=3600)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Best Practices
|
|
275
|
+
|
|
276
|
+
1. **Cache Hot Data**: Cache frequently accessed data
|
|
277
|
+
2. **Set Appropriate TTL**: Balance freshness and performance
|
|
278
|
+
3. **Monitor Hit Rate**: Track cache effectiveness
|
|
279
|
+
4. **Handle Cache Misses**: Graceful degradation
|
|
280
|
+
5. **Invalidate Properly**: Keep data fresh
|
|
281
|
+
6. **Size Appropriately**: Balance memory and performance
|
|
282
|
+
7. **Use Multiple Layers**: Browser, CDN, application cache
|
|
283
|
+
8. **Test Cache Behavior**: Include in tests
|
|
284
|
+
|
|
285
|
+
## Common Mistakes
|
|
286
|
+
|
|
287
|
+
### Over-Caching
|
|
288
|
+
|
|
289
|
+
**Problem:**
|
|
290
|
+
- Caching everything
|
|
291
|
+
- Memory waste
|
|
292
|
+
- Low hit rate
|
|
293
|
+
|
|
294
|
+
**Solution:**
|
|
295
|
+
- Cache selectively
|
|
296
|
+
- Monitor effectiveness
|
|
297
|
+
- Remove unused caches
|
|
298
|
+
|
|
299
|
+
### Under-Caching
|
|
300
|
+
|
|
301
|
+
**Problem:**
|
|
302
|
+
- Not caching enough
|
|
303
|
+
- Missed opportunities
|
|
304
|
+
- Poor performance
|
|
305
|
+
|
|
306
|
+
**Solution:**
|
|
307
|
+
- Identify hot paths
|
|
308
|
+
- Cache frequently accessed data
|
|
309
|
+
- Monitor performance
|
|
310
|
+
|
|
311
|
+
### Stale Data
|
|
312
|
+
|
|
313
|
+
**Problem:**
|
|
314
|
+
- Outdated cache
|
|
315
|
+
- Wrong invalidation
|
|
316
|
+
- User sees old data
|
|
317
|
+
|
|
318
|
+
**Solution:**
|
|
319
|
+
- Proper invalidation
|
|
320
|
+
- Appropriate TTL
|
|
321
|
+
- Version-based cache
|
|
322
|
+
|
|
323
|
+
## References
|
|
324
|
+
|
|
325
|
+
- [Caching Strategies](https://aws.amazon.com/caching/)
|
|
326
|
+
- [Cache Patterns](https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside)
|
|
327
|
+
|