🆙 Update Step-00 to Step-12 with the latest criteria from D:\_Geulbeot\기준

2026-03-05 12:05:55 +09:00
parent a190ce3422
commit 9891df9824
13 changed files with 836 additions and 0 deletions

52
Step-00.md Normal file

@@ -0,0 +1,52 @@
# Step 00. 초기화 (Total Reset)
## 목적
이전 실행에서 잘못 생성된 파일들을 완전히 제거하고 백지 상태를 만든다.
Step-12 통과 실패 후 재실행할 때도 이 단계부터 시작한다.
## 실행
1. `D:\prompts` 하위 모든 디렉토리·파일 완전 삭제 (숨김 파일·빈 폴더 포함)
2. 삭제 완료 후 경로 재확인
## 통과 기준
- D:\prompts 내 파일·폴더 100% Clean
## 다음 단계
- 통과 → Step-01로 이동
- 실패 → 재실행
## Loop 규칙
Step-12 실패로 인한 재실행일 경우:
- 실패 원인이 된 Step 번호를 이슈에 기록한다
- 해당 Step 위키를 수정한 후 Step-00부터 재실행한다
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-00] 초기화 - YYYY-MM-DD
[완료] 삭제된 폴더 수:
[완료] 삭제된 파일 수:
[오류] 삭제 실패 항목:
[확인] D:\prompts 현재 상태:
[확인] Loop 회차: 1회차 / N회차 (Step-XX 실패로 인한 재실행)
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인 (없으면 먼저 생성)
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
- issue_number: 진행현황 이슈 번호
- body: 채운 코멘트 내용
문제 발생 시:
1. create_issue 호출 → 제목: [Step-00] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석 (Step이 적용되지 않은 이유, 위키의 어느 부분이 부족했는가)
- 코멘트 2: 변경 대상 및 이유 (현재 내용, 변경 제안, 변경 이유, 다른 Step 영향 여부)
- 코멘트 3: 해결 방향 및 임시 조치 (Step 위키 반영 필요 여부, 재실행 필요 여부)

58
Step-01.md Normal file

@@ -0,0 +1,58 @@
# Step 01. 파일 수집 (Discovery)
## 목적
스캔 대상 경로에서 라이브러리·시스템 폴더를 제외하고 실제 작업 파일만 수집한다.
## 스캔 대상 경로
- `D:\crawling`
- `D:\for python`
- `D:\MYCLAUDE_PROJECT`
## 실행
1. 아래 경로는 스캔에서 물리적으로 제외한다
- node_modules
- site-packages
- venv
- .git
- __pycache__
2. 위 3개 경로 전체를 재귀 탐색하여 파일 경로 목록을 수집한다 (확장자 무관)
3. 수집된 전체 파일 목록을 사용자에게 보고하고 승인을 받는다
## 통과 기준
- 라이브러리·시스템 파일 0건
- 3개 경로 모두 스캔 완료
## 다음 단계
- 사용자 승인 후 → Step-02로 이동
- 누락 경로 발견 시 → 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-01] 파일 수집 - YYYY-MM-DD
[완료] D:\crawling 수집 파일 수:
[완료] D:\for python 수집 파일 수:
[완료] D:\MYCLAUDE_PROJECT 수집 파일 수:
[완료] 총 수집 파일 수:
[제외] 라이브러리 경로 제외 목록:
[오류] 접근 거부 항목: [SKIP: Access Denied]
[확인] 사용자 승인 여부:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-01] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

57
Step-02.md Normal file

