Files
C.E.L_Slide_test2/PHASE-X-PRIME.md
kyeongmin 42d60e44a5 문서 정리: PHASE-X-B, PHASE-X-PRIME, 메모리 업데이트
현재 상태:
- 유형 A:  동작
- 유형 B: code_assembled만 동작, 파이프라인(filled/after) 미연결
- 핵심 문제: block_assembler가 고정 4역할만 처리 → 유형 B 지원 필요

다음 세션:
1. block_assembler 유형 B 지원
2. 컨테이너 크기 맞춤 (Selenium 측정 기반)
3. 유형 A 깨지지 않는지 확인

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 12:27:47 +09:00

4.0 KiB

Phase X': 유형 B 파이프라인 개선

최종 업데이트: 2026-04-06 전제: 유형 A 건드리지 않음. 유형 B 파이프라인 프로세스 수정.


현재 상태

  • 유형 A (배경+본심+첨부+결론): 동작 (01번 MDX)
  • 유형 B (상단+하단2분할+결론): code_assembled만 동작, 파이프라인(before→filled→after) 미연결

완료된 것

X'-1: 제목 원본 MDX에서 가져오기

  • context.normalized.title 사용 (Kei title 대신)
  • 파일: src/pipeline.py Stage 1A

X'-2: 들여쓰기 계층 (code_assembled에서만)

  • ### 소제목 → 카드형 분리
  • 본문 불릿 indent 적용
  • 파일: scripts/assemble_stage2.py

X'-3: 이미지 캡션

  • normalized.images alt text에서 추출
  • 파일: scripts/assemble_stage2.py

X'-4: 상단 균등배분

  • justify-content:space-between
  • 파일: scripts/assemble_stage2.py

X'-5: 카드 디자인

  • 다크 그라데이션 + 밝은 텍스트
  • 파일: scripts/assemble_stage2.py

X'-6: 표 요약 (code_assembled에서만)

  • normalized.tables → pipeline V'-2에서 Kei 요약 → context 저장
  • _assemble_type_b 하단 우측에 표출
  • 파일: src/pipeline.py, scripts/assemble_stage2.py

MDX sections 계층

  • mdx_normalizer: ### (h3) 소목차도 section으로 분리
  • _assemble_type_b: normalized.sections에서 직접 텍스트 가져오기
  • 대목차/소목차 계층 반영

핵심 미해결 문제

유형 B의 before→filled→after 파이프라인이 연결 안 됨

증거:

  • FILLED: 2997bytes, 한글 80자 (유형 A는 214KB)
  • block_assembler.assemble_slide_html()이 고정 4역할(배경/본심/첨부/결론)만 처리
  • 유형 B의 자유 역할명(DX_궁극적_목표, 프로세스_변화 등)을 처리 못 함
  • 결과: filled/after가 거의 빈 HTML

해결 방향:

  • block_assembler.assemble_slide_html()이 유형 B 역할도 처리하도록
  • 또는 유형 B 전용 filled/after 함수 추가
  • _assemble_type_b(assemble_stage2)는 code_assembled 전용이므로, 파이프라인의 filled/after에는 별도 로직 필요

렌더링에서 잘림

증거:

  • code_assembled에 모든 내용이 HTML로 있지만 브라우저에서 보면 잘림
  • overflow:hidden + 컨테이너 크기 < 내용 크기
  • 상단 카드가 잘림, 결론이 안 보임

해결 방향:

  • 컨테이너 크기 계산에서 내용 크기를 고려
  • 또는 Selenium 측정 후 재배분 (이건 filled→after 파이프라인이 동작해야 가능)

Kei가 하는 일 (명확히 정리)

  1. 꼭지 찾기 + 그루핑 — MDX 구조 분석
  2. 유형 선택 (A/B) — 콘텐츠에 맞는 레이아웃
  3. 블록 선택 — 컨테이너에 맞는 블록 타입
  4. 공란에 표/팝업 요약 — 원문 최대 유지
  5. bold 키워드 판단 — 문맥 기반

나머지는 전부 MDX 원본에서 가져옴:

  • 제목, 대목차, 중목차, 소목차, 텍스트 — 원본 그대로
  • 핵심 요약 — 원본 그대로
  • Kei가 텍스트를 재작성하지 않음

다음 세션 작업 순서

  1. 유형 B filled/after 파이프라인 연결 — block_assembler 또는 별도 함수
  2. 컨테이너 크기 vs 내용 크기 맞춤 — Selenium 측정 기반 재배분
  3. 렌더링 잘림 해결 — overflow 처리
  4. 01번(유형 A) 깨지지 않는지 확인

관련 파일

파일 역할 유형 B 상태
src/kei_client.py KEI_PROMPT (유형 A/B 선택)
src/validators.py 검증기 (유형 B 완화)
src/space_allocator.py 컨테이너 생성 (build_containers_type_b)
src/pipeline.py 파이프라인 분기 (layout_template) 분기만
src/pipeline_context.py Analysis.layout_template
src/mdx_normalizer.py ### 소목차 section 분리
scripts/assemble_stage2.py _assemble_type_b (code_assembled)
src/block_assembler.py assemble_slide_html (filled/after) 유형 B 미지원