환경은 재현 가능한 입력이다
seed·reset·clock·queue·flag와 identity/domain/external fixture
간헐 실패의 상당수는 assertion이 아니라 공유 계정·남은 데이터·시간·queue·feature flag에서 나옵니다. 테스트 환경을 코드 버전과 같은 입력으로 보고 fingerprint를 남기며, fixture는 편의 함수가 아니라 상태 경계 계약으로 설계합니다.
| 상태 | 통제 방법 | 관측 신호 |
|---|---|---|
| Identity | 역할별 storage state·account pool | user·role·token expiry |
| Domain data | seed API·namespace·cleanup/TTL | seed version·record key |
| Async | clock·queue drain·webhook sandbox | job id·completion event |
| Runtime config | flag snapshot·env version | environment fingerprint |
- 상태 목록화identity·domain·external·async 상태를 분리합니다.
- 소유 경계fixture가 준비하고 정리할 범위를 제한합니다.
- 결정적 관측sleep 대신 event·status·contract를 기다립니다.
- Fingerprintseed·flag·version·queue 정보를 결과에 남깁니다.