@@ -0,0 +1,57 @@
# Step 02. 필터링 (Filtering)
## 목적
수집된 전체 파일을 확장자 기준으로 분류하여 판독 대상과 제외 대상을 확정한다.
확장자는 미리 고정하지 않는다. 실제 발견된 것을 전부 통계 내고 분류한다.
## 검토 대상 경로
- `D:\crawling`
- `D:\for python`
- `D:\MYCLAUDE_PROJECT`
## 실행
1. Step-01 수집 목록 기준으로 발견된 모든 확장자와 수량을 집계한다
2. 발견된 확장자를 아래 기준으로 분류한다
- 제외 대상: 텍스트·로직이 없는 순수 바이너리
(.png .jpg .jpeg .gif .bmp .exe .zip .dll .bin .db .edb .wav .mp3 .mp4 등)
- 정밀 검토 대상: 텍스트·로직·프롬프트가 존재할 가능성이 있는 모든 파일
(.pdf .hwp .hwpx .xlsx .docx .pptx .py .js .ts .html .css .md .txt .json .yaml .xml .ini .cfg 등)
- 판단 불가 확장자: [MANUAL: Review Required] 로 분류하여 사용자에게 보고
3. 최종 판독 대상 목록을 사용자에게 보고하고 확정한다
## 통과 기준
- 텍스트·로직이 포함될 수 있는 파일 누락 0건
- 판단 불가 확장자 사용자 보고 완료
## 다음 단계
- 통과 → Step-03으로 이동
- 재실행 → 누락 확장자 추가 후 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-02] 필터링 - YYYY-MM-DD
[완료] 제외된 파일 수 (바이너리):
[완료] 정밀 검토 대상 파일 수:
[확장자별 통계 - 발견된 전체 나열]
[MANUAL: Review Required] 판단 불가 확장자:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-02] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

56
Step-03.md Normal file

@@ -0,0 +1,56 @@
# Step 03. 텍스트 캡처 (Authentic Capture)
## 목적
Step-02에서 확정된 판독 대상 파일들의 텍스트를 인코딩 오류 없이 추출하여 scan_full.json에 저장한다.
## 실행
1. Step-02 확정 목록 기준으로만 진행한다
2. 인코딩 자동 감지 및 교정 (CP949 / UTF-8)
3. 파일 유형별 처리
- .hwp / .hwpx → pyhwpx 또는 hwp5txt로 텍스트 변환
실패 시 → [MANUAL: HWP Review Required] 로 기록하고 다음 파일로 넘어간다
- .pdf → PyMuPDF 또는 pdfplumber로 텍스트 추출
- .docx → python-docx로 텍스트 추출
- .pptx → python-pptx로 텍스트 추출
- .xlsx → openpyxl로 텍스트 추출
- .py .js .ts .html .css .md .txt .json .yaml .xml .ini .cfg → 직접 읽기 (인코딩 교정)
4. 전체 캡처 결과를 scan_full.json으로 저장한다
5. 캡처된 파일 목록을 사용자에게 보고하고 승인을 받는다
## 통과 기준
- 한글 가독성 100% (깨진 문자 0)
- scan_full.json 정상 생성
## 다음 단계
- 사용자 승인 후 → Step-04로 이동
- 인코딩 오류 다수 → 해당 파일 수동 처리 후 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-03] 텍스트 캡처 - YYYY-MM-DD
[완료] 캡처 성공 파일 수:
[SKIP: Encoding Error] 목록:
[MANUAL: HWP Review Required] 목록:
[ERROR: File Corrupted] 목록:
[확인] scan_full.json 생성 여부:
[확인] 사용자 승인 여부:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-03] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

106
Step-04.md Normal file

