Parent: #195
어떤 작업인가요?
internal/crawler/ 의 남은 fetcher 영역 — core / handler / implementation / domain / rate_limiter / worker (단계 1-2 진행 후의 잔여) — 를 internal/processor/fetcher/... 로 이동하여 parser / validate 와 동등한 processor 단계 정렬을 완성. 본 sub-issue 머지 시 internal/crawler/ 디렉토리는 완전 제거되어 메인 이슈 #195 도 close.
전제
Scope
이동
internal/crawler/core/ → internal/processor/fetcher/core/
internal/crawler/handler/ → internal/processor/fetcher/handler/
internal/crawler/implementation/chromedp/ → internal/processor/fetcher/chromedp/
internal/crawler/implementation/goquery/ → internal/processor/fetcher/goquery/
internal/crawler/domain/general/{fetcher,sources}/ → internal/processor/fetcher/{fetcher,sources}/
internal/crawler/rate_limiter/ → internal/processor/fetcher/rate_limiter/
internal/crawler/worker/ (lock 분리 후 잔여) → internal/processor/fetcher/worker/
변경 후 구조
internal/processor/
├── fetcher/
│ ├── core/
│ ├── handler/
│ ├── chromedp/
│ ├── goquery/
│ ├── sources/
│ ├── rate_limiter/
│ └── worker/
├── parser/ (단계 1 결과)
└── validate/ (기존)
작업 항목
git mv 로 디렉토리 이동
- import 경로 일괄 치환 (
issuetracker/internal/crawler/X → issuetracker/internal/processor/fetcher/X)
cmd/issuetracker/main.go, cmd/processor/main.go, cmd/api/... 등 entry point 의 import 갱신
- 테스트 mirror 경로 갱신 (
test/internal/crawler_core/ → test/internal/processor/fetcher/core/)
internal/crawler/ 디렉토리 완전 삭제 검증 (find internal/crawler -type d 결과 비어야 함)
- CLAUDE.md /
.claude/rules/01-architecture.md / .claude/rules/02-crawler-implementation.md 문서 업데이트 — 디렉토리 도식 + 패키지 명칭 변경
go build ./... && go test -race ./... 통과
위험도
Medium
- 가장 큰 import 변경 — fetcher 가 system 의 핵심 진입점이라 영향 범위 넓음
- 본 단계 머지 후
internal/crawler/ 가 완전히 사라지므로 README / docs / 기여자 가이드의 모든 언급 업데이트 필요
- entry point (
cmd/) 가 모두 영향 받음 — main.go 빌드 검증 필수
메인 이슈 close
본 PR 머지 시 Closes #195 도 함께 적용 — 모든 sub-issue 완료.
Parent: #195
어떤 작업인가요?
internal/crawler/의 남은 fetcher 영역 —core/handler/implementation/domain/rate_limiter/worker(단계 1-2 진행 후의 잔여) — 를internal/processor/fetcher/...로 이동하여 parser / validate 와 동등한 processor 단계 정렬을 완성. 본 sub-issue 머지 시internal/crawler/디렉토리는 완전 제거되어 메인 이슈 #195 도 close.전제
crawler/parser/→parser/rule/)crawler/worker/의 lock 인프라 →internal/locks/)Scope
이동
internal/crawler/core/→internal/processor/fetcher/core/internal/crawler/handler/→internal/processor/fetcher/handler/internal/crawler/implementation/chromedp/→internal/processor/fetcher/chromedp/internal/crawler/implementation/goquery/→internal/processor/fetcher/goquery/internal/crawler/domain/general/{fetcher,sources}/→internal/processor/fetcher/{fetcher,sources}/internal/crawler/rate_limiter/→internal/processor/fetcher/rate_limiter/internal/crawler/worker/(lock 분리 후 잔여) →internal/processor/fetcher/worker/변경 후 구조
작업 항목
git mv로 디렉토리 이동issuetracker/internal/crawler/X→issuetracker/internal/processor/fetcher/X)cmd/issuetracker/main.go,cmd/processor/main.go,cmd/api/...등 entry point 의 import 갱신test/internal/crawler_core/→test/internal/processor/fetcher/core/)internal/crawler/디렉토리 완전 삭제 검증 (find internal/crawler -type d결과 비어야 함).claude/rules/01-architecture.md/.claude/rules/02-crawler-implementation.md문서 업데이트 — 디렉토리 도식 + 패키지 명칭 변경go build ./... && go test -race ./...통과위험도
Medium
internal/crawler/가 완전히 사라지므로 README / docs / 기여자 가이드의 모든 언급 업데이트 필요cmd/) 가 모두 영향 받음 — main.go 빌드 검증 필수메인 이슈 close
본 PR 머지 시
Closes #195도 함께 적용 — 모든 sub-issue 완료.