Files
Aislo/resources/knowledge/original/_pipeline/README.md
T
eomsangdonandClaude Fable 5 81cd7e23c3 feat(knowledge): 도메인 지식저장소 메인 통합 + resources 그룹 체계 재편
knowledge (구 Aislo-law 독립 저장소 → resources/knowledge 이관, 저장소 폐지):
- 법령·행정규칙·표준시방서·교본 원문 + 기술문서 55건 + 실무 분석·종합비교
- 루트 지침 체계: README(지도)·00_운영지침·01_수집지침·02_분석지침·
  03_미결_및_확인사항(교본 충돌 리스트 포함)·04_참조_법령기준_목록
- 기술문서 55건 원문 전수 검증 완료 (사방 설계홍수량 법정 기준 등 반영)
- 정리: CAD·오피스 잔재 142건, 중복 zip 7건(413MB), 빈 폴더 30개 제거

resources 그룹 재편 (이름순 그룹핑):
- app_branding(구 prog_icon.jpg)·app_policies(구 legal)·
  data_global_contours(구 grobal_contours)·data_rainfall_idf_cache(구 wamis_contours)·
  template_2dDrawing(구 dwg_analysis/templete — 오타 교정, 상수·경로 동기화)
- dwg_analysis(분석 완료 1.8GB)·templates(빈 폴더)·templete_calc_cost.xlsx 삭제
- 참조 코드 5파일 경로 수정 + 프론트 재빌드 (구 경로 잔존 0)
- .gitignore: resources 추적 전환, national_contours.gpkg(22GB) 영구 제외
- .env: knowledge 수집용 API 정보 주석 통합 (KCSC·법령센터·조달청 제비율)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 19:14:32 +09:00

59 lines
3.1 KiB
Markdown

# _pipeline — 법령·기준 수집·변환 스크립트
`original/` 하위 법령·행정규칙·표준시방서·KS 코퍼스를 **수집·변환·색인**하는 재현용 스크립트.
경로는 이 폴더 위치 기준 상대(`ROOT_DIR = 상위 = original/`)로 동작한다. 어느 PC에서 clone 해도 그대로 실행된다.
## 실행 전 준비
- Python 3.12 + `pymupdf`, `olefile`
- 인증키(커밋 금지):
- `docs/raw/law/.secrets.local.md` 에 KCSC 키 (스크립트가 자동 파싱) — 또는 환경변수 `KCSC_KEY`
- law.go.kr OC키는 기본 `umsangdon` (환경변수 `LAW_OC` 로 교체 가능)
## 스크립트 → 워크플로(README W1~W6) 대응
| 스크립트 | 역할 | 워크플로 |
|---|---|---|
| `check_law.py` | law.go.kr 현행본 시행일·개정일 조회 | W1 갱신 판별 |
| `collect_law.py` | 법령·행정규칙 원문(현행+교본시점) + 별표 PDF 수집 | W2 |
| `get_attach.py` | 고시 첨부파일·안내문 별표의 HWP 원본 수집 | W3 |
| `get_kcsc.py` | 국가건설기준센터 KCS 본문(OpenApi) 수집 | W2 |
| `get_ks.py` | e나라 표준인증 KS 메타데이터·이력 수집(원문은 DRM) | W2 |
| `hwp5_text.py` | 구형 HWP5(OLE) 본문 텍스트 추출 | W5 |
| `hwpx_text.py` | HWPX(zip+XML) → md(공백·표 보존). 공백 소실 첨부 재추출 | W5 |
| `pdf2md.py` | 별표·첨부 PDF → Markdown 변환(표 복원·이미지 pic/ 추출·손실 방지) | W4 |
| `fix_spacing.py` | HWP→PDF 공백 소실 별표/첨부의 프로즈 띄어쓰기 복원(표 보존) | W5 |
| `qc_lint.py` | md 전수 품질 점검(테이블·사진·내용누락·띄어쓰기·줄바꿈) | W5 |
| `verify_pdf2md.py` | 변환 손실·줄누락 검증 | W5 |
| `build_srcmap.py` | law API 결과 → 시행일/개정일 맵(srcmap.json) | W6 |
| `gen_md.py` | `0. 참조 법령·기준 목록.md` 재생성(9열·색인) | W6 |
## data/ (생성 데이터 = gen_md 입력)
이번 세션에서 만든 매핑. 수동 보정이 섞여 있어 함께 보관한다.
| 파일 | 내용 |
|---|---|
| `srcmap.json` | 항목별 시행일·개정일·출처 |
| `collected_map.json` | law.go.kr 수집 결과(판본·별표·개정 횟수) |
| `ks_map.json` | KS 45건 메타·이력 |
| `kcsc_map.json` | 표준시방서 ↔ KCS 코드 수 |
| `items_all.json` | `collect_law.py` 수집 대상 목록 |
| `ks_codes.json` | KS 조회 코드 목록 |
| `lawapi.json` | law.go.kr 조회 원자료 |
## 표준 실행 순서
```bash
cd docs/raw/law/original/_pipeline
python collect_law.py data/items_all.json # 법령·행정규칙 + 별표
python get_attach.py # 첨부·HWP
python get_kcsc.py # KCS 본문
python get_ks.py # KS 메타
python pdf2md.py # PDF → md (전건)
python verify_pdf2md.py # 검증
python gen_md.py # 색인 재생성
```
수집은 새로 받은 현행본을 `현행_새시행일.*` 로 **추가**한다(기존 판본 삭제 금지). 상세 규칙은 `docs/raw/law/README.md` W1~W6 참조.