@@ -0,0 +1,106 @@
# Step 04. 블록 해체 및 분류 (Block Decomposition)
## 목적
파일 전체가 아닌 블록 단위로 해체하여 Judge-Standard 기준으로 각 블록의 성격을 판단한다.
하나의 파일에서 프롬프트, 도메인, 코드도메인, 제외가 동시에 나올 수 있다.
## 판단 전 반드시 숙지
분류 기준은 Judge-Standard 위키를 따른다.
아래는 오판을 방지하기 위한 핵심 주의사항이다.
### 프롬프트 판단 시 주의
- .txt / .md 파일 전체가 프롬프트일 수 있다 → 파일 전체 내용을 읽고 판단한다
- "당신은 ~입니다", "You are ~", "Act as ~" 로 시작하는 섹션 → 프롬프트 후보일 수 있으나, Judge-Standard 3요소(행동 지시, 가변 블록 포함)를 모두 충족하는지 반드시 추가 확인한다. 해당 문구만으로 프롬프트로 단정하지 않는다
- API 호출 코드(`openai.ChatCompletion.create()`, `client.chat.completions.create()` 등)는 프롬프트가 아니다 → 제외
- 한 줄짜리 인라인 f-string(`f"다음을 번역해줘:\n{text}"`)은 프롬프트가 아니다 → 제외
- `messages` 리스트 내부의 `content` 값만 추출하여 판단한다
### 도메인 판단 시 주의
- 도메인의 범위는 Judge-Standard를 따른다. 미리 한정하지 않는다
- CSS/HTML/JS도 재사용 가능하면 도메인이다
- .txt / .md 파일 안의 CSS 블록, HTML 구조, JS 함수도 도메인이 될 수 있다
### 코드도메인 판단 시 주의
- Python def / class 단위로 독립 완결되는 것만 해당한다
- 경로 설정, API 키, import 문만 있는 블록은 제외
- if __name__ == "__main__" 블록은 제외
## 파일 유형별 해체 방식
### .txt / .md 파일
- 파일 전체 내용을 읽는다
- 섹션(##) 단위로 분리하여 각각 판단한다
- 파일 전체가 하나의 프롬프트인 경우도 있다 (예: 작성_가이드.txt)
- 파일 안에 CSS/HTML/JS 블록이 섞여있으면 해당 블록도 별도 추출한다
### .py 파일
- 멀티라인 문자열 변수(`"""..."""`)
- `PROMPT_`, `SYSTEM_`, `system_prompt` 등 프롬프트 관련 변수명의 값
- `messages=[...]` 내부 content 값
- `def` / `class` 단위 함수·클래스
- 위 단위로 분리하여 각각 판단한다
### .html 파일
- `<style>` 태그 → 도메인 후보
- `<script>` 태그 → 도메인 후보
- 레이아웃 구조 → 도메인 후보
- 섹션별로 분리하여 판단한다
### .json / .yaml 파일
- `system`, `prompt`, `messages` 키의 값 → 프롬프트 후보
## 혼재 파일 처리 원칙
하나의 파일에서 여러 분류가 나오면 블록별로 독립 추출하여 각 목적 폴더에 저장한다
예시: 작성_가이드.txt (1개 파일)
- "당신은 전문 퍼블리싱 편집 디자이너입니다..." 섹션 → 프롬프트
- CSS 블록 전체 → 도메인
- HTML 구조 (box-cover, box-toc 등) → 도메인
- JavaScript 페이지네이션 로직 → 도메인
예시: step3_domain.py (1개 파일)
- `def sample_from_pdf(...)` 함수 → 코드도메인
- `def sample_from_xlsx(...)` 함수 → 코드도메인
- `OPENAI_API_KEY = "sk-..."` → 제외 [SKIP: Config]
- `client.chat.completions.create(...)` 호출부 → 제외
## 통과 기준
- 파일 전체 복사 0건 (반드시 블록 단위 추출)
- API 호출 코드가 프롬프트 폴더에 혼입 0건
- 한 줄짜리 인라인 문자열이 프롬프트로 분류 0건
- .txt / .md 파일 내 실제 프롬프트 누락 0건
## 다음 단계
- 분류 결과 사용자 보고 후 승인 → Step-05로 이동
- 오판 발견 시 → 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-04] 블록 해체 및 분류 - YYYY-MM-DD
[완료] 프롬프트로 분류된 블록 수:
[완료] 도메인으로 분류된 블록 수:
[완료] 코드도메인으로 분류된 블록 수:
[완료] 제외 처리된 블록 수:
[MANUAL: Review Required] 판단 불가 목록:
[MANUAL: Too Short] 목록:
[확인] 사용자 승인 여부:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-04] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

