atdd 0.2.7__tar.gz → 0.2.8__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 (191) hide show
  1. {atdd-0.2.7/src/atdd.egg-info → atdd-0.2.8}/PKG-INFO +7 -1
  2. {atdd-0.2.7 → atdd-0.2.8}/README.md +6 -0
  3. {atdd-0.2.7 → atdd-0.2.8}/pyproject.toml +1 -1
  4. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/gate.py +25 -0
  5. {atdd-0.2.7 → atdd-0.2.8/src/atdd.egg-info}/PKG-INFO +7 -1
  6. {atdd-0.2.7 → atdd-0.2.8}/LICENSE +0 -0
  7. {atdd-0.2.7 → atdd-0.2.8}/setup.cfg +0 -0
  8. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/__init__.py +0 -0
  9. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/__main__.py +0 -0
  10. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/cli.py +0 -0
  11. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/__init__.py +0 -0
  12. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/__init__.py +0 -0
  13. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/add_persistence_metadata.py +0 -0
  14. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/analyze_migrations.py +0 -0
  15. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/consumers.py +0 -0
  16. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/infer_governance_status.py +0 -0
  17. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/initializer.py +0 -0
  18. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/interface.py +0 -0
  19. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/inventory.py +0 -0
  20. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/migration.py +0 -0
  21. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/registry.py +0 -0
  22. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/session.py +0 -0
  23. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/sync.py +0 -0
  24. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/test_interface.py +0 -0
  25. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/test_runner.py +0 -0
  26. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/tests/__init__.py +0 -0
  27. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/tests/test_telemetry_array_validation.py +0 -0
  28. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/commands/traceability.py +0 -0
  29. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/conventions/session.convention.yaml +0 -0
  30. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/overlays/__init__.py +0 -0
  31. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/overlays/claude.md +0 -0
  32. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/schemas/config.schema.json +0 -0
  33. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/schemas/manifest.schema.json +0 -0
  34. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/templates/ATDD.md +0 -0
  35. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/templates/SESSION-TEMPLATE.md +0 -0
  36. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/utils/__init__.py +0 -0
  37. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/utils/graph/__init__.py +0 -0
  38. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/utils/graph/urn.py +0 -0
  39. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/__init__.py +0 -0
  40. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/shared_fixtures.py +0 -0
  41. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/test_enrich_wagon_registry.py +0 -0
  42. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/test_registry.py +0 -0
  43. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/test_session_validation.py +0 -0
  44. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/test_traceability.py +0 -0
  45. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/test_update_feature_paths.py +0 -0
  46. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coach/validators/test_validate_contract_consumers.py +0 -0
  47. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/__init__.py +0 -0
  48. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/adapter.recipe.yaml +0 -0
  49. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/backend.convention.yaml +0 -0
  50. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/boundaries.convention.yaml +0 -0
  51. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/commons.convention.yaml +0 -0
  52. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/complexity.recipe.yaml +0 -0
  53. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/component-naming.convention.yaml +0 -0
  54. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/design.convention.yaml +0 -0
  55. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/design.recipe.yaml +0 -0
  56. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/dto.convention.yaml +0 -0
  57. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/frontend.convention.yaml +0 -0
  58. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/green.convention.yaml +0 -0
  59. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/presentation.convention.yaml +0 -0
  60. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/refactor.convention.yaml +0 -0
  61. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/technology.convention.yaml +0 -0
  62. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/tests/__init__.py +0 -0
  63. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_adapter_recipe.py +0 -0
  64. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_complexity_recipe.py +0 -0
  65. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_component_taxonomy.py +0 -0
  66. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_component_urn_naming.py +0 -0
  67. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_thinness_recipe.py +0 -0
  68. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/thinness.recipe.yaml +0 -0
  69. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/train.convention.yaml +0 -0
  70. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/conventions/verification.protocol.yaml +0 -0
  71. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/schemas/design_system.schema.json +0 -0
  72. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/__init__.py +0 -0
  73. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_commons_structure.py +0 -0
  74. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_complexity.py +0 -0
  75. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_cross_language_consistency.py +0 -0
  76. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_design_system_compliance.py +0 -0
  77. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_dto_testing_patterns.py +0 -0
  78. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_green_cross_stack_layers.py +0 -0
  79. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_green_layer_dependencies.py +0 -0
  80. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_green_python_layer_structure.py +0 -0
  81. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_green_supabase_layer_structure.py +0 -0
  82. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_import_boundaries.py +0 -0
  83. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_init_file_urns.py +0 -0
  84. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_preact_layer_boundaries.py +0 -0
  85. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_presentation_convention.py +0 -0
  86. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_python_architecture.py +0 -0
  87. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_quality_metrics.py +0 -0
  88. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_station_master_pattern.py +0 -0
  89. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_train_infrastructure.py +0 -0
  90. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_train_urns.py +0 -0
  91. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_typescript_architecture.py +0 -0
  92. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_usecase_structure.py +0 -0
  93. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/coder/validators/test_wagon_boundaries.py +0 -0
  94. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/conftest.py +0 -0
  95. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/__init__.py +0 -0
  96. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/acceptance.convention.yaml +0 -0
  97. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/appendix.convention.yaml +0 -0
  98. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/artifact-naming.convention.yaml +0 -0
  99. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/component.convention.yaml +0 -0
  100. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/criteria.convention.yaml +0 -0
  101. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/feature.convention.yaml +0 -0
  102. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/interface.convention.yaml +0 -0
  103. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/steps.convention.yaml +0 -0
  104. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/train.convention.yaml +0 -0
  105. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/wagon.convention.yaml +0 -0
  106. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/conventions/wmbt.convention.yaml +0 -0
  107. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/acceptance.schema.json +0 -0
  108. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/appendix.schema.json +0 -0
  109. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/component.schema.json +0 -0
  110. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/feature.schema.json +0 -0
  111. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/train.schema.json +0 -0
  112. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/wagon.schema.json +0 -0
  113. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/schemas/wmbt.schema.json +0 -0
  114. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/__init__.py +0 -0
  115. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/conftest.py +0 -0
  116. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_draft_wagon_registry.py +0 -0
  117. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_cross_refs.py +0 -0
  118. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_uniqueness.py +0 -0
  119. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_urn_resolution.py +0 -0
  120. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_wagons.py +0 -0
  121. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_train_validation.py +0 -0
  122. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_wagon_urn_chain.py +0 -0
  123. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_wmbt_consistency.py +0 -0
  124. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/planner/validators/test_wmbt_vocabulary.py +0 -0
  125. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/__init__.py +0 -0
  126. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/artifact.convention.yaml +0 -0
  127. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/contract.convention.yaml +0 -0
  128. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/filename.convention.yaml +0 -0
  129. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/migration.convention.yaml +0 -0
  130. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/red.convention.yaml +0 -0
  131. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/routing.convention.yaml +0 -0
  132. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/conventions/telemetry.convention.yaml +0 -0
  133. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/a11y.tmpl.json +0 -0
  134. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/artifact.schema.json +0 -0
  135. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/contract.schema.json +0 -0
  136. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/contract.tmpl.json +0 -0
  137. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/db.tmpl.json +0 -0
  138. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/e2e.tmpl.json +0 -0
  139. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/edge_function.tmpl.json +0 -0
  140. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/event.tmpl.json +0 -0
  141. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/http.tmpl.json +0 -0
  142. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/job.tmpl.json +0 -0
  143. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/load.tmpl.json +0 -0
  144. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/metric.tmpl.json +0 -0
  145. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/pack.schema.json +0 -0
  146. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/realtime.tmpl.json +0 -0
  147. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/rls.tmpl.json +0 -0
  148. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/script.tmpl.json +0 -0
  149. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/sec.tmpl.json +0 -0
  150. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/storage.tmpl.json +0 -0
  151. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/telemetry.schema.json +0 -0
  152. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/telemetry_tracking_manifest.schema.json +0 -0
  153. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/test_filename.schema.json +0 -0
  154. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/test_intent.schema.json +0 -0
  155. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/unit.tmpl.json +0 -0
  156. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/visual.tmpl.json +0 -0
  157. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/schemas/ws.tmpl.json +0 -0
  158. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/utils/__init__.py +0 -0
  159. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/utils/filename.py +0 -0
  160. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/__init__.py +0 -0
  161. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/cleanup_duplicate_headers.py +0 -0
  162. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/cleanup_duplicate_headers_v2.py +0 -0
  163. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/conftest.py +0 -0
  164. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/coverage_gap_report.py +0 -0
  165. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/fix_dual_ac_references.py +0 -0
  166. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/remove_duplicate_lines.py +0 -0
  167. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py +0 -0
  168. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_acceptance_urn_separator.py +0 -0
  169. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_artifact_naming_category.py +0 -0
  170. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_contract_schema_compliance.py +0 -0
  171. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_contracts_structure.py +0 -0
  172. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_coverage_adequacy.py +0 -0
  173. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_dual_ac_reference.py +0 -0
  174. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_fixture_validity.py +0 -0
  175. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_isolation.py +0 -0
  176. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_migration_coverage.py +0 -0
  177. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_migration_criteria.py +0 -0
  178. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_migration_generation.py +0 -0
  179. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_python_test_naming.py +0 -0
  180. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_red_layer_validation.py +0 -0
  181. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_red_python_layer_structure.py +0 -0
  182. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_red_supabase_layer_structure.py +0 -0
  183. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_telemetry_structure.py +0 -0
  184. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_typescript_test_naming.py +0 -0
  185. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/tester/validators/test_typescript_test_structure.py +0 -0
  186. {atdd-0.2.7 → atdd-0.2.8}/src/atdd/version_check.py +0 -0
  187. {atdd-0.2.7 → atdd-0.2.8}/src/atdd.egg-info/SOURCES.txt +0 -0
  188. {atdd-0.2.7 → atdd-0.2.8}/src/atdd.egg-info/dependency_links.txt +0 -0
  189. {atdd-0.2.7 → atdd-0.2.8}/src/atdd.egg-info/entry_points.txt +0 -0
  190. {atdd-0.2.7 → atdd-0.2.8}/src/atdd.egg-info/requires.txt +0 -0
  191. {atdd-0.2.7 → atdd-0.2.8}/src/atdd.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atdd
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: ATDD Platform - Acceptance Test Driven Development toolkit
5
5
  License: MIT
6
6
  Requires-Python: >=3.10
@@ -24,6 +24,12 @@ Acceptance Test Driven Development toolkit for structured planning and conventio
24
24
  pip install atdd
25
25
  ```
26
26
 
27
+ ### Upgrade
28
+
29
+ ```bash
30
+ pip install --upgrade atdd
31
+ ```
32
+
27
33
  ### For Development
28
34
 
29
35
  ```bash
@@ -10,6 +10,12 @@ Acceptance Test Driven Development toolkit for structured planning and conventio
10
10
  pip install atdd
11
11
  ```
12
12
 
13
+ ### Upgrade
14
+
15
+ ```bash
16
+ pip install --upgrade atdd
17
+ ```
18
+
13
19
  ### For Development
14
20
 
15
21
  ```bash
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "atdd"
7
- version = "0.2.7"
7
+ version = "0.2.8"
8
8
  description = "ATDD Platform - Acceptance Test Driven Development toolkit"
9
9
  requires-python = ">=3.10"
10
10
  readme = "README.md"
@@ -35,6 +35,19 @@ class ATDDGate:
35
35
  """
36
36
  self.target_dir = target_dir or Path.cwd()
37
37
  self.syncer = AgentConfigSync(self.target_dir)
38
+ self.package_root = Path(__file__).parent.parent # src/atdd/coach
39
+ self.session_convention = self.package_root / "conventions" / "session.convention.yaml"
40
+
41
+ def _load_session_convention(self) -> Optional[str]:
42
+ """
43
+ Load the session convention content.
44
+
45
+ Returns:
46
+ File content or None if missing.
47
+ """
48
+ if not self.session_convention.exists():
49
+ return None
50
+ return self.session_convention.read_text()
38
51
 
39
52
  def _compute_block_hash(self, content: str) -> Optional[str]:
40
53
  """
@@ -106,10 +119,13 @@ class ATDDGate:
106
119
  print("Run 'atdd init' to set up ATDD in this repo.")
107
120
  return 1
108
121
 
122
+ session_convention = self._load_session_convention()
123
+
109
124
  if json:
110
125
  output = {
111
126
  "files": files,
112
127
  "constraints": self.KEY_CONSTRAINTS,
128
+ "session_convention": session_convention,
113
129
  }
114
130
  print(json_module.dumps(output, indent=2))
115
131
  return 0
@@ -132,6 +148,15 @@ class ATDDGate:
132
148
  for i, constraint in enumerate(self.KEY_CONSTRAINTS, 1):
133
149
  print(f" {i}. {constraint}")
134
150
 
151
+ print("\n" + "=" * 60)
152
+ print("Session Convention")
153
+ print("=" * 60)
154
+
155
+ if session_convention is None:
156
+ print(f"Warning: session convention not found at {self.session_convention}")
157
+ else:
158
+ print(session_convention.rstrip())
159
+
135
160
  print("\n" + "-" * 60)
136
161
  print("Before starting work, confirm you have loaded these rules.")
137
162
  print("-" * 60)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atdd
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: ATDD Platform - Acceptance Test Driven Development toolkit
5
5
  License: MIT
6
6
  Requires-Python: >=3.10
@@ -24,6 +24,12 @@ Acceptance Test Driven Development toolkit for structured planning and conventio
24
24
  pip install atdd
25
25
  ```
26
26
 
27
+ ### Upgrade
28
+
29
+ ```bash
30
+ pip install --upgrade atdd
31
+ ```
32
+
27
33
  ### For Development
28
34
 
29
35
  ```bash
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