29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
|
|
# Phase 3 — Crawl4AI 수집 계층 및 Job Orchestration
|
||
|
|
|
||
|
|
본 문서는 Phase 2 완료 후 다음 작업자가 Phase 3을 시작할 때 참고할 핸드오프 노트다. 자동으로 Phase 3을 진행하지 않는다.
|
||
|
|
|
||
|
|
## 시작 전 확인
|
||
|
|
|
||
|
|
- `PHASE_INDEX.md`에서 Phase 3 진행 요청이 명시되어 있는지 확인한다.
|
||
|
|
- `PHASE2_ACCEPTANCE_GATE.md`의 unit/integration 43/43 통과 상태를 기준선으로 삼는다.
|
||
|
|
- 수집 계층은 SourceDocument 생성 전 단계까지만 책임진다. Candidate 저장과 Review Queue는 Phase 2 계약을 사용한다.
|
||
|
|
- vendored OntoCast core는 계속 직접 수정하지 않는다.
|
||
|
|
|
||
|
|
## Phase 3 목표
|
||
|
|
|
||
|
|
정적 URL 1건 처리를 넘어 동적 페이지와 대량 수집을 job 단위로 관리한다. Crawl4AI는 acquisition adapter로 감싸고, 본문 정제는 Phase 1 Trafilatura adapter, 후보 저장은 Phase 2 Review Queue로 넘긴다.
|
||
|
|
|
||
|
|
## 작업 범위
|
||
|
|
|
||
|
|
1. `crawl4ai_adapter.py`를 동적/대량 수집 adapter로 제한한다.
|
||
|
|
2. crawler profile, robots policy, cache policy를 설정 기반으로 분리한다.
|
||
|
|
3. Job 상태 모델과 progress API/WebSocket 경계를 정리한다.
|
||
|
|
4. 수집 결과를 Trafilatura 후처리와 SourceDocument 저장으로 연결한다.
|
||
|
|
|
||
|
|
## 권장 테스트
|
||
|
|
|
||
|
|
- 정적 HTML/동적 페이지 profile이 같은 SourceDocument 계약으로 이어지는지 검증한다.
|
||
|
|
- robots/cache policy가 설정값에 따라 선택되는지 검증한다.
|
||
|
|
- job 상태가 pending/running/completed/failed로 전이되는지 검증한다.
|
||
|
|
- Phase 1 extraction 및 Phase 2 review queue 테스트가 계속 통과하는지 회귀 검증한다.
|