atdd 0.2.4__tar.gz → 0.2.7__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.4/src/atdd.egg-info → atdd-0.2.7}/PKG-INFO +47 -23
  2. {atdd-0.2.4 → atdd-0.2.7}/README.md +46 -22
  3. {atdd-0.2.4 → atdd-0.2.7}/pyproject.toml +1 -1
  4. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/templates/ATDD.md +33 -12
  5. {atdd-0.2.4 → atdd-0.2.7/src/atdd.egg-info}/PKG-INFO +47 -23
  6. {atdd-0.2.4 → atdd-0.2.7}/LICENSE +0 -0
  7. {atdd-0.2.4 → atdd-0.2.7}/setup.cfg +0 -0
  8. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/__init__.py +0 -0
  9. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/__main__.py +0 -0
  10. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/cli.py +0 -0
  11. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/__init__.py +0 -0
  12. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/__init__.py +0 -0
  13. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/add_persistence_metadata.py +0 -0
  14. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/analyze_migrations.py +0 -0
  15. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/consumers.py +0 -0
  16. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/gate.py +0 -0
  17. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/infer_governance_status.py +0 -0
  18. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/initializer.py +0 -0
  19. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/interface.py +0 -0
  20. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/inventory.py +0 -0
  21. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/migration.py +0 -0
  22. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/registry.py +0 -0
  23. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/session.py +0 -0
  24. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/sync.py +0 -0
  25. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/test_interface.py +0 -0
  26. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/test_runner.py +0 -0
  27. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/tests/__init__.py +0 -0
  28. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/tests/test_telemetry_array_validation.py +0 -0
  29. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/commands/traceability.py +0 -0
  30. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/conventions/session.convention.yaml +0 -0
  31. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/overlays/__init__.py +0 -0
  32. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/overlays/claude.md +0 -0
  33. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/schemas/config.schema.json +0 -0
  34. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/schemas/manifest.schema.json +0 -0
  35. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/templates/SESSION-TEMPLATE.md +0 -0
  36. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/utils/__init__.py +0 -0
  37. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/utils/graph/__init__.py +0 -0
  38. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/utils/graph/urn.py +0 -0
  39. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/__init__.py +0 -0
  40. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/shared_fixtures.py +0 -0
  41. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/test_enrich_wagon_registry.py +0 -0
  42. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/test_registry.py +0 -0
  43. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/test_session_validation.py +0 -0
  44. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/test_traceability.py +0 -0
  45. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/test_update_feature_paths.py +0 -0
  46. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coach/validators/test_validate_contract_consumers.py +0 -0
  47. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/__init__.py +0 -0
  48. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/adapter.recipe.yaml +0 -0
  49. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/backend.convention.yaml +0 -0
  50. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/boundaries.convention.yaml +0 -0
  51. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/commons.convention.yaml +0 -0
  52. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/complexity.recipe.yaml +0 -0
  53. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/component-naming.convention.yaml +0 -0
  54. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/design.convention.yaml +0 -0
  55. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/design.recipe.yaml +0 -0
  56. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/dto.convention.yaml +0 -0
  57. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/frontend.convention.yaml +0 -0
  58. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/green.convention.yaml +0 -0
  59. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/presentation.convention.yaml +0 -0
  60. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/refactor.convention.yaml +0 -0
  61. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/technology.convention.yaml +0 -0
  62. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/tests/__init__.py +0 -0
  63. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/tests/test_adapter_recipe.py +0 -0
  64. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/tests/test_complexity_recipe.py +0 -0
  65. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/tests/test_component_taxonomy.py +0 -0
  66. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/tests/test_component_urn_naming.py +0 -0
  67. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/tests/test_thinness_recipe.py +0 -0
  68. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/thinness.recipe.yaml +0 -0
  69. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/train.convention.yaml +0 -0
  70. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/conventions/verification.protocol.yaml +0 -0
  71. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/schemas/design_system.schema.json +0 -0
  72. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/__init__.py +0 -0
  73. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_commons_structure.py +0 -0
  74. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_complexity.py +0 -0
  75. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_cross_language_consistency.py +0 -0
  76. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_design_system_compliance.py +0 -0
  77. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_dto_testing_patterns.py +0 -0
  78. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_green_cross_stack_layers.py +0 -0
  79. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_green_layer_dependencies.py +0 -0
  80. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_green_python_layer_structure.py +0 -0
  81. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_green_supabase_layer_structure.py +0 -0
  82. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_import_boundaries.py +0 -0
  83. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_init_file_urns.py +0 -0
  84. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_preact_layer_boundaries.py +0 -0
  85. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_presentation_convention.py +0 -0
  86. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_python_architecture.py +0 -0
  87. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_quality_metrics.py +0 -0
  88. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_station_master_pattern.py +0 -0
  89. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_train_infrastructure.py +0 -0
  90. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_train_urns.py +0 -0
  91. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_typescript_architecture.py +0 -0
  92. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_usecase_structure.py +0 -0
  93. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/coder/validators/test_wagon_boundaries.py +0 -0
  94. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/conftest.py +0 -0
  95. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/__init__.py +0 -0
  96. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/acceptance.convention.yaml +0 -0
  97. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/appendix.convention.yaml +0 -0
  98. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/artifact-naming.convention.yaml +0 -0
  99. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/component.convention.yaml +0 -0
  100. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/criteria.convention.yaml +0 -0
  101. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/feature.convention.yaml +0 -0
  102. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/interface.convention.yaml +0 -0
  103. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/steps.convention.yaml +0 -0
  104. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/train.convention.yaml +0 -0
  105. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/wagon.convention.yaml +0 -0
  106. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/conventions/wmbt.convention.yaml +0 -0
  107. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/acceptance.schema.json +0 -0
  108. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/appendix.schema.json +0 -0
  109. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/component.schema.json +0 -0
  110. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/feature.schema.json +0 -0
  111. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/train.schema.json +0 -0
  112. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/wagon.schema.json +0 -0
  113. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/schemas/wmbt.schema.json +0 -0
  114. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/__init__.py +0 -0
  115. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/conftest.py +0 -0
  116. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_draft_wagon_registry.py +0 -0
  117. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_plan_cross_refs.py +0 -0
  118. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_plan_uniqueness.py +0 -0
  119. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_plan_urn_resolution.py +0 -0
  120. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_plan_wagons.py +0 -0
  121. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_train_validation.py +0 -0
  122. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_wagon_urn_chain.py +0 -0
  123. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_wmbt_consistency.py +0 -0
  124. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/planner/validators/test_wmbt_vocabulary.py +0 -0
  125. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/__init__.py +0 -0
  126. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/artifact.convention.yaml +0 -0
  127. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/contract.convention.yaml +0 -0
  128. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/filename.convention.yaml +0 -0
  129. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/migration.convention.yaml +0 -0
  130. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/red.convention.yaml +0 -0
  131. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/routing.convention.yaml +0 -0
  132. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/conventions/telemetry.convention.yaml +0 -0
  133. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/a11y.tmpl.json +0 -0
  134. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/artifact.schema.json +0 -0
  135. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/contract.schema.json +0 -0
  136. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/contract.tmpl.json +0 -0
  137. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/db.tmpl.json +0 -0
  138. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/e2e.tmpl.json +0 -0
  139. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/edge_function.tmpl.json +0 -0
  140. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/event.tmpl.json +0 -0
  141. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/http.tmpl.json +0 -0
  142. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/job.tmpl.json +0 -0
  143. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/load.tmpl.json +0 -0
  144. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/metric.tmpl.json +0 -0
  145. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/pack.schema.json +0 -0
  146. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/realtime.tmpl.json +0 -0
  147. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/rls.tmpl.json +0 -0
  148. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/script.tmpl.json +0 -0
  149. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/sec.tmpl.json +0 -0
  150. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/storage.tmpl.json +0 -0
  151. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/telemetry.schema.json +0 -0
  152. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/telemetry_tracking_manifest.schema.json +0 -0
  153. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/test_filename.schema.json +0 -0
  154. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/test_intent.schema.json +0 -0
  155. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/unit.tmpl.json +0 -0
  156. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/visual.tmpl.json +0 -0
  157. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/schemas/ws.tmpl.json +0 -0
  158. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/utils/__init__.py +0 -0
  159. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/utils/filename.py +0 -0
  160. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/__init__.py +0 -0
  161. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/cleanup_duplicate_headers.py +0 -0
  162. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/cleanup_duplicate_headers_v2.py +0 -0
  163. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/conftest.py +0 -0
  164. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/coverage_gap_report.py +0 -0
  165. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/fix_dual_ac_references.py +0 -0
  166. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/remove_duplicate_lines.py +0 -0
  167. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py +0 -0
  168. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_acceptance_urn_separator.py +0 -0
  169. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_artifact_naming_category.py +0 -0
  170. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_contract_schema_compliance.py +0 -0
  171. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_contracts_structure.py +0 -0
  172. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_coverage_adequacy.py +0 -0
  173. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_dual_ac_reference.py +0 -0
  174. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_fixture_validity.py +0 -0
  175. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_isolation.py +0 -0
  176. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_migration_coverage.py +0 -0
  177. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_migration_criteria.py +0 -0
  178. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_migration_generation.py +0 -0
  179. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_python_test_naming.py +0 -0
  180. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_red_layer_validation.py +0 -0
  181. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_red_python_layer_structure.py +0 -0
  182. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_red_supabase_layer_structure.py +0 -0
  183. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_telemetry_structure.py +0 -0
  184. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_typescript_test_naming.py +0 -0
  185. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/tester/validators/test_typescript_test_structure.py +0 -0
  186. {atdd-0.2.4 → atdd-0.2.7}/src/atdd/version_check.py +0 -0
  187. {atdd-0.2.4 → atdd-0.2.7}/src/atdd.egg-info/SOURCES.txt +0 -0
  188. {atdd-0.2.4 → atdd-0.2.7}/src/atdd.egg-info/dependency_links.txt +0 -0
  189. {atdd-0.2.4 → atdd-0.2.7}/src/atdd.egg-info/entry_points.txt +0 -0
  190. {atdd-0.2.4 → atdd-0.2.7}/src/atdd.egg-info/requires.txt +0 -0
  191. {atdd-0.2.4 → atdd-0.2.7}/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.4
