deviatdd 2.5.2__tar.gz → 2.5.3__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 (345) hide show
  1. {deviatdd-2.5.2 → deviatdd-2.5.3}/CHANGELOG.md +28 -0
  2. {deviatdd-2.5.2 → deviatdd-2.5.3}/PKG-INFO +38 -3
  3. {deviatdd-2.5.2 → deviatdd-2.5.3}/README.md +37 -2
  4. {deviatdd-2.5.2 → deviatdd-2.5.3}/pyproject.toml +1 -1
  5. deviatdd-2.5.3/src/deviate/__init__.py +10 -0
  6. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/__init__.py +6 -2
  7. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_init.py +29 -2
  8. {deviatdd-2.5.2 → deviatdd-2.5.3}/uv.lock +1 -1
  9. deviatdd-2.5.2/src/deviate/__init__.py +0 -3
  10. {deviatdd-2.5.2 → deviatdd-2.5.3}/.deviate/.gitignore +0 -0
  11. {deviatdd-2.5.2 → deviatdd-2.5.3}/.deviate/config.toml +0 -0
  12. {deviatdd-2.5.2 → deviatdd-2.5.3}/.deviate/evaluations/deviate-flows-skill-2026-06-26.json +0 -0
  13. {deviatdd-2.5.2 → deviatdd-2.5.3}/.env.example +0 -0
  14. {deviatdd-2.5.2 → deviatdd-2.5.3}/.gitattributes +0 -0
  15. {deviatdd-2.5.2 → deviatdd-2.5.3}/.githooks/pre-commit +0 -0
  16. {deviatdd-2.5.2 → deviatdd-2.5.3}/.githooks/pre-push +0 -0
  17. {deviatdd-2.5.2 → deviatdd-2.5.3}/.github/ISSUE_TEMPLATE/bug.md +0 -0
  18. {deviatdd-2.5.2 → deviatdd-2.5.3}/.github/ISSUE_TEMPLATE/feature.md +0 -0
  19. {deviatdd-2.5.2 → deviatdd-2.5.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  20. {deviatdd-2.5.2 → deviatdd-2.5.3}/.github/workflows/ci.yml +0 -0
  21. {deviatdd-2.5.2 → deviatdd-2.5.3}/.gitignore +0 -0
  22. {deviatdd-2.5.2 → deviatdd-2.5.3}/.opencode/.gitignore +0 -0
  23. {deviatdd-2.5.2 → deviatdd-2.5.3}/.opencode/opencode.json +0 -0
  24. {deviatdd-2.5.2 → deviatdd-2.5.3}/AGENTS.md +0 -0
  25. {deviatdd-2.5.2 → deviatdd-2.5.3}/CLAUDE.md +0 -0
  26. {deviatdd-2.5.2 → deviatdd-2.5.3}/CODE_OF_CONDUCT.md +0 -0
  27. {deviatdd-2.5.2 → deviatdd-2.5.3}/CONTRIBUTING.md +0 -0
  28. {deviatdd-2.5.2 → deviatdd-2.5.3}/LICENSE +0 -0
  29. {deviatdd-2.5.2 → deviatdd-2.5.3}/SECURITY.md +0 -0
  30. {deviatdd-2.5.2 → deviatdd-2.5.3}/deviatdd.png +0 -0
  31. {deviatdd-2.5.2 → deviatdd-2.5.3}/mise.toml +0 -0
  32. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat/001-deviate-cli-python/008-meso-macro-automated-orchestration.md +0 -0
  33. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat/adhoc/006-context-cli-integration.md +0 -0
  34. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-001-deviate-cli-python-001-cli-initialization-governance-provisioning-pr-11.md +0 -0
  35. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-001-deviate-cli-python-003-meso-layer-specification-task-decomposition.md +0 -0
  36. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-001-deviate-cli-python-004-micro-layer-tdd-sandbox-execution.md +0 -0
  37. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-001-deviate-cli-python-005-cli-architecture-realignment-skill-integration.md +0 -0
  38. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-001-deviate-cli-python-007-macro-meso-parity-backward-compatibility.md +0 -0
  39. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-002-deviatdd-gap-analysis-001-foundation-cli-infrastructure.md +0 -0
  40. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-002-deviatdd-gap-analysis-003-fast-path-commands.md +0 -0
  41. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-002-deviatdd-gap-analysis-004-governance-inspection.md +0 -0
  42. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-adhoc-001-streaming-pipeline-monitor.md +0 -0
  43. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat-adhoc-008-ast-phase-prioritization.md +0 -0
  44. {deviatdd-2.5.2 → deviatdd-2.5.3}/pr_descriptions/feat_002-deviatdd-gap-analysis_001-foundation-cli-infrastructure.md +0 -0
  45. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/manifest-t001.json +0 -0
  46. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/manifest-t002.json +0 -0
  47. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/manifest-t004.json +0 -0
  48. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/spec.md +0 -0
  49. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/tasks.md +0 -0
  50. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/002-macro-layer-state-ledger-management/spec.md +0 -0
  51. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/002-macro-layer-state-ledger-management/tasks.md +0 -0
  52. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/003-meso-layer-specification-task-decomposition/spec.md +0 -0
  53. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/003-meso-layer-specification-task-decomposition/tasks.md +0 -0
  54. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/004-micro-layer-tdd-sandbox-execution/spec.md +0 -0
  55. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/004-micro-layer-tdd-sandbox-execution/tasks.jsonl +0 -0
  56. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/004-micro-layer-tdd-sandbox-execution/tasks.md +0 -0
  57. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/005-cli-architecture-realignment-skill-integration/spec.md +0 -0
  58. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/005-cli-architecture-realignment-skill-integration/tasks.md +0 -0
  59. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/007-macro-meso-parity-backward-compatibility/spec.md +0 -0
  60. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/007-macro-meso-parity-backward-compatibility/tasks.md +0 -0
  61. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/008-meso-macro-automated-orchestration/spec.md +0 -0
  62. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/008-meso-macro-automated-orchestration/tasks.jsonl +0 -0
  63. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/008-meso-macro-automated-orchestration/tasks.md +0 -0
  64. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/data-model.md +0 -0
  65. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/design.md +0 -0
  66. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/explore.md +0 -0
  67. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/001-cli-initialization-governance-provisioning.md +0 -0
  68. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/002-macro-layer-state-ledger-management.md +0 -0
  69. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/003-meso-layer-specification-task-decomposition.md +0 -0
  70. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/004-micro-layer-tdd-sandbox-execution.md +0 -0
  71. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/005-cli-architecture-realignment-skill-integration.md +0 -0
  72. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/006-state-persistence-concurrency-safety.md +0 -0
  73. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/007-macro-meso-parity-backward-compatibility.md +0 -0
  74. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/issues/008-meso-macro-automated-orchestration.md +0 -0
  75. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/001-deviate-cli-python/prd.md +0 -0
  76. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/001-foundation-cli-infrastructure/spec.md +0 -0
  77. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/001-foundation-cli-infrastructure/tasks.jsonl +0 -0
  78. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/001-foundation-cli-infrastructure/tasks.md +0 -0
  79. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/spec.md +0 -0
  80. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/tasks.jsonl +0 -0
  81. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/tasks.md +0 -0
  82. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/004-governance-inspection/spec.md +0 -0
  83. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/004-governance-inspection/tasks.jsonl +0 -0
  84. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/004-governance-inspection/tasks.md +0 -0
  85. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/spec.md +0 -0
  86. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/tasks.jsonl +0 -0
  87. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/tasks.md +0 -0
  88. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/data-model.md +0 -0
  89. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/design.md +0 -0
  90. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/explore.md +0 -0
  91. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/issues/001-foundation-cli-infrastructure.md +0 -0
  92. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/issues/002-context-pipeline.md +0 -0
  93. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/issues/003-fast-path-commands.md +0 -0
  94. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/issues/004-governance-inspection.md +0 -0
  95. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/issues/005-micro-layer-integrity.md +0 -0
  96. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/plan-tdd-integration-gap.md +0 -0
  97. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/002-deviatdd-gap-analysis/prd.md +0 -0
  98. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/003-graphite-cli-integration/explore.md +0 -0
  99. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/DeviaTDD-api.md +0 -0
  100. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/DeviaTDD-architecture.md +0 -0
  101. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/_product/flows/flows-product.md +0 -0
  102. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/_product/flows/index.md +0 -0
  103. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/001-streaming-pipeline-monitor/spec.md +0 -0
  104. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/001-streaming-pipeline-monitor/tasks.jsonl +0 -0
  105. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/001-streaming-pipeline-monitor/tasks.md +0 -0
  106. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/003-meso-layer-restructuring/spec.md +0 -0
  107. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/003-meso-layer-restructuring/tasks.jsonl +0 -0
  108. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/003-meso-layer-restructuring/tasks.md +0 -0
  109. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/004-deviate-review-skill/spec.md +0 -0
  110. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/004-deviate-review-skill/tasks.jsonl +0 -0
  111. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/004-deviate-review-skill/tasks.md +0 -0
  112. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/005-per-phase-model-configuration/plan.md +0 -0
  113. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/005-per-phase-model-configuration/tasks.jsonl +0 -0
  114. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/005-per-phase-model-configuration/tasks.md +0 -0
  115. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/006-context-cli-integration/plan.md +0 -0
  116. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/006-context-cli-integration/tasks.jsonl +0 -0
  117. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/006-context-cli-integration/tasks.md +0 -0
  118. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/007-graphite-cli/plan.md +0 -0
  119. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/007-graphite-cli/tasks.jsonl +0 -0
  120. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/007-graphite-cli/tasks.md +0 -0
  121. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/008-ast-phase-prioritization/plan.md +0 -0
  122. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/008-ast-phase-prioritization/tasks.jsonl +0 -0
  123. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/008-ast-phase-prioritization/tasks.md +0 -0
  124. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/009-pi-agent-backend-integration/plan.md +0 -0
  125. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/009-pi-agent-backend-integration/tasks.jsonl +0 -0
  126. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/009-pi-agent-backend-integration/tasks.md +0 -0
  127. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/010-deviate-setup-product-layer/plan.md +0 -0
  128. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/010-deviate-setup-product-layer/tasks.jsonl +0 -0
  129. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/010-deviate-setup-product-layer/tasks.md +0 -0
  130. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/001-streaming-pipeline-monitor.md +0 -0
  131. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/002-aider-agent-backend-integration.md +0 -0
  132. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/003-meso-layer-restructuring.md +0 -0
  133. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/004-deviate-review-skill.md +0 -0
  134. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/005-per-phase-model-configuration.md +0 -0
  135. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/006-context-cli-integration.md +0 -0
  136. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/007-graphite-cli.md +0 -0
  137. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/008-ast-phase-prioritization.md +0 -0
  138. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/009-pi-agent-backend-integration.md +0 -0
  139. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/issues/010-deviate-setup-product-layer.md +0 -0
  140. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/adhoc/prd.md +0 -0
  141. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/constitution.md +0 -0
  142. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/explore/ast-tree-sitter.md +0 -0
  143. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/explore/graphite-cli.md +0 -0
  144. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/explore/pi-agent-backend.md +0 -0
  145. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/explore/product-layer.md +0 -0
  146. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/implementation-gap.md +0 -0
  147. {deviatdd-2.5.2 → deviatdd-2.5.3}/specs/issues.jsonl +0 -0
  148. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/_common.py +0 -0
  149. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/adhoc.py +0 -0
  150. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/constitution.py +0 -0
  151. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/feature.py +0 -0
  152. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/init.py +0 -0
  153. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/inspect.py +0 -0
  154. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/macro.py +0 -0
  155. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/meso.py +0 -0
  156. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/micro.py +0 -0
  157. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/cli/review.py +0 -0
  158. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/__init__.py +0 -0
  159. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/_shared.py +0 -0
  160. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/agent.py +0 -0
  161. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/cache_discipline.py +0 -0
  162. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/commands.py +0 -0
  163. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/commit.py +0 -0
  164. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/complexity.py +0 -0
  165. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/constitution.py +0 -0
  166. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/contract.py +0 -0
  167. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/convention.py +0 -0
  168. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/epic.py +0 -0
  169. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/issues.py +0 -0
  170. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/prd.py +0 -0
  171. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/profile.py +0 -0
  172. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/repo.py +0 -0
  173. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/run_logger.py +0 -0
  174. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/tasks_ledger.py +0 -0
  175. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/__init__.py +0 -0
  176. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/analysis.py +0 -0
  177. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/models.py +0 -0
  178. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/parser.py +0 -0
  179. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/bash.scm +0 -0
  180. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/c_sharp.scm +0 -0
  181. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/cpp.scm +0 -0
  182. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/css.scm +0 -0
  183. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/dockerfile.scm +0 -0
  184. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/elixir.scm +0 -0
  185. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/go.scm +0 -0
  186. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/hcl.scm +0 -0
  187. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/html.scm +0 -0
  188. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/javascript.scm +0 -0
  189. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/json.scm +0 -0
  190. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/kotlin.scm +0 -0
  191. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/markdown.scm +0 -0
  192. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/python.scm +0 -0
  193. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/rust.scm +0 -0
  194. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/sql.scm +0 -0
  195. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/swift.scm +0 -0
  196. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/toml.scm +0 -0
  197. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/tsx.scm +0 -0
  198. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/typescript.scm +0 -0
  199. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/treesitter/queries/yaml.scm +0 -0
  200. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/validation.py +0 -0
  201. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/core/worktree.py +0 -0
  202. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/main.py +0 -0
  203. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/__init__.py +0 -0
  204. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/assembly.py +0 -0
  205. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/__init__.py +0 -0
  206. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/execute.md +0 -0
  207. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/explore.md +0 -0
  208. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/green.md +0 -0
  209. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/judge.md +0 -0
  210. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/plan.md +0 -0
  211. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/prd.md +0 -0
  212. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/red.md +0 -0
  213. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/refactor.md +0 -0
  214. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/research.md +0 -0
  215. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/shard.md +0 -0
  216. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/specify.md +0 -0
  217. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/auto/tasks.md +0 -0
  218. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-adhoc.md +0 -0
  219. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-architecture.md +0 -0
  220. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-constitution.md +0 -0
  221. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-e2e.md +0 -0
  222. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-execute.md +0 -0
  223. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-explore.md +0 -0
  224. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-flows.md +0 -0
  225. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-green.md +0 -0
  226. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-hotfix.md +0 -0
  227. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-init.md +0 -0
  228. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-judge.md +0 -0
  229. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-merge.md +0 -0
  230. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-plan.md +0 -0
  231. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-pr.md +0 -0
  232. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-prd.md +0 -0
  233. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-prune.md +0 -0
  234. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-red.md +0 -0
  235. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-refactor.md +0 -0
  236. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-release.md +0 -0
  237. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-research.md +0 -0
  238. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-review.md +0 -0
  239. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-shard.md +0 -0
  240. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-tasks.md +0 -0
  241. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/commands/deviate-triage.md +0 -0
  242. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/constitution_seed.md +0 -0
  243. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/core.md +0 -0
  244. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/macro-auto.md +0 -0
  245. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/macro-command.md +0 -0
  246. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/macro-skill.md +0 -0
  247. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/meso-auto.md +0 -0
  248. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/meso-command.md +0 -0
  249. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/meso-skill.md +0 -0
  250. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/micro-auto.md +0 -0
  251. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/micro-command.md +0 -0
  252. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/core/micro-skill.md +0 -0
  253. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/extras/deviate-pr-graphite-routing.md +0 -0
  254. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/governance/__init__.py +0 -0
  255. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/governance/agents_seed.md +0 -0
  256. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/governance/claudemd_seed.md +0 -0
  257. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/governance/graphite_seed.md +0 -0
  258. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/prompts/governance/libref_seed.md +0 -0
  259. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/state/__init__.py +0 -0
  260. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/state/config.py +0 -0
  261. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/state/ledger.py +0 -0
  262. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/ui/__init__.py +0 -0
  263. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/ui/monitor.py +0 -0
  264. {deviatdd-2.5.2 → deviatdd-2.5.3}/src/deviate/ui/render.py +0 -0
  265. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/__init__.py +0 -0
  266. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/conftest.py +0 -0
  267. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/core/__init__.py +0 -0
  268. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/core/test_agent.py +0 -0
  269. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/core/test_treesitter.py +0 -0
  270. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/e2e/test_macro_workflow.bats +0 -0
  271. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/__init__.py +0 -0
  272. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_adhoc.py +0 -0
  273. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_common.py +0 -0
  274. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_constitution.py +0 -0
  275. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_feature.py +0 -0
  276. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_inspect.py +0 -0
  277. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_macro_contracts.py +0 -0
  278. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_meso.py +0 -0
  279. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_meso_contracts.py +0 -0
  280. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_micro.py +0 -0
  281. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_cli/test_review.py +0 -0
  282. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_agent.py +0 -0
  283. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_cache_discipline.py +0 -0
  284. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_commands.py +0 -0
  285. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_commit.py +0 -0
  286. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_complexity.py +0 -0
  287. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_constitution.py +0 -0
  288. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_contract.py +0 -0
  289. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_convention.py +0 -0
  290. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_epic.py +0 -0
  291. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_issues.py +0 -0
  292. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_ledger.py +0 -0
  293. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_prd.py +0 -0
  294. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_profile.py +0 -0
  295. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_repo.py +0 -0
  296. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_tasks_ledger.py +0 -0
  297. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_validation.py +0 -0
  298. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_core/test_worktree.py +0 -0
  299. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/__init__.py +0 -0
  300. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/conftest.py +0 -0
  301. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_command_installation.py +0 -0
  302. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_init_export_cycle.py +0 -0
  303. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_macro_full_cycle.py +0 -0
  304. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_macro_layer.py +0 -0
  305. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_macro_orchestration.py +0 -0
  306. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_meso_layer.py +0 -0
  307. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_meso_orchestration.py +0 -0
  308. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_meso_task_ledger.py +0 -0
  309. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_parity.py +0 -0
  310. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_integration/test_skill_installation.py +0 -0
  311. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/__init__.py +0 -0
  312. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/test_explore.py +0 -0
  313. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/test_macro_model_routing.py +0 -0
  314. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/test_macro_orchestration.py +0 -0
  315. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/test_prd.py +0 -0
  316. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/test_research.py +0 -0
  317. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_macro/test_shard.py +0 -0
  318. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/__init__.py +0 -0
  319. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_auto_prompt_templates.py +0 -0
  320. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_meso_model_routing.py +0 -0
  321. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_meso_orchestration.py +0 -0
  322. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_plan_structure_injection.py +0 -0
  323. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_prompt_assembly.py +0 -0
  324. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_specify.py +0 -0
  325. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_meso/test_tasks.py +0 -0
  326. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/__init__.py +0 -0
  327. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/conftest.py +0 -0
  328. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_e2e.py +0 -0
  329. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_execute.py +0 -0
  330. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_green.py +0 -0
  331. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_hotfix.py +0 -0
  332. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_judge.py +0 -0
  333. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_orchestration.py +0 -0
  334. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_output_filter.py +0 -0
  335. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_red.py +0 -0
  336. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_refactor.py +0 -0
  337. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_run.py +0 -0
  338. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_micro/test_task_label.py +0 -0
  339. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_state/__init__.py +0 -0
  340. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_state/test_config.py +0 -0
  341. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_state/test_ledger.py +0 -0
  342. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_state/test_session.py +0 -0
  343. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_ui/__init__.py +0 -0
  344. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_ui/test_monitor.py +0 -0
  345. {deviatdd-2.5.2 → deviatdd-2.5.3}/tests/test_ui/test_render.py +0 -0
@@ -28,6 +28,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
28
  on the process command line — no exposure in `ps aux`,
29
29
  `/proc/<pid>/cmdline`, audit logs, or shell history. `uv publish` reads
30
30
  `UV_PUBLISH_TOKEN` natively.
31
+ - README: PyPI version badge in the badge row; one-line `deviate --version`
32
+ verification step in Quickstart (right after `uv tool install deviatdd`);
33
+ new `## Troubleshooting` section covering the five most common first-run
34
+ failures (no `uv`, CLI binary confusion, slash commands not appearing,
35
+ missing PyPI token, missing agent backend), each with a one-paragraph
36
+ fix and a link back to the canonical docs (`CONTRIBUTING.md`,
37
+ `specs/constitution.md`).
38
+
39
+ - README: Quickstart wording updated — "four agent directories" → "all
40
+ supported agent directories" to track the six backends listed in the
41
+ install comment.
42
+
31
43
 
32
44
 
33
45
  - `format_commit_message()` and `_commit_phase()` accept an optional `phase`
@@ -37,6 +49,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
49
  test is visible at a glance; `feat:` commits continue to use ✨
38
50
  regardless of phase.
39
51
 
52
+ ### Fixed
53
+ - `deviate --version` (and any code path importing `deviate.__version__`)
54
+ raised `importlib.metadata.PackageNotFoundError: No package metadata was
55
+ found for deviate` at import time. The two call sites in
56
+ `src/deviate/__init__.py` and `src/deviate/cli/__init__.py` queried
57
+ metadata for the import name `"deviate"` instead of the distribution
58
+ name `"deviatdd"` declared in `pyproject.toml`. Both now query
59
+ `"deviatdd"` and additionally fall back to a `"0.0.0+unknown"` sentinel
60
+ (so source checkouts without a dist-info still import). The
61
+ `test_version` test was tautological (asserted against the same broken
62
+ `version("deviate")` call it was meant to guard); it now asserts
63
+ `deviate --version` stdout equals the real
64
+ `importlib.metadata.version("deviatdd")`, and a new
65
+ `test_module_version_resolves` import-time guard fails loudly if the
66
+ module-level lookup regresses.
67
+
40
68
  ### Changed
41
69
  - **Shard prompts now own all vertical-slicing rules**; the PRD prompt's
42
70
  §Issue Sharding Strategy was removed to eliminate drift between the two.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deviatdd
3
- Version: 2.5.2
3
+ Version: 2.5.3
4
4
  Summary: DeviaTDD CLI — agent orchestration framework
5
5
  Project-URL: Homepage, https://github.com/wernerbisschoff/deviatdd
6
6
  Project-URL: Repository, https://github.com/wernerbisschoff/deviatdd
@@ -60,6 +60,7 @@ Description-Content-Type: text/markdown
60
60
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
61
61
  [![Python 3.13+](https://img.shields.io/badge/python-3.13+-blue.svg)](https://www.python.org/downloads/)
62
62
  [![uv](https://img.shields.io/badge/managed%20with-uv-purple.svg)](https://docs.astral.sh/uv/)
63
+ [![PyPI](https://img.shields.io/pypi/v/deviatdd)](https://pypi.org/project/deviatdd/)
63
64
 
64
65
  # DeviaTDD
65
66
 
@@ -87,17 +88,18 @@ Most AI coding agents stop at "write code that passes." DeviaTDD goes further
87
88
  ## Quickstart
88
89
 
89
90
  ```bash
90
- # Install (requires Python 3.13+ and uv)
91
+ # Install (requires Python 3.13+ and uv).
91
92
  # The PyPI package is `deviatdd`; the CLI binary it installs is `deviate`.
92
93
 
93
94
  uv tool install deviatdd
95
+ deviate --version # confirm install
94
96
 
95
97
  # Bootstrap a new project + install slash commands into your agent of
96
98
  # choice. Does it all in one shot: scaffolds .deviate/, specs/constitution.md,
97
99
  # governance blocks, and installs /deviate-* slash commands for every
98
100
  # supported agent. The --agent flag picks the default backend persisted
99
101
  # to .deviate/config.toml (slash commands themselves are installed to all
100
- # four agent directories regardless).
102
+ # supported agent directories regardless).
101
103
  deviate setup --agent claude # or: opencode | pi | droid | factory | omp
102
104
  ```
103
105
 
@@ -381,6 +383,39 @@ Claims in this README flagged with an italic _design proposal_ note have **no di
381
383
 
382
384
  ---
383
385
 
386
+ ## Troubleshooting
387
+
388
+ **`uv: command not found`** — Install [uv](https://docs.astral.sh/uv/) first
389
+ (it's the project's mandated package manager per
390
+ [`specs/constitution.md`](specs/constitution.md)). macOS / Linux:
391
+ `curl -LsSf https://astral.sh/uv/install.sh | sh`.
392
+
393
+ **`deviate: command not found` after `uv tool install deviatdd`** — Verify
394
+ the install landed: `uv tool list | grep deviatdd`. Reinstall if missing:
395
+ `uv tool install --reinstall deviatdd`. The PyPI package name and the CLI
396
+ binary name differ — that's intentional (see [Quickstart](#quickstart)).
397
+
398
+ **`deviate setup` runs but `/deviate-*` commands don't appear in the
399
+ agent** — Slash commands are installed to `<workdir>/.claude/commands/`,
400
+ `.opencode/commands/`, `.omp/commands/`, `.factory/commands/`, and
401
+ `.pi/prompts/`. Verify the directory exists and is readable, then restart
402
+ the agent so it picks up the new commands.
403
+
404
+ **`mise run publish` fails with `PYPI_API_TOKEN is not set`** — The task
405
+ loads `.env` from the project root. `.env` must contain
406
+ `PYPI_API_TOKEN=pypi-...`. `.env.example` documents the variable name;
407
+ `.env` itself is gitignored.
408
+
409
+ **Agent backend not installed** — `deviate setup --agent <name>` scaffolds
410
+ the project without the agent present, but invoking `/deviate-*` slash
411
+ commands requires the agent to be installed. Install Claude Code / OpenCode
412
+ / Pi / Droid / Factory / OMP first per their respective install
413
+ instructions.
414
+
415
+ For development-setup details, see
416
+ [`CONTRIBUTING.md`](CONTRIBUTING.md#development-setup) and
417
+ [`specs/constitution.md`](specs/constitution.md).
418
+
384
419
  ## License
385
420
 
386
421
  [MIT](LICENSE) © 2026 Werner Bisschoff
@@ -6,6 +6,7 @@
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
7
  [![Python 3.13+](https://img.shields.io/badge/python-3.13+-blue.svg)](https://www.python.org/downloads/)
8
8
  [![uv](https://img.shields.io/badge/managed%20with-uv-purple.svg)](https://docs.astral.sh/uv/)
9
+ [![PyPI](https://img.shields.io/pypi/v/deviatdd)](https://pypi.org/project/deviatdd/)
9
10
 
10
11
  # DeviaTDD
11
12
 
@@ -33,17 +34,18 @@ Most AI coding agents stop at "write code that passes." DeviaTDD goes further
33
34
  ## Quickstart
34
35
 
35
36
  ```bash
36
- # Install (requires Python 3.13+ and uv)
37
+ # Install (requires Python 3.13+ and uv).
37
38
  # The PyPI package is `deviatdd`; the CLI binary it installs is `deviate`.
38
39
 
39
40
  uv tool install deviatdd
41
+ deviate --version # confirm install
40
42
 
41
43
  # Bootstrap a new project + install slash commands into your agent of
42
44
  # choice. Does it all in one shot: scaffolds .deviate/, specs/constitution.md,
43
45
  # governance blocks, and installs /deviate-* slash commands for every
44
46
  # supported agent. The --agent flag picks the default backend persisted
45
47
  # to .deviate/config.toml (slash commands themselves are installed to all
46
- # four agent directories regardless).
48
+ # supported agent directories regardless).
47
49
  deviate setup --agent claude # or: opencode | pi | droid | factory | omp
48
50
  ```
49
51
 
@@ -327,6 +329,39 @@ Claims in this README flagged with an italic _design proposal_ note have **no di
327
329
 
328
330
  ---
329
331
 
332
+ ## Troubleshooting
333
+
334
+ **`uv: command not found`** — Install [uv](https://docs.astral.sh/uv/) first
335
+ (it's the project's mandated package manager per
336
+ [`specs/constitution.md`](specs/constitution.md)). macOS / Linux:
337
+ `curl -LsSf https://astral.sh/uv/install.sh | sh`.
338
+
339
+ **`deviate: command not found` after `uv tool install deviatdd`** — Verify
340
+ the install landed: `uv tool list | grep deviatdd`. Reinstall if missing:
341
+ `uv tool install --reinstall deviatdd`. The PyPI package name and the CLI
342
+ binary name differ — that's intentional (see [Quickstart](#quickstart)).
343
+
344
+ **`deviate setup` runs but `/deviate-*` commands don't appear in the
345
+ agent** — Slash commands are installed to `<workdir>/.claude/commands/`,
346
+ `.opencode/commands/`, `.omp/commands/`, `.factory/commands/`, and
347
+ `.pi/prompts/`. Verify the directory exists and is readable, then restart
348
+ the agent so it picks up the new commands.
349
+
350
+ **`mise run publish` fails with `PYPI_API_TOKEN is not set`** — The task
351
+ loads `.env` from the project root. `.env` must contain
352
+ `PYPI_API_TOKEN=pypi-...`. `.env.example` documents the variable name;
353
+ `.env` itself is gitignored.
354
+
355
+ **Agent backend not installed** — `deviate setup --agent <name>` scaffolds
356
+ the project without the agent present, but invoking `/deviate-*` slash
357
+ commands requires the agent to be installed. Install Claude Code / OpenCode
358
+ / Pi / Droid / Factory / OMP first per their respective install
359
+ instructions.
360
+
361
+ For development-setup details, see
362
+ [`CONTRIBUTING.md`](CONTRIBUTING.md#development-setup) and
363
+ [`specs/constitution.md`](specs/constitution.md).
364
+
330
365
  ## License
331
366
 
332
367
  [MIT](LICENSE) © 2026 Werner Bisschoff
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deviatdd"
3
- version = "2.5.2"
3
+ version = "2.5.3"
4
4
  description = "DeviaTDD CLI — agent orchestration framework"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -0,0 +1,10 @@
1
+ from importlib.metadata import PackageNotFoundError, version as _version
2
+
3
+ try:
4
+ __version__ = _version("deviatdd")
5
+ except PackageNotFoundError:
6
+ # Source checkouts without an editable install (e.g. running the module
7
+ # directly from a git clone) have no dist-info. Fall back to a sentinel
8
+ # so the CLI still imports; downstream code can detect it via the
9
+ # "+unknown" suffix.
10
+ __version__ = "0.0.0+unknown"
@@ -59,9 +59,13 @@ AGENT_CHOICES: tuple[str, ...] = ("factory", "droid", "claude", "opencode", "pi"
59
59
 
60
60
  def _version_callback(value: bool) -> None:
61
61
  if value:
62
- from importlib.metadata import version
62
+ from importlib.metadata import PackageNotFoundError, version
63
63
 
64
- typer.echo(f"deviate {version('deviate')}")
64
+ try:
65
+ ver = version("deviatdd")
66
+ except PackageNotFoundError:
67
+ ver = "0.0.0+unknown"
68
+ typer.echo(f"deviate {ver}")
65
69
  raise typer.Exit()
66
70
 
67
71
 
@@ -1217,9 +1217,36 @@ class TestInitPiBackend:
1217
1217
  )
1218
1218
 
1219
1219
 
1220
+ def test_module_version_resolves():
1221
+ """Import-time guard: deviate.__version__ must not raise PackageNotFoundError.
1222
+
1223
+ Regression: src/deviate/__init__.py previously called
1224
+ version("deviate") (the import name) instead of "deviatdd" (the
1225
+ distribution name in pyproject.toml), so importing the package failed
1226
+ with PackageNotFoundError and the entire CLI was unreachable.
1227
+ """
1228
+ import importlib
1229
+
1230
+ import deviate
1231
+
1232
+ importlib.reload(deviate) # force re-evaluation of the module-level call
1233
+ assert deviate.__version__, "deviate.__version__ must be a non-empty string"
1234
+ assert "+unknown" not in deviate.__version__, (
1235
+ f"deviate.__version__ is the missing-metadata fallback: {deviate.__version__!r}. "
1236
+ "Check that the deviatdd distribution is installed (e.g. "
1237
+ "`uv tool install --force .`)."
1238
+ )
1239
+
1240
+
1220
1241
  def test_version():
1242
+ """`deviate --version` prints the installed distribution version.
1243
+
1244
+ Asserts the CLI output matches `importlib.metadata.version("deviatdd")`
1245
+ directly — re-deriving the expected string via the same broken lookup
1246
+ would let a regression slip through.
1247
+ """
1221
1248
  from importlib.metadata import version
1222
1249
 
1223
1250
  result = runner.invoke(cli, ["--version"])
1224
- assert result.exit_code == 0
1225
- assert result.stdout.strip() == f"deviate {version('deviate')}"
1251
+ assert result.exit_code == 0, result.output
1252
+ assert result.stdout.strip() == f"deviate {version('deviatdd')}"
@@ -85,7 +85,7 @@ wheels = [
85
85
 
86
86
  [[package]]
87
87
  name = "deviatdd"
88
- version = "2.5.2"
88
+ version = "2.5.3"
89
89
  source = { editable = "." }
90
90
  dependencies = [
91
91
  { name = "pydantic" },
@@ -1,3 +0,0 @@
1
- from importlib.metadata import version as _version
2
-
3
- __version__ = _version("deviate")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes