1.9 KiB
1.9 KiB
BAT-004 Planning
구현 전략
REQ-004를 Testing 요구사항으로 정리한다.- 운영 DB와 실제 금융 파일을 배제한 synthetic fixture DB를 evidence script가 직접 생성한다.
- Streamlit은
JARCA_LEDGER_DB_PATH=<fixture.sqlite3>로 기동한다. /usr/bin/google-chrome-stableheadless + Chrome DevTools Protocol로 대상 페이지를 열고, 화면 텍스트 로드 완료를 확인한 뒤 screenshot과 DOM snapshot을 저장한다.- UI/dashboard 영향 batch의 QC gate 기준을 문서화한다.
Design Gate
- Profile:
batch-lite - 판단 근거: 신규 도메인 기능이나 DB schema 변경 없이 검증 스크립트와 문서 기준을 추가한다.
- 설계 문서 별도 작성 여부: 별도
design.md는 만들지 않는다. 구현 결정은 이 planning 및 REQ-004에 충분히 국소적으로 기록한다.
Evidence Gate 기준
| Batch 유형 | 최소 evidence | Gate 판정 |
|---|---|---|
Streamlit UI 또는 dashboard/app.py 영향 |
Browser screenshot + DOM snapshot + manifest | 누락 시 BLOCK 또는 재검증 |
| 비-UI service/MCP/parser 변경 | pytest/py_compile 중심, browser evidence 선택 | browser 누락은 비차단 |
| docs-only 변경 | 문서 diff/review | browser evidence 불필요 |
| Chrome 환경 장애가 입증된 UI 변경 | AppTest + HTTP 200 + 실패 원인 로그 | PASS_WITH_NOTES만 허용 |
리스크와 완화
- Chrome/DevTools 기동 실패: 실행 전 Chrome 경로를 검증하고 명확한 오류를 출력한다.
- Streamlit 렌더링 지연: HTTP 200 대기 후 CDP에서 page 제목 텍스트가 실제 DOM에 나타날 때까지 대기한다.
- 민감정보 노출: script가 기본 운영 DB 경로를 거부하고 synthetic fixture만 생성한다.
- dependency 증가: Playwright/Selenium을 추가하지 않고 현재 dashboard extra에 이미 존재하는
websockets를 사용한다.