3
+ Version: 0.2.7
4
4
  Summary: ATDD Platform - Acceptance Test Driven Development toolkit
5
5
  License: MIT
6
6
  Requires-Python: >=3.10
@@ -41,22 +41,15 @@ atdd --help
41
41
  ## Quick Start
42
42
 
43
43
  ```bash
44
- # Initialize ATDD in your project
45
- atdd init
46
-
47
- # Create a planning session
48
- atdd session new my-feature
49
-
50
- # List sessions
51
- atdd session list
52
-
53
- # Sync ATDD rules to agent config files
54
- atdd sync
55
-
56
- # Run validators
57
- atdd --test all
44
+ atdd init # Initialize ATDD in your project
45
+ atdd gate # ⚠️ START EVERY SESSION WITH THIS
46
+ atdd session new my-feature # Create a planning session
47
+ atdd sync # Sync rules to agent config files
48
+ atdd --test all # Run validators
58
49
  ```
59
50
 
51
+ > **⚠️ `atdd gate` is required.** Agents skip instruction files but can't ignore tool output. No gate = no ATDD guarantees.
52
+
60
53
  ## What It Does
61
54
 
62
55
  ATDD provides:
@@ -129,16 +122,44 @@ sync:
129
122
  # - qwen # Uncomment to sync QWEN.md
