mcp-ticketer 0.3.0__tar.gz → 0.3.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.

Potentially problematic release.


This version of mcp-ticketer might be problematic. Click here for more details.

Files changed (302) hide show
  1. mcp_ticketer-0.3.2/.claude/agents/.dependency_cache +18 -0
  2. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/.mpm_deployment_state +2 -2
  3. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/local_ops_agent.md +1 -1
  4. {mcp_ticketer-0.3.0/src/mcp_ticketer.egg-info → mcp_ticketer-0.3.2}/PKG-INFO +1 -1
  5. mcp_ticketer-0.3.2/docs/changelogs/CHANGELOG_v0.2.0.md +201 -0
  6. mcp_ticketer-0.3.2/docs/changelogs/CHANGELOG_v0.3.0.md +278 -0
  7. mcp_ticketer-0.3.2/docs/changelogs/CHANGELOG_v0.3.1.md +229 -0
  8. mcp_ticketer-0.3.2/docs/guides/BULLETPROOF_TICKET_CREATION_GUIDE.md +336 -0
  9. mcp_ticketer-0.3.2/docs/releases/PUBLICATION_GUIDE_v0.2.0.md +263 -0
  10. mcp_ticketer-0.3.2/docs/releases/PUBLICATION_SUCCESS_v0.2.0.md +212 -0
  11. mcp_ticketer-0.3.2/docs/releases/PUBLICATION_SUCCESS_v0.3.0.md +257 -0
  12. mcp_ticketer-0.3.2/docs/releases/PUBLICATION_SUCCESS_v0.3.1.md +236 -0
  13. mcp_ticketer-0.3.2/docs/releases/RELEASE_v0.1.39_SUMMARY.md +190 -0
  14. mcp_ticketer-0.3.2/docs/releases/RELEASE_v0.2.0_SUMMARY.md +186 -0
  15. mcp_ticketer-0.3.2/docs/summaries/AUTO_DISCOVERY_BUG_FIX_SUMMARY.md +254 -0
  16. mcp_ticketer-0.3.2/docs/summaries/BULLETPROOF_IMPROVEMENTS_SUMMARY.md +280 -0
  17. mcp_ticketer-0.3.2/docs/summaries/COMMAND_SYNONYMS_SUMMARY.md +284 -0
  18. mcp_ticketer-0.3.2/docs/summaries/COMPREHENSIVE_TESTING_SUMMARY.md +316 -0
  19. mcp_ticketer-0.3.2/docs/summaries/INTERACTIVE_CLI_SETUP_SUMMARY.md +338 -0
  20. mcp_ticketer-0.3.2/docs/summaries/LINEAR_ADAPTER_INITIALIZATION_BUG_FIX.md +266 -0
  21. mcp_ticketer-0.3.2/docs/summaries/MODULE_REFACTORING_ANALYSIS.md +253 -0
  22. mcp_ticketer-0.3.2/docs/summaries/MODULE_REFACTORING_SUMMARY.md +213 -0
  23. mcp_ticketer-0.3.2/docs/summaries/REFACTORED_ENV_SOLUTION_SUMMARY.md +277 -0
  24. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/pyproject.toml +1 -1
  25. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/__version__.py +1 -1
  26. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/aitrackdown.py +12 -15
  27. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/github.py +7 -4
  28. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/jira.py +23 -22
  29. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear/__init__.py +1 -1
  30. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear/adapter.py +88 -89
  31. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear/client.py +71 -52
  32. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear/mappers.py +88 -68
  33. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear/queries.py +28 -7
  34. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear/types.py +57 -50
  35. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/linear.py +2 -2
  36. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/adapter_diagnostics.py +86 -51
  37. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/diagnostics.py +165 -72
  38. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/linear_commands.py +156 -113
  39. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/main.py +194 -100
  40. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/simple_health.py +73 -45
  41. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/utils.py +15 -10
  42. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/config.py +23 -19
  43. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/env_discovery.py +33 -4
  44. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/env_loader.py +109 -86
  45. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/exceptions.py +20 -18
  46. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/models.py +9 -0
  47. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/project_config.py +1 -1
  48. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/mcp/server.py +294 -139
  49. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/health_monitor.py +152 -121
  50. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/manager.py +11 -4
  51. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/queue.py +15 -3
  52. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/run_worker.py +1 -1
  53. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/ticket_registry.py +190 -132
  54. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/worker.py +54 -25
  55. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2/src/mcp_ticketer.egg-info}/PKG-INFO +1 -1
  56. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer.egg-info/SOURCES.txt +20 -1
  57. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/linear/test_adapter.py +93 -145
  58. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/linear/test_client.py +87 -92
  59. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/linear/test_mappers.py +82 -103
  60. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/linear/test_queries.py +50 -20
  61. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/linear/test_types.py +36 -62
  62. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_github.py +29 -15
  63. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_github_token.py +10 -7
  64. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_jira.py +17 -17
  65. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_jira_direct.py +48 -47
  66. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_jira_projects.py +43 -43
  67. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_linear.py +10 -16
  68. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_linear_config.py +36 -28
  69. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_linear_native.py +29 -26
  70. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_actual_worker_execution.py +60 -58
  71. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_config_resolution.py +34 -40
  72. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_credential_validation.py +12 -13
  73. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_environment_handoff.py +135 -112
  74. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_queue_processing.py +134 -114
  75. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_queue_system.py +12 -12
  76. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_unified_env_loading.py +51 -45
  77. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_adapter_cache.py +23 -20
  78. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_cli_config.py +10 -9
  79. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_cli_vs_simulation.py +48 -36
  80. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_linear_teams.py +45 -39
  81. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_search.py +6 -5
  82. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_test.py +5 -4
  83. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_worker_adapter.py +31 -27
  84. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_worker_simulation.py +30 -27
  85. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/debug/debug_worker_subprocess.py +28 -28
  86. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/e2e/test_comments_and_attachments.py +111 -112
  87. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/e2e/test_complete_ticket_workflow.py +85 -97
  88. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/e2e/test_complete_workflow.py +115 -111
  89. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/e2e/test_hierarchy_validation.py +105 -92
  90. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/e2e/test_state_transitions.py +109 -101
  91. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_aitrackdown_commenting.py +159 -133
  92. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_all_adapters.py +175 -99
  93. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_commenting_functionality.py +123 -107
  94. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_comprehensive.py +63 -27
  95. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_hierarchy_and_workflow.py +222 -156
  96. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_jira_github_adapters.py +101 -105
  97. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_mcp_server_qa.py +99 -99
  98. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_pr_functionality.py +14 -14
  99. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_serve_config.py +17 -26
  100. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/integration/test_user_assignment.py +285 -193
  101. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/performance/test_optimizations.py +12 -16
  102. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/performance/test_performance.py +34 -34
  103. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/run_comprehensive_tests.py +138 -54
  104. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_api_usage.py +14 -16
  105. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_basic.py +4 -4
  106. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_codex_config.py +6 -8
  107. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_comprehensive_qa.py +126 -87
  108. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_error_handling.py +23 -17
  109. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_linear_teams.py +75 -51
  110. mcp_ticketer-0.3.0/.claude/agents/.dependency_cache +0 -34
  111. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/comments/comment-20251024141042175430.json +0 -0
  112. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/comments/comment-20251024141042175768.json +0 -0
  113. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/comments/comment-20251024141042175888.json +0 -0
  114. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/comments/comment-20251024141042175987.json +0 -0
  115. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/comments/comment-20251024141042176075.json +0 -0
  116. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/comments/comment-20251024141042176163.json +0 -0
  117. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/tickets/task-20251024141042175062.json +0 -0
  118. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.aitrackdown-test/tickets/task-20251024141042175285.json +0 -0
  119. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/agent-manager.md +0 -0
  120. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/agentic-coder-optimizer.md +0 -0
  121. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/api_qa.md +0 -0
  122. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/clerk-ops.md +0 -0
  123. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/code_analyzer.md +0 -0
  124. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/content-agent.md +0 -0
  125. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/dart_engineer.md +0 -0
  126. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/data_engineer.md +0 -0
  127. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/documentation.md +0 -0
  128. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/engineer.md +0 -0
  129. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/gcp_ops_agent.md +0 -0
  130. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/golang_engineer.md +0 -0
  131. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/imagemagick.md +0 -0
  132. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/java_engineer.md +0 -0
  133. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/memory_manager.md +0 -0
  134. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/nextjs_engineer.md +0 -0
  135. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/ops.md +0 -0
  136. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/php-engineer.md +0 -0
  137. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/product_owner.md +0 -0
  138. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/project_organizer.md +0 -0
  139. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/prompt-engineer.md +0 -0
  140. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/python_engineer.md +0 -0
  141. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/qa.md +0 -0
  142. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/react_engineer.md +0 -0
  143. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/refactoring_engineer.md +0 -0
  144. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/research.md +0 -0
  145. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/ruby-engineer.md +0 -0
  146. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/rust_engineer.md +0 -0
  147. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/security.md +0 -0
  148. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/ticketing.md +0 -0
  149. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/typescript_engineer.md +0 -0
  150. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/vercel_ops_agent.md +0 -0
  151. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/version_control.md +0 -0
  152. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/web_qa.md +0 -0
  153. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/agents/web_ui.md +0 -0
  154. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/mcp.json +0 -0
  155. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude/mcp.local.json +0 -0
  156. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/config/project.json +0 -0
  157. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/mcp_auto_config_preference.json +0 -0
  158. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/README.md +0 -0
  159. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/agentic_coder_optimizer_memories.md +0 -0
  160. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/documentation_memories.md +0 -0
  161. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/engineer_memories.md +0 -0
  162. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/ops_memories.md +0 -0
  163. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/project_knowledge_memories.md +0 -0
  164. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/qa_memories.md +0 -0
  165. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/research_memories.md +0 -0
  166. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/version-control_memories.md +0 -0
  167. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude-mpm/memories/workflows_memories.md +0 -0
  168. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.claude.json +0 -0
  169. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.coveragerc +0 -0
  170. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.env.example +0 -0
  171. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.github/workflows/docs.yml +0 -0
  172. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.github/workflows/publish.yml +0 -0
  173. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.github/workflows/test.yml +0 -0
  174. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.mcp/config.json +0 -0
  175. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.pre-commit-config.yaml +0 -0
  176. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.python-version +0 -0
  177. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/.readthedocs.yaml +0 -0
  178. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/CHANGELOG.md +0 -0
  179. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/CLAUDE.md +0 -0
  180. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/LICENSE +0 -0
  181. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/MANIFEST.in +0 -0
  182. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/Makefile +0 -0
  183. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/README.md +0 -0
  184. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/SECURITY_SCAN_REPORT_v0.1.24.md +0 -0
  185. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/ADAPTERS.md +0 -0
  186. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/AI_CLIENT_INTEGRATION.md +0 -0
  187. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/API_REFERENCE.md +0 -0
  188. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/CONFIGURATION.md +0 -0
  189. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/CONFIG_RESOLUTION_FLOW.md +0 -0
  190. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/DEVELOPER_GUIDE.md +0 -0
  191. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/ENV_DISCOVERY.md +0 -0
  192. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/MCP_INTEGRATION.md +0 -0
  193. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/MIGRATION_GUIDE.md +0 -0
  194. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/PROJECT_CONFIG.md +0 -0
  195. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/PR_INTEGRATION.md +0 -0
  196. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/QUEUE_SYSTEM.md +0 -0
  197. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/QUICK_START.md +0 -0
  198. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/QUICK_START_ENV.md +0 -0
  199. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/README.md +0 -0
  200. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/USER_GUIDE.md +0 -0
  201. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_archive/README.md +0 -0
  202. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/ADAPTERS.md.txt +0 -0
  203. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/API_REFERENCE.md.txt +0 -0
  204. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/CONFIGURATION.md.txt +0 -0
  205. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/DEVELOPER_GUIDE.md.txt +0 -0
  206. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/MCP_INTEGRATION.md.txt +0 -0
  207. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/MIGRATION_GUIDE.md.txt +0 -0
  208. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/USER_GUIDE.md.txt +0 -0
  209. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/adapters/github.md.txt +0 -0
  210. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/adapters.rst.txt +0 -0
  211. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/api.rst.txt +0 -0
  212. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/cli.rst.txt +0 -0
  213. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/development.rst.txt +0 -0
  214. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/examples.rst.txt +0 -0
  215. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/index.rst.txt +0 -0
  216. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/installation.rst.txt +0 -0
  217. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/_build/_sources/prd/mcp-ticketer-prd.md.txt +0 -0
  218. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/adapters/github.md +0 -0
  219. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/adapters.rst +0 -0
  220. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/api.rst +0 -0
  221. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/cli.rst +0 -0
  222. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/conf.py +0 -0
  223. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/development/CODE_STRUCTURE.md +0 -0
  224. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/development/CONTRIBUTING.md +0 -0
  225. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/development/RELEASE.md +0 -0
  226. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/development/RELEASING.md +0 -0
  227. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/development.rst +0 -0
  228. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/examples.rst +0 -0
  229. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/index.rst +0 -0
  230. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/installation.rst +0 -0
  231. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/prd/mcp-ticketer-prd.md +0 -0
  232. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/CONFIG_RESOLUTION_FIX.md +0 -0
  233. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/CREDENTIAL_VALIDATION_FIX.md +0 -0
  234. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/DIAGNOSTICS_FEATURE.md +0 -0
  235. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/ENV_DISCOVERY_COMPLETE.md +0 -0
  236. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/FIX_SUMMARY.md +0 -0
  237. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/HIERARCHY_IMPLEMENTATION_SUMMARY.md +0 -0
  238. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/IMPLEMENTATION_SUMMARY.md +0 -0
  239. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/MCP_CONFIGURATION_TEST_REPORT.md +0 -0
  240. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/OPTIMIZATION_SUMMARY.md +0 -0
  241. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/PROJECT_INITIALIZATION_SUMMARY.md +0 -0
  242. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/TEST_COVERAGE_REPORT.md +0 -0
  243. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/TEST_REPORT.md +0 -0
  244. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/TEST_RESULTS_SUMMARY.md +0 -0
  245. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/reports/VERIFICATION_RESULTS.md +0 -0
  246. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/requirements.txt +0 -0
  247. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/setup/CLAUDE_DESKTOP_SETUP.md +0 -0
  248. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/setup/CODEX_INTEGRATION.md +0 -0
  249. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/setup/JIRA_SETUP.md +0 -0
  250. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/docs/setup/LINEAR_SETUP.md +0 -0
  251. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2/docs/summaries}/PROJECT_CLEANUP_SUMMARY.md +0 -0
  252. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/mcp-ticketer +0 -0
  253. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/mcp-ticketer-server +0 -0
  254. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/pytest.ini +0 -0
  255. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/requirements-dev.txt +0 -0
  256. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/requirements.txt +0 -0
  257. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/scripts/README.md +0 -0
  258. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/scripts/install.sh +0 -0
  259. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/scripts/manage_version.py +0 -0
  260. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/scripts/mcp_server.sh +0 -0
  261. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/scripts/test_set_command.sh +0 -0
  262. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/setup.cfg +0 -0
  263. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/setup.py +0 -0
  264. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/__init__.py +0 -0
  265. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/__init__.py +0 -0
  266. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/adapters/hybrid.py +0 -0
  267. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cache/__init__.py +0 -0
  268. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cache/memory.py +0 -0
  269. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/__init__.py +0 -0
  270. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/auggie_configure.py +0 -0
  271. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/codex_configure.py +0 -0
  272. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/configure.py +0 -0
  273. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/discover.py +0 -0
  274. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/gemini_configure.py +0 -0
  275. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/mcp_configure.py +0 -0
  276. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/migrate_config.py +0 -0
  277. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/cli/queue_commands.py +0 -0
  278. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/__init__.py +0 -0
  279. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/adapter.py +0 -0
  280. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/http_client.py +0 -0
  281. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/mappers.py +0 -0
  282. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/core/registry.py +0 -0
  283. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/mcp/__init__.py +0 -0
  284. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/py.typed +0 -0
  285. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/__init__.py +0 -0
  286. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer/queue/__main__.py +0 -0
  287. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer.egg-info/dependency_links.txt +0 -0
  288. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer.egg-info/entry_points.txt +0 -0
  289. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer.egg-info/not-zip-safe +0 -0
  290. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer.egg-info/requires.txt +0 -0
  291. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/src/mcp_ticketer.egg-info/top_level.txt +0 -0
  292. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/test-tickets/tickets/task-20250924002724.json +0 -0
  293. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/README.md +0 -0
  294. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/__init__.py +0 -0
  295. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/linear/__init__.py +0 -0
  296. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/adapters/test_aitrackdown.py +0 -0
  297. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/conftest.py +0 -0
  298. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/core/test_env_discovery.py +0 -0
  299. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_base_adapter.py +0 -0
  300. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_models.py +0 -0
  301. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tests/test_queue.py +0 -0
  302. {mcp_ticketer-0.3.0 → mcp_ticketer-0.3.2}/tox.ini +0 -0
@@ -0,0 +1,18 @@
1
+ {
2
+ "bf8c9b0d7fac24c488522bbfa869e66b": {
3
+ "timestamp": 1761354165.189099,
4
+ "results": {
5
+ "agents": {},
6
+ "summary": {
7
+ "total_agents": 36,
8
+ "agents_with_deps": 0,
9
+ "missing_python": [],
10
+ "missing_system": [],
11
+ "satisfied_python": [],
12
+ "satisfied_system": []
13
+ }
14
+ },
15
+ "deployment_hash": "356954435a3667304f39f35a6d31a49c1ff5ecaeff7f58b4fac66b87908c5586",
16
+ "context": {}
17
+ }
18
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
- "deployment_hash": "c460ffb1ea5088ce8ee0e1d6e3e83d434833608e29ac2e64fd4d4d8f16f54c17",
3
- "last_check_time": 1761160971.8831968,
2
+ "deployment_hash": "356954435a3667304f39f35a6d31a49c1ff5ecaeff7f58b4fac66b87908c5586",
3
+ "last_check_time": 1761354165.189831,
4
4
  "last_check_results": {
5
5
  "agents": {},
6
6
  "summary": {
@@ -3,7 +3,7 @@ name: local-ops-agent
3
3
  description: "Use this agent when you need specialized assistance with specialized agent for managing local development deployments with focus on maintaining single stable instances, protecting existing services, and never interfering with other projects or claude code services. This agent provides targeted expertise and follows best practices for local_ops_agent related tasks.\n\n<example>\nContext: When you need specialized assistance from the local_ops_agent agent.\nuser: \"I need help with local_ops_agent tasks\"\nassistant: \"I'll use the local_ops_agent agent to provide specialized assistance.\"\n<commentary>\nThis agent provides targeted expertise for local_ops_agent related tasks and follows established best practices.\n</commentary>\n</example>"
4
4
  model: sonnet
5
5
  category: operations
6
- version: "1.0.2"
6
+ version: "2.0.0"
7
7
  tags: deployment,devops,local,process-management,monitoring
8
8
  ---
9
9
  # Agent Instructions
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-ticketer
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Universal ticket management interface for AI agents with MCP support
5
5
  Author-email: MCP Ticketer Team <support@mcp-ticketer.io>
6
6
  Maintainer-email: MCP Ticketer Team <support@mcp-ticketer.io>
@@ -0,0 +1,201 @@
1
+ # Changelog - MCP Ticketer v0.2.0
2
+
3
+ **Release Date**: 2025-10-24
4
+ **Version**: 0.2.0 (Minor Release)
5
+ **Previous Version**: 0.1.39
6
+
7
+ ## 🎉 **Release Highlights**
8
+
9
+ This minor release represents a **major milestone** in MCP Ticketer's development maturity, featuring comprehensive module refactoring and extensive testing infrastructure. The release significantly improves code organization, maintainability, and reliability.
10
+
11
+ ### **🏗️ Major Features**
12
+
13
+ #### **1. Linear Adapter Module Refactoring**
14
+ - **Monolithic Module Split**: Refactored 2,389-line Linear adapter into 5 focused modules
15
+ - **66% Size Reduction**: Main adapter file reduced from 2,389 → 812 lines
16
+ - **Improved Organization**: Clear separation of concerns across modules:
17
+ - `adapter.py` - Core CRUD operations and business logic
18
+ - `queries.py` - GraphQL queries and fragments
19
+ - `types.py` - Linear-specific types and mappings
20
+ - `client.py` - GraphQL client management with error handling
21
+ - `mappers.py` - Data transformation between Linear and universal models
22
+
23
+ #### **2. Comprehensive Testing Infrastructure**
24
+ - **2,000+ Lines of Unit Tests**: Extensive unit test coverage for all refactored modules
25
+ - **1,200+ Lines of E2E Tests**: Complete workflow testing from creation to closure
26
+ - **90%+ Test Coverage**: Comprehensive coverage across critical functionality
27
+ - **Automated Test Runner**: Comprehensive test execution with detailed reporting
28
+
29
+ #### **3. Enhanced Error Handling System**
30
+ - **Centralized Exception Hierarchy**: Created `core/exceptions.py` with comprehensive error types
31
+ - **Rich Error Context**: Adapter name, original error, and retry information
32
+ - **Type-Specific Errors**: `AuthenticationError`, `RateLimitError`, `ValidationError`
33
+ - **Better Debugging**: Enhanced error messages and context for troubleshooting
34
+
35
+ ### **🔧 Technical Improvements**
36
+
37
+ #### **Code Quality Enhancements**
38
+ - **Separation of Concerns**: Each module has a single, clear responsibility
39
+ - **Loose Coupling**: Modules interact through well-defined interfaces
40
+ - **High Cohesion**: Related functionality grouped together
41
+ - **Extensibility**: Easy to add new features or modify existing ones
42
+
43
+ #### **Developer Experience Improvements**
44
+ - **Easier Navigation**: Find specific functionality quickly in focused files
45
+ - **Better Understanding**: Clear separation makes code easier to comprehend
46
+ - **Faster Development**: Smaller files load and edit faster in IDEs
47
+ - **Reduced Cognitive Load**: Work on one concern at a time
48
+
49
+ #### **Maintainability Enhancements**
50
+ - **Isolated Changes**: Modify queries without touching business logic
51
+ - **Better Testing**: Test individual components in isolation
52
+ - **Easier Debugging**: Smaller scope for troubleshooting issues
53
+ - **Clear Responsibilities**: Each module has well-defined purpose
54
+
55
+ ### **🧪 Testing Infrastructure**
56
+
57
+ #### **Unit Test Coverage**
58
+ - **Linear Adapter Types**: 95%+ coverage (mappings, filters, metadata)
59
+ - **Linear GraphQL Client**: 90%+ coverage (queries, errors, retries)
60
+ - **Linear Data Mappers**: 95%+ coverage (transformations, builders)
61
+ - **Linear Adapter Main**: 85%+ coverage (initialization, validation)
62
+ - **Linear GraphQL Queries**: 100% coverage (syntax, structure)
63
+
64
+ #### **End-to-End Test Coverage**
65
+ - **Complete Workflows**: Epic → Issue → Task with full lifecycle
66
+ - **State Transitions**: All 8 states with proper validation
67
+ - **Comment Threading**: Multi-participant conversations
68
+ - **Metadata Management**: Rich metadata handling and updates
69
+ - **Hierarchy Validation**: Parent-child relationships
70
+ - **Search and Filtering**: Cross-hierarchy search capabilities
71
+
72
+ #### **Test Infrastructure Features**
73
+ - **Comprehensive Test Runner**: Automated execution with detailed reporting
74
+ - **Test Organization**: Proper markers and categories (unit, e2e, integration)
75
+ - **Performance Insights**: Test timing and optimization recommendations
76
+ - **CI/CD Ready**: Proper exit codes for continuous integration
77
+
78
+ ## 📋 **Detailed Changes**
79
+
80
+ ### **Added**
81
+ - ✅ **Linear Adapter Module Structure**: Split monolithic adapter into focused modules
82
+ - ✅ **Comprehensive Exception System**: `core/exceptions.py` with rich error hierarchy
83
+ - ✅ **Unit Test Suite**: 2,000+ lines covering all refactored modules
84
+ - ✅ **E2E Test Suite**: 1,200+ lines covering complete workflows
85
+ - ✅ **Test Infrastructure**: Automated test runner with comprehensive reporting
86
+ - ✅ **Module Documentation**: Enhanced docstrings and code documentation
87
+
88
+ ### **Improved**
89
+ - ✅ **Code Organization**: Better separation of concerns and module boundaries
90
+ - ✅ **Error Handling**: Centralized exceptions with rich context
91
+ - ✅ **Import Structure**: Relative imports for better module organization
92
+ - ✅ **Type Annotations**: Comprehensive type hints throughout refactored code
93
+ - ✅ **Documentation**: Google-style docstrings for all public methods
94
+ - ✅ **Test Coverage**: Significantly improved test coverage across all modules
95
+
96
+ ### **Fixed**
97
+ - ✅ **Import Dependencies**: Proper handling of optional dependencies (gql library)
98
+ - ✅ **State Initialization**: Fixed initialization order in Linear adapter
99
+ - ✅ **Error Propagation**: Better error handling and context preservation
100
+ - ✅ **Module Boundaries**: Clear interfaces between modules
101
+
102
+ ### **Technical Debt Reduction**
103
+ - ✅ **Monolithic Files**: Split large files into manageable modules
104
+ - ✅ **Code Duplication**: Reduced duplication through better organization
105
+ - ✅ **Test Coverage Gaps**: Comprehensive test coverage for all functionality
106
+ - ✅ **Documentation Gaps**: Enhanced documentation throughout codebase
107
+
108
+ ## 🚀 **Performance & Reliability**
109
+
110
+ ### **Performance Improvements**
111
+ - **Faster Development**: Smaller files load and edit faster
112
+ - **Better IDE Performance**: Improved code navigation and intellisense
113
+ - **Reduced Memory Usage**: More efficient module loading
114
+ - **Faster Test Execution**: Well-organized test suite with proper isolation
115
+
116
+ ### **Reliability Enhancements**
117
+ - **Comprehensive Testing**: 90%+ test coverage ensures reliability
118
+ - **Better Error Handling**: Rich error context for debugging
119
+ - **Regression Prevention**: Extensive test suite prevents breaking changes
120
+ - **Production Readiness**: Enterprise-grade testing and error handling
121
+
122
+ ## 🔄 **Migration Guide**
123
+
124
+ ### **For Developers**
125
+ The refactoring maintains **100% backward compatibility**. Existing imports continue to work:
126
+
127
+ ```python
128
+ # This continues to work exactly as before
129
+ from mcp_ticketer.adapters.linear import LinearAdapter
130
+
131
+ # All existing functionality preserved
132
+ adapter = LinearAdapter(config)
133
+ task = await adapter.create(task_data)
134
+ ```
135
+
136
+ ### **For Contributors**
137
+ - **New Module Structure**: Familiarize yourself with the new Linear adapter organization
138
+ - **Test Requirements**: All new code must include comprehensive tests
139
+ - **Error Handling**: Use the new centralized exception system
140
+ - **Documentation**: Follow Google-style docstring conventions
141
+
142
+ ### **For CI/CD**
143
+ - **Test Execution**: Use the new comprehensive test runner
144
+ - **Coverage Requirements**: Maintain 90%+ test coverage
145
+ - **Quality Gates**: All tests must pass before deployment
146
+
147
+ ## 📊 **Metrics & Statistics**
148
+
149
+ ### **Code Organization Metrics**
150
+ - **File Count**: 1 monolithic → 5 focused modules
151
+ - **Main File Size**: 2,389 → 812 lines (66% reduction)
152
+ - **Module Cohesion**: Significantly improved
153
+ - **Coupling**: Reduced through clear interfaces
154
+
155
+ ### **Test Coverage Metrics**
156
+ - **Unit Tests**: 2,000+ lines across 5 test modules
157
+ - **E2E Tests**: 1,200+ lines covering complete workflows
158
+ - **Coverage**: 90%+ across critical functionality
159
+ - **Test Categories**: Unit, integration, E2E, and adapter-specific
160
+
161
+ ### **Quality Metrics**
162
+ - **Type Coverage**: 100% type hints in refactored modules
163
+ - **Documentation**: 100% docstring coverage for public methods
164
+ - **Error Handling**: Comprehensive exception coverage
165
+ - **Code Style**: Consistent formatting and organization
166
+
167
+ ## 🎯 **Future Roadmap**
168
+
169
+ ### **Next Phase (v0.3.0)**
170
+ - **CLI Module Refactoring**: Apply same patterns to CLI module (1,785 lines)
171
+ - **MCP Server Refactoring**: Modularize MCP server (1,895 lines)
172
+ - **Other Adapter Refactoring**: GitHub (1,354 lines) and JIRA (1,011 lines)
173
+
174
+ ### **Continuous Improvements**
175
+ - **Performance Optimization**: Further performance enhancements
176
+ - **Additional Test Coverage**: Expand test scenarios
177
+ - **Documentation Enhancement**: Comprehensive developer guides
178
+ - **CI/CD Integration**: Enhanced continuous integration
179
+
180
+ ## 🙏 **Acknowledgments**
181
+
182
+ This release represents significant effort in improving code quality and maintainability. The comprehensive refactoring and testing work establishes a solid foundation for future development and ensures MCP Ticketer can scale confidently.
183
+
184
+ ### **Key Achievements**
185
+ - ✅ **66% reduction** in main adapter file size
186
+ - ✅ **5 focused modules** with clear responsibilities
187
+ - ✅ **2,000+ lines of tests** ensuring reliability
188
+ - ✅ **90%+ test coverage** across critical functionality
189
+ - ✅ **100% backward compatibility** maintained
190
+ - ✅ **Enterprise-grade error handling** implemented
191
+
192
+ ## 📞 **Support & Resources**
193
+
194
+ - **Documentation**: See updated module documentation
195
+ - **Testing**: Use `python3 tests/run_comprehensive_tests.py`
196
+ - **Issues**: Report issues with detailed context
197
+ - **Contributing**: Follow new testing and documentation standards
198
+
199
+ ---
200
+
201
+ **MCP Ticketer v0.2.0 - Production-Ready with Enterprise-Grade Quality** 🚀
@@ -0,0 +1,278 @@
1
+ # MCP Ticketer v0.3.0 - Bulletproof Configuration & Interactive Setup
2
+
3
+ **Release Date**: 2025-10-24
4
+ **Version**: 0.3.0
5
+ **Type**: Minor Release
6
+ **Status**: ✅ **READY FOR PUBLICATION**
7
+
8
+ ## 🎯 **Release Overview**
9
+
10
+ MCP Ticketer v0.3.0 introduces **bulletproof ticket creation** and **interactive setup** that makes configuration reliable and user-friendly. This release solves the critical issue where tickets were being created in the wrong system and provides multiple intuitive ways to configure MCP Ticketer.
11
+
12
+ ## 🚀 **Major Features**
13
+
14
+ ### **1. Bulletproof Adapter Selection**
15
+ - **Priority-based configuration**: Clear precedence rules prevent configuration conflicts
16
+ - **.env file support**: Robust parsing of `.env.local` and `.env` files
17
+ - **Auto-discovery**: Automatic detection of adapter configuration from existing files
18
+ - **Environment isolation**: Project-specific configuration without global environment pollution
19
+
20
+ ### **2. Interactive CLI Setup**
21
+ - **Visual adapter menu**: Clear numbered options with descriptions and requirements
22
+ - **Interactive credential collection**: Secure prompts for API keys and configuration
23
+ - **Smart auto-detection**: Confirms auto-detected adapters with user approval
24
+ - **Comprehensive guidance**: Next steps and verification instructions
25
+
26
+ ### **3. Command Synonyms**
27
+ - **Multiple entry points**: `init`, `setup`, and `install` all provide identical functionality
28
+ - **User-friendly naming**: Intuitive command names for different user types
29
+ - **Consistent experience**: Same interactive prompts regardless of command choice
30
+
31
+ ### **4. Enhanced Diagnostics**
32
+ - **Configuration validation**: Comprehensive checking of .env files and adapter settings
33
+ - **Troubleshooting guidance**: Specific recommendations for common configuration issues
34
+ - **Adapter testing**: Validation of adapter instantiation and credential verification
35
+
36
+ ## 📋 **Detailed Changes**
37
+
38
+ ### **🔧 Configuration System**
39
+
40
+ #### **New .env File Support**
41
+ - **Manual parsing**: No external dependencies, robust error handling
42
+ - **Priority handling**: `.env.local` > `.env` with clear precedence
43
+ - **Auto-detection**: Adapter type detection from available configuration keys
44
+ - **Validation**: Comprehensive checking of required fields
45
+
46
+ #### **Enhanced MCP Server**
47
+ - **Improved adapter selection**: Priority-based configuration loading
48
+ - **Better error handling**: Graceful fallbacks when configuration is missing
49
+ - **Clear logging**: Configuration source tracking for debugging
50
+ - **Robust startup**: Handles missing or invalid configuration gracefully
51
+
52
+ ### **🎨 User Experience**
53
+
54
+ #### **Interactive Setup Wizard**
55
+ ```bash
56
+ 🚀 MCP Ticketer Setup
57
+ Choose which ticket system you want to connect to:
58
+
59
+ 1. Linear
60
+ Modern project management (linear.app)
61
+ Requirements: API key and team ID
62
+
63
+ 2. GitHub Issues
64
+ GitHub repository issues
65
+ Requirements: Personal access token, owner, and repo
66
+
67
+ 3. JIRA
68
+ Atlassian JIRA project management
69
+ Requirements: Server URL, email, and API token
70
+
71
+ 4. Local Files (AITrackdown)
72
+ Store tickets in local files (no external service)
73
+ Requirements: None - works offline
74
+ ```
75
+
76
+ #### **Smart Credential Collection**
77
+ - **Secure input**: API keys and tokens hidden during input
78
+ - **Helpful guidance**: Links to credential generation pages
79
+ - **Field validation**: Ensures required fields are provided
80
+ - **Clear descriptions**: Explains what each field is for
81
+
82
+ #### **Next Steps Guidance**
83
+ - **Configuration testing**: Shows how to run diagnostics
84
+ - **Test ticket creation**: Provides sample commands
85
+ - **Verification instructions**: Explains where to check for created tickets
86
+ - **MCP client setup**: Commands for Claude, Auggie, Gemini integration
87
+
88
+ ### **🛠️ Technical Improvements**
89
+
90
+ #### **Enhanced CLI Commands**
91
+ - **Command synonyms**: `init`, `setup`, `install` all work identically
92
+ - **Consistent signatures**: All commands accept the same parameters
93
+ - **True aliases**: `setup` and `install` are pure wrappers around `init`
94
+ - **Clear documentation**: Explicit indication of synonym relationships
95
+
96
+ #### **Improved Diagnostics**
97
+ - **Comprehensive validation**: Checks .env files, configuration files, and adapter status
98
+ - **Specific recommendations**: Targeted guidance for common configuration issues
99
+ - **Adapter testing**: Validates adapter instantiation and credential verification
100
+ - **Clear reporting**: Visual tables and status indicators
101
+
102
+ #### **Better Error Handling**
103
+ - **Graceful fallbacks**: Sensible defaults when configuration is missing
104
+ - **Specific error messages**: Clear guidance for different types of failures
105
+ - **Recovery suggestions**: Actionable steps to resolve configuration issues
106
+ - **Debug information**: Detailed logging for troubleshooting
107
+
108
+ ## 🎯 **Problem Solved: Tickets in Wrong System**
109
+
110
+ ### **Root Cause**
111
+ Users like Auggie were experiencing tickets being created in MCP Ticketer's internal system (AITrackdown) instead of their intended external system (Linear, GitHub, JIRA) due to improper adapter selection.
112
+
113
+ ### **Solution**
114
+ - **Priority-based configuration**: Clear rules for adapter selection
115
+ - **.env file support**: Project-specific configuration without environment variables
116
+ - **Interactive setup**: Guides users through proper configuration
117
+ - **Comprehensive diagnostics**: Helps troubleshoot configuration issues
118
+
119
+ ### **For Auggie Users**
120
+ ```bash
121
+ # Simple setup process
122
+ mcp-ticketer setup
123
+
124
+ # Creates .env.local with proper configuration
125
+ # MCP_TICKETER_ADAPTER=linear
126
+ # LINEAR_API_KEY=your_key
127
+ # LINEAR_TEAM_ID=your_team_id
128
+
129
+ # Tickets now go to Linear, not internal storage
130
+ ```
131
+
132
+ ## 📊 **Configuration Priority**
133
+
134
+ The new configuration system follows clear priority rules:
135
+
136
+ 1. **Command Line Arguments** (Highest Priority)
137
+ 2. **.env/.env.local Files** (Recommended for MCP)
138
+ 3. **Project Configuration Files**
139
+ 4. **Global Configuration Files**
140
+ 5. **Auto-Discovery from existing files**
141
+ 6. **Default (aitrackdown)** (Lowest Priority)
142
+
143
+ ## 🧪 **Quality Assurance**
144
+
145
+ ### **Testing Coverage**
146
+ - ✅ **Interactive setup flows**: All adapter types tested
147
+ - ✅ **Configuration priority**: Verified precedence rules
148
+ - ✅ **Command synonyms**: All three commands tested
149
+ - ✅ **Error handling**: Graceful failure scenarios
150
+ - ✅ **Diagnostics**: Comprehensive validation testing
151
+
152
+ ### **Backward Compatibility**
153
+ - ✅ **100% compatible**: All existing configurations continue to work
154
+ - ✅ **No breaking changes**: Existing CLI arguments and config files supported
155
+ - ✅ **Graceful migration**: Auto-detection of existing setups
156
+ - ✅ **Clear upgrade path**: Smooth transition to new configuration methods
157
+
158
+ ## 🚀 **Usage Examples**
159
+
160
+ ### **Quick Setup (New Users)**
161
+ ```bash
162
+ # Interactive setup with any command
163
+ mcp-ticketer setup
164
+ mcp-ticketer init
165
+ mcp-ticketer install
166
+
167
+ # All provide the same guided experience
168
+ ```
169
+
170
+ ### **Linear Configuration**
171
+ ```bash
172
+ # Create .env.local file
173
+ cat > .env.local << EOF
174
+ MCP_TICKETER_ADAPTER=linear
175
+ LINEAR_API_KEY=lin_api_YOUR_LINEAR_API_KEY_HERE
176
+ LINEAR_TEAM_ID=02d15669-7351-4451-9719-807576c16049
177
+ EOF
178
+
179
+ # Test configuration
180
+ mcp-ticketer diagnose
181
+
182
+ # Create test ticket
183
+ mcp-ticketer create "Test ticket from v0.3.0"
184
+ ```
185
+
186
+ ### **GitHub Configuration**
187
+ ```bash
188
+ # Interactive setup
189
+ mcp-ticketer setup --adapter github
190
+
191
+ # Or create .env.local manually
192
+ echo "MCP_TICKETER_ADAPTER=github" > .env.local
193
+ echo "GITHUB_TOKEN=your_token" >> .env.local
194
+ echo "GITHUB_OWNER=your_username" >> .env.local
195
+ echo "GITHUB_REPO=your_repository" >> .env.local
196
+ ```
197
+
198
+ ## 🔍 **Troubleshooting**
199
+
200
+ ### **Enhanced Diagnostics**
201
+ ```bash
202
+ # Comprehensive configuration check
203
+ mcp-ticketer diagnose
204
+
205
+ # Shows:
206
+ # - .env file status
207
+ # - Configuration source
208
+ # - Adapter validation
209
+ # - Credential verification
210
+ # - Specific recommendations
211
+ ```
212
+
213
+ ### **Common Issues Resolved**
214
+ - ✅ **Tickets in wrong system**: Clear adapter selection
215
+ - ✅ **Missing credentials**: Interactive credential collection
216
+ - ✅ **Configuration conflicts**: Priority-based resolution
217
+ - ✅ **Setup confusion**: Multiple intuitive command names
218
+
219
+ ## 📈 **Impact**
220
+
221
+ ### **For Users**
222
+ - ✅ **Reliable ticket creation**: Tickets go to the intended system
223
+ - ✅ **Easy setup**: Interactive prompts guide through configuration
224
+ - ✅ **Multiple entry points**: Use `init`, `setup`, or `install`
225
+ - ✅ **Clear troubleshooting**: Comprehensive diagnostics and guidance
226
+
227
+ ### **For AI Clients (Auggie, Claude, etc.)**
228
+ - ✅ **Bulletproof integration**: Reliable adapter selection
229
+ - ✅ **Project-specific config**: .env.local files for each project
230
+ - ✅ **Easy MCP setup**: Clear configuration for MCP servers
231
+ - ✅ **Consistent behavior**: Predictable ticket creation
232
+
233
+ ### **For Developers**
234
+ - ✅ **Better architecture**: Clean separation of configuration concerns
235
+ - ✅ **Maintainable code**: Single implementation with command aliases
236
+ - ✅ **Comprehensive testing**: Extensive validation of configuration flows
237
+ - ✅ **Clear documentation**: Well-documented configuration system
238
+
239
+ ## 🏆 **Migration Guide**
240
+
241
+ ### **From v0.2.x**
242
+ No migration required! v0.3.0 is 100% backward compatible.
243
+
244
+ **Optional improvements:**
245
+ 1. **Use .env.local files** instead of environment variables
246
+ 2. **Try interactive setup** with `mcp-ticketer setup`
247
+ 3. **Run diagnostics** to verify configuration: `mcp-ticketer diagnose`
248
+
249
+ ### **For New Installations**
250
+ ```bash
251
+ # Install latest version
252
+ pip install mcp-ticketer==0.3.0
253
+
254
+ # Interactive setup
255
+ mcp-ticketer setup
256
+
257
+ # Test configuration
258
+ mcp-ticketer diagnose
259
+ mcp-ticketer create "Test ticket"
260
+ ```
261
+
262
+ ## 🎉 **Conclusion**
263
+
264
+ MCP Ticketer v0.3.0 represents a **major improvement in reliability and user experience**:
265
+
266
+ - ✅ **Bulletproof ticket creation** ensures tickets go to the right system
267
+ - ✅ **Interactive setup** makes configuration accessible to all users
268
+ - ✅ **Multiple command names** provide intuitive entry points
269
+ - ✅ **Comprehensive diagnostics** enable easy troubleshooting
270
+ - ✅ **100% backward compatibility** ensures smooth upgrades
271
+
272
+ **This release solves the critical adapter selection issues while maintaining the power and flexibility that makes MCP Ticketer the universal ticket management interface for AI agents.**
273
+
274
+ ---
275
+
276
+ **Upgrade Command**: `pip install --upgrade mcp-ticketer==0.3.0`
277
+ **Documentation**: Updated guides and examples available
278
+ **Support**: Enhanced diagnostics and troubleshooting tools included