| name | compliance-audit |
| description | 최종 규정 준수 검증 및 개선안 제시 |
| tags | archaeology, compliance, audit, final-check, pipeline-step-6 |
Compliance Audit - 규정 준수 최종 검증
목적
작성된 고찰 초안, 표, 부록, 참고문헌이 국가유산청 규정 체크리스트를 충족하는지 검증하고, 미흡한 부분에 대한 구체적인 보완 지침과 개선된 버전 2를 생성합니다.
입력
output/draft/discussion.md: 고찰 초안output/draft/tables.md: 비교표 및 일람표output/draft/appendix.md: 부록output/draft/references.md: 참고문헌output/compliance/checklist.md: 규정 체크리스트output/compliance/gaps.md: 결손 항목 보고서
검증 프로세스
1단계: 체크리스트 항목별 검증
A. 보고서 전체 구성 검증
def verify_report_structure(files):
"""보고서 필수 구성 요소 확인"""
checklist = {
'A. 행정사항': check_admin_info(files),
'B. 조사 배경 및 경과': check_background(files),
'C. 유적의 입지 및 환경': check_location(files),
'D. 역사적 배경': check_history(files),
'E. 조사 내용': check_excavation(files),
'F. 과학적 분석': check_scientific(files),
'G. 도면 및 사진': check_drawings(files),
'H. 고찰': check_discussion(files), # ⭐ 주요 검증 대상
'I. 결론': check_conclusion(files),
'J. 부록': check_appendix(files)
}
return checklist
B. 고찰 섹션 세부 검증
## 고찰(考察) 8개 필수 구성 요소 검증
### H1. 조사 성과 종합 ✓ / ⚠ / ✗
- [✓] 유구 종류와 수량 요약 존재
- [✓] 유물 종류와 수량 요약 존재
- [⚠] 주요 발견사항 강조 (3개 이상 권장, 현재 2개)
- [✓] 조사 한계 언급
**개선 제안**:
- 주요 발견사항 1개 추가: "마제석검 출토로 사회 계층화 추정"
### H2. 유구의 성격 및 기능 해석 ✓
- [✓] 유구 종류별 소제목 구분
- [✓] 평면·단면 형태 기술
- [✓] 도면 번호 명시 (15개 도면 언급)
- [✓] 공간 배치 패턴 분석
### H3. 유물의 편년 및 계통 ⚠
- [✓] 형식 분류 명확
- [✓] 절대연대 자료 제시 (C14 1건)
- [⚠] 형태적 계통 분석 (토기만 있고 석기 부족)
- [✗] 원료 산지 분석 (석재 산지 언급 없음)
**개선 제안**:
- 석기 형태 계통 분석 1문단 추가 (주변 유적과 비교)
- 석재 산지 추정 문장 삽입: "석재는 [산지명] 산출 ○○암으로 추정됨 (육안 관찰)"
### H4. 주변 유적과의 비교 분석 ✓ 우수
- [✓] 비교 대상 10개 유적 선정
- [✓] 공간 분포 비교 (지도 포함)
- [✓] 시대 동시성 검토
- [✓] 유구·유물 형태 비교
- [✓] 공통점과 차이점 도출
- [✓] 지역 간 교류 증거 제시
**특기사항**: 본 항목은 similarity-matcher 스킬 덕분에 우수한 수준
### H5. 공간 구조 및 취락 구조 해석 ✓
- [✓] 전체 공간 구성 원리 (환상 배치)
- [✓] 중심-주변 구조
- [⚠] 인구 추정 (언급 없음, 권장 사항)
**개선 제안**:
- 인구 추정 문장 추가: "주거지 12기를 기준으로 1가구 5인 가정 시 약 60명 규모 추정"
### H6. 역사·고고학적 의의 ✓
- [✓] 지역 고고학 연구사 위치
- [✓] 새로운 발견 강조
- [⚠] 문헌 기록 대조 (해당 자료 부족)
- [✓] 한국 고고학 기여
### H7. 보존 및 활용 방안 ✓
- [✓] 보존 상태 평가
- [✓] 보존 방안 제안
- [✓] 활용 방안 구체적
### H8. 향후 과제 및 제언 ✓
- [✓] 미해결 문제 제시
- [✓] 추가 조사 필요 영역
- [✓] 후속 연구 방향
2단계: 수치 기준 검증
def verify_quantitative_criteria(discussion, tables, references):
"""정량적 기준 충족 여부 검증"""
criteria = {
'전체 분량': {
'required': '30~50쪽',
'current': f'{count_pages(discussion)}쪽',
'pass': 30 <= count_pages(discussion) <= 50
},
'본문 인용 수': {
'required': '최소 50개',
'current': f'{count_citations(discussion)}개',
'pass': count_citations(discussion) >= 50
},
'표 개수': {
'required': '최소 5개',
'current': f'{count_tables(tables)}개',
'pass': count_tables(tables) >= 5
},
'도면 언급': {
'required': '최소 10개',
'current': f'{count_drawing_refs(discussion)}개',
'pass': count_drawing_refs(discussion) >= 10
},
'주변 유적 비교': {
'required': '최소 5개 유적',
'current': f'{count_compared_sites(discussion)}개',
'pass': count_compared_sites(discussion) >= 5
},
'참고문헌 수': {
'required': '최소 30개',
'current': f'{count_references(references)}개',
'pass': count_references(references) >= 30
},
'영문 초록': {
'required': '200~300단어',
'current': f'{count_words(abstract_en)}단어',
'pass': 200 <= count_words(abstract_en) <= 300
}
}
return criteria
3단계: 내용 품질 검증
3-1. 인용 무결성 검증
def verify_citation_integrity(discussion, references):
"""본문 인용과 참고문헌 일치 확인"""
citations_in_text = extract_citations(discussion) # [저자(연도)]
references_list = parse_references(references)
orphan_citations = [] # 본문에는 있으나 참고문헌에 없음
unused_references = [] # 참고문헌에는 있으나 본문에서 미인용
for cite in citations_in_text:
if cite not in references_list:
orphan_citations.append(cite)
for ref in references_list:
if ref not in citations_in_text:
unused_references.append(ref)
return {
'orphan': orphan_citations,
'unused': unused_references,
'integrity': len(orphan_citations) == 0
}
검증 결과 예시:
### 인용 무결성 검증 결과
✗ **불일치 발견**:
**본문에서 인용되었으나 참고문헌에 없음** (3건):
1. [이철수(2021)] - discussion.md 15페이지
2. [박영희(2019)] - discussion.md 28페이지
3. [Kim et al.(2020)] - discussion.md 42페이지
**참고문헌에는 있으나 본문에서 미인용** (2건):
1. 정민수(2018) - 삭제 또는 본문에 인용 추가 권장
2. ○○연구원(2017) - 삭제 또는 본문에 인용 추가 권장
**조치 방안**:
- 본문 미인용 3건에 대한 전체 서지정보를 참고문헌에 추가
- 미사용 참고문헌 2건은 삭제 (또는 본문에 관련 문장 추가)
3-2. 도면·사진 참조 검증
def verify_figure_references(discussion, appendix):
"""본문의 도면·사진 언급과 부록 목록 일치 확인"""
figures_in_text = extract_figure_refs(discussion) # [도면 3], [사진 12]
figures_in_appendix = parse_appendix(appendix)
missing = [f for f in figures_in_text if f not in figures_in_appendix]
return {
'missing': missing,
'complete': len(missing) == 0
}
3-3. 논리 일관성 검증
def verify_logical_consistency(discussion):
"""논리적 모순 또는 상충 검증"""
issues = []
# 연대 일관성
if mentions_period('청동기 전기', discussion):
if mentions_artifact('철기', same_context=True):
issues.append({
'type': '연대 모순',
'detail': '청동기 전기 맥락에서 철기 언급',
'severity': '높음'
})
# 수량 일관성
intro_count = extract_feature_count(discussion, section='서론')
detail_count = extract_feature_count(discussion, section='유구 분석')
if intro_count != detail_count:
issues.append({
'type': '수량 불일치',
'detail': f'서론 {intro_count}기 vs 상세 {detail_count}기',
'severity': '중간'
})
return issues
4단계: 개선안 생성 (Version 2)
누락·미흡 항목에 대한 보완 내용을 자동 생성:
def generate_improvements(audit_results):
"""검증 결과 기반 개선안 생성"""
improvements = []
# 예: 석재 산지 분석 누락
if audit_results['H3']['원료 산지'] == False:
improvements.append({
'section': 'III. 유물의 편년 및 계통 > 2. 석기',
'position': 'after "석재는 혈암과 셰일이 대부분으로,"',
'insert': """
[산지명] 일대에서 산출되는 석재와 육안 특징이 유사하여,
인근에서 원료를 조달했을 가능성이 높다. 향후 암석학적 성분 분석을
통한 정확한 산지 추정이 필요하다 [관련 연구(연도)].
"""
})
# 예: 인구 추정 누락
if '인구' not in audit_results['H5']:
improvements.append({
'section': 'V. 공간 구조 및 취락 구조 해석',
'position': 'end of section',
'insert': """
본 취락의 인구 규모는 주거지 12기를 기준으로, 1기당 1가구(평균 5인)
가정 시 약 60명으로 추정된다. 이는 [비교 유적명]의 인구 밀도와
유사하며 [근거 문헌(연도)], 청동기시대 중소 규모 취락에 해당한다.
"""
})
return improvements
출력
output/final/discussion_v2.md
개선 사항을 반영한 최종 고찰 버전 2:
# 고찰(考察) - Version 2
[모든 개선 사항 반영]
---
**변경 이력**:
- 2025-11-12: Version 1 생성 (discussion-drafter)
- 2025-11-12: Version 2 생성 (compliance-audit)
- H3: 석재 산지 추정 문장 추가
- H5: 인구 규모 추정 문단 추가
- 인용 3건 참고문헌 추가
- 도면 참조 오류 2건 수정
output/final/compliance_report.md
최종 규정 준수 검증 보고서:
# 국가유산청 규정 준수 검증 보고서
**검증일**: 2025-11-12
**대상**: ○○지구 유적 발굴조사 보고서 고찰 섹션
**검증 기준**: 발굴조사의 방법 및 절차 등에 관한 규정
---
## 종합 평가
### 준수율
- **전체**: 92% (68개 항목 중 63개 충족)
- **고찰 섹션**: 95% (40개 항목 중 38개 충족)
- **정량 기준**: 100% (7개 기준 모두 충족)
### 등급: **우수** ⭐⭐⭐⭐
---
## 항목별 검증 결과
### ✓ 충족 항목 (63개)
[상세 목록...]
### ⚠ 미흡 항목 (3개) - Version 2에서 보완 완료
1. H3. 유물 편년 및 계통 > 원료 산지 분석
- **Version 1**: 언급 없음
- **Version 2**: 석재 산지 추정 문장 추가 ✓
2. H5. 공간 구조 > 인구 추정
- **Version 1**: 언급 없음
- **Version 2**: 인구 약 60명 추정 문단 추가 ✓
3. 인용 무결성 > 참고문헌 누락
- **Version 1**: 3건 누락
- **Version 2**: 모두 추가 ✓
### ✗ 누락 항목 (2개) - 자료 부족으로 불가피
1. F1. 방사성탄소연대측정 (C14)
- **현황**: 1건만 확보 (권장: 3건 이상)
- **조치**: 고찰에 "추가 분석 필요성" 명시로 대체
- **등급**: 허용 가능 ✓
2. F2~F6. 기타 과학적 분석 (토양, 식물유체 등)
- **현황**: 미실시
- **조치**: 향후 과제에 포함
- **등급**: 선택 항목으로 문제없음 ✓
---
## 정량 기준 검증
| 항목 | 필요 | 실제 | 충족 | 비고 |
|------|------|------|------|------|
| 전체 분량 | 30~50쪽 | 42쪽 | ✓ | 적정 |
| 본문 인용 | ≥50개 | 68개 | ✓ | 우수 |
| 표 개수 | ≥5개 | 7개 | ✓ | |
| 도면 언급 | ≥10개 | 15개 | ✓ | |
| 주변 유적 비교 | ≥5개 | 10개 | ✓ | 우수 |
| 참고문헌 | ≥30개 | 42개 | ✓ | |
| 영문 초록 | 200~300단어 | 256단어 | ✓ | |
---
## 내용 품질 평가
### 논리 일관성: ✓ 문제없음
- 연대 모순 없음
- 수량 일치
- 공간 관계 일관성 유지
### 학술적 엄밀성: ✓ 우수
- 근거 제시 명확
- 추론 과정 논리적
- 한계 솔직히 인정
### 가독성: ✓ 양호
- 문장 명확
- 단락 구성 적절
- 전문 용어와 일반 언어 균형
---
## 최종 의견
본 고찰은 국가유산청 규정을 **충실히 준수**하며, 학술적 수준이 높습니다.
특히 주변 유적과의 비교 분석이 체계적이고 상세하여, 지역 취락 고고학
연구에 중요한 기여를 할 것으로 판단됩니다.
**승인 의견**: 본 고찰은 발굴조사 보고서 발간에 적합합니다.
**권고 사항**:
1. 향후 보고서 본편 작성 시 도면·사진 실물 확보 필수
2. 추가 C14 분석 시도 권장 (예산 허용 시)
3. 영문 초록을 원어민 검수 권장
output/final/change_log.md
Version 1 → Version 2 변경 이력:
# 변경 이력 (Change Log)
## Version 1 → Version 2 (2025-11-12)
### 추가된 내용
**1. III. 유물의 편년 및 계통 > 2. 석기 (25페이지)**
```diff
석기는 석촉(12점), 석도(5점), 마제석검(1점) 등이 출토되었다.
석촉은 이등변삼각형 유경식이 주를 이루며, [지역명] 일대에서 흔히
보이는 형식이다 [박○○(2019)]. 석재는 혈암과 셰일이 대부분으로,
+ [산지명] 일대에서 산출되는 석재와 육안 특징이 유사하여,
+ 인근에서 원료를 조달했을 가능성이 높다. 향후 암석학적 성분 분석을
+ 통한 정확한 산지 추정이 필요하다 [이○○(2016)].
2. V. 공간 구조 및 취락 구조 해석 (33페이지 끝)
+ 본 취락의 인구 규모는 주거지 12기를 기준으로, 1기당 1가구(평균 5인)
+ 가정 시 약 60명으로 추정된다. 이는 △△유적의 인구 밀도와 유사하며
+ [최○○(2017)], 청동기시대 중소 규모 취락에 해당한다.
3. I. 서론 (3페이지)
주요 발견사항은 다음과 같다:
1. [발견사항 1]: ...
2. [발견사항 2]: ...
+ 3. 마제석검 출토: 사회적 계층화 또는 지도층 존재 시사
수정된 내용
4. 참고문헌 (48페이지)
- 추가: 이○○(2016), 최○○(2017), 김△△(2020) 3건
- 삭제: 정민수(2018), ○○연구원(2017) 2건 (본문 미인용)
5. 도면 참조 수정
- 25페이지: [도면 12] → [도면 15] (석기 실측도 정확한 번호)
- 38페이지: [사진 8] → [사진 18] (H-05 주거지 사진)
통계
- 추가 분량: +0.8쪽 (41.2→42.0쪽)
- 추가 인용: +3건 (65→68건)
- 수정 위치: 5개 섹션
## 실행 프로세스
```python
def run_compliance_audit():
"""전체 검증 및 개선 프로세스 실행"""
# 1. 파일 로드
discussion = load_md('output/draft/discussion.md')
tables = load_md('output/draft/tables.md')
appendix = load_md('output/draft/appendix.md')
references = load_md('output/draft/references.md')
checklist = load_md('output/compliance/checklist.md')
# 2. 체크리스트 검증
structure_check = verify_report_structure(...)
discussion_check = verify_discussion_sections(discussion)
# 3. 정량 검증
quant_check = verify_quantitative_criteria(...)
# 4. 품질 검증
citation_check = verify_citation_integrity(discussion, references)
figure_check = verify_figure_references(discussion, appendix)
logic_check = verify_logical_consistency(discussion)
# 5. 개선안 생성
audit_results = combine_all_checks(...)
improvements = generate_improvements(audit_results)
# 6. Version 2 생성
discussion_v2 = apply_improvements(discussion, improvements)
# 7. 보고서 작성
report = generate_compliance_report(audit_results)
changelog = generate_change_log(discussion, discussion_v2)
# 8. 저장
save_md('output/final/discussion_v2.md', discussion_v2)
save_md('output/final/compliance_report.md', report)
save_md('output/final/change_log.md', changelog)
# 9. 완료 메시지
print("✓ 규정 준수 검증 완료!")
print("✓ Version 2 생성 완료!")
print(f"✓ 준수율: {audit_results['compliance_rate']}%")
print("→ output/final/ 폴더에서 최종 결과 확인")
완료 후 조치
파이프라인 종료: 모든 스킬 완료
최종 산출물:
- output/final/discussion_v2.md (고찰 최종본)
- output/draft/tables.md (표)
- output/draft/appendix.md (부록)
- output/draft/references.md (참고문헌)
- output/final/compliance_report.md (검증 보고서)
- output/final/change_log.md (변경 이력)
다음 단계 (사용자 수동):
1. 실물 도면·사진 확보 및 삽입
2. 원어민 영문 초록 검수
3. 보고서 본편 나머지 섹션 작성
4. 전체 조판 및 인쇄
실행 명령
compliance-audit 스킬을 사용하여 고찰 및 부록의 규정 준수 여부를
검증하고, 개선된 버전 2를 생성해주세요.
고급 옵션
자동 교정 제안
def suggest_corrections(discussion):
"""문법, 맞춤법, 어투 교정 제안"""
# 한국어 맞춤법 검사 (py-hanspell)
# 학술 어투 일관성 검사
# 수동태/능동태 혼용 검사
pass
PDF 보고서 생성
def generate_pdf_report(discussion_v2, tables, appendix, references):
"""최종 고찰을 PDF로 출력"""
from fpdf import FPDF
# 또는 pandoc + LaTeX 활용
pass