130
123
  ```
131
124
 
132
- ### ATDD Gate
125
+ **Multi-agent setup:** To use multiple agents with consistent rules, enable them all in config and run sync:
133
126
 
134
- Verify agents have loaded ATDD rules before starting work:
127
+ ```yaml
128
+ sync:
129
+ agents:
130
+ - claude
131
+ - codex
132
+ - gemini
133
+ - qwen
134
+ ```
135
135
 
136
136
  ```bash
137
- atdd gate # Show gate verification info
138
- atdd gate --json # Output as JSON for programmatic use
137
+ atdd sync # Creates/updates CLAUDE.md, AGENTS.md, GEMINI.md, QWEN.md
139
138
  ```
140
139
 
141
- Example output:
140
+ ### ATDD Gate (Bootstrap Protocol)
141
+
142
+ Agents often skip instruction files. The gate solves this by injecting rules via mandatory tool output.
143
+
144
+ **Protocol:**
145
+
146
+ 1. Run this command first:
147
+ ```bash
148
+ atdd gate
149
+ ```
150
+
151
+ 2. Agent must paste output and confirm:
152
+ - Which file(s) were loaded
153
+ - The reported hash
154
+ - The key constraints
155
+
156
+ 3. If files are missing/unsynced:
157
+ ```bash
158
+ atdd sync
159
+ atdd gate # Re-verify
160
+ ```
161
+
162
+ **Example output:**
142
163
  ```
