attune-ai 2.0.0__tar.gz → 2.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (755) hide show
  1. {attune_ai-2.0.0 → attune_ai-2.0.2}/CHANGELOG.md +34 -0
  2. {attune_ai-2.0.0 → attune_ai-2.0.2}/PKG-INFO +63 -187
  3. {attune_ai-2.0.0 → attune_ai-2.0.2}/README.md +62 -186
  4. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_ai.egg-info/PKG-INFO +63 -187
  5. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/README.md +3 -3
  6. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/config.md +3 -3
  7. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/core.md +2 -2
  8. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/empathy-os.md +2 -2
  9. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/index.md +3 -3
  10. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/security-scanner 2.md +1 -1
  11. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/security-scanner.md +1 -1
  12. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/wizards.md +1 -1
  13. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/examples/adaptive-learning-system.md +1 -1
  14. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/examples/generated-plan-release-prep.md +2 -2
  15. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/examples/sbar-clinical-handoff.md +3 -3
  16. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/examples/simple-chatbot.md +1 -1
  17. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/examples/webhook-event-integration.md +6 -6
  18. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/choose-your-path.md +2 -2
  19. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/first-steps.md +2 -2
  20. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/index.md +4 -4
  21. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/installation 2.md +3 -3
  22. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/installation.md +3 -3
  23. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/mcp-integration 2.md +4 -4
  24. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/mcp-integration.md +5 -5
  25. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/getting-started/redis-setup.md +2 -2
  26. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/DISTRIBUTION_POLICY.md +1 -1
  27. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +1 -1
  28. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/MKDOCS_TUTORIAL.md +13 -13
  29. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/RELEASE_PREPARATION.md +4 -4
  30. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/WORKFLOW_PATTERNS.md +2 -2
  31. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/claude-memory-integration.md +2 -2
  32. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/five-levels-of-empathy.md +10 -10
  33. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/foreword.md +2 -2
  34. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/how-to-read-this-book.md +1 -1
  35. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/pattern-catalog.md +2 -2
  36. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/preface.md +1 -1
  37. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/signoz-integration.md +10 -10
  38. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/teaching-ai-your-standards.md +4 -4
  39. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/xml-enhanced-prompts.md +5 -5
  40. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/index.md +4 -4
  41. {attune_ai-2.0.0 → attune_ai-2.0.2}/pyproject.toml +1 -1
  42. {attune_ai-2.0.0 → attune_ai-2.0.2}/.bandit +0 -0
  43. {attune_ai-2.0.0 → attune_ai-2.0.2}/CODE_OF_CONDUCT.md +0 -0
  44. {attune_ai-2.0.0 → attune_ai-2.0.2}/CONTRIBUTING.md +0 -0
  45. {attune_ai-2.0.0 → attune_ai-2.0.2}/LICENSE +0 -0
  46. {attune_ai-2.0.0 → attune_ai-2.0.2}/LICENSE_CHANGE_ANNOUNCEMENT.md +0 -0
  47. {attune_ai-2.0.0 → attune_ai-2.0.2}/MANIFEST.in +0 -0
  48. {attune_ai-2.0.0 → attune_ai-2.0.2}/SECURITY.md +0 -0
  49. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
  50. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
  51. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
  52. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
  53. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
  54. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
  55. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
  56. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
  57. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
  58. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
  59. {attune_ai-2.0.0 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
  60. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_ai.egg-info/SOURCES.txt +0 -0
  61. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_ai.egg-info/dependency_links.txt +0 -0
  62. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_ai.egg-info/entry_points.txt +0 -0
  63. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_ai.egg-info/requires.txt +0 -0
  64. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_ai.egg-info/top_level.txt +0 -0
  65. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/__init__.py +0 -0
  66. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/__init__.py +0 -0
  67. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/clinical_protocol_monitor.py +0 -0
  68. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/__init__.py +0 -0
  69. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/protocol_checker.py +0 -0
  70. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/protocol_loader.py +0 -0
  71. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/sensor_parsers.py +0 -0
  72. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/trajectory_analyzer.py +0 -0
  73. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/README.md +0 -0
  74. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/__init__.py +0 -0
  75. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/__init__.py +0 -0
  76. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/__init__.py +0 -0
  77. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/autogen_adapter.py +0 -0
  78. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/crewai_adapter.py +0 -0
  79. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/haystack_adapter.py +0 -0
  80. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/langchain_adapter.py +0 -0
  81. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/langgraph_adapter.py +0 -0
  82. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/native.py +0 -0
  83. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/wizard_adapter.py +0 -0
  84. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/base.py +0 -0
  85. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/__init__.py +0 -0
  86. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/code_review.py +0 -0
  87. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/health_check.py +0 -0
  88. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/refactoring.py +0 -0
  89. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/security_audit.py +0 -0
  90. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/decorators.py +0 -0
  91. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/factory.py +0 -0
  92. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/framework.py +0 -0
  93. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/memory_integration.py +0 -0
  94. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agent_factory/resilient.py +0 -0
  95. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agents_md/__init__.py +0 -0
  96. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agents_md/loader.py +0 -0
  97. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agents_md/parser.py +0 -0
  98. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/agents_md/registry.py +0 -0
  99. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/claude_memory.py +0 -0
  100. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/cli/__init__.py +0 -0
  101. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/cli/sync_claude.py +0 -0
  102. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/code_health.py +0 -0
  103. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/commands/__init__.py +0 -0
  104. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/commands/context.py +0 -0
  105. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/commands/loader.py +0 -0
  106. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/commands/models.py +0 -0
  107. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/commands/parser.py +0 -0
  108. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/commands/registry.py +0 -0
  109. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/config/__init__.py +0 -0
  110. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/config/unified.py +0 -0
  111. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/context/__init__.py +0 -0
  112. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/context/compaction.py +0 -0
  113. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/context/manager.py +0 -0
  114. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/contextual_patterns.py +0 -0
  115. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/core.py +0 -0
  116. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/git_pattern_extractor.py +0 -0
  117. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/__init__.py +0 -0
  118. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/config.py +0 -0
  119. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/executor.py +0 -0
  120. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/registry.py +0 -0
  121. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/__init__.py +0 -0
  122. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/evaluate_session.py +0 -0
  123. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/first_time_init.py +0 -0
  124. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/pre_compact.py +0 -0
  125. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/session_end.py +0 -0
  126. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/session_start.py +0 -0
  127. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/hooks/scripts/suggest_compact.py +0 -0
  128. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/learning/__init__.py +0 -0
  129. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/learning/evaluator.py +0 -0
  130. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/learning/extractor.py +0 -0
  131. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/learning/storage.py +0 -0
  132. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/levels.py +0 -0
  133. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/pattern_confidence.py +0 -0
  134. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/pattern_resolver.py +0 -0
  135. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/pattern_summary.py +0 -0
  136. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/providers.py +0 -0
  137. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/routing/__init__.py +0 -0
  138. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/routing/model_router.py +0 -0
  139. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/IMPLEMENTATION_SUMMARY.md +0 -0
  140. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/PHASE2_COMPLETE.md +0 -0
  141. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +0 -0
  142. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/QUICK_REFERENCE.md +0 -0
  143. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/README.md +0 -0
  144. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/__init__.py +0 -0
  145. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/audit_logger.py +0 -0
  146. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/audit_logger_example.py +0 -0
  147. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/pii_scrubber.py +0 -0
  148. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/secrets_detector.py +0 -0
  149. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/secrets_detector_example.py +0 -0
  150. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/secure_memdocs.py +0 -0
  151. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/security/secure_memdocs_example.py +0 -0
  152. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/session_status.py +0 -0
  153. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/state.py +0 -0
  154. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/utils/__init__.py +0 -0
  155. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_llm/utils/tokens.py +0 -0
  156. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_software/SOFTWARE_PLUGIN_README.md +0 -0
  157. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_software/__init__.py +0 -0
  158. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_software/cli/__init__.py +0 -0
  159. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_software/cli/inspect.py +0 -0
  160. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_software/cli.py +0 -0
  161. {attune_ai-2.0.0 → attune_ai-2.0.2}/attune_software/plugin.py +0 -0
  162. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/llm-toolkit.md +0 -0
  163. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/memory 2.md +0 -0
  164. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/memory.md +0 -0
  165. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/meta-orchestration.md +0 -0
  166. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/multi-agent.md +0 -0
  167. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/pattern-library.md +0 -0
  168. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/persistence.md +0 -0
  169. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/software-wizards.md +0 -0
  170. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/workflows 2.md +0 -0
  171. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/api-reference/workflows.md +0 -0
  172. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/examples/multi-agent-team-coordination.md +0 -0
  173. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/PUBLISHING.md +0 -0
  174. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/healthcare-wizards.md +0 -0
  175. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/multi-model-workflows.md +0 -0
  176. {attune_ai-2.0.0 → attune_ai-2.0.2}/docs/guides/trust-circuit-breaker.md +0 -0
  177. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/README.md +0 -0
  178. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
  179. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
  180. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
  181. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/adaptive_routing_demo.py +0 -0
  182. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/adaptive_routing_workflow_demo 2.py +0 -0
  183. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/adaptive_routing_workflow_demo.py +0 -0
  184. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/agent_coordination_demo 2.py +0 -0
  185. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/agent_coordination_demo.py +0 -0
  186. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/agent_tracking_demo 2.py +0 -0
  187. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/agent_tracking_demo.py +0 -0
  188. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/anthropic_patterns_demo.py +0 -0
  189. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/anthropic_patterns_simple_demo.py +0 -0
  190. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/approval_gates_demo 2.py +0 -0
  191. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/approval_gates_demo.py +0 -0
  192. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/claude_memory/README-SECURITY.md +0 -0
  193. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
  194. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/claude_memory/example-with-imports.md +0 -0
  195. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/claude_memory/project-CLAUDE.md +0 -0
  196. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/claude_memory/user-CLAUDE.md +0 -0
  197. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/complete-workflow/README.md +0 -0
  198. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/complete-workflow/workflow_example.py +0 -0
  199. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/config/empathy.config.example.yml +0 -0
  200. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/coordinated_workflow_demo 2.py +0 -0
  201. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/coordinated_workflow_demo.py +0 -0
  202. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/dashboard_demo 2.py +0 -0
  203. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/dashboard_demo.py +0 -0
  204. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/demos/demo_end_to_end_workflow.py +0 -0
  205. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/demos/demo_memory_integration.py +0 -0
  206. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/demos/demo_meta_workflows.py +0 -0
  207. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/demos/demo_progressive_demo.py +0 -0
  208. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/demos/demo_security_complete.py +0 -0
  209. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/demos/demo_test_workflow.py +0 -0
  210. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
  211. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/domain_wizards/healthcare_example.py +0 -0
  212. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
  213. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/event_streaming_demo 2.py +0 -0
  214. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/event_streaming_demo.py +0 -0
  215. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/feedback_loop_demo 2.py +0 -0
  216. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/feedback_loop_demo.py +0 -0
  217. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/hybrid_cli_demo.py +0 -0
  218. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/interactive_team_creation.py +0 -0
  219. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/level_5_transformative/BLOG_POST.md +0 -0
  220. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/level_5_transformative/README.md +0 -0
  221. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
  222. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
  223. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/llm_toolkit_demo.py +0 -0
  224. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/meta_orchestrator_demo.py +0 -0
  225. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/multi_llm_usage.py +0 -0
  226. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/orchestration/advanced_composition.py +0 -0
  227. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/orchestration/basic_usage.py +0 -0
  228. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/orchestration/custom_workflow.py +0 -0
  229. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/progressive_test_gen_demo.py +0 -0
  230. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/quickstart/README.md +0 -0
  231. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/quickstart.py +0 -0
  232. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/redis_exploration.py +0 -0
  233. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/scanner_usage 2.py +0 -0
  234. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/scanner_usage.py +0 -0
  235. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/security_integration_example.py +0 -0
  236. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/README.md +0 -0
  237. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/SOCRATIC_DEMO.md +0 -0
  238. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/complete_demo.py +0 -0
  239. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/config.yaml +0 -0
  240. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/dashboard_demo.py +0 -0
  241. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/demo.py +0 -0
  242. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/live_demo.py +0 -0
  243. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/seo_agent.py +0 -0
  244. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/utils.py +0 -0
  245. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/seo_optimization/with_memory_backend.py +0 -0
  246. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/simple_usage.py +0 -0
  247. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/smart_team_quickstart.py +0 -0
  248. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/sonnet_opus_fallback_example.py +0 -0
  249. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/suggest_adaptive_routing 2.py +0 -0
  250. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/suggest_adaptive_routing.py +0 -0
  251. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/test_approval_gates 2.py +0 -0
  252. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/test_approval_gates.py +0 -0
  253. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/test_debugging_wizard.py +0 -0
  254. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflow_chaining_demo 2.py +0 -0
  255. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflow_chaining_demo.py +0 -0
  256. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflows/README.md +0 -0
  257. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflows/code_review_example.py +0 -0
  258. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflows/doc_gen_example.py +0 -0
  259. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflows/multi_model_example.py +0 -0
  260. {attune_ai-2.0.0 → attune_ai-2.0.2}/examples/workflows/research_example.py +0 -0
  261. {attune_ai-2.0.0 → attune_ai-2.0.2}/requirements.txt +0 -0
  262. {attune_ai-2.0.0 → attune_ai-2.0.2}/setup.cfg +0 -0
  263. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/.empathy/discovery_stats.json +0 -0
  264. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/__init__.py +0 -0
  265. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/adaptive/__init__.py +0 -0
  266. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/adaptive/task_complexity.py +0 -0
  267. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/agent_monitoring.py +0 -0
  268. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache/__init__.py +0 -0
  269. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache/base.py +0 -0
  270. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache/dependency_manager.py +0 -0
  271. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache/hash_only.py +0 -0
  272. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache/hybrid.py +0 -0
  273. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache/storage.py +0 -0
  274. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache_monitor.py +0 -0
  275. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cache_stats.py +0 -0
  276. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/__init__.py +0 -0
  277. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/__main__.py +0 -0
  278. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/__init__.py +0 -0
  279. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/batch.py +0 -0
  280. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/cache.py +0 -0
  281. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/help.py +0 -0
  282. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/info.py +0 -0
  283. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/inspect.py +0 -0
  284. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/inspection.py +0 -0
  285. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/memory.py +0 -0
  286. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/metrics.py +0 -0
  287. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/orchestrate.py +0 -0
  288. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/patterns.py +0 -0
  289. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/profiling.py +0 -0
  290. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/provider.py +0 -0
  291. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/routing.py +0 -0
  292. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/setup.py +0 -0
  293. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/status.py +0 -0
  294. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/sync.py +0 -0
  295. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/tier.py +0 -0
  296. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/utilities.py +0 -0
  297. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/commands/workflow.py +0 -0
  298. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/core.py +0 -0
  299. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/__init__.py +0 -0
  300. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/batch.py +0 -0
  301. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/cache.py +0 -0
  302. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/help.py +0 -0
  303. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/info.py +0 -0
  304. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/inspect.py +0 -0
  305. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/metrics.py +0 -0
  306. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/orchestrate.py +0 -0
  307. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/patterns.py +0 -0
  308. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/provider.py +0 -0
  309. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/routing.py +0 -0
  310. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/setup.py +0 -0
  311. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/status.py +0 -0
  312. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/sync.py +0 -0
  313. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/tier.py +0 -0
  314. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/parsers/workflow.py +0 -0
  315. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/utils/__init__.py +0 -0
  316. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/utils/data.py +0 -0
  317. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli/utils/helpers.py +0 -0
  318. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli_legacy.py +0 -0
  319. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli_minimal.py +0 -0
  320. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli_router.py +0 -0
  321. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cli_unified.py +0 -0
  322. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/config/__init__.py +0 -0
  323. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/config/xml_config.py +0 -0
  324. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/config.py +0 -0
  325. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/coordination.py +0 -0
  326. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/core.py +0 -0
  327. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/core_modules/__init__.py +0 -0
  328. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/cost_tracker.py +0 -0
  329. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/dashboard/__init__.py +0 -0
  330. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/dashboard/app.py +0 -0
  331. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/dashboard/simple_server.py +0 -0
  332. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/dashboard/standalone_server.py +0 -0
  333. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/discovery.py +0 -0
  334. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/emergence.py +0 -0
  335. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/exceptions.py +0 -0
  336. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/feedback_loops.py +0 -0
  337. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/README.md +0 -0
  338. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/__init__.py +0 -0
  339. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/config.py +0 -0
  340. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/integration.py +0 -0
  341. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/reloader.py +0 -0
  342. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/watcher.py +0 -0
  343. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/hot_reload/websocket.py +0 -0
  344. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/levels.py +0 -0
  345. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/leverage_points.py +0 -0
  346. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/logging_config.py +0 -0
  347. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/mcp/__init__.py +0 -0
  348. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/mcp/server.py +0 -0
  349. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/__init__.py +0 -0
  350. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/claude_memory.py +0 -0
  351. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/config.py +0 -0
  352. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/control_panel.py +0 -0
  353. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/control_panel_support.py +0 -0
  354. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/cross_session.py +0 -0
  355. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/edges.py +0 -0
  356. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/encryption.py +0 -0
  357. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/file_session.py +0 -0
  358. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/graph.py +0 -0
  359. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/long_term.py +0 -0
  360. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/long_term_types.py +0 -0
  361. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/__init__.py +0 -0
  362. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/backend_init_mixin.py +0 -0
  363. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/capabilities_mixin.py +0 -0
  364. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/handoff_mixin.py +0 -0
  365. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/lifecycle_mixin.py +0 -0
  366. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/long_term_mixin.py +0 -0
  367. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/promotion_mixin.py +0 -0
  368. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/mixins/short_term_mixin.py +0 -0
  369. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/nodes.py +0 -0
  370. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/redis_bootstrap.py +0 -0
  371. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/security/__init__.py +0 -0
  372. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/security/audit_logger.py +0 -0
  373. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/security/pii_scrubber.py +0 -0
  374. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/security/secrets_detector.py +0 -0
  375. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/short_term.py +0 -0
  376. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/simple_storage.py +0 -0
  377. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/storage/__init__.py +0 -0
  378. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/storage_backend.py +0 -0
  379. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/summary_index.py +0 -0
  380. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/types.py +0 -0
  381. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/memory/unified.py +0 -0
  382. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/__init__.py +0 -0
  383. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/agent_creator.py +0 -0
  384. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/builtin_templates.py +0 -0
  385. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/__init__.py +0 -0
  386. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/agent_commands.py +0 -0
  387. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/analytics_commands.py +0 -0
  388. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/config_commands.py +0 -0
  389. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/memory_commands.py +0 -0
  390. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/template_commands.py +0 -0
  391. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/workflow_commands.py +0 -0
  392. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_meta_workflows.py +0 -0
  393. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/form_engine.py +0 -0
  394. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/intent_detector.py +0 -0
  395. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/models.py +0 -0
  396. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/pattern_learner.py +0 -0
  397. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/plan_generator.py +0 -0
  398. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/session_context.py +0 -0
  399. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/template_registry.py +0 -0
  400. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/meta_workflows/workflow.py +0 -0
  401. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/metrics/__init__.py +0 -0
  402. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/metrics/collector.py +0 -0
  403. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/metrics/prompt_metrics.py +0 -0
  404. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/__init__.py +0 -0
  405. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/__main__.py +0 -0
  406. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/adaptive_routing.py +0 -0
  407. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/auth_cli.py +0 -0
  408. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/auth_strategy.py +0 -0
  409. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/cli.py +0 -0
  410. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/empathy_executor.py +0 -0
  411. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/executor.py +0 -0
  412. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/fallback.py +0 -0
  413. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/provider_config.py +0 -0
  414. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/registry.py +0 -0
  415. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/tasks.py +0 -0
  416. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/telemetry/__init__.py +0 -0
  417. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/telemetry/analytics.py +0 -0
  418. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/telemetry/backend.py +0 -0
  419. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/telemetry/data_models.py +0 -0
  420. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/telemetry/storage.py +0 -0
  421. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/token_estimator.py +0 -0
  422. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/models/validation.py +0 -0
  423. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/monitoring/__init__.py +0 -0
  424. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/monitoring/alerts.py +0 -0
  425. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/monitoring/alerts_cli.py +0 -0
  426. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/monitoring/multi_backend.py +0 -0
  427. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/monitoring/otel_backend.py +0 -0
  428. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/optimization/__init__.py +0 -0
  429. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/optimization/context_optimizer.py +0 -0
  430. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/__init__.py +0 -0
  431. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/agent_templates.py +0 -0
  432. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/config_store.py +0 -0
  433. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/execution_strategies.py +0 -0
  434. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/meta_orchestrator.py +0 -0
  435. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/pattern_learner.py +0 -0
  436. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/orchestration/real_tools.py +0 -0
  437. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/pattern_cache.py +0 -0
  438. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/pattern_library.py +0 -0
  439. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/patterns/debugging/all_patterns.json +0 -0
  440. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/patterns/debugging/workflow_20260107_1770825e.json +0 -0
  441. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/patterns/refactoring_memory.json +0 -0
  442. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/persistence.py +0 -0
  443. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/platform_utils.py +0 -0
  444. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/plugins/__init__.py +0 -0
  445. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/plugins/base.py +0 -0
  446. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/plugins/registry.py +0 -0
  447. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/__init__.py +0 -0
  448. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/cli.py +0 -0
  449. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/index.py +0 -0
  450. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/models.py +0 -0
  451. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/reports.py +0 -0
  452. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/scanner.py +0 -0
  453. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/project_index/scanner_parallel.py +0 -0
  454. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/prompts/__init__.py +0 -0
  455. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/prompts/config.py +0 -0
  456. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/prompts/context.py +0 -0
  457. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/prompts/parser.py +0 -0
  458. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/prompts/registry.py +0 -0
  459. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/prompts/templates.py +0 -0
  460. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/redis_config.py +0 -0
  461. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/redis_memory.py +0 -0
  462. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/resilience/__init__.py +0 -0
  463. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/resilience/circuit_breaker.py +0 -0
  464. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/resilience/fallback.py +0 -0
  465. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/resilience/health.py +0 -0
  466. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/resilience/retry.py +0 -0
  467. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/resilience/timeout.py +0 -0
  468. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/routing/__init__.py +0 -0
  469. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/routing/chain_executor.py +0 -0
  470. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/routing/classifier.py +0 -0
  471. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/routing/smart_router.py +0 -0
  472. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/routing/workflow_registry.py +0 -0
  473. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/README.md +0 -0
  474. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/__init__.py +0 -0
  475. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/__main__.py +0 -0
  476. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/cli.py +0 -0
  477. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/templates/base_wizard.py.jinja2 +0 -0
  478. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/templates/coach_wizard.py.jinja2 +0 -0
  479. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/templates/domain_wizard.py.jinja2 +0 -0
  480. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/scaffolding/templates/linear_flow_wizard.py.jinja2 +0 -0
  481. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/__init__.py +0 -0
  482. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/ab_testing.py +0 -0
  483. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/blueprint.py +0 -0
  484. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/cli.py +0 -0
  485. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/collaboration.py +0 -0
  486. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/domain_templates.py +0 -0
  487. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/embeddings.py +0 -0
  488. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/engine.py +0 -0
  489. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/explainer.py +0 -0
  490. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/feedback.py +0 -0
  491. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/forms.py +0 -0
  492. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/generator.py +0 -0
  493. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/llm_analyzer.py +0 -0
  494. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/mcp_server.py +0 -0
  495. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/session.py +0 -0
  496. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/storage.py +0 -0
  497. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/success.py +0 -0
  498. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/visual_editor.py +0 -0
  499. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/socratic/web_ui.py +0 -0
  500. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/__init__.py +0 -0
  501. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/agent_coordination.py +0 -0
  502. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/agent_tracking.py +0 -0
  503. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/approval_gates.py +0 -0
  504. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/cli.py +0 -0
  505. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/commands/__init__.py +0 -0
  506. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/commands/dashboard_commands.py +0 -0
  507. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/event_streaming.py +0 -0
  508. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/feedback_loop.py +0 -0
  509. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/telemetry/usage_tracker.py +0 -0
  510. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/templates.py +0 -0
  511. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/test_generator/__init__.py +0 -0
  512. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/test_generator/__main__.py +0 -0
  513. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/test_generator/cli.py +0 -0
  514. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/test_generator/generator.py +0 -0
  515. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/test_generator/risk_analyzer.py +0 -0
  516. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/test_generator/templates/unit_test.py.jinja2 +0 -0
  517. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/tier_recommender.py +0 -0
  518. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/tools.py +0 -0
  519. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/trust/__init__.py +0 -0
  520. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/trust/circuit_breaker.py +0 -0
  521. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/trust_building.py +0 -0
  522. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/validation/__init__.py +0 -0
  523. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/validation/xml_validator.py +0 -0
  524. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/vscode_bridge.py +0 -0
  525. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_commands.py +0 -0
  526. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_patterns/__init__.py +0 -0
  527. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_patterns/behavior.py +0 -0
  528. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_patterns/core.py +0 -0
  529. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_patterns/output.py +0 -0
  530. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_patterns/registry.py +0 -0
  531. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflow_patterns/structural.py +0 -0
  532. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/__init__.py +0 -0
  533. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/autonomous_test_gen.py +0 -0
  534. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/base.py +0 -0
  535. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/batch_processing.py +0 -0
  536. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/bug_predict.py +0 -0
  537. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/builder.py +0 -0
  538. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/caching.py +0 -0
  539. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/code_review.py +0 -0
  540. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/code_review_adapters.py +0 -0
  541. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/code_review_pipeline.py +0 -0
  542. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/config.py +0 -0
  543. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/dependency_check.py +0 -0
  544. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/document_gen/__init__.py +0 -0
  545. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/document_gen/config.py +0 -0
  546. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/document_gen/report_formatter.py +0 -0
  547. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/document_gen/workflow.py +0 -0
  548. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/document_manager.py +0 -0
  549. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/document_manager_README.md +0 -0
  550. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/documentation_orchestrator.py +0 -0
  551. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/history.py +0 -0
  552. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/__init__.py +0 -0
  553. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/generators.py +0 -0
  554. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/parsers.py +0 -0
  555. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/prompts.py +0 -0
  556. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/schema.py +0 -0
  557. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/workflow.py +0 -0
  558. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/llm_base.py +0 -0
  559. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/manage_docs.py +0 -0
  560. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/manage_docs_README.md +0 -0
  561. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/manage_documentation.py +0 -0
  562. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/new_sample_workflow1.py +0 -0
  563. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/new_sample_workflow1_README.md +0 -0
  564. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/orchestrated_health_check.py +0 -0
  565. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/orchestrated_release_prep.py +0 -0
  566. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/output.py +0 -0
  567. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/perf_audit.py +0 -0
  568. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/pr_review.py +0 -0
  569. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progress.py +0 -0
  570. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progress_server.py +0 -0
  571. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/README 2.md +0 -0
  572. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/README.md +0 -0
  573. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/__init__.py +0 -0
  574. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/cli.py +0 -0
  575. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/core.py +0 -0
  576. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/orchestrator.py +0 -0
  577. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/reports.py +0 -0
  578. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/telemetry.py +0 -0
  579. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/test_gen.py +0 -0
  580. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/progressive/workflow.py +0 -0
  581. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/refactor_plan.py +0 -0
  582. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/release_prep.py +0 -0
  583. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/release_prep_crew.py +0 -0
  584. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/research_synthesis.py +0 -0
  585. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/routing.py +0 -0
  586. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/secure_release.py +0 -0
  587. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/security_adapters.py +0 -0
  588. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/security_audit.py +0 -0
  589. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/security_audit_phase3.py +0 -0
  590. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/seo_optimization.py +0 -0
  591. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/step_config.py +0 -0
  592. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/telemetry_mixin.py +0 -0
  593. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test5.py +0 -0
  594. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test5_README.md +0 -0
  595. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_coverage_boost_crew.py +0 -0
  596. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/__init__.py +0 -0
  597. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/ast_analyzer.py +0 -0
  598. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/config.py +0 -0
  599. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/data_models.py +0 -0
  600. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/report_formatter.py +0 -0
  601. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/test_templates.py +0 -0
  602. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen/workflow.py +0 -0
  603. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen.py +0 -0
  604. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen_behavioral.py +0 -0
  605. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_gen_parallel.py +0 -0
  606. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_lifecycle.py +0 -0
  607. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_maintenance.py +0 -0
  608. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_maintenance_cli.py +0 -0
  609. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_maintenance_crew.py +0 -0
  610. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/test_runner.py +0 -0
  611. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/tier_tracking.py +0 -0
  612. {attune_ai-2.0.0 → attune_ai-2.0.2}/src/attune/workflows/xml_enhanced_crew.py +0 -0
  613. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_agent_factory.py +0 -0
  614. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_agent_factory_memory.py +0 -0
  615. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_agent_factory_resilience.py +0 -0
  616. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_audit_logger.py +0 -0
  617. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_audit_logger_extended.py +0 -0
  618. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_base.py +0 -0
  619. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_baseline.py +0 -0
  620. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_book_production_agents.py +0 -0
  621. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_bug_predict_workflow.py +0 -0
  622. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_claude_memory.py +0 -0
  623. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_claude_memory_extended.py +0 -0
  624. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_clinical_protocol_monitor.py +0 -0
  625. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_code_health.py +0 -0
  626. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_code_review.py +0 -0
  627. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_code_review_crew_integration.py +0 -0
  628. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_code_review_pipeline.py +0 -0
  629. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_code_review_pipeline_workflow.py +0 -0
  630. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_code_review_workflow.py +0 -0
  631. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_config.py +0 -0
  632. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_control_panel.py +0 -0
  633. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_control_panel_security.py +0 -0
  634. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_coordination.py +0 -0
  635. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_core.py +0 -0
  636. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_core_reliability.py +0 -0
  637. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_cost_tracker.py +0 -0
  638. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_dependency_check.py +0 -0
  639. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_dependency_check_workflow.py +0 -0
  640. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_discovery.py +0 -0
  641. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_document_gen.py +0 -0
  642. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_document_gen_workflow.py +0 -0
  643. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_emergence.py +0 -0
  644. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_empathy_llm_core.py +0 -0
  645. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_empathy_llm_security.py +0 -0
  646. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_empathy_os.py +0 -0
  647. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_exceptions.py +0 -0
  648. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_executor_integration.py +0 -0
  649. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_fallback.py +0 -0
  650. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_fallback_suite.py +0 -0
  651. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_feedback_loops.py +0 -0
  652. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_finding_extraction.py +0 -0
  653. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_graph.py +0 -0
  654. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_health_check.py +0 -0
  655. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_healthcare_plugin.py +0 -0
  656. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_intelligence_integration.py +0 -0
  657. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_levels.py +0 -0
  658. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_leverage_points.py +0 -0
  659. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_integration.py +0 -0
  660. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_agents.py +0 -0
  661. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_core.py +0 -0
  662. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_decorators.py +0 -0
  663. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_empathy_core.py +0 -0
  664. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_langgraph_adapter.py +0 -0
  665. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_levels.py +0 -0
  666. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_memory.py +0 -0
  667. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_patterns.py +0 -0
  668. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_providers.py +0 -0
  669. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_security.py +0 -0
  670. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_session_status.py +0 -0
  671. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_llm_toolkit_wizard_adapter.py +0 -0
  672. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_logging_config.py +0 -0
  673. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_long_term.py +0 -0
  674. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_memory_graph.py +0 -0
  675. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_model_registry.py +0 -0
  676. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_model_router.py +0 -0
  677. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_monitoring.py +0 -0
  678. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_pattern_cache.py +0 -0
  679. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_pattern_library.py +0 -0
  680. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_perf_audit_workflow.py +0 -0
  681. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_persistence.py +0 -0
  682. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_pii_scrubber.py +0 -0
  683. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_pii_scrubber_extended.py +0 -0
  684. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_platform_compat_ci.py +0 -0
  685. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_platform_utils.py +0 -0
  686. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_plugin_base.py +0 -0
  687. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_plugin_registry.py +0 -0
  688. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_pr_review.py +0 -0
  689. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_pr_review_workflow.py +0 -0
  690. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_production_smoke.py +0 -0
  691. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_progress.py +0 -0
  692. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_protocol_checker.py +0 -0
  693. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_protocol_loader.py +0 -0
  694. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_provider_config.py +0 -0
  695. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_providers.py +0 -0
  696. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_redis_bootstrap.py +0 -0
  697. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_redis_config.py +0 -0
  698. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_redis_integration.py +0 -0
  699. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_redis_memory.py +0 -0
  700. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_redis_memory_errors.py +0 -0
  701. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_refactor_golden.py +0 -0
  702. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_refactor_plan_workflow.py +0 -0
  703. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_refactoring.py +0 -0
  704. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_refactoring_crew.py +0 -0
  705. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_registry.py +0 -0
  706. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_release_prep.py +0 -0
  707. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_reporting.py +0 -0
  708. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_reports.py +0 -0
  709. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_resilience.py +0 -0
  710. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_sbar_wizard.py +0 -0
  711. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_scanner.py +0 -0
  712. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_scanner_exceptions.py +0 -0
  713. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_secrets_detector.py +0 -0
  714. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_secure_memdocs.py +0 -0
  715. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_secure_memdocs_extended.py +0 -0
  716. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_secure_release.py +0 -0
  717. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_secure_release_workflow.py +0 -0
  718. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_audit.py +0 -0
  719. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_audit_crew.py +0 -0
  720. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_audit_workflow.py +0 -0
  721. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_crew_integration.py +0 -0
  722. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_integration.py +0 -0
  723. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_negative_cases.py +0 -0
  724. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_security_scan.py +0 -0
  725. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_sensor_parsers.py +0 -0
  726. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_session_status.py +0 -0
  727. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_short_term.py +0 -0
  728. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_smart_router.py +0 -0
  729. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_smoke.py +0 -0
  730. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_sonnet_opus_fallback.py +0 -0
  731. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_state.py +0 -0
  732. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_step_config.py +0 -0
  733. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_summary_index.py +0 -0
  734. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_sync_claude.py +0 -0
  735. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_tech_debt_wizard.py +0 -0
  736. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_telemetry.py +0 -0
  737. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_templates.py +0 -0
  738. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_timeout.py +0 -0
  739. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_token_estimator.py +0 -0
  740. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_trajectory_analyzer.py +0 -0
  741. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_trust_building.py +0 -0
  742. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_trust_circuit_breaker.py +0 -0
  743. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_unified_memory.py +0 -0
  744. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_validation.py +0 -0
  745. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_wizard_outputs.py +0 -0
  746. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_wizard_site_comprehensive.py +0 -0
  747. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_workflow_base.py +0 -0
  748. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_workflow_commands.py +0 -0
  749. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_workflow_wizard_integration.py +0 -0
  750. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_xml_prompts.py +0 -0
  751. {attune_ai-2.0.0 → attune_ai-2.0.2}/tests/test_xml_spec_generation.py +0 -0
  752. {attune_ai-2.0.0 → attune_ai-2.0.2}/workflow_scaffolding/__init__.py +0 -0
  753. {attune_ai-2.0.0 → attune_ai-2.0.2}/workflow_scaffolding/__main__.py +0 -0
  754. {attune_ai-2.0.0 → attune_ai-2.0.2}/workflow_scaffolding/cli.py +0 -0
  755. {attune_ai-2.0.0 → attune_ai-2.0.2}/workflow_scaffolding/generator.py +0 -0
@@ -7,6 +7,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.0.2] - 2026-02-01
11
+
12
+ ### Removed
13
+
14
+ - **README.md**: Removed outdated "Transitioning to Claude-Native Architecture" section
15
+ - Eliminated confusing timeline with old version numbers (v4.8.0, v5.0.0, v5.0.2)
16
+ - Package is already Claude-native, no need for transition messaging
17
+ - Cleaner, more focused README presentation
18
+
19
+ ## [2.0.1] - 2026-02-01
20
+
21
+ ### Changed
22
+
23
+ - **README.md**: Consolidated version history into single "What's New in v2.0.0" section
24
+ - Removed confusing legacy version sections (v5.3.0, v5.1.0, v5.0.2, v4.9.0, v4.7.0)
25
+ - Clean, focused presentation of Attune AI features
26
+ - Updated test badge to show 13,489 tests collected
27
+ - Clarified $0 workflows caveat for 1M API context requirement
28
+
29
+ - **Website Branding**: Updated all references across 20+ pages
30
+ - "Empathy Framework" → "Attune AI"
31
+ - `empathy-framework` → `attune-ai` in all install commands
32
+ - GitHub URLs updated to `Smart-AI-Memory/attune-ai`
33
+
34
+ - **Documentation**: Comprehensive branding updates
35
+ - 1,116+ references updated across all markdown files
36
+ - All package names and commands updated
37
+ - Consistent "Attune AI" branding throughout
38
+
39
+ ### Fixed
40
+
41
+ - Markdown linting: Added proper blank lines around lists in README
42
+ - Accurate description of cost model for workflows
43
+
10
44
  ## [2.0.0] - 2026-02-01