51
Step-05.md Normal file

@@ -0,0 +1,51 @@
# Step 05. 목적 판단 (Purpose Assignment)
## 목적
Step-04에서 분류된 각 블록이 어느 목적 폴더로 들어가는지 결정한다.
목적 폴더명은 블록 내용을 읽고 귀납적으로 결정한다. 미리 고정하지 않는다.
## 실행
1. 각 블록의 핵심 과업을 한 문장으로 요약한다
2. 핵심 동사+명사를 추출하여 목적 폴더명을 결정한다 (한글)
3. 기존 목적 폴더와 일치하면 수납, 없으면 새 폴더 생성
4. 판단 불가 블록은 _검토필요 폴더로 격리한다
## 폴더명 규칙
- 한글 행위동사+명사 조합
- 기타, 일반, General 금지 → 반드시 _검토필요로 격리
- 목적이 명확히 드러나야 한다
## 통과 기준
- 기타, 일반, General 폴더 0개
- _검토필요 외 미분류 블록 0개
## 다음 단계
- 통과 → Step-06으로 이동
- _검토필요 항목 다수 → 사용자 판단 요청 후 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-05] 목적 판단 - YYYY-MM-DD
[완료] 생성된 목적 폴더 및 블록 수:
[격리] _검토필요 이동 항목:
[확인] 기타/일반/General 폴더 존재 여부:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-05] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

63
Step-06.md Normal file

@@ -0,0 +1,63 @@
# Step 06. 정제 (Clean Assignment)
## 목적
분류된 블록에서 불순물을 제거하여 실제로 사용 가능한 순수 재료로 정제한다.
## 실행
### 프롬프트 정제
1. 코드 블록(def, class, const, import, API 호출 등) 완전 제거
2. 자연어 지시문만 남긴다
3. 원래 파일이 .txt/.md인 경우 CSS/HTML/JS 블록은 별도 도메인 파일로 분리한다
4. 정제 후 실제로 AI에 입력했을 때 의도한 동작이 나오는지 가상 실행으로 확인한다
### 도메인 정제
1. 원본 내용 그대로 보존한다
2. 프롬프트 지시문이 섞인 경우 해당 부분만 제거한다
3. 코드 주석 중 내용 이해에 필요한 것은 보존한다
4. 단순 import문, 경로 설정은 제거한다
### 코드도메인 정제
1. def / class 단위로 독립 완결되도록 정리한다
2. 필요한 import문은 함수 상단에 포함시킨다
3. if __name__ == "__main__" 블록 제거
4. API 키, 경로 설정 변수 제거
5. 함수 단독으로 복사해서 다른 프로젝트에 붙여넣어도 동작해야 한다
## 통과 기준
- 프롬프트 파일 내 코드 블록 0개
- 도메인 파일 내 프롬프트 지시문 혼입 0건
- 코드도메인 파일 단독 동작 가능 여부 확인 완료
## 다음 단계
- 통과 → Step-07로 이동
- 정제 실패 항목 → _검토필요로 격리 후 계속
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-06] 정제 - YYYY-MM-DD
[완료] 정제 완료 프롬프트 수:
[완료] 정제 완료 도메인 수:
[완료] 정제 완료 코드도메인 수:
[격리] 정제 실패 → _검토필요 이동 항목:
[MANUAL: Review Required] 판단 불가 항목:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-06] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

69
Step-07.md Normal file

