Skip to content

Commit 49e652a

Browse files
committed
docs(roadmap): add IntegrationV2 stabilization phase and formalize testing policy
- Introduced Phase 5.5 (IntegrationV2 Stabilization) as an authoritative real-infrastructure gate - Documented strict testing policy (PHPUnit, PHPStan level-max, PSR compliance) - Clarified separation between Unit, Coverage, Legacy Integration, and IntegrationV2 tests - Updated phase statuses to reflect completed Phase 4 and Phase 5 - Aligned roadmap with current IntegrationV2 architecture and CI behavior
1 parent 647084b commit 49e652a

File tree

1 file changed

+43
-3
lines changed

1 file changed

+43
-3
lines changed

roadmap.json

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
"id": "phase4",
109109
"title": "Unified Security Events (NEW)",
110110
"version": "1.0.0",
111-
"status": "pending",
111+
"status": "completed",
112112
"summary": "Introduce unified SecurityEventDTO and event normalization across all security actions.",
113113
"tasks": [
114114
"Create SecurityEventDTO (action/platform/userId/userType/context)",
@@ -132,7 +132,7 @@
132132
"id": "phase5",
133133
"title": "Core Logic & Service Layer",
134134
"version": "1.0.0",
135-
"status": "pending",
135+
"status": "completed",
136136
"summary": "Main security orchestration logic built on top of unified security events.",
137137
"tasks": [
138138
"handleEvent() logic",
@@ -148,6 +148,34 @@
148148
]
149149
},
150150

151+
{
152+
"id": "phase5_5",
153+
"title": "IntegrationV2 Stabilization",
154+
"version": "1.0.0",
155+
"status": "completed",
156+
"summary": "Introduce authoritative real infrastructure integration tests (IntegrationV2) and deprecate legacy integration behavior.",
157+
"tasks": [
158+
"Create IntegrationV2 test layer",
159+
"Enforce resolver-based adapter creation",
160+
"Deprecate legacy integration tests",
161+
"Exclude legacy tests from PHPUnit execution",
162+
"Validate Redis/MySQL/Mongo real behavior",
163+
"Fail explicitly when infrastructure is unavailable"
164+
],
165+
"rules": [
166+
"IntegrationV2 is the ONLY source of truth for real infrastructure behavior",
167+
"Legacy Integration tests are deprecated and excluded",
168+
"No mocks, fakes, or hardcoded hosts allowed in IntegrationV2",
169+
"All adapters MUST be resolved via DatabaseResolver + EnvironmentLoader"
170+
],
171+
"outputs": [
172+
"tests/IntegrationV2/",
173+
"tests/Integration/README.md",
174+
"phpunit.xml.dist (exclude legacy integration)"
175+
]
176+
},
177+
178+
151179
{
152180
"id": "phase6",
153181
"title": "Rate Limiter Bridge",
@@ -391,5 +419,17 @@
391419
"CHANGELOG.md"
392420
]
393421
}
394-
]
422+
],
423+
"testing_policy": {
424+
"phpunit": "latest",
425+
"phpstan": "level-max",
426+
"psr": ["PSR-4", "PSR-12", "PSR-3", "PSR-14 (events)"],
427+
"rules": [
428+
"Legacy integration tests must not run in CI",
429+
"IntegrationV2 tests require real infrastructure",
430+
"Unit tests may use data-fakes",
431+
"Coverage tests must not rely on real infrastructure",
432+
"No test exists to make CI green; tests exist to protect production"
433+
]
434+
}
395435
}

0 commit comments

Comments
 (0)