C.E.L._slide_test
이 저장소는 mdx 문서를 읽고 슬라이드 HTML 결과물로 변환하는 전체 실행 프로세스를 관리하기 위한 작업 저장소다.
핵심 목표는 다음과 같다.
- 누구라도 같은 저장소 구조와 위키 기준만으로
mdx -> 슬라이드변환을 수행할 수 있어야 한다. - 실행 과정은
위키 -> 이슈 -> docs/run-xxx -> 결과물순서로 추적 가능해야 한다. - 결과는 한 번 만들고 끝나는 것이 아니라,
검증 -> revise -> rollback -> 재실행루프로 개선 가능해야 한다. - Codex와 Gitea를 함께 사용해 작업 기준, 실행 기록, 산출물, 검증 결과를 모두 남긴다.
저장소 역할
이 저장소는 단순 코드 저장소가 아니다. 아래 네 가지 역할을 함께 가진다.
- 입력과 산출물 저장소
mdx원문 입력- 중간 구조화 결과
- stage snapshot
- 최종 HTML 결과물
- 검증 기록
- 실행 운영 저장소
- Step 1 ~ Step 6 이슈 정의
- stage 기반 실행 스크립트
- 자동 루프 스크립트
- Gitea 이슈 코멘트 자동 등록 스크립트
- 반복 개선 저장소
- 실패 분류
- 수정 액션
retry-plan.json- rollback 이력
- 다음 반복에 반영할 개선 방향
- 협업 저장소
- 위키에는 기준과 절차를 둔다.
- 이슈에는 단계별 실행 지시와 코멘트를 둔다.
docs/run-xxx에는 실제 작업 기록과 결과를 둔다.
전체 구조
docs/- run별 입력, 중간 산출물, stage snapshot, 최종 결과물, 검증 결과
scripts/- 실제 실행, 자동 루프, Gitea 이슈 코멘트 등록 스크립트
issues/- Gitea 이슈 탭에 등록할 Step 1 ~ Step 6 본문 초안
주요 경로:
docs/run-001/01-input/docs/run-001/02-kei-interpretation/docs/run-001/03-structure/docs/run-001/04-plan/docs/run-001/05-execution/docs/run-001/06-validation/
위키, 이슈, docs의 역할 분리
위키
위키는 기준서다.
위키에서 관리하는 내용:
- 사고방식과 운영 원칙
- 상위 작업 절차
- 상세 파이프라인
- 실행 프롬프트
즉, 위키는 어떻게 할 것인가를 정의한다.
이슈
이슈는 실행 단위다.
이슈에서 관리하는 내용:
- Step 1 입력 확인
- Step 2 기준 해석
- Step 3 콘텐츠 구조화
- Step 4 실행 계획
- Step 5 실제 수행
- Step 6 검증 및 기록
즉, 이슈는 이번 step에서 무엇을 할 것인가와 실행 후 무엇이 나왔는가를 관리한다.
docs/run-xxx
docs/run-xxx는 실제 작업 기록과 산출물 저장소다.
여기에는 다음이 들어간다.
- 원본 입력
mdx - 중간 해석 파일
- 계획 파일
- stage context snapshot
- 생성 HTML
- measurement 결과
- validation 결과
- 이슈 코멘트 원문
즉, docs/run-xxx는 실제로 무엇이 만들어졌는가와 어느 stage에서 무엇이 바뀌었는가를 저장한다.
실행 대상 입력
각 run은 반드시 원본 입력 파일을 01-input에 함께 둔다.
예시:
docs/run-001/01-input/01. 건설산업 DX의 올바른 이해(0127).mdx
이 원칙이 중요한 이유:
- run만 보면 입력부터 결과까지 모두 추적 가능해야 한다.
- 외부 경로를 다시 찾지 않아도 재실행이 가능해야 한다.
기본 실행 흐름
전체 흐름은 다음과 같다.
- 위키의
Prompt를 읽는다. - Step 이슈를 읽는다.
docs/run-xxx/01-input의 원본mdx를 입력으로 사용한다.- Step 1 ~ Step 4 결과를 기준으로 실행 준비를 마친다.
scripts/run_from_artifacts.py로 실제 stage 실행을 수행한다.scripts/auto_loop_runner.py로 검증, retry-plan 생성, rollback, 반복 실행을 수행한다.- 결과를
docs/run-xxx/05-execution,06-validation에 저장한다. - Step 5, Step 6 결과를 Gitea 이슈 코멘트로 남긴다.
Step 정의
Step 1. 입력 확인
- 입력 문서를 식별한다.
- 문서 제목, 목적, 범위, 제약을 정리한다.
- 결과는
01-input/input-review.md에 남긴다.
Step 2. 기준 해석
- 입력을 슬라이드 목적에 맞게 해석한다.
- 핵심 메시지, 보존 기준, 실패 패턴을 정리한다.
- 결과는
02-kei-interpretation/에 남긴다.
Step 3. 콘텐츠 구조화
- 중심 메시지와 보조 정보를 구분한다.
- 본문, 사이드, 결론의 배치 가정을 세운다.
- 결과는
03-structure/에 남긴다.
Step 4. 실행 계획
- 실제 stage 실행 계획을 세운다.
- Stage 1A/1B 산출물, 실행 입력, 검증 포인트를 정리한다.
- 결과는
04-plan/에 남긴다.
Step 5. 실제 수행
- 실제 HTML 생성과 렌더링, 측정을 수행한다.
- stage snapshot과 산출물은
05-execution/에 남긴다.
Step 6. 검증 및 기록
- 핵심 메시지 가시성, 비교 정보, 이미지 참조, overflow 여부를 검증한다.
- 실패 시 retry-plan과 rollback 기준을 만든다.
- 결과는
06-validation/에 남긴다.
stage snapshot
run_from_artifacts.py는 실행 중간 상태를 stage별로 저장한다.
예시:
stage_0_context.jsonstage_1a_context.jsonstage_1b_context.jsonstage_1_5a_context.jsonstage_1_7_context.jsonstage_1_5b_context.jsonstage_2_context.jsonstage_2_verification.jsonstage_3_context.jsonstage_4_context.jsonfinal_context.json
이 구조가 중요한 이유:
- 최종
final.html만 보고 수정하지 않는다. - 실패가 나면 어느 stage로 돌아가야 하는지 추적할 수 있다.
- 무한 루프에 가까운 반복 개선의 근거가 된다.
자동 루프
이 저장소의 핵심은 한 번 생성하고 끝나는 것이 아니라, 실패 시 자동으로 보정하고 다시 실행하는 루프다.
현재 자동 루프 스크립트:
scripts/auto_loop_runner.py
이 스크립트가 하는 일:
run_from_artifacts.py실행- 결과 HTML, measurement, stage snapshot 로드
- strict 검증 수행
- 실패 시
retry-plan.json생성 - 실패 분류에 따라 rollback stage 결정
stage-1b-refined-concepts.json보정 및 이력 백업 생성- 다시 실행 후 재검증
- validation 결과 기록
- Step 5 / Step 6 코멘트 파일 작성
- Gitea 이슈 코멘트 자동 등록
즉, 이 스크립트는 실행 -> 검증 -> retry-plan -> rollback -> 재실행 -> 재검증의 핵심 루프를 담당한다.
retry-plan과 rollback
검증 실패 시 04-plan/retry-plan.json이 생성된다.
이 파일에는 다음이 들어간다.
- 실패 분류
- rollback stage
- 실패 이유
- 어떤 topic 또는 budget을 어떻게 보정할지에 대한 mutation 목록
또한 04-plan/history/ 아래에 stage 입력의 이전 버전이 백업된다.
예시:
stage-1b-refined-concepts.iteration-1.jsonstage-1b-refined-concepts.iteration-2.json
즉, 루프는 단순히 마지막 HTML을 덮어쓰는 것이 아니라, stage 입력을 보정하고 다시 생성하는 구조다.
strict 검증 기준
현재 합격 기준은 단순히 HTML이 만들어졌는가가 아니다.
아래가 모두 충족되어야 pass다.
slide overflow = falsebody overflow = falsesidebar overflow = falsefooter overflow = false- 핵심 메시지 가시 텍스트 존재
- 이미지/도해 참조 문구 존재
- 비교 핵심 4축(범위, 프로세스, 성과품, 확장성) 존재
- 관계도 블록 존재
즉, 측정 통과 + 가시 정보 보존 + 슬라이드 구조 유지가 모두 만족되어야 한다.
주요 스크립트
scripts/run_from_artifacts.py
역할:
- Step 4에서 만들어진 입력 산출물을 사용해 실제 stage 실행 수행
- stage snapshot 저장
generated_html.json,final.html,measurement.json,context.json,final_context.json저장retry-plan.json이 있으면stage_2에서 재생성 전략 적용
scripts/auto_loop_runner.py
역할:
- 실행 결과를 다시 읽음
- strict 검증 수행
- 실패 시 retry-plan 생성
- rollback 기준에 따라 stage 입력 보정
- validation 기록 저장
- Step 5 / Step 6 코멘트 자동 생성
- Gitea 이슈 코멘트 자동 등록
scripts/gitea_issue_sync.py
역할:
- Gitea REST API를 통해 이슈 생성, 본문 수정, 코멘트 등록 수행
Gitea 이슈 운영 방식
이슈는 Step 단위로 관리한다.
예시:
Step-1-Input-ReviewStep-2-InterpretationStep-3-Content-StructuringStep-4-Execution-PlanningStep-5-ExecutionStep-6-Validation-and-Recording
실행 결과는 각 step 이슈의 코멘트로 누적된다.
즉:
- 이슈 본문 = step 정의와 KPI
- 이슈 코멘트 = 실제 실행 결과
Gitea 자동 코멘트 등록
필요 환경변수:
GITEA_URLGITEA_TOKEN
예시:
$env:GITEA_URL="https://gitea.hmac.kr"
$env:GITEA_TOKEN="발급받은_개인_액세스_토큰"
주의:
- 토큰은 채팅이나 문서에 그대로 남기지 않는다.
- 노출된 토큰은 즉시 폐기하고 새로 발급한다.
새 run을 시작하는 방법
docs/run-template/를 복사해 새 run 폴더를 만든다.- 원본
mdx를01-input/에 넣는다. - 필요한 Step 1 ~ Step 4 산출물을 채운다.
- 위키의
Prompt를 기준으로 실행한다. scripts/auto_loop_runner.py를 실행한다.- 결과와 retry-plan, history를 확인한다.
사람이 실제로 하는 최소 판단
이 시스템이 자동화된 뒤에도 사람은 최소한 아래를 확인하는 것이 좋다.
- 최종
final.html이 실제 사용 목적에 맞는가 - 너무 과하게 압축되지는 않았는가
- 표현 톤이나 정보 강조가 의도와 맞는가
- stage rollback 방향이 설득력 있는가
즉, 시스템의 pass는 운영 기준 합격이고, 최종 실사용 품질은 사람 검토로 한 번 더 확인하면 가장 좋다.
결과물 확인 위치
주요 결과물:
- 최종 HTML:
docs/run-001/05-execution/final.html - 생성 HTML JSON:
docs/run-001/05-execution/generated_html.json - 측정 결과:
docs/run-001/05-execution/measurement.json - 검증 결과:
docs/run-001/06-validation/validation-result.md - 재시도 계획:
docs/run-001/04-plan/retry-plan.json - 재시도 이력:
docs/run-001/04-plan/history/
현재 상태
현재 run-001은 strict 기준으로 pass를 달성했다.
즉, 이 저장소는 이제 다음을 실제로 수행할 수 있다.
mdx입력을 저장소 안에 둔다.- Codex가 위키와 이슈를 읽는다.
- 단계별 실행을 수행한다.
- stage snapshot을 저장한다.
- strict 검증을 수행한다.
- 실패 시 retry-plan과 rollback으로 재실행한다.
- Gitea 이슈 코멘트로 결과를 남긴다.
한 줄 요약
이 저장소는 Codex + Gitea + docs/run-xxx 구조를 이용해 누구라도 mdx -> 슬라이드 변환을 반복 실행하고 검증하고 개선할 수 있도록 만든 운영 저장소다.