@@ -0,0 +1,69 @@
# Step 07. 파일명 결정 (Output-Driven Naming)
## 목적
파일명만 보고 내용을 즉시 유추할 수 있도록 명명한다.
Organize-Standard 파일명 규칙을 따른다.
## 실행
1. 각 블록의 핵심 과업 명사를 직접 추출한다 (폴더 경로에 의존하지 않는다)
2. Organize-Standard 파일명 규칙을 적용한다
### 프롬프트 파일명
```
{AI모델}_{목적}_{핵심과업}_v{버전}.md
예: Claude_문서생성_A4보고서생성_v01.md
예: GPT_문서생성_보고서마스터가이드_v01.md
```
### 도메인 파일명
```
{용도 또는 분야}_{내용}_v{버전}.md
예: A4보고서_CSS인쇄레이아웃_v01.md
예: A4보고서_HTML4단구조_v01.md
예: A4보고서_JS페이지네이션_v01.md
```
### 코드도메인 파일명
```
{기능}_Python_v{버전}.py
예: PDF텍스트이미지추출_Python_v01.py
예: HWPX텍스트추출_Python_v01.py
```
3. 한글 깨짐 또는 내용을 유추할 수 없는 이름 발생 시 _검토필요로 격리한다
## 통과 기준
- 파일명만으로 내용 유추 가능 100%
- 한글 깨짐 0개
- 기타/일반/미분류 등 무의미한 이름 0개
## 다음 단계
- 통과 → Step-08로 이동
- 명명 불가 항목 → _검토필요 격리 후 계속
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-07] 파일명 결정 - YYYY-MM-DD
[완료] 명명 완료 파일 수:
[격리] 명명 불가 → _검토필요 이동 항목:
[오류] 한글 깨짐 발생 항목:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-07] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

60
Step-08.md Normal file

@@ -0,0 +1,60 @@
# Step 08. Switching 연결 (Reference Switching)
## 목적
프롬프트 파일이 참조해야 할 도메인 파일을 연결한다.
파일 내용 수정 없이 도메인 버전만 교체하여 프롬프트 동작을 변경할 수 있도록 한다.
## 실행
1. 각 프롬프트 파일의 내용을 읽고, 어떤 도메인이 필요한지 파악한다
2. 같은 목적 폴더 내 도메인 파일과 연결한다
3. 프롬프트 파일 내부에 아래 문법으로 참조를 삽입한다
```
{{도메인: ../도메인/{세부주제}/{파일명}}}
```
4. 참조된 도메인 파일이 실제로 존재하는지 전수 확인한다
### 연결 예시
```
## 참조 도메인
{{도메인: ../도메인/A4보고서_CSS인쇄레이아웃_v01.md}}
{{도메인: ../도메인/A4보고서_HTML4단구조_v01.md}}
{{도메인: ../도메인/A4보고서_JS페이지네이션_v01.md}}
```
### 버전 스위칭
도메인이 업데이트될 경우 참조 파일명의 버전 번호만 변경한다
## 통과 기준
- 모든 프롬프트에 참조 도메인 명시 100%
- 깨진 참조 링크 0개
## 다음 단계
- 통과 → Step-09로 이동
- 깨진 링크 발견 → 수정 후 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-08] Switching 연결 - YYYY-MM-DD
[완료] 연결 완료 프롬프트 수:
[오류] 깨진 참조 링크 목록:
[MANUAL: Review Required] 도메인 연결 불가 항목:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-08] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

59
Step-09.md Normal file

@@ -0,0 +1,59 @@
# Step 09. 최종 통계 보고서 (Final Reporting)
## 목적
Step-00~08까지의 모든 과정과 결과를 종합하여 보고서를 작성한다.
이 보고서는 Step-12 Audit의 입력 자료가 된다.
## 실행
1. 진행현황 이슈의 모든 코멘트에서 통계 데이터를 취합한다
2. 최종 폴더 트리를 생성하여 포함한다
3. 각 분류 결과의 근거를 간략히 명시한다
4. D:\prompts\Final_Review_Report.md 로 저장한다
## 보고서 포함 항목
```
## 1. 전체 통계
- 총 수집 파일 수:
- 제외 파일 수:
- 프롬프트 추출 수:
- 도메인 추출 수:
- 코드도메인 추출 수:
- _검토필요 격리 수:
## 2. 목적 폴더별 자산 현황
| 목적 폴더 | 프롬프트 | 도메인 | 코드도메인 |
## 3. 최종 폴더 트리
## 4. Loop 이력
- 실행 회차:
- 이전 실패 원인 (해당 시):
- 수정된 Step 위키 (해당 시):
```
## 통과 기준
- 통계 수치와 실제 작업 내용 100% 일치
- Final_Review_Report.md 정상 생성
## 다음 단계
- 통과 → Step-10으로 이동
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-09] 최종 통계 보고서 - YYYY-MM-DD
[완료] Final_Review_Report.md 생성 여부:
[확인] 통계 수치 검증 결과:
[첨부] 최종 폴더 트리:
→ 결과: 통과
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출

