feat: harden test and registry evidence
This commit is contained in:
@@ -808,6 +808,35 @@ RP-10은 직전 승인 registry snapshot과 test evidence다. flaky visual/brows
|
||||
infrastructure commit은 product behavior와 분리한다. 장기 skip으로 PASS하지 않고
|
||||
owner와 만료 시한이 있는 quarantine만 허용한다.
|
||||
|
||||
**구현 증거 (2026-07-26)**
|
||||
|
||||
- VD-08에서 dev-only Storybook static workshop과 production build를 대상으로 한
|
||||
local Playwright visual baseline을 채택하고 cloud review는 선택 사항으로
|
||||
분리했다.
|
||||
- 10개 registry의 required field, runtime type, enum, unique, cross-reference,
|
||||
consumer와 orphan을 검사하고 승인 snapshot digest와 현재 snapshot의 actual
|
||||
semantic diff를 계산한다. 행·field·type·path뿐 아니라 registry 검증 계약
|
||||
변경도 breaking evidence 대상이다.
|
||||
- ordering-only 변경은 `none`, row addition은 `additive`, 일반 값 변경은
|
||||
`behavior-change`, 제거/type/path/contract 변경은 `breaking`으로 계산한다.
|
||||
breaking에는 version, migration, compatibility window, rollback과 owner를
|
||||
요구하며 digest 변조와 누락 fixture가 실제로 실패한다.
|
||||
- API operation별 19개 shared MSW scenario catalog와 strict unhandled-request
|
||||
server를 제공하고 reference vertical integration이 공통 envelope/handler를
|
||||
사용한다.
|
||||
- 기본 Playwright는 `build` + `preview`의 실제 `dist`를 Chromium, Firefox,
|
||||
WebKit에서 검사하고 별도 compact project를 제공한다. 개발 피드백용 Vite
|
||||
profile은 `playwright.dev.config.js`로 분리했다.
|
||||
- Storybook public primitive story, interaction과 axe test, wide/compact/
|
||||
pseudo/dark/state surface의 pinned Chromium visual baseline 4종을 CI evidence로
|
||||
연결했다.
|
||||
- V8 coverage와 9개 high-risk module을 대상으로 40개 scoped threshold를
|
||||
적용하고 threshold 미달 fixture를 차단한다.
|
||||
- deterministic clock/random/scheduler/storage, unexpected console/page error/
|
||||
request failure 정책, 무소유 skip과 full-screen mask 금지 gate를 제공한다.
|
||||
- JUnit, HTML report, trace/screenshot, coverage, registry와 fixture artifact를
|
||||
기존 26개 blocking gate taxonomy에 연결했다.
|
||||
|
||||
### 11. `feature-frontend-supply-chain-verification`
|
||||
|
||||
**목표**
|
||||
|
||||
Reference in New Issue
Block a user