143
164
  ============================================================
144
165
  ATDD Gate Verification
@@ -157,9 +178,12 @@ Before starting work, confirm you have loaded these rules.
157
178
  ------------------------------------------------------------
158
179
  ```
159
180
 
160
- Agents should confirm at the start of each session:
161
- - Which ATDD file(s) they loaded
162
- - The key constraints they will follow
181
+ **Why this works:**
182
+ - Gate output is mandatory tool output - agent can't ignore it
183
+ - Proves which ATDD files were actually loaded
184
+ - Forces consistency across all agents
185
+
186
+ **Rule:** If ATDD rules matter, start with `atdd gate`. No gate = no guarantees.
163
187
 
164
188
  ### Validation
165
189
 
@@ -27,22 +27,15 @@ atdd --help
27
27
  ## Quick Start
28
28
 
29
29
  ```bash
30
- # Initialize ATDD in your project
31
- atdd init
32
-
33
- # Create a planning session
34
- atdd session new my-feature
35
-
36
- # List sessions
37
- atdd session list
38
-
39
- # Sync ATDD rules to agent config files
40
- atdd sync
41
-
42
- # Run validators
43
- atdd --test all
30
+ atdd init # Initialize ATDD in your project
31
+ atdd gate # ⚠️ START EVERY SESSION WITH THIS
32
+ atdd session new my-feature # Create a planning session
33
+ atdd sync # Sync rules to agent config files
34
+ atdd --test all # Run validators
44
35
  ```
45
36
 
37
+ > **⚠️ `atdd gate` is required.** Agents skip instruction files but can't ignore tool output. No gate = no ATDD guarantees.
38
+
46
39
  ## What It Does
47
40
 
48
41
  ATDD provides:
@@ -115,16 +108,44 @@ sync:
115
108
  # - qwen # Uncomment to sync QWEN.md
116
109
  ```
117
110
 
118
- ### ATDD Gate
111
+ **Multi-agent setup:** To use multiple agents with consistent rules, enable them all in config and run sync:
119
112
 
120
- Verify agents have loaded ATDD rules before starting work:
113
+ ```yaml
114
+ sync:
115
+ agents:
116
+ - claude
117
+ - codex
118
+ - gemini
119
+ - qwen
120
+ ```
121
121
 