57
Step-10.md Normal file

@@ -0,0 +1,57 @@
# Step 10. 가변성 검증 (Variability QA)
## 목적
프롬프트 파일이 반복 재사용 가능한 템플릿인지 확인한다.
완성된 결과물이 아닌, 입력값을 바꿔가며 반복 사용할 수 있는 형태여야 한다.
## 실행
프롬프트 폴더 내 모든 파일에 대해 아래를 확인한다
### 확인 1. 가변 블록 존재 여부
아래 중 하나 이상이 반드시 존재해야 한다
- {변수명}, {content}, {data}
- [여기에 입력], [내용을 입력하세요]
- {{변수명}}
### 확인 2. 제약 조건 존재 여부
AI의 자유도를 통제하는 조건이 존재해야 한다
- 예: "원본 텍스트 절대 변경 금지", "3줄로 요약", "전문가 어조로 작성"
### 확인 3. 완성문 배제
이미 완성된 결과물 텍스트는 프롬프트가 아니다
- 보고서 본문, PPT 내용 추출물, 논문 목차 등 → _검토필요로 이동
## 통과 기준
- 가변 블록 없는 프롬프트 파일 0건
- 완성문이 프롬프트 폴더에 혼입 0건
## 다음 단계
- 통과 → Step-11로 이동
- 실패 항목 → _검토필요로 이동 후 계속
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-10] 가변성 검증 - YYYY-MM-DD
[완료] 검증 통과 프롬프트 수:
[실패] 가변 블록 없음 → _검토필요 이동:
[실패] 완성문으로 탈락 → _검토필요 이동:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-10] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

60
Step-11.md Normal file

@@ -0,0 +1,60 @@
# Step 11. 계층 정교화 (Final Refinement)
## 목적
전체 폴더 구조와 파일 간 연결을 최종 점검하고 정교화한다.
Step-12 Audit을 통과하기 위한 마지막 준비 단계다.
## 실행
### 1단계. 도메인 정렬
1. 모든 도메인 파일의 파일명·버전 연속성을 확인한다
2. 버전 번호가 중간에 비어있으면 채워넣거나 이슈로 기록한다
3. 같은 목적 폴더 내 도메인 파일들이 논리적으로 연결되는지 확인한다
### 2단계. Switching 링크 전수 업데이트
1. 도메인 파일명 최종 확정 후 모든 프롬프트 내 참조 링크를 업데이트한다
2. 최신 버전 도메인을 참조하고 있는지 확인한다
3. 깨진 링크가 없는지 전수 확인한다
### 3단계. 폴더 구조 최종 확인
1. 목적 폴더 내 자산이 10개 이상이면 하위 폴더 세분화를 검토한다
2. _검토필요 폴더에 남은 항목을 사용자에게 최종 보고한다
3. Organize-Standard 폴더 구조 규칙과 일치하는지 확인한다
## 통과 기준
- 버전 번호 공백 0개
- 깨진 Switching 링크 0개
- Organize-Standard 폴더 구조 규칙 100% 준수
## 다음 단계
- 통과 → Step-12로 이동
- 미비 항목 → 수정 후 재실행
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-11] 계층 정교화 - YYYY-MM-DD
[완료] 도메인 재정렬 완료 수:
[완료] Switching 링크 업데이트 완료 수:
[오류] 버전 공백 발견 항목:
[오류] 깨진 링크 발견 항목:
[보고] _검토필요 잔여 항목:
→ 결과: 통과 / 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
문제 발생 시:
1. create_issue 호출 → 제목: [Step-11] 문제 요약
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 원인 분석
- 코멘트 2: 변경 대상 및 이유
- 코멘트 3: 해결 방향 및 임시 조치

