Files
clean-architecture-backend-…/docs/web-superpowers-package/VALIDATION.md
T

194 lines
4.9 KiB
Markdown

# Web Superpowers 문서 정적 검증 결과
검증 기준일: 2026-08-13
## 1. 검증 대상
| 문서 | 행 수 |
|---|---:|
| `web-inbound-http-api-execution-platform-design.md` | 1,656 |
| `web-inbound-http-api-execution-platform-implementation-plan.md` | 4,762 |
| `web-advanced-capabilities-expansion-plan.md` | 1,532 |
| 원본 심층 리서치 | 1,597 |
## 2. 구조 검증
| 항목 | 결과 |
|---|---:|
| 실행 검사 | 1,097 |
| 통과 | 1,097 |
| 실패 | 0 |
| Stable Task | 58 |
| Advanced Task | 19 |
| Stable Create 경로 | 289 |
| Advanced Create 경로 | 94 |
| Stable Task 번호 연속성 | PASS |
| Advanced Task 번호 연속성 | PASS |
| 모든 Task의 Files·Interfaces | PASS |
| 모든 Task의 Implementation requirements | PASS |
| 모든 Task의 Step 1~5 | PASS |
| 모든 Task의 실패·통과 예상 결과 | PASS |
| 모든 Task의 Git commit 명령 | PASS |
| Stable Create 경로 중복 | 없음 |
| Advanced Create 경로 중복 | 없음 |
| Stable·Advanced Create 경로 충돌 | 없음 |
| Markdown code fence 균형 | PASS |
| `TODO`·`TBD`·`FIXME` | 없음 |
검증 명령:
```bash
cd /mnt/data
./validate_web_docs.py
```
실행 결과:
```text
checks=1097 passed=1097 failed=0
```
## 3. 설계 핵심 계약 검증
다음 계약이 설계서와 계획서에 모두 존재하는지 확인했습니다.
```text
W1 / W2 / W3 / W4 공개 계층
MVC와 WebFlux Starter 상호 배타성
Request / Application / Response Evidence 분리
APPLICATION_COMMITTED와 HTTP response delivery 분리
RFC 9457 Problem Details
400 / 422 분리
409 / 412 분리
OpenAPI 3.1.2 Stable
Path major API version
HMAC keyset cursor
ETag / If-Match
Idempotency semantic fingerprint
Redis가 DB commit evidence의 유일한 source가 아님
Business mutation + JPA idempotency evidence same transaction
Application commit 후 response-loss fault test
Durable acceptance 이후에만 202
Trusted Nginx forwarded-header boundary
Tomcat / Jetty / Reactor Netty / Nginx 실제 gate
Rate limit 429와 Admission 503 분리
Low-cardinality metric·access log
Stable·Advanced dependency 격리
```
## 4. 계획 완결성 검증
Stable 계획은 다음 단계로 구성됩니다.
```text
Task 1~14
→ Core·HTTP·JSON·Problem·Architecture Foundation
Task 15~22
→ MVC·Tomcat·Jetty·WebFlux·Reactor Netty
Task 23~30
→ Security·Proxy·Versioning·Route·OpenAPI
Task 31~36
→ Collection Query·Cursor·Conditional·Evidence
Task 37~43
→ Idempotency·JPA Evidence·Redis Gate·Response Loss
Task 44~48
→ Durable Operation·Outbox·HTTP Resource·Cache
Task 49~55
→ Budget·Rate·Admission·CORS/CSRF·Order·Observability·Nginx
Task 56~58
→ Cross-stack Contract·Performance·Stable Release
```
Advanced 계획은 다음 단계로 구성됩니다.
```text
Task 1~3
→ Module isolation·Virtual Thread·Controlled Blocking Bridge
Task 4~5
→ JSON Merge Patch·JSON Patch
Task 6~13
→ Streaming Core·SSE·NDJSON·JSON Sequence·Drain·Replay
Task 14~18
→ Functional WebFlux·CBOR·XML·OpenAPI 3.2·RateLimit Draft
Task 19
→ Soak·Rollback·Promotion Gate
```
## 5. 검증 범위의 한계
현재 검증은 **문서의 구조, 요구사항 추적성, 내부 계약, 파일 경로, 작업 순서에 대한 정적 검증**입니다.
실제 Backend Skeleton 저장소가 이번 입력에 포함되지 않았으므로 다음은 실행한 상태가 아닙니다.
```text
Gradle configuration·compile
Spring Boot ApplicationContext 기동
Tomcat·Jetty·Reactor Netty 실제 contract
PostgreSQL JPA idempotency transaction
Redis concurrent gate
Messaging outbox operation
Nginx TLS·Forwarded topology
commit 후 TCP reset fault injection
OpenAPI generated client compile
abuse·load·graceful shutdown
Git commit
```
계획서의 경로와 package는 다음 명시적 가정을 사용합니다.
```text
Java 21
Gradle Kotlin DSL
Spring Boot 4.1 BOM
root package: io.backend.skeleton.web
stable module root: modules/web
advanced module root: modules/web-advanced
```
## 6. 패키지 무결성 검증
패키지 조립 후 다음 검증을 추가로 수행했습니다.
```text
Package-local validator
→ checks=1104 passed=1104 failed=0
MANIFEST.sha256
→ 모든 7개 파일 OK
ZIP CRC
→ No errors detected
독립 문서와 패키지 내부 문서
→ byte 단위 일치
```
검증 명령:
```bash
cd /mnt/data/web-superpowers-package
./validate_web_docs.py
sha256sum -c MANIFEST.sha256
cd /mnt/data
unzip -t web-superpowers-package.zip
cmp web-inbound-http-api-execution-platform-design.md \
web-superpowers-package/docs/superpowers/specs/2026-08-13-web-inbound-http-api-execution-platform-design.md
cmp web-inbound-http-api-execution-platform-implementation-plan.md \
web-superpowers-package/docs/superpowers/plans/2026-08-13-web-inbound-http-api-execution-platform-implementation-plan.md
cmp web-advanced-capabilities-expansion-plan.md \
web-superpowers-package/docs/superpowers/plans/2026-08-13-web-advanced-capabilities-expansion-plan.md
```