# Phase 3 Testing Checklist ## 1. 단위 테스트 ### text normalizer - HTML 문서가 안정적으로 plain text로 변환된다. - 동일 문서에 대해 해시가 안정적으로 재생산된다. - disclaimer strip 옵션이 본문을 과도하게 삭제하지 않는다. ### rule parser - guidance 키워드가 올바르게 분류된다. - one-off 키워드가 검출된다. - demand/pricing/margin 키워드가 검출된다. - section parser가 없는 문서에서도 안전하게 실패한다. ### span mapper - evidence char offsets가 원문 구간과 일치한다. - normalization 후에도 span reference가 추적 가능하다. ### llm wrapper - 캐시 히트 시 외부 호출이 발생하지 않는다. - 타임아웃/레이트리밋 시 재시도 정책이 지켜진다. - schema invalid 응답이 repair path를 탄다. ### canonical merge - rule/llm 충돌 시 보수적 merge가 적용된다. - provenance 필드가 누락되지 않는다. - review queue trigger가 올바르게 작동한다. ### feature builder - reaction_close_location 계산이 정확하다. - rolling window가 미래 데이터를 보지 않는다. - null feature가 정책대로 처리된다. - available_ts가 entry convention과 맞는다. ### labeler - reaction date 계산이 장전/장중/장후에 맞게 동작한다. - 1D/3D/5D forward return이 정확하다. - MFE/MAE가 고저가 경로로 정확히 계산된다. - 비거래일/휴일 처리에 오류가 없다. ## 2. 통합 테스트 - SEC raw 문서 하나가 parser output까지 도달한다. - parser output이 feature builder로 연결된다. - feature + price data가 labeler로 연결된다. - review queue item이 실제로 생성된다. - snapshot export가 manifest 포함해 생성된다. ## 3. Replay 테스트 - 동일 문서 재처리 시 canonical output이 동일하다. - 동일 문서 + 동일 prompt_version에서 캐시 결과가 재현된다. - parser_version 변경 시 이전 결과와 diff report 생성 가능하다. - historical day replay가 live path와 같은 코드 경로를 탄다. ## 4. Gold set 테스트 - event_type accuracy baseline 이상 - guidance_direction accuracy baseline 이상 - oneoff precision/recall baseline 이상 - confidence calibration sanity check - evidence presence ratio 기준 이상 ## 5. Leakage 테스트 - next_open entry dataset에 entry day 장중 정보가 포함되지 않는다. - FINRA post-close data가 당일 아침 feature로 들어가지 않는다. - forward returns를 만드는 price bars가 feature 계산에 재사용되지 않는다. - snapshot split이 시간 순서를 위반하지 않는다. ## 6. 운영 전 체크리스트 - parser schema version 고정 - prompt version 고정 - gold set 리포트 생성 완료 - review backlog acceptable - null rate report 검토 완료 - label distribution sanity check 완료 - dataset manifest에 commit hash 포함 - raw prompt/response 보관 정책 확인