atdd 0.3.3__tar.gz → 0.4.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.
- {atdd-0.3.3/src/atdd.egg-info → atdd-0.4.7}/PKG-INFO +64 -13
- {atdd-0.3.3 → atdd-0.4.7}/README.md +63 -12
- {atdd-0.3.3 → atdd-0.4.7}/pyproject.toml +1 -1
- atdd-0.4.7/src/atdd/cli.py +658 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/add_persistence_metadata.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/infer_governance_status.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/initializer.py +4 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/interface.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/inventory.py +93 -5
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/migration.py +11 -6
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/registry.py +477 -204
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/sync.py +35 -8
- atdd-0.4.7/src/atdd/coach/commands/test_runner.py +180 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/traceability.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/conventions/session.convention.yaml +26 -26
- atdd-0.4.7/src/atdd/coach/schemas/config.schema.json +65 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/templates/ATDD.md +19 -16
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/templates/SESSION-TEMPLATE.md +13 -13
- atdd-0.4.7/src/atdd/coach/utils/config.py +131 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/utils/repo.py +24 -8
- atdd-0.4.7/src/atdd/coach/utils/train_spec_phase.py +97 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/shared_fixtures.py +95 -15
- atdd-0.4.7/src/atdd/coach/validators/test_release_versioning.py +190 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/test_session_validation.py +4 -4
- atdd-0.4.7/src/atdd/coach/validators/test_train_registry.py +189 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/commons.convention.yaml +1 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/tests/test_component_taxonomy.py +4 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/tests/test_component_urn_naming.py +9 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_commons_structure.py +9 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_complexity.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_cross_language_consistency.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_design_system_compliance.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_dto_testing_patterns.py +10 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_green_cross_stack_layers.py +9 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_green_layer_dependencies.py +9 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_green_python_layer_structure.py +8 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_green_supabase_layer_structure.py +8 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_import_boundaries.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_init_file_urns.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_preact_layer_boundaries.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_presentation_convention.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_python_architecture.py +9 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_quality_metrics.py +2 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_station_master_pattern.py +4 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_train_infrastructure.py +245 -4
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_train_urns.py +9 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_typescript_architecture.py +10 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_usecase_structure.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/test_wagon_boundaries.py +8 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/train.schema.json +125 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_plan_cross_refs.py +4 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_plan_urn_resolution.py +3 -1
- atdd-0.4.7/src/atdd/planner/validators/test_train_validation.py +1181 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_wagon_urn_chain.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_wmbt_consistency.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_wmbt_vocabulary.py +8 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/contract.convention.yaml +1 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/migration.convention.yaml +5 -5
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/cleanup_duplicate_headers.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/cleanup_duplicate_headers_v2.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/coverage_gap_report.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/fix_dual_ac_references.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/remove_duplicate_lines.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py +9 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_acceptance_urn_separator.py +9 -3
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_contract_schema_compliance.py +9 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_contracts_structure.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_coverage_adequacy.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_dual_ac_reference.py +6 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_fixture_validity.py +2 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_isolation.py +9 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_migration_coverage.py +4 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_migration_generation.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_python_test_naming.py +3 -1
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_red_layer_validation.py +7 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_red_python_layer_structure.py +7 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_red_supabase_layer_structure.py +8 -2
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_telemetry_structure.py +9 -2
- atdd-0.4.7/src/atdd/tester/validators/test_train_backend_e2e.py +371 -0
- atdd-0.4.7/src/atdd/tester/validators/test_train_frontend_e2e.py +292 -0
- atdd-0.4.7/src/atdd/tester/validators/test_train_frontend_python.py +282 -0
- {atdd-0.3.3 → atdd-0.4.7/src/atdd.egg-info}/PKG-INFO +64 -13
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd.egg-info/SOURCES.txt +7 -0
- atdd-0.3.3/src/atdd/cli.py +0 -452
- atdd-0.3.3/src/atdd/coach/commands/test_runner.py +0 -141
- atdd-0.3.3/src/atdd/coach/schemas/config.schema.json +0 -34
- atdd-0.3.3/src/atdd/planner/validators/test_train_validation.py +0 -514
- {atdd-0.3.3 → atdd-0.4.7}/LICENSE +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/setup.cfg +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/__main__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/analyze_migrations.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/consumers.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/gate.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/session.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/test_interface.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/tests/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/commands/tests/test_telemetry_array_validation.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/overlays/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/overlays/claude.md +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/schemas/manifest.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/utils/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/utils/graph/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/utils/graph/urn.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/test_enrich_wagon_registry.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/test_registry.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/test_traceability.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/test_update_feature_paths.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coach/validators/test_validate_contract_consumers.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/adapter.recipe.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/backend.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/boundaries.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/complexity.recipe.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/component-naming.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/design.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/design.recipe.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/dto.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/frontend.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/green.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/presentation.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/refactor.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/technology.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/tests/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/tests/test_adapter_recipe.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/tests/test_complexity_recipe.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/tests/test_thinness_recipe.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/thinness.recipe.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/train.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/conventions/verification.protocol.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/schemas/design_system.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/coder/validators/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/conftest.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/acceptance.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/appendix.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/artifact-naming.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/component.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/criteria.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/feature.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/interface.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/steps.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/train.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/wagon.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/conventions/wmbt.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/acceptance.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/appendix.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/component.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/feature.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/wagon.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/schemas/wmbt.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/conftest.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_draft_wagon_registry.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_plan_uniqueness.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/planner/validators/test_plan_wagons.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/artifact.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/filename.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/red.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/routing.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/security.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/conventions/telemetry.convention.yaml +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/a11y.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/artifact.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/contract.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/contract.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/db.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/e2e.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/edge_function.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/event.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/http.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/job.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/load.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/metric.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/pack.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/realtime.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/rls.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/script.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/sec.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/storage.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/telemetry.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/telemetry_tracking_manifest.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/test_filename.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/test_intent.schema.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/unit.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/visual.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/schemas/ws.tmpl.json +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/utils/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/utils/filename.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/__init__.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/conftest.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_artifact_naming_category.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_contract_security.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_migration_criteria.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_typescript_test_naming.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/tester/validators/test_typescript_test_structure.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd/version_check.py +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd.egg-info/dependency_links.txt +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd.egg-info/entry_points.txt +0 -0
- {atdd-0.3.3 → atdd-0.4.7}/src/atdd.egg-info/requires.txt +0 -0
- {atdd-0.3.3 → atdd-0.4.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.
|
|
3
|
+
Version: 0.4.7
|
|
4
4
|
Summary: ATDD Platform - Acceptance Test Driven Development toolkit
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -16,6 +16,15 @@ Dynamic: license-file
|
|
|
16
16
|
|
|
17
17
|
Acceptance Test Driven Development toolkit for structured planning and convention enforcement.
|
|
18
18
|
|
|
19
|
+
ATDD covers the full software lifecycle, not just code. It starts from a job to be done (e.g., user problem or goal), turns it into deterministic requirements, validates them with tests, and then drives implementation.
|
|
20
|
+
|
|
21
|
+
```mermaid
|
|
22
|
+
flowchart LR
|
|
23
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
24
|
+
B -->|Tester| C[RED Tests]
|
|
25
|
+
C -->|Coder| D[GREEN Code]
|
|
26
|
+
```
|
|
27
|
+
|
|
19
28
|
## Installation
|
|
20
29
|
|
|
21
30
|
### From PyPI
|
|
@@ -49,14 +58,20 @@ atdd --help
|
|
|
49
58
|
```bash
|
|
50
59
|
atdd init # Initialize ATDD in your project
|
|
51
60
|
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
52
|
-
atdd session new
|
|
61
|
+
atdd session new <task> # Create a planning session
|
|
53
62
|
atdd sync # Sync rules to agent config files
|
|
54
|
-
atdd
|
|
63
|
+
atdd validate # Run all validators
|
|
55
64
|
```
|
|
56
65
|
|
|
57
66
|
> **⚠️ `atdd gate` is required.**
|
|
58
67
|
> 🤖 Tell your agent: "Run `atdd gate` and follow ATDD rigorously."
|
|
59
|
-
> Agents skip instruction files but can't ignore tool
|
|
68
|
+
> Agents skip instruction files but can't ignore tool ou
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
tput. No gate = no ATDD guarantees.
|
|
60
75
|
|
|
61
76
|
## What It Does
|
|
62
77
|
|
|
@@ -67,6 +82,22 @@ ATDD provides:
|
|
|
67
82
|
3. **ATDD Lifecycle** - Planner → Tester → Coder phase gates
|
|
68
83
|
4. **Agent Config Sync** - Keep ATDD rules in sync across AI agent config files
|
|
69
84
|
|
|
85
|
+
```mermaid
|
|
86
|
+
flowchart LR
|
|
87
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
88
|
+
B -->|Tester| C[RED Tests]
|
|
89
|
+
C -->|Coder| D[GREEN Code]
|
|
90
|
+
D -->|Coder| E[REFACTOR]
|
|
91
|
+
E -.->|feedback| B
|
|
92
|
+
|
|
93
|
+
subgraph "ATDD Lifecycle"
|
|
94
|
+
B
|
|
95
|
+
C
|
|
96
|
+
D
|
|
97
|
+
E
|
|
98
|
+
end
|
|
99
|
+
```
|
|
100
|
+
|
|
70
101
|
## Commands
|
|
71
102
|
|
|
72
103
|
### Project Initialization
|
|
@@ -196,19 +227,39 @@ Before starting work, confirm you have loaded these rules.
|
|
|
196
227
|
### Validation
|
|
197
228
|
|
|
198
229
|
```bash
|
|
199
|
-
atdd
|
|
200
|
-
atdd
|
|
201
|
-
atdd
|
|
202
|
-
atdd
|
|
203
|
-
atdd --quick
|
|
230
|
+
atdd validate # Run all validators
|
|
231
|
+
atdd validate planner # Planning validators only
|
|
232
|
+
atdd validate tester # Testing validators only
|
|
233
|
+
atdd validate coder # Implementation validators only
|
|
234
|
+
atdd validate --quick # Fast smoke test
|
|
235
|
+
atdd validate --coverage # With coverage report
|
|
236
|
+
atdd validate --html # With HTML report
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Release Versioning
|
|
240
|
+
|
|
241
|
+
ATDD enforces release versioning via coach validators. Recommended: keep a single root `VERSION` file as the canonical source (first line like `1.2.3 - short summary`; trailing summary is ignored). Configure the version file and tag prefix in `.atdd/config.yaml`:
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
release:
|
|
245
|
+
version_file: "VERSION" # recommended single source of truth
|
|
246
|
+
tag_prefix: "v"
|
|
204
247
|
```
|
|
205
248
|
|
|
249
|
+
If you also publish with language-specific manifests (e.g., `pyproject.toml`, `package.json`), keep their version fields in sync with `VERSION`.
|
|
250
|
+
|
|
251
|
+
Validation (`atdd validate coach` or `atdd validate`) requires:
|
|
252
|
+
- Version file exists and contains a version
|
|
253
|
+
- Git tag on HEAD matches `{tag_prefix}{version}`
|
|
254
|
+
|
|
206
255
|
### Other Commands
|
|
207
256
|
|
|
208
257
|
```bash
|
|
209
|
-
atdd
|
|
210
|
-
atdd
|
|
211
|
-
atdd --
|
|
258
|
+
atdd status # Platform status
|
|
259
|
+
atdd inventory # Generate artifact inventory
|
|
260
|
+
atdd inventory --format json # Inventory as JSON
|
|
261
|
+
atdd registry update # Update all registries
|
|
262
|
+
atdd --help # Full help
|
|
212
263
|
```
|
|
213
264
|
|
|
214
265
|
## Project Structure
|
|
@@ -264,7 +315,7 @@ pytest --cov=atdd --cov-report=html
|
|
|
264
315
|
|
|
265
316
|
1. Create `src/atdd/{phase}/validators/test_{name}.py`
|
|
266
317
|
2. Write pytest test functions
|
|
267
|
-
3. Run `atdd
|
|
318
|
+
3. Run `atdd validate {phase}`
|
|
268
319
|
|
|
269
320
|
Validators are auto-discovered by pytest.
|
|
270
321
|
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Acceptance Test Driven Development toolkit for structured planning and convention enforcement.
|
|
4
4
|
|
|
5
|
+
ATDD covers the full software lifecycle, not just code. It starts from a job to be done (e.g., user problem or goal), turns it into deterministic requirements, validates them with tests, and then drives implementation.
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart LR
|
|
9
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
10
|
+
B -->|Tester| C[RED Tests]
|
|
11
|
+
C -->|Coder| D[GREEN Code]
|
|
12
|
+
```
|
|
13
|
+
|
|
5
14
|
## Installation
|
|
6
15
|
|
|
7
16
|
### From PyPI
|
|
@@ -35,14 +44,20 @@ atdd --help
|
|
|
35
44
|
```bash
|
|
36
45
|
atdd init # Initialize ATDD in your project
|
|
37
46
|
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
38
|
-
atdd session new
|
|
47
|
+
atdd session new <task> # Create a planning session
|
|
39
48
|
atdd sync # Sync rules to agent config files
|
|
40
|
-
atdd
|
|
49
|
+
atdd validate # Run all validators
|
|
41
50
|
```
|
|
42
51
|
|
|
43
52
|
> **⚠️ `atdd gate` is required.**
|
|
44
53
|
> 🤖 Tell your agent: "Run `atdd gate` and follow ATDD rigorously."
|
|
45
|
-
> Agents skip instruction files but can't ignore tool
|
|
54
|
+
> Agents skip instruction files but can't ignore tool ou
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
tput. No gate = no ATDD guarantees.
|
|
46
61
|
|
|
47
62
|
## What It Does
|
|
48
63
|
|
|
@@ -53,6 +68,22 @@ ATDD provides:
|
|
|
53
68
|
3. **ATDD Lifecycle** - Planner → Tester → Coder phase gates
|
|
54
69
|
4. **Agent Config Sync** - Keep ATDD rules in sync across AI agent config files
|
|
55
70
|
|
|
71
|
+
```mermaid
|
|
72
|
+
flowchart LR
|
|
73
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
74
|
+
B -->|Tester| C[RED Tests]
|
|
75
|
+
C -->|Coder| D[GREEN Code]
|
|
76
|
+
D -->|Coder| E[REFACTOR]
|
|
77
|
+
E -.->|feedback| B
|
|
78
|
+
|
|
79
|
+
subgraph "ATDD Lifecycle"
|
|
80
|
+
B
|
|
81
|
+
C
|
|
82
|
+
D
|
|
83
|
+
E
|
|
84
|
+
end
|
|
85
|
+
```
|
|
86
|
+
|
|
56
87
|
## Commands
|
|
57
88
|
|
|
58
89
|
### Project Initialization
|
|
@@ -182,19 +213,39 @@ Before starting work, confirm you have loaded these rules.
|
|
|
182
213
|
### Validation
|
|
183
214
|
|
|
184
215
|
```bash
|
|
185
|
-
atdd
|
|
186
|
-
atdd
|
|
187
|
-
atdd
|
|
188
|
-
atdd
|
|
189
|
-
atdd --quick
|
|
216
|
+
atdd validate # Run all validators
|
|
217
|
+
atdd validate planner # Planning validators only
|
|
218
|
+
atdd validate tester # Testing validators only
|
|
219
|
+
atdd validate coder # Implementation validators only
|
|
220
|
+
atdd validate --quick # Fast smoke test
|
|
221
|
+
atdd validate --coverage # With coverage report
|
|
222
|
+
atdd validate --html # With HTML report
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Release Versioning
|
|
226
|
+
|
|
227
|
+
ATDD enforces release versioning via coach validators. Recommended: keep a single root `VERSION` file as the canonical source (first line like `1.2.3 - short summary`; trailing summary is ignored). Configure the version file and tag prefix in `.atdd/config.yaml`:
|
|
228
|
+
|
|
229
|
+
```yaml
|
|
230
|
+
release:
|
|
231
|
+
version_file: "VERSION" # recommended single source of truth
|
|
232
|
+
tag_prefix: "v"
|
|
190
233
|
```
|
|
191
234
|
|
|
235
|
+
If you also publish with language-specific manifests (e.g., `pyproject.toml`, `package.json`), keep their version fields in sync with `VERSION`.
|
|
236
|
+
|
|
237
|
+
Validation (`atdd validate coach` or `atdd validate`) requires:
|
|
238
|
+
- Version file exists and contains a version
|
|
239
|
+
- Git tag on HEAD matches `{tag_prefix}{version}`
|
|
240
|
+
|
|
192
241
|
### Other Commands
|
|
193
242
|
|
|
194
243
|
```bash
|
|
195
|
-
atdd
|
|
196
|
-
atdd
|
|
197
|
-
atdd --
|
|
244
|
+
atdd status # Platform status
|
|
245
|
+
atdd inventory # Generate artifact inventory
|
|
246
|
+
atdd inventory --format json # Inventory as JSON
|
|
247
|
+
atdd registry update # Update all registries
|
|
248
|
+
atdd --help # Full help
|
|
198
249
|
```
|
|
199
250
|
|
|
200
251
|
## Project Structure
|
|
@@ -250,7 +301,7 @@ pytest --cov=atdd --cov-report=html
|
|
|
250
301
|
|
|
251
302
|
1. Create `src/atdd/{phase}/validators/test_{name}.py`
|
|
252
303
|
2. Write pytest test functions
|
|
253
|
-
3. Run `atdd
|
|
304
|
+
3. Run `atdd validate {phase}`
|
|
254
305
|
|
|
255
306
|
Validators are auto-discovered by pytest.
|
|
256
307
|
|