122
122
  ```bash
123
- atdd gate # Show gate verification info
124
- atdd gate --json # Output as JSON for programmatic use
123
+ atdd sync # Creates/updates CLAUDE.md, AGENTS.md, GEMINI.md, QWEN.md
125
124
  ```
126
125
 
127
- Example output:
126
+ ### ATDD Gate (Bootstrap Protocol)
127
+
128
+ Agents often skip instruction files. The gate solves this by injecting rules via mandatory tool output.
129
+
130
+ **Protocol:**
131
+
132
+ 1. Run this command first:
133
+ ```bash
134
+ atdd gate
135
+ ```
136
+
137
+ 2. Agent must paste output and confirm:
138
+ - Which file(s) were loaded
139
+ - The reported hash
140
+ - The key constraints
141
+
142
+ 3. If files are missing/unsynced:
143
+ ```bash
144
+ atdd sync
145
+ atdd gate # Re-verify
146
+ ```
147
+
148
+ **Example output:**
128
149
  ```
129
150
  ============================================================
130
151
  ATDD Gate Verification
@@ -143,9 +164,12 @@ Before starting work, confirm you have loaded these rules.
143
164
  ------------------------------------------------------------
144
165
  ```
145
166
 
146
- Agents should confirm at the start of each session:
147
- - Which ATDD file(s) they loaded
148
- - The key constraints they will follow
167
+ **Why this works:**
168
+ - Gate output is mandatory tool output - agent can't ignore it
169
+ - Proves which ATDD files were actually loaded
170
+ - Forces consistency across all agents
171
+
172
+ **Rule:** If ATDD rules matter, start with `atdd gate`. No gate = no guarantees.
149
173
 
150
174
  ### Validation
151
175
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "atdd"
7
- version = "0.2.4"
7
+ version = "0.2.7"
8
8
  description = "ATDD Platform - Acceptance Test Driven Development toolkit"
9
9
  requires-python = ">=3.10"
10
10
  readme = "README.md"
@@ -4,20 +4,41 @@ missions:
4
4
  validate_phase_transitions: "Phase transitions and quality gates per conventions and schemas"
5
5
  required: true
6
6
 
7
- # ATDD Gate (REQUIRED before any work)
8
- # =====================================
9
- # Before starting ANY task, you MUST confirm you have loaded these rules.
10
- # Provide this confirmation at the start of your first response:
7
+ # =============================================================================
8
+ # ATDD AGENT BOOTSTRAP PROTOCOL (REQUIRED)
9
+ # =============================================================================
11
10
  #
12
- # ## ATDD Gate Confirmation
13
- # - **File loaded:** CLAUDE.md (or AGENTS.md, etc.)
14
- # - **Key constraints:**
15
- # 1. No ad-hoc tests - follow ATDD conventions
16
- # 2. Domain layer NEVER imports from other layers
17
- # 3. Phase transitions require quality gates
11
+ # Problem: Agents often skip instruction files and work without ATDD context.
12
+ # Solution: Coercive context - inject rules via mandatory tool output.
18
13
  #
19
- # If you cannot provide this confirmation, STOP and reload the rules.
20
- # Run `atdd gate` to verify the expected values.
14
+ # PROTOCOL:
15
+ # ---------
16
+ # 1. Run this command FIRST:
17
+ #
18
+ # atdd gate
19
+ #
20
+ # 2. Paste the output and confirm:
21
+ # - Which file(s) were loaded
22
+ # - The reported hash
23
+ # - The key ATDD constraints
24
+ #
25
+ # 3. If output shows missing/unsynced files, run:
26
+ #
27
+ # atdd sync
28
+ #
29
+ # Then re-run: atdd gate
30
+ #
31
+ # WHY THIS WORKS:
32
+ # - Gate output is mandatory tool output - agent can't ignore it
33
+ # - Proves which ATDD files were actually loaded
34
+ # - Forces consistency across all agents
35
+ #
36
+ # FAILURE MODE:
37
+ # - If agent skips the gate: STOP and run atdd gate again
38
+ # - Don't proceed until gate confirmation is posted
39
+ #
40
+ # RULE: If ATDD rules matter, start with `atdd gate`. No gate = no guarantees.
41
+ # =============================================================================
21
42
 
