atdd 0.3.3__py3-none-any.whl → 0.4.0__py3-none-any.whl
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/cli.py +223 -76
- atdd/coach/commands/add_persistence_metadata.py +3 -1
- atdd/coach/commands/infer_governance_status.py +3 -1
- atdd/coach/commands/interface.py +3 -1
- atdd/coach/commands/inventory.py +2 -2
- atdd/coach/commands/migration.py +11 -6
- atdd/coach/commands/test_runner.py +66 -27
- atdd/coach/commands/traceability.py +3 -1
- atdd/coach/conventions/session.convention.yaml +26 -26
- atdd/coach/templates/ATDD.md +15 -15
- atdd/coach/templates/SESSION-TEMPLATE.md +12 -12
- atdd/coach/utils/repo.py +24 -8
- atdd/coach/validators/shared_fixtures.py +8 -3
- atdd/coach/validators/test_session_validation.py +4 -4
- atdd/coder/conventions/tests/test_component_taxonomy.py +4 -3
- atdd/coder/conventions/tests/test_component_urn_naming.py +3 -1
- atdd/coder/validators/test_commons_structure.py +3 -1
- atdd/coder/validators/test_complexity.py +3 -1
- atdd/coder/validators/test_cross_language_consistency.py +3 -1
- atdd/coder/validators/test_design_system_compliance.py +3 -1
- atdd/coder/validators/test_dto_testing_patterns.py +4 -2
- atdd/coder/validators/test_green_cross_stack_layers.py +3 -1
- atdd/coder/validators/test_green_layer_dependencies.py +3 -1
- atdd/coder/validators/test_green_python_layer_structure.py +3 -1
- atdd/coder/validators/test_green_supabase_layer_structure.py +2 -1
- atdd/coder/validators/test_import_boundaries.py +3 -1
- atdd/coder/validators/test_init_file_urns.py +3 -1
- atdd/coder/validators/test_preact_layer_boundaries.py +3 -1
- atdd/coder/validators/test_presentation_convention.py +3 -1
- atdd/coder/validators/test_python_architecture.py +3 -1
- atdd/coder/validators/test_quality_metrics.py +2 -1
- atdd/coder/validators/test_station_master_pattern.py +4 -2
- atdd/coder/validators/test_train_infrastructure.py +3 -1
- atdd/coder/validators/test_train_urns.py +3 -1
- atdd/coder/validators/test_typescript_architecture.py +3 -1
- atdd/coder/validators/test_usecase_structure.py +3 -1
- atdd/coder/validators/test_wagon_boundaries.py +2 -1
- atdd/planner/validators/test_plan_urn_resolution.py +3 -1
- atdd/planner/validators/test_wagon_urn_chain.py +3 -1
- atdd/planner/validators/test_wmbt_consistency.py +3 -1
- atdd/planner/validators/test_wmbt_vocabulary.py +2 -1
- atdd/tester/conventions/contract.convention.yaml +1 -1
- atdd/tester/conventions/migration.convention.yaml +5 -5
- atdd/tester/validators/cleanup_duplicate_headers.py +3 -1
- atdd/tester/validators/cleanup_duplicate_headers_v2.py +3 -1
- atdd/tester/validators/coverage_gap_report.py +3 -1
- atdd/tester/validators/fix_dual_ac_references.py +3 -1
- atdd/tester/validators/remove_duplicate_lines.py +3 -1
- atdd/tester/validators/test_acceptance_urn_filename_mapping.py +3 -1
- atdd/tester/validators/test_acceptance_urn_separator.py +3 -1
- atdd/tester/validators/test_contract_schema_compliance.py +3 -1
- atdd/tester/validators/test_contracts_structure.py +3 -1
- atdd/tester/validators/test_coverage_adequacy.py +3 -1
- atdd/tester/validators/test_dual_ac_reference.py +3 -1
- atdd/tester/validators/test_fixture_validity.py +2 -1
- atdd/tester/validators/test_isolation.py +3 -1
- atdd/tester/validators/test_migration_coverage.py +4 -2
- atdd/tester/validators/test_migration_generation.py +3 -1
- atdd/tester/validators/test_python_test_naming.py +3 -1
- atdd/tester/validators/test_red_layer_validation.py +2 -1
- atdd/tester/validators/test_red_python_layer_structure.py +2 -1
- atdd/tester/validators/test_red_supabase_layer_structure.py +3 -1
- atdd/tester/validators/test_telemetry_structure.py +3 -1
- {atdd-0.3.3.dist-info → atdd-0.4.0.dist-info}/METADATA +41 -12
- {atdd-0.3.3.dist-info → atdd-0.4.0.dist-info}/RECORD +69 -69
- {atdd-0.3.3.dist-info → atdd-0.4.0.dist-info}/WHEEL +0 -0
- {atdd-0.3.3.dist-info → atdd-0.4.0.dist-info}/entry_points.txt +0 -0
- {atdd-0.3.3.dist-info → atdd-0.4.0.dist-info}/licenses/LICENSE +0 -0
- {atdd-0.3.3.dist-info → atdd-0.4.0.dist-info}/top_level.txt +0 -0
|
@@ -8,8 +8,9 @@ import pytest
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
import yaml
|
|
10
10
|
|
|
11
|
+
from atdd.coach.utils.repo import find_repo_root
|
|
11
12
|
|
|
12
|
-
REPO_ROOT =
|
|
13
|
+
REPO_ROOT = find_repo_root()
|
|
13
14
|
RED_CONVENTION = REPO_ROOT / "atdd" / "tester" / "conventions" / "red.convention.yaml"
|
|
14
15
|
|
|
15
16
|
|
|
@@ -8,8 +8,9 @@ import pytest
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
import yaml
|
|
10
10
|
|
|
11
|
+
from atdd.coach.utils.repo import find_repo_root
|
|
11
12
|
|
|
12
|
-
REPO_ROOT =
|
|
13
|
+
REPO_ROOT = find_repo_root()
|
|
13
14
|
RED_CONVENTION = REPO_ROOT / "atdd" / "tester" / "conventions" / "red.convention.yaml"
|
|
14
15
|
|
|
15
16
|
|
|
@@ -8,8 +8,10 @@ import pytest
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
import yaml
|
|
10
10
|
|
|
11
|
+
from atdd.coach.utils.repo import find_repo_root
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
|
|
14
|
+
REPO_ROOT = find_repo_root()
|
|
13
15
|
RED_CONVENTION = REPO_ROOT / "atdd" / "tester" / "conventions" / "red.convention.yaml"
|
|
14
16
|
|
|
15
17
|
|
|
@@ -10,8 +10,10 @@ import re
|
|
|
10
10
|
import json
|
|
11
11
|
from jsonschema import validate, ValidationError
|
|
12
12
|
|
|
13
|
+
from atdd.coach.utils.repo import find_repo_root
|
|
14
|
+
|
|
13
15
|
# Path constants
|
|
14
|
-
REPO_ROOT =
|
|
16
|
+
REPO_ROOT = find_repo_root()
|
|
15
17
|
TELEMETRY_DIR = REPO_ROOT / "telemetry"
|
|
16
18
|
CONTRACTS_DIR = REPO_ROOT / "contracts"
|
|
17
19
|
PLAN_DIR = REPO_ROOT / "plan"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atdd
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
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,9 +58,9 @@ 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 <capability> # 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.**
|
|
@@ -67,6 +76,22 @@ ATDD provides:
|
|
|
67
76
|
3. **ATDD Lifecycle** - Planner → Tester → Coder phase gates
|
|
68
77
|
4. **Agent Config Sync** - Keep ATDD rules in sync across AI agent config files
|
|
69
78
|
|
|
79
|
+
```mermaid
|
|
80
|
+
flowchart LR
|
|
81
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
82
|
+
B -->|Tester| C[RED Tests]
|
|
83
|
+
C -->|Coder| D[GREEN Code]
|
|
84
|
+
D -->|Coder| E[REFACTOR]
|
|
85
|
+
E -.->|feedback| B
|
|
86
|
+
|
|
87
|
+
subgraph "ATDD Lifecycle"
|
|
88
|
+
B
|
|
89
|
+
C
|
|
90
|
+
D
|
|
91
|
+
E
|
|
92
|
+
end
|
|
93
|
+
```
|
|
94
|
+
|
|
70
95
|
## Commands
|
|
71
96
|
|
|
72
97
|
### Project Initialization
|
|
@@ -196,19 +221,23 @@ Before starting work, confirm you have loaded these rules.
|
|
|
196
221
|
### Validation
|
|
197
222
|
|
|
198
223
|
```bash
|
|
199
|
-
atdd
|
|
200
|
-
atdd
|
|
201
|
-
atdd
|
|
202
|
-
atdd
|
|
203
|
-
atdd --quick
|
|
224
|
+
atdd validate # Run all validators
|
|
225
|
+
atdd validate planner # Planning validators only
|
|
226
|
+
atdd validate tester # Testing validators only
|
|
227
|
+
atdd validate coder # Implementation validators only
|
|
228
|
+
atdd validate --quick # Fast smoke test
|
|
229
|
+
atdd validate --coverage # With coverage report
|
|
230
|
+
atdd validate --html # With HTML report
|
|
204
231
|
```
|
|
205
232
|
|
|
206
233
|
### Other Commands
|
|
207
234
|
|
|
208
235
|
```bash
|
|
209
|
-
atdd
|
|
210
|
-
atdd
|
|
211
|
-
atdd --
|
|
236
|
+
atdd status # Platform status
|
|
237
|
+
atdd inventory # Generate artifact inventory
|
|
238
|
+
atdd inventory --format json # Inventory as JSON
|
|
239
|
+
atdd registry update # Update all registries
|
|
240
|
+
atdd --help # Full help
|
|
212
241
|
```
|
|
213
242
|
|
|
214
243
|
## Project Structure
|
|
@@ -264,7 +293,7 @@ pytest --cov=atdd --cov-report=html
|
|
|
264
293
|
|
|
265
294
|
1. Create `src/atdd/{phase}/validators/test_{name}.py`
|
|
266
295
|
2. Write pytest test functions
|
|
267
|
-
3. Run `atdd
|
|
296
|
+
3. Run `atdd validate {phase}`
|
|
268
297
|
|
|
269
298
|
Validators are auto-discovered by pytest.
|
|
270
299
|
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
atdd/__init__.py,sha256=-S8i9OahH-t9FJkPn6nprxipnjVum3rLeVsCS74T6eY,156
|
|
2
2
|
atdd/__main__.py,sha256=B0sXDQLjFN9GowTlXo4NMWwPZPjDsrT8Frq7DnbdOD8,77
|
|
3
|
-
atdd/cli.py,sha256=
|
|
3
|
+
atdd/cli.py,sha256=NlhWL8sRLBzISgyn2KM-KT_aYnMBHt_xNP3TqfMHIhA,20364
|
|
4
4
|
atdd/conftest.py,sha256=Fj3kIhCETbj2QBCIjySBgdS3stKNRZcZzKTJr7A4LaQ,5300
|
|
5
5
|
atdd/version_check.py,sha256=BlPcLwzNnm457vWUolB3wMtZEI-fXvpzfm6p8U_j7rc,6684
|
|
6
6
|
atdd/coach/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
atdd/coach/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
atdd/coach/commands/add_persistence_metadata.py,sha256=
|
|
8
|
+
atdd/coach/commands/add_persistence_metadata.py,sha256=AGzQUgMo_8H-YtexYFwQYx0In6fplx_BDLXqWzRIdaw,6918
|
|
9
9
|
atdd/coach/commands/analyze_migrations.py,sha256=2bLfR7OwicBXAZWB4R3Sm4d5jFe87d0O_kO68X96ykU,6083
|
|
10
10
|
atdd/coach/commands/consumers.py,sha256=7vTexse8xznXSzNWjPGYuF4iJ8ZWymmOSkpcA6IWyxU,27514
|
|
11
11
|
atdd/coach/commands/gate.py,sha256=_V2GypqoGixTs_kLWxFF3HgEt-Wi2r6Iv0YL75yWrWo,5829
|
|
12
|
-
atdd/coach/commands/infer_governance_status.py,sha256=
|
|
12
|
+
atdd/coach/commands/infer_governance_status.py,sha256=MlLnx8SrJAOQq2rfuxLZMmyNylCQ-OYx4tSi_iFdhRA,4504
|
|
13
13
|
atdd/coach/commands/initializer.py,sha256=s7NnITF4c6xGlN6ZJVjyv4a4jxGMjK9OPG1C-OIG55A,6385
|
|
14
|
-
atdd/coach/commands/interface.py,sha256=
|
|
15
|
-
atdd/coach/commands/inventory.py,sha256=
|
|
16
|
-
atdd/coach/commands/migration.py,sha256=
|
|
14
|
+
atdd/coach/commands/interface.py,sha256=FwBrJpWkfSL9n4n0HT_EC-alseXgU0bweKD4TImyHN0,40483
|
|
15
|
+
atdd/coach/commands/inventory.py,sha256=qU42MnkXt1JSBh5GU7pPSKmCO27Zfga7XwMT19RquJE,20969
|
|
16
|
+
atdd/coach/commands/migration.py,sha256=wRxU7emvvHqWt1MvXKkNTkPBjp0sU9g8F5Uy5yV2YfI,8177
|
|
17
17
|
atdd/coach/commands/registry.py,sha256=r1QWg841eK6bS4vEbYEviylDCpFkInUVMTsf5h4ArrQ,58344
|
|
18
18
|
atdd/coach/commands/session.py,sha256=MhuWXd5TR6bB3w0t8vANeZx3L476qwLT6EUQMwg-wQA,14268
|
|
19
19
|
atdd/coach/commands/sync.py,sha256=4HNzg8AVaePDwhyBlQcywvNVZDP5NIW8TBsEPbqmJuQ,12545
|
|
20
20
|
atdd/coach/commands/test_interface.py,sha256=a7ut2Hhk0PnQ5LfJZkoQwfkfkVuB5OHA4QBwOS0-jcg,16870
|
|
21
|
-
atdd/coach/commands/test_runner.py,sha256=
|
|
22
|
-
atdd/coach/commands/traceability.py,sha256=
|
|
21
|
+
atdd/coach/commands/test_runner.py,sha256=_6JrDRq5fBHUOC4MtkgXcjkgJjG80otoGRTqnkEphIk,5832
|
|
22
|
+
atdd/coach/commands/traceability.py,sha256=8TmpZDeUVHJAz-p3oxXq55jCFiFpKIQR8h1wLZVYcgA,163612
|
|
23
23
|
atdd/coach/commands/tests/__init__.py,sha256=svBEnRruMuXuaYi3lFxJlzHNWdZ5vlBTaBpjXupaxDA,33
|
|
24
24
|
atdd/coach/commands/tests/test_telemetry_array_validation.py,sha256=WK5ZXvR1avlzX7mSX84dmxxLFnw7eQB4jtjo7bHG7aE,8464
|
|
25
|
-
atdd/coach/conventions/session.convention.yaml,sha256=
|
|
25
|
+
atdd/coach/conventions/session.convention.yaml,sha256=1wCxQ_Y2Wb2080Xt2JZs0_WsV8_4SC0Tq87G_BCGdiE,26049
|
|
26
26
|
atdd/coach/overlays/__init__.py,sha256=2lMiMSgfLJ3YHLpbzNI5B88AdQxiMEwjIfsWWb8t3To,123
|
|
27
27
|
atdd/coach/overlays/claude.md,sha256=33mhpqhmsRhCtdWlU7cMXAJDsaVra9uBBK8URV8OtQA,101
|
|
28
28
|
atdd/coach/schemas/config.schema.json,sha256=xzct7gBoPTIGh3NFPSGtfW0zIiyFdHDZkvjuy1qgAqA,951
|
|
29
29
|
atdd/coach/schemas/manifest.schema.json,sha256=WO13-YF_FgH1awh96khCtk-112b6XSC24anlY3B7GjY,2885
|
|
30
|
-
atdd/coach/templates/ATDD.md,sha256=
|
|
31
|
-
atdd/coach/templates/SESSION-TEMPLATE.md,sha256=
|
|
30
|
+
atdd/coach/templates/ATDD.md,sha256=jovi7CeJKidboZPKLmge5OCNESq998dHPr8zTHRRvlg,13100
|
|
31
|
+
atdd/coach/templates/SESSION-TEMPLATE.md,sha256=gcmfDDD6rREI20vhWXlf01AGbRbR8Hh7Q4QZX4H-pVw,9455
|
|
32
32
|
atdd/coach/utils/__init__.py,sha256=7Jbo-heJEKSAn6I0s35z_2S4R8qGZ48PL6a2IntcNYg,148
|
|
33
|
-
atdd/coach/utils/repo.py,sha256=
|
|
33
|
+
atdd/coach/utils/repo.py,sha256=0kiF5WpVTen0nO14u5T0RflznZhgGco2i9CwKobOh38,3757
|
|
34
34
|
atdd/coach/utils/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
35
|
atdd/coach/utils/graph/urn.py,sha256=O2AHIB_CmmMUvXzyejc_oFReNW_rOcw7m4qaqSYcnNQ,33558
|
|
36
36
|
atdd/coach/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
atdd/coach/validators/shared_fixtures.py,sha256=
|
|
37
|
+
atdd/coach/validators/shared_fixtures.py,sha256=ZWZl6vyny8bv4BehJwPAz_Czld1mR3u_SLgC8uL4bhc,12142
|
|
38
38
|
atdd/coach/validators/test_enrich_wagon_registry.py,sha256=WeTwYJqoNY6mEYc-QAvQo7YVagSOjaNKxB6Q6dpWqIM,6561
|
|
39
39
|
atdd/coach/validators/test_registry.py,sha256=ffN70yA_1xxL3R8gdpGbY2M8dQXyuajIZhBZ-ylNiNs,17845
|
|
40
|
-
atdd/coach/validators/test_session_validation.py,sha256=
|
|
40
|
+
atdd/coach/validators/test_session_validation.py,sha256=0VszXtFwRTO04b5CxDPO3klk0VfiqlpdbNpshjMn-qU,39079
|
|
41
41
|
atdd/coach/validators/test_traceability.py,sha256=qTyobt41VBiCr6xRN2C7BPtGYvk_2poVQIe814Blt8E,15977
|
|
42
42
|
atdd/coach/validators/test_update_feature_paths.py,sha256=zOKVDgEIpncSJwDh_shyyou5Pu-Ai7Z_XgF8zAbQVTA,4528
|
|
43
43
|
atdd/coach/validators/test_validate_contract_consumers.py,sha256=b01yam_GwAERF6YaFmUV6Bd7SNMWQkUKBfNVvplbEcU,12613
|
|
@@ -62,32 +62,32 @@ atdd/coder/conventions/verification.protocol.yaml,sha256=tYOId2A8xKoTqjcrKN1RNUK
|
|
|
62
62
|
atdd/coder/conventions/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
63
|
atdd/coder/conventions/tests/test_adapter_recipe.py,sha256=293CU9rj7z6bj_1Wh02VhVCslaHfK-KeMJFgKgK7cvM,9370
|
|
64
64
|
atdd/coder/conventions/tests/test_complexity_recipe.py,sha256=xz-SbIjPRLRdiydRhX1rkHg1aszWyxjo5bJVa5gGohU,9123
|
|
65
|
-
atdd/coder/conventions/tests/test_component_taxonomy.py,sha256=
|
|
66
|
-
atdd/coder/conventions/tests/test_component_urn_naming.py,sha256=
|
|
65
|
+
atdd/coder/conventions/tests/test_component_taxonomy.py,sha256=ur_vVh_4G30cYcUEF_Lo0-F9Szno3qNHMuOQyxj7pSI,14037
|
|
66
|
+
atdd/coder/conventions/tests/test_component_urn_naming.py,sha256=XAROfe-fpkY49vIRf8w-4ivj7hvYomrmWKmJ2uZ6Snk,6367
|
|
67
67
|
atdd/coder/conventions/tests/test_thinness_recipe.py,sha256=cO2BpGnlN62rwje43e-zoh1mADqrtQadPeqRARM9_YE,8702
|
|
68
68
|
atdd/coder/schemas/design_system.schema.json,sha256=KgHxYa3DeNZdXwn17WniTPN-T-ALdHJpk96YZv4WapU,10101
|
|
69
69
|
atdd/coder/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
|
-
atdd/coder/validators/test_commons_structure.py,sha256=
|
|
71
|
-
atdd/coder/validators/test_complexity.py,sha256=
|
|
72
|
-
atdd/coder/validators/test_cross_language_consistency.py,sha256=
|
|
73
|
-
atdd/coder/validators/test_design_system_compliance.py,sha256=
|
|
74
|
-
atdd/coder/validators/test_dto_testing_patterns.py,sha256=
|
|
75
|
-
atdd/coder/validators/test_green_cross_stack_layers.py,sha256=
|
|
76
|
-
atdd/coder/validators/test_green_layer_dependencies.py,sha256=
|
|
77
|
-
atdd/coder/validators/test_green_python_layer_structure.py,sha256=
|
|
78
|
-
atdd/coder/validators/test_green_supabase_layer_structure.py,sha256=
|
|
79
|
-
atdd/coder/validators/test_import_boundaries.py,sha256=
|
|
80
|
-
atdd/coder/validators/test_init_file_urns.py,sha256=
|
|
81
|
-
atdd/coder/validators/test_preact_layer_boundaries.py,sha256=
|
|
82
|
-
atdd/coder/validators/test_presentation_convention.py,sha256=
|
|
83
|
-
atdd/coder/validators/test_python_architecture.py,sha256=
|
|
84
|
-
atdd/coder/validators/test_quality_metrics.py,sha256=
|
|
85
|
-
atdd/coder/validators/test_station_master_pattern.py,sha256=
|
|
86
|
-
atdd/coder/validators/test_train_infrastructure.py,sha256=
|
|
87
|
-
atdd/coder/validators/test_train_urns.py,sha256=
|
|
88
|
-
atdd/coder/validators/test_typescript_architecture.py,sha256=
|
|
89
|
-
atdd/coder/validators/test_usecase_structure.py,sha256=
|
|
90
|
-
atdd/coder/validators/test_wagon_boundaries.py,sha256=
|
|
70
|
+
atdd/coder/validators/test_commons_structure.py,sha256=MSoofMREjdWXsaoy2zvloiBzxk1J80FEOcpd7ed22fs,15449
|
|
71
|
+
atdd/coder/validators/test_complexity.py,sha256=jWDLOUfs66L4vrzWJ41qJTA_AVOeZzXKW94SqMz80I4,12310
|
|
72
|
+
atdd/coder/validators/test_cross_language_consistency.py,sha256=FTHJByvA_zJmJyK8VAK9h0EZaKafP6FmQn9wuoySlks,13204
|
|
73
|
+
atdd/coder/validators/test_design_system_compliance.py,sha256=UA9UwzbayiXnIgYwcQmb4Z7wbntN2oCxOc7eaAeFK6U,14541
|
|
74
|
+
atdd/coder/validators/test_dto_testing_patterns.py,sha256=JMdUWsn0yviOVtMo7zbJ6r3lZbj4SkhSBIIIQ940pE8,9429
|
|
75
|
+
atdd/coder/validators/test_green_cross_stack_layers.py,sha256=OS337t0x3yEITYqS0Q-qCXS9jT_Izz9ctvW3McF90zo,6822
|
|
76
|
+
atdd/coder/validators/test_green_layer_dependencies.py,sha256=xovqlIygF6PTwtflXxPIkWMfwQsbkgqLwsFVFzq3s3E,5530
|
|
77
|
+
atdd/coder/validators/test_green_python_layer_structure.py,sha256=NCOd7X-TzDP-EnF08CR8NZLG-91tFVwLWMag2I2jgTA,4287
|
|
78
|
+
atdd/coder/validators/test_green_supabase_layer_structure.py,sha256=Sn2PK6DfrzJPzXH7Sp24qIs-YtTKtkIbmLrNU_mR7Jg,4275
|
|
79
|
+
atdd/coder/validators/test_import_boundaries.py,sha256=3kzVMKIwZU9FcS0YLU8gsuHSDRlRr2rU3UPgoraV2FU,11811
|
|
80
|
+
atdd/coder/validators/test_init_file_urns.py,sha256=uDJ2MgfJNFcjzoIKItn73n9V08m3ZBkt1SAZgHWdXPs,17914
|
|
81
|
+
atdd/coder/validators/test_preact_layer_boundaries.py,sha256=rabXY9gif3b8QH9_Kz5Pu6FZSvDpfQKDm_SKjdpLD44,7766
|
|
82
|
+
atdd/coder/validators/test_presentation_convention.py,sha256=ceAtg_sTEJiPkHVfnwBEDTzTH44nKQIiukIEvZz8r18,10037
|
|
83
|
+
atdd/coder/validators/test_python_architecture.py,sha256=NCMUPqgaUUPAvpkzLYb1mgjnznjhXnu5Mw0njRawexI,25115
|
|
84
|
+
atdd/coder/validators/test_quality_metrics.py,sha256=vLWPfL0x9sfCvKXO4uECW61RnJTsjbmuEUjCsBcUmuA,12551
|
|
85
|
+
atdd/coder/validators/test_station_master_pattern.py,sha256=biYwXAftpXdhIhDjn2RrVTdEdvTWPW5ddm2gQubJBXQ,9280
|
|
86
|
+
atdd/coder/validators/test_train_infrastructure.py,sha256=lABiut9zV5IQP_E-41aOOeSXasuNtZz_XXBEwsAj0yI,16073
|
|
87
|
+
atdd/coder/validators/test_train_urns.py,sha256=rDz6YHtJx3RWZrBNB0AOuRkWwbr3mvDIIk9z_V1Qmzk,9971
|
|
88
|
+
atdd/coder/validators/test_typescript_architecture.py,sha256=Idnx1Ux551TcC5DVFquz_DHSpcTI9yy13Y0UKxQbl54,22054
|
|
89
|
+
atdd/coder/validators/test_usecase_structure.py,sha256=nAeqmLWRCstXT8fDuxqk6iVcH4TLHjTvlaGDpanD9sM,14077
|
|
90
|
+
atdd/coder/validators/test_wagon_boundaries.py,sha256=dxVCXRWK6Cc_CknRwoGC2y8-JOLq3Q_UsFJDT_N4oqA,20562
|
|
91
91
|
atdd/planner/__init__.py,sha256=ZXzKPNqP_JgEeFnwwUAKfIwz2e1i2gwrmz1SyC65sl4,47
|
|
92
92
|
atdd/planner/conventions/acceptance.convention.yaml,sha256=q_1hm-uJ2Sbh6VqGHQ543L9NTnOuS2UGWT-n9uAdfmM,21918
|
|
93
93
|
atdd/planner/conventions/appendix.convention.yaml,sha256=wuv9mnSZ-L1vUp2xx0OmyOsYurApitsmO_MilLVGcOc,9394
|
|
@@ -112,17 +112,17 @@ atdd/planner/validators/conftest.py,sha256=CVr3m9mv4xc8G6azcdbZ1VArVvLZw2Utqt2EI
|
|
|
112
112
|
atdd/planner/validators/test_draft_wagon_registry.py,sha256=Bt4xTjgKddEnnxNOMh8jWhvb3aqRaWGBd227Vv3rWz0,13798
|
|
113
113
|
atdd/planner/validators/test_plan_cross_refs.py,sha256=MlRMuM_eo3h8Q1pOdcvxyRNqRie9xPiYamOeofwiKaM,9505
|
|
114
114
|
atdd/planner/validators/test_plan_uniqueness.py,sha256=rlC5khAoBkgpTZJdyHi1JbDUj14v1JiGBFv2iV_AP_Y,7735
|
|
115
|
-
atdd/planner/validators/test_plan_urn_resolution.py,sha256=
|
|
115
|
+
atdd/planner/validators/test_plan_urn_resolution.py,sha256=GoxFiRjOfp69FUmIyKGnsGgpYalOz3qfp6qjyCkga44,9440
|
|
116
116
|
atdd/planner/validators/test_plan_wagons.py,sha256=l4jbHf9Kg-Fy8Gz5O8BO7PDQKbbeLN0uctoErPK_YKI,7357
|
|
117
117
|
atdd/planner/validators/test_train_validation.py,sha256=13j5hx_bcBhf3xFeqCJGo79y8lN9xpNEXXRzjV17tHQ,16972
|
|
118
|
-
atdd/planner/validators/test_wagon_urn_chain.py,sha256=
|
|
119
|
-
atdd/planner/validators/test_wmbt_consistency.py,sha256=
|
|
120
|
-
atdd/planner/validators/test_wmbt_vocabulary.py,sha256=
|
|
118
|
+
atdd/planner/validators/test_wagon_urn_chain.py,sha256=KY_0vrj6CoiQJ80WbqfCGCYbup13cVssaxbNO0eVf74,26697
|
|
119
|
+
atdd/planner/validators/test_wmbt_consistency.py,sha256=jdfu4xWEozzBGwplKDXxuDQNLBDxB_AC96NHLkyHqQ8,10875
|
|
120
|
+
atdd/planner/validators/test_wmbt_vocabulary.py,sha256=BWXxa2yUIVFC467Jui88ORmlE8lWulqY7vmGr8usZhc,18675
|
|
121
121
|
atdd/tester/__init__.py,sha256=Y08g-sPqui6fz9ziRFyH5EFt_cGN9-_qrgBLXTy0tSs,46
|
|
122
122
|
atdd/tester/conventions/artifact.convention.yaml,sha256=6OJHM3scQeVOrSM3DVJH_D6DTGJ8Mdd7gQhf5hGoRvQ,8434
|
|
123
|
-
atdd/tester/conventions/contract.convention.yaml,sha256=
|
|
123
|
+
atdd/tester/conventions/contract.convention.yaml,sha256=oByzcBZivn-xUHbMg0OeebHeNx5-gwQJwfUDZ_OUgxA,34832
|
|
124
124
|
atdd/tester/conventions/filename.convention.yaml,sha256=WywcPhdxIZSoY6F6OSx5v3_AtS2jMMGoSnd6Va4BAaw,19920
|
|
125
|
-
atdd/tester/conventions/migration.convention.yaml,sha256=
|
|
125
|
+
atdd/tester/conventions/migration.convention.yaml,sha256=Xx5EIwNct6wb--sYtm7EJp8wu39qo4eZZ-O8AyfeRgY,20019
|
|
126
126
|
atdd/tester/conventions/red.convention.yaml,sha256=S0mc4JpvNuOSYhqmt6bm0tCuDTCFYFRsSBru3XMwXgs,28901
|
|
127
127
|
atdd/tester/conventions/routing.convention.yaml,sha256=gRJrnQd-cXCUGby0CeaJdRmrFXZx70kl-FxXCoXiu5Y,2751
|
|
128
128
|
atdd/tester/conventions/security.convention.yaml,sha256=3QjQZqw1Iw8g6jUmuKWkOqcZ1n1sc1OJDvKD0eTk070,5445
|
|
@@ -155,35 +155,35 @@ atdd/tester/schemas/ws.tmpl.json,sha256=s4d-QDJpKzF3Ysbm1kkXL78YKKZ5sRrs49YTsVbS
|
|
|
155
155
|
atdd/tester/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
156
|
atdd/tester/utils/filename.py,sha256=okhlkPsE0hUn6AE2I01P38WzFvAtV2jy7FJhDyrnWOg,8445
|
|
157
157
|
atdd/tester/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
|
-
atdd/tester/validators/cleanup_duplicate_headers.py,sha256=
|
|
159
|
-
atdd/tester/validators/cleanup_duplicate_headers_v2.py,sha256=
|
|
158
|
+
atdd/tester/validators/cleanup_duplicate_headers.py,sha256=ANronriY5nhbDPre566nJile3uoNs-8Mv-SwV3e-OhE,3366
|
|
159
|
+
atdd/tester/validators/cleanup_duplicate_headers_v2.py,sha256=zr2ogvyZEjyVh2c82S0tKI0pzl5fyntxuUIOWcUmylY,3849
|
|
160
160
|
atdd/tester/validators/conftest.py,sha256=0kQ1VXYWQArkWMB97eTBuviTmEYx69bHhMt4rltL0Jk,154
|
|
161
|
-
atdd/tester/validators/coverage_gap_report.py,sha256=
|
|
162
|
-
atdd/tester/validators/fix_dual_ac_references.py,sha256=
|
|
163
|
-
atdd/tester/validators/remove_duplicate_lines.py,sha256=
|
|
164
|
-
atdd/tester/validators/test_acceptance_urn_filename_mapping.py,sha256=
|
|
165
|
-
atdd/tester/validators/test_acceptance_urn_separator.py,sha256=
|
|
161
|
+
atdd/tester/validators/coverage_gap_report.py,sha256=rNztpPLYl8zf61xVGE-C_cPJ6sOWc3Ji2R0lUQUDjw0,10183
|
|
162
|
+
atdd/tester/validators/fix_dual_ac_references.py,sha256=AlkM7Gj0Bg0Mr2x6tPmzD8pg_6aZygOmsRuQ0xQh4SY,4906
|
|
163
|
+
atdd/tester/validators/remove_duplicate_lines.py,sha256=BdU33gziYYlJQPRXm69XWg-K2zz7J4QZ8BNXQYR7Yp8,2525
|
|
164
|
+
atdd/tester/validators/test_acceptance_urn_filename_mapping.py,sha256=_LjJIq3jvpk7zE-3uvsVd2icyCgEG9HjP-7xn3VzVs4,12854
|
|
165
|
+
atdd/tester/validators/test_acceptance_urn_separator.py,sha256=auCuztjpS0qnP82J7gBYoCX6HhxxVZkvC4PNb1rLOCg,6878
|
|
166
166
|
atdd/tester/validators/test_artifact_naming_category.py,sha256=V7AOamSUIbpl6bO_Qj3h_46vc2hsh6OVPCMco1H7zTc,12541
|
|
167
|
-
atdd/tester/validators/test_contract_schema_compliance.py,sha256=
|
|
167
|
+
atdd/tester/validators/test_contract_schema_compliance.py,sha256=rzBisGK0cbjU4hFUNBpW6RWSe-hKfRXkKlKW65ucbNI,26134
|
|
168
168
|
atdd/tester/validators/test_contract_security.py,sha256=fKNaevmbSAoGyOKBhPnHw5xSGXptG0ciS0__qtO9Qac,19541
|
|
169
|
-
atdd/tester/validators/test_contracts_structure.py,sha256=
|
|
170
|
-
atdd/tester/validators/test_coverage_adequacy.py,sha256=
|
|
171
|
-
atdd/tester/validators/test_dual_ac_reference.py,sha256=
|
|
172
|
-
atdd/tester/validators/test_fixture_validity.py,sha256=
|
|
173
|
-
atdd/tester/validators/test_isolation.py,sha256=
|
|
174
|
-
atdd/tester/validators/test_migration_coverage.py,sha256=
|
|
169
|
+
atdd/tester/validators/test_contracts_structure.py,sha256=RRmIzcbwwBtZDVio558TQt-SBjiVOgb79j8aFR4FRbw,9815
|
|
170
|
+
atdd/tester/validators/test_coverage_adequacy.py,sha256=gIaz1LJahSGSn-t-42hTeJochVBJFA4kE7Z_LBg7dtk,27057
|
|
171
|
+
atdd/tester/validators/test_dual_ac_reference.py,sha256=5llpy4gFn0VtWn8KCPFHdE3EoWewB2orjcwrtk5XInU,8919
|
|
172
|
+
atdd/tester/validators/test_fixture_validity.py,sha256=Fp4AWwhvZlos1ik_d7NbP030Qq-klZLnCmc12ylptqs,12101
|
|
173
|
+
atdd/tester/validators/test_isolation.py,sha256=0Dw4ERL5xKrSscSXLdYaZNemFLmonrWrXAtSenp2aLE,16374
|
|
174
|
+
atdd/tester/validators/test_migration_coverage.py,sha256=LOx0L9KLH4gVisNHXhxKrzHLgCgj4PVZxeZ-2gg-SQk,7344
|
|
175
175
|
atdd/tester/validators/test_migration_criteria.py,sha256=YDGvWjkVSjUVVNv4RJWLdy4iLoG1EXzmm_ficD0Gt3Q,7896
|
|
176
|
-
atdd/tester/validators/test_migration_generation.py,sha256=
|
|
177
|
-
atdd/tester/validators/test_python_test_naming.py,sha256=
|
|
178
|
-
atdd/tester/validators/test_red_layer_validation.py,sha256=
|
|
179
|
-
atdd/tester/validators/test_red_python_layer_structure.py,sha256=
|
|
180
|
-
atdd/tester/validators/test_red_supabase_layer_structure.py,sha256=
|
|
181
|
-
atdd/tester/validators/test_telemetry_structure.py,sha256=
|
|
176
|
+
atdd/tester/validators/test_migration_generation.py,sha256=wpTmuxvM13OfSgC-3SJBdtB2XaPjBYyD-jXVYWi7Z9Q,4064
|
|
177
|
+
atdd/tester/validators/test_python_test_naming.py,sha256=4dXlHYTeTt34r5AjXIeGbZuMy6_Eh73kq1ksmQhI5qo,14413
|
|
178
|
+
atdd/tester/validators/test_red_layer_validation.py,sha256=R5aDBxgwUGI6-rQKMhRSHakXLT95stHRpBljtRyrodE,3495
|
|
179
|
+
atdd/tester/validators/test_red_python_layer_structure.py,sha256=_UHi5VMbYkRAWFMULZsAjHEUY5F2kU50rlxaP-mvJWk,3365
|
|
180
|
+
atdd/tester/validators/test_red_supabase_layer_structure.py,sha256=Sm9zycJCLsaMLT-NuDIXC8gLXBLomvKNVWlShHRsowA,3734
|
|
181
|
+
atdd/tester/validators/test_telemetry_structure.py,sha256=i22GY0C6X9or8ErRfPn8Dsge0MfwvkgONVs_24vch-4,22498
|
|
182
182
|
atdd/tester/validators/test_typescript_test_naming.py,sha256=E-TyGv_GVlTfsbyuxrtv9sOWSZS_QcpH6rrJFbWoeeU,11280
|
|
183
183
|
atdd/tester/validators/test_typescript_test_structure.py,sha256=eV89SD1RaKtchBZupqhnJmaruoROosf3LwB4Fwe4UJI,2612
|
|
184
|
-
atdd-0.
|
|
185
|
-
atdd-0.
|
|
186
|
-
atdd-0.
|
|
187
|
-
atdd-0.
|
|
188
|
-
atdd-0.
|
|
189
|
-
atdd-0.
|
|
184
|
+
atdd-0.4.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
185
|
+
atdd-0.4.0.dist-info/METADATA,sha256=fp4vKeLQzjbW1xNKx56BH2raEnIce4OEhX9Sy8N5MaA,8013
|
|
186
|
+
atdd-0.4.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
187
|
+
atdd-0.4.0.dist-info/entry_points.txt,sha256=-C3yrA1WQQfN3iuGmSzPapA5cKVBEYU5Q1HUffSJTbY,38
|
|
188
|
+
atdd-0.4.0.dist-info/top_level.txt,sha256=VKkf6Uiyrm4RS6ULCGM-v8AzYN8K2yg8SMqwJLoO-xs,5
|
|
189
|
+
atdd-0.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|