88
Step-12.md Normal file

@@ -0,0 +1,88 @@
# Step 12. 최종 Audit (The Ultimate Audit)
## 목적
구축된 라이브러리 전체를 검증하는 최종 방어선이다.
이 기준은 절대 변경하지 않는다.
Step-12 실패 시 원인이 된 Step을 찾아 해당 Step 위키를 수정하고 Step-00부터 재실행한다.
---
## Audit 기준
### 기준 A. 프롬프트 폴더 검사
각 프롬프트 파일을 열어 아래를 확인한다
1. 실제로 사용 가능한 지시문인가
- AI에 그대로 입력했을 때 의도한 작업이 시작되는가
- 단순 코드 추출물, API 호출 코드, 완성된 보고서 본문이 아닌가
2. 가변 블록이 있어 반복 재사용이 가능한가
- 입력값을 바꿔가며 반복 사용할 수 있는 구조인가
3. 참조 도메인이 연결되어 있고 해당 파일이 실제 존재하는가
### 기준 B. 도메인 폴더 검사
각 도메인 파일을 열어 아래를 확인한다
1. 프롬프트가 참조했을 때 실제로 도움이 되는 재료인가
- 작업 수행에 필요한 지식, 기준, 템플릿, 코드 등이 담겨있는가
2. 내용이 온전히 보존되어 있는가
- 깨진 한글, 잘린 내용, 빈 파일이 없는가
3. 다른 분류(프롬프트 지시문, 일회성 실행 코드 등)가 섞여있지 않은가
### 기준 C. 코드도메인 폴더 검사
각 코드도메인 파일을 열어 아래를 확인한다
1. 다른 프로젝트에 그대로 가져다 써도 동작하는가
- API 키, 절대 경로, 프로젝트 고유 변수가 포함되어 있지 않은가
2. 함수·클래스 단위로 독립 완결되어 있는가
### 기준 D. 전체 구조 검사
1. Organize-Standard 파일명 규칙을 준수하고 있는가
2. Organize-Standard 폴더 구조 규칙을 준수하고 있는가
3. 깨진 한글 파일명이 없는가
4. 빈 폴더가 없는가
---
## 판정
### 통과 조건
기준 A, B, C, D 모두 이상 없음 → 전체 완료
### 실패 시 처리 (Loop)
1. 실패한 파일과 기준을 이슈에 기록한다
2. 어느 Step에서 발생한 문제인지 원인을 추적한다
3. 해당 Step 위키에 개선 내용을 반영한다
4. Step-00부터 재실행한다
---
## 진행현황 이슈 코멘트 템플릿
```
### [Step-12] 최종 Audit - YYYY-MM-DD (N회차)
[기준A 프롬프트] 실패 항목:
[기준B 도메인] 실패 항목:
[기준C 코드도메인] 실패 항목:
[기준D 전체구조] 실패 항목:
→ 최종 판정: 전체 완료 / 실패 → Step-XX 위키 수정 후 Step-00 재실행
```
---
## Gitea 등록 (MCP 호출)
1. "진행현황" 이슈 번호 확인
2. 코멘트 템플릿을 채운다
3. create_issue_comment 호출
실패 시:
1. create_issue 호출 → 제목: [Step-12] Audit 실패 - 원인 Step-XX
2. 해당 이슈에 create_issue_comment 3회 호출
- 코멘트 1: 실패 항목 및 원인 분석 (어느 Step의 문제인가)
- 코멘트 2: 해당 Step 위키 변경 내용 및 이유
- 코멘트 3: Step-00 재실행 선언 및 예상 개선 사항