11
45
 
12
46
  ### BREAKING CHANGES 🚨
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: attune-ai
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: AI collaboration framework with real LLM agent execution, AskUserQuestion tool integration, Socratic agent generation, progressive tier escalation (70-85% cost savings), meta-orchestration, dynamic agent composition (10 patterns including Anthropic-inspired), intelligent caching (85% hit rate), semantic workflow discovery, visual workflow editor, MCP integration for Claude Code, and multi-agent orchestration.
5
5
  Author-email: Patrick Roebuck <admin@smartaimemory.com>
6
6
  Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
@@ -421,14 +421,14 @@ Requires-Dist: aiohttp<4.0.0,>=3.10.0; extra == "all"
421
421
  Requires-Dist: filelock<4.0.0,>=3.16.0; extra == "all"
422
422
  Dynamic: license-file
423
423
 
424
- # Empathy Framework
424
+ # Attune AI
425
425
 
426
426
  **AI-powered developer workflows with cost optimization and pattern learning.**
427
427
 
428
428
  Run code review, debugging, testing, and release workflows from your terminal or Claude Code. Smart tier routing saves 34-86% on LLM costs.
429
429
 
430
430
  [![PyPI](https://img.shields.io/pypi/v/attune-ai?color=blue)](https://pypi.org/project/attune-ai/)
431
- [![Tests](https://img.shields.io/badge/tests-7%2C168%20passing%20(99.9%25)-brightgreen)](https://github.com/Smart-AI-Memory/attune-ai/actions)
431
+ [![Tests](https://img.shields.io/badge/tests-13%2C489%20collected-brightgreen)](https://github.com/Smart-AI-Memory/attune-ai/actions)
432
432
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
433
433
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue)](LICENSE)
434
434
  [![Performance](https://img.shields.io/badge/performance-18x%20faster-success)](https://github.com/Smart-AI-Memory/attune-ai/blob/main/CHANGELOG.md)
@@ -439,188 +439,64 @@ pip install attune-ai[developer]
439
439
 
440
440
  ---
441
441
 
442
- ## 🎯 Transitioning to Claude-Native Architecture
442
+ ## What's New in v2.0.0
443
443
 
444
- **Empathy Framework is evolving to focus exclusively on Anthropic/Claude** to unlock features impossible with multi-provider abstraction:
444
+ **🎉 Introducing Attune AI** - A fresh start with a new name and renewed focus:
445
445
 
446
- - **📦 Prompt Caching:** 90% cost reduction on repeated prompts
447
- - **📖 Flexible Context:** 200K via subscription for most tasks, up to 1M via API for large codebases
448
- - **🧠 Extended Thinking:** See Claude's internal reasoning process
449
- - **🔧 Advanced Tool Use:** Optimized for agentic workflows
446
+ **Package Rebrand**: `empathy-framework` is now `attune-ai`
450
447
 
451
- **Timeline:**
448
+ - New package name, same powerful features
449
+ - All capabilities from v5.x preserved
450
+ - Starting fresh at v2.0.0 to mark the new brand
452
451
 
453
- - **v4.8.0 (Jan 2026):** Deprecation warnings for OpenAI/Google/Ollama providers
454
- - ✅ **v5.0.0 (Jan 26, 2026):** Non-Anthropic providers removed (BREAKING - COMPLETE)
455
- - ✅ **v5.0.2 (Jan 28, 2026):** Cost optimization suite with batch processing and caching monitoring
452
+ **🤖 Multi-Agent Orchestration** - Build and coordinate specialized AI agents:
456
453
 
457
- **Migration Guide:** [docs/CLAUDE_NATIVE.md](docs/CLAUDE_NATIVE.md)
454
+ - **Agent Coordination Dashboard** - Real-time monitoring with 6 coordination patterns
455
+ - **Custom Agents** - Create specialized agents for your workflow needs
456
+ - **LLM Agents** - Leverage Claude's advanced capabilities
457
+ - Dashboard at `http://localhost:8000` with `python examples/dashboard_demo.py` (requires Redis)
458
458
 
459
- ---
460
-
461
- ## What's New in v5.3.0
462
-
463
- **🎨 Dashboard Enhancements** - Improved usability and clarity:
464
-
465
- - **Agent Display Names** - Human-readable labels for agents in dashboard (e.g., "Code Analyzer" instead of UUID)
466
- - **Comprehensive Help Panel** - 5-section accordion explaining dashboard features, use cases, and Redis setup
467
- - **UX Improvements** - "Source Agent:" label clarity, "Redis Requires Enabling" status message
468
- - **Browser Cache Busting** - Date-based versioning ensures updates appear immediately
469
-
470
- **📚 Documentation Improvements**:
471
-
472
- - Clarified flexible context strategy (200K subscription + 1M API routing)
473
- - Added Redis requirement documentation for dashboard
474
- - Root directory cleanup (8 archived files)
475
-
476
- **🧪 Test Infrastructure**:
477
-
478
- - Sequential test execution to fix import timing issues
479
- - All agent tracking tests passing (19/19)
480
-
481
- [See Full Changelog](CHANGELOG.md#530---2026-01-31)
482
-
483
- ---
484
-
485
- ## What's New in v5.1.0
486
-
487
- **🤖 Multi-Agent Orchestration** - Full support for custom agents and Anthropic LLM agents:
488
-
489
- - **Agent Coordination Dashboard** - Real-time monitoring with 6 coordination patterns:
490
- - Agent heartbeats and status tracking
491
- - Inter-agent coordination signals
492
- - Event streaming across agent workflows
493
- - Approval gates for human-in-the-loop
494
- - Quality feedback and performance metrics
495
- - Demo mode with test data generation
496
-
497
- - **Custom Agents** - Build specialized agents for your workflow needs
498
- - **LLM Agents from Anthropic** - Leverage Claude's advanced capabilities
499
- - Dashboard accessible at `http://localhost:8000` with `python examples/dashboard_demo.py` **(Requires Redis)**
500
-
501
- **🔐 Authentication Strategy System** - Intelligent routing between Claude subscriptions and Anthropic API:
502
-
503
- ```bash
504
- # Interactive setup
505
- python -m attune.models.auth_cli setup
506
-
507
- # View current configuration
508
- python -m attune.models.auth_cli status
509
-
510
- # Get recommendation for a file
511
- python -m attune.models.auth_cli recommend src/module.py
512
- ```
513
-
514
- **💰 Automatic Cost Optimization** - Workflows choose the best auth method:
515
-
516
- - Small/medium modules (<2000 LOC) → Claude subscription (free)
517
- - Large modules (>2000 LOC) → Anthropic API (pay for what you need)
518
- - 7 workflows integrated: document-gen, test-gen, code-review, bug-predict, security-audit, perf-audit, release-prep
519
- - Auth mode tracking in all workflow outputs for telemetry
520
-
521
- **🧪 Comprehensive Testing** - 7 new integration tests for auth strategy:
522
-
523
- - All workflows tested with auth enabled/disabled
524
- - API and subscription mode verification
525
- - Cost tracking validation
526
-
527
- **📖 Documentation** - 950+ lines across 3 guides:
528
-
529
- - [AUTH_STRATEGY_GUIDE.md](docs/AUTH_STRATEGY_GUIDE.md) - User guide for configuration
530
- - [AUTH_CLI_IMPLEMENTATION.md](docs/AUTH_CLI_IMPLEMENTATION.md) - CLI command reference
531
- - [AUTH_WORKFLOW_INTEGRATIONS.md](docs/AUTH_WORKFLOW_INTEGRATIONS.md) - Integration patterns
532
-
533
- [See Full Changelog](CHANGELOG.md#510---2026-01-29)
534
-
535
- ---
459
+ **💰 Intelligent Cost Optimization**:
536
460
 
537
- ## What's New in v5.0.2
461
+ - **Authentication Strategy** - Smart routing between Claude subscription (free) and Anthropic API
462
+ - **Batch API** - 50% cost savings for non-urgent tasks
463
+ - **Smart Tier Routing** - Automatic model selection saves 34-86% on costs
464
+ - **Precise Token Counting** - >98% accurate cost tracking
538
465
 
539
- **💰 50% Cost Savings with Batch API** - Process non-urgent tasks asynchronously:
466
+ **⚡ Performance & Scale**:
540
467
 
541
- ```bash
542
- empathy batch submit batch_requests.json # Submit batch job
543
- empathy batch status msgbatch_abc123 # Check progress
544
- empathy batch results msgbatch_abc123 output.json # Download results
545
- ```
468
+ - **18x Faster** - Redis caching, parallel scanning, incremental updates
469
+ - **99.9% Memory Reduction** - Generator expressions across 27 optimizations
470
+ - **Natural Language** - Use plain English for workflow commands
471
+ - **13,489 Tests** - Comprehensive test coverage (99.9% passing)
546
472
 
547
- Perfect for: log analysis, report generation, bulk classification, test generation
473
+ **🔐 Security & Quality**:
548
474
 
549
- **📊 Precise Token Counting** - >98% accurate cost tracking:
475
+ - **Automated Security Scanning** - 82% accuracy, blocks critical issues
476
+ - **Path Traversal Protection** - All file operations validated
477
+ - **HIPAA/GDPR Compliance** - Enterprise-ready security options
550
478
 
551
- - Integrated Anthropic's `count_tokens()` API for billing-accurate measurements
552
- - 3-tier fallback: API → tiktoken (local) → heuristic
553
- - Cache-aware cost calculation (25% write markup, 90% read discount)
479
+ **🧭 Developer Experience**:
554
480
 
555
- **📈 Cache Performance Monitoring** - Track your 20-30% caching savings:
556
-
557
- ```bash
558
- empathy cache stats # Show hit rates and cost savings
559
- empathy cache stats --verbose # Detailed token metrics
560
- empathy cache stats --format json # Machine-readable output
561
- ```
481
+ - **MCP Integration** - 10 tools auto-discovered by Claude Code
482
+ - **Hub-Based Commands** - Organized workflows (`/dev`, `/testing`, `/release`, etc.)
483
+ - **Socratic Workflows** - Interactive discovery through guided questions
484
+ - **$0 Workflows** - Run via Claude Code with no API costs, unless a 1 million API context is required.
562
485
 
563
- **🧭 Adaptive Routing Analytics** - Intelligent tier recommendations:
486
+ **Migration from Empathy Framework**:
564
487
 
565
488
  ```bash
566
- empathy routing stats <workflow> # Performance metrics
567
- empathy routing check --all # Tier upgrade recommendations
568
- empathy routing models --provider anthropic # Compare models
569
- ```
570
-
571
- **🔧 Dashboard Fixes** - All 6 agent coordination patterns now operational:
572
- - Agent heartbeats displaying correctly
573
- - Event streaming functional
574
- - Coordination signals working
575
- - Approval gates operational
576
-
577
- [See Full Changelog](CHANGELOG.md#502---2026-01-28) | [Batch API Guide](docs/BATCH_API_GUIDE.md) | [User API Docs](docs/USER_API_DOCUMENTATION.md)
489
+ # Old package
490
+ pip uninstall empathy-framework
578
491
 
579
- ---
580
-
581
- ## What's New in v4.9.0
582
-
583
- **⚡ 18x Faster Performance** - Massive performance gains through Phase 2 optimizations:
584
-
585
- - **Redis Two-Tier Caching:** 2x faster memory operations (37,000x for cached keys)
586
- - **Generator Expressions:** 99.9% memory reduction across 27 optimizations
587
- - **Parallel Scanning:** Multi-core processing enabled by default (2-4x faster)
588
- - **Incremental Scanning:** Git diff-based updates (10x faster)
589
-
590
- **🧭 Natural Language Workflows** - Use plain English instead of workflow names:
492
+ # New package
493
+ pip install attune-ai[developer]
591
494
 
592
- ```bash
593
- /workflows "find security vulnerabilities" # security-audit
594
- /workflows "check code performance" # → perf-audit
595
- /workflows "predict bugs" # → bug-predict
596
- /plan "review my code" # → code-review
495
+ # Update imports in your code
496
+ # from empathy_osfrom attune
597
497
  ```
598
498
 
599
- **📊 Real-World Performance:**
600
-
601
- - Combined workflow: 3.59s → 0.2s (**18x faster**)
602
- - Full scan: 3,472 files in 0.98s (was 3.59s)
603
- - Redis cached operations: 37ms → 0.001ms
604
-
605
- **🎯 Improved Navigation:**
606
-
607
- - Split `/workflow` into `/workflows` (automated analysis) and `/plan` (planning/review)
608
- - Clearer hub organization with better categorization
609
- - Natural language routing matches intent to workflow
610
-
611
- [See CHANGELOG.md](CHANGELOG.md) | [Performance Docs](docs/REDIS_OPTIMIZATION_SUMMARY.md)
612
-
613
- ---
614
-
615
- ## What's New in v4.7.0
616
-
617
- **$0 Workflows via Skills** - Multi-agent workflows run through Claude Code's Task tool instead of API calls. No additional cost with your Claude subscription.
618
-
619
- **Socratic Workflows** - Interactive discovery through guided questions. Workflows ask what you need rather than requiring upfront configuration.
620
-
621
- **Security Hardened** - Fixed critical vulnerabilities (path traversal, JWT, SSRF).
622
-
623
- **Hub-Based Commands** - Organized workflows into intuitive command hubs.
499
+ [See Full Changelog](CHANGELOG.md) | [Migration Guide](docs/MIGRATION_GUIDE.md)
624
500
 
625
501
  ---
626
502
 
@@ -659,7 +535,7 @@ python -m attune.models.cli provider --set anthropic
659
535
  /plan "review my code"
660
536
 
661
537
  # Direct tool access via MCP (v5.1.1+):
662
- # Claude Code automatically discovers Empathy tools through the MCP server
538
+ # Claude Code automatically discovers Attune AI tools through the MCP server
663
539
  # Just describe what you need in natural language:
664
540
  "Run a security audit on src/" → Invokes security_audit tool
665
541
  "Generate tests for config.py" → Invokes test_generation tool
@@ -669,7 +545,7 @@ python -m attune.models.cli provider --set anthropic
669
545
 
670
546
  **MCP Server Integration (v5.1.1+):**
671
547
 
672
- Empathy Framework now includes a Model Context Protocol (MCP) server that exposes all workflows as native Claude Code tools:
548
+ Attune AI now includes a Model Context Protocol (MCP) server that exposes all workflows as native Claude Code tools:
673
549
 
674
550
  - **10 Tools Available:** security_audit, bug_predict, code_review, test_generation, performance_audit, release_prep, auth_status, auth_recommend, telemetry_stats, dashboard_status
675
551
  - **Automatic Discovery:** No manual configuration needed - Claude Code finds tools via `.claude/mcp.json`
@@ -691,9 +567,9 @@ See [.claude/MCP_TEST_RESULTS.md](.claude/MCP_TEST_RESULTS.md) for full integrat
691
567
  **CLI:**
692
568
 
693
569
  ```bash
694
- empathy workflow run security-audit --path ./src
695
- empathy workflow run test-coverage --target 90
696
- empathy telemetry show # View cost savings
570
+ attune workflow run security-audit --path ./src
571
+ attune workflow run test-coverage --target 90
572
+ attune telemetry show # View cost savings
697
573
  ```
698
574
 
699
575
  **Python:**
@@ -701,8 +577,8 @@ empathy telemetry show # View cost savings
701
577
  ```python
702
578
  from attune import EmpathyOS
703
579
 
704
- async with EmpathyOS() as empathy:
705
- result = await empathy.level_2_guided(
580
+ async with EmpathyOS() as attune:
581
+ result = await attune.level_2_guided(
706
582
  "Review this code for security issues"
707
583
  )
708
584
  print(result["response"])
@@ -812,7 +688,7 @@ For programmatic use, smart tier routing saves 34-86%:
812
688
 
813
689
  ```bash
814
690
  # Track API usage and savings
815
- empathy telemetry savings --days 30
691
+ attune telemetry savings --days 30
816
692
  ```
817
693
 
818
694
  ---
@@ -823,10 +699,10 @@ empathy telemetry savings --days 30
823
699
 
824
700
  ```bash
825
701
  # 4 parallel agents check release readiness
826
- empathy orchestrate release-prep
702
+ attune orchestrate release-prep
827
703
 
828
704
  # Sequential coverage improvement
829
- empathy orchestrate test-coverage --target 90
705
+ attune orchestrate test-coverage --target 90
830
706
  ```
831
707
 
832
708
  ### Response Caching
@@ -874,21 +750,21 @@ python -m attune.models.cli provider
874
750
  python -m attune.models.cli provider --set hybrid
875
751
 
876
752
  # Workflows
877
- empathy workflow list
878
- empathy workflow run <workflow-name>
753
+ attune workflow list
754
+ attune workflow run <workflow-name>
879
755
 
880
756
  # Cost tracking
881
- empathy telemetry show
882
- empathy telemetry savings --days 30
883
- empathy telemetry export --format csv
757
+ attune telemetry show
758
+ attune telemetry savings --days 30
759
+ attune telemetry export --format csv
884
760
 
885
761
  # Orchestration
886
- empathy orchestrate release-prep
887
- empathy orchestrate test-coverage --target 90
762
+ attune orchestrate release-prep
763
+ attune orchestrate test-coverage --target 90
888
764
 
889
765
  # Meta-workflows
890
- empathy meta-workflow list
891
- empathy meta-workflow run release-prep --real
766
+ attune meta-workflow list
767
+ attune meta-workflow run release-prep --real
892
768
  ```
893
769
 
894
770
  ---
@@ -934,7 +810,7 @@ export REDIS_URL="redis://localhost:6379"
934
810
 
935
811
  ## VSCode Extension
936
812
 
937
- Install the Empathy VSCode extension for:
813
+ Install the Attune AI VSCode extension for:
938
814
 
939
815
  - **Dashboard** - Health score, costs, patterns
940
816
  - **One-Click Workflows** - Run from command palette
@@ -969,10 +845,10 @@ See [SECURITY.md](SECURITY.md) for vulnerability reporting.
969
845
 
970
846
  ```bash
971
847
  # Run security audit locally
972
- empathy workflow run security-audit
848
+ attune workflow run security-audit
973
849
 
974
850
  # Scan specific directory
975
- empathy workflow run security-audit --input '{"path":"./src"}'
851
+ attune workflow run security-audit --input '{"path":"./src"}'
976
852
  ```
977
853
 
978
854
  **Documentation:**