22
43
  manifest:
23
44
  - trains: "plan/_trains.yaml"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atdd
3
- Version: 0.2.4
3
+ Version: 0.2.7
4
4
  Summary: ATDD Platform - Acceptance Test Driven Development toolkit
5
5
  License: MIT
6
6
  Requires-Python: >=3.10
@@ -41,22 +41,15 @@ atdd --help
41
41
  ## Quick Start
42
42
 
43
43
  ```bash
44
- # Initialize ATDD in your project
45
- atdd init
46
-
47
- # Create a planning session
48
- atdd session new my-feature
49
-
50
- # List sessions
51
- atdd session list
52
-
53
- # Sync ATDD rules to agent config files
54
- atdd sync
55
-
56
- # Run validators
57
- atdd --test all
44
+ atdd init # Initialize ATDD in your project
45
+ atdd gate # ⚠️ START EVERY SESSION WITH THIS
46
+ atdd session new my-feature # Create a planning session
47
+ atdd sync # Sync rules to agent config files
48
+ atdd --test all # Run validators
58
49
  ```
59
50
 
51
+ > **⚠️ `atdd gate` is required.** Agents skip instruction files but can't ignore tool output. No gate = no ATDD guarantees.
52
+
60
53
  ## What It Does
61
54
 
62
55
  ATDD provides:
@@ -129,16 +122,44 @@ sync:
129
122
  # - qwen # Uncomment to sync QWEN.md
130
123
  ```
131
124
 
132
- ### ATDD Gate
125
+ **Multi-agent setup:** To use multiple agents with consistent rules, enable them all in config and run sync:
133
126
 
134
- Verify agents have loaded ATDD rules before starting work:
127
+ ```yaml
128
+ sync:
129
+ agents:
130
+ - claude
131
+ - codex
132
+ - gemini
133
+ - qwen
134
+ ```
135
135
 
136
136
  ```bash
137
- atdd gate # Show gate verification info
138
- atdd gate --json # Output as JSON for programmatic use
137
+ atdd sync # Creates/updates CLAUDE.md, AGENTS.md, GEMINI.md, QWEN.md
139
138
  ```
140
139
 
141
- Example output:
140
+ ### ATDD Gate (Bootstrap Protocol)
141
+
142
+ Agents often skip instruction files. The gate solves this by injecting rules via mandatory tool output.
143
+
144
+ **Protocol:**
145
+
146
+ 1. Run this command first:
147
+ ```bash
148
+ atdd gate
149
+ ```
150
+
151
+ 2. Agent must paste output and confirm:
152
+ - Which file(s) were loaded
153
+ - The reported hash
154
+ - The key constraints
155
+
156
+ 3. If files are missing/unsynced:
157
+ ```bash
158
+ atdd sync
159
+ atdd gate # Re-verify
160
+ ```
161
+
162
+ **Example output:**
142
163
  ```
143
164
  ============================================================
144
165
  ATDD Gate Verification
@@ -157,9 +178,12 @@ Before starting work, confirm you have loaded these rules.
157
178
  ------------------------------------------------------------
158
179
  ```
159
180
 
160
- Agents should confirm at the start of each session:
161
- - Which ATDD file(s) they loaded
162
- - The key constraints they will follow
181
+ **Why this works:**
182
+ - Gate output is mandatory tool output - agent can't ignore it
183
+ - Proves which ATDD files were actually loaded
184
+ - Forces consistency across all agents
185
+
186
+ **Rule:** If ATDD rules matter, start with `atdd gate`. No gate = no guarantees.
163
187
 
164
188
  ### Validation
165
189
 
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