X'-1: 제목 원본에서 가져오기 (Kei가 바꾸지 않도록) X'-2: 들여쓰기 계층 (대/중/소제목+본문) X'-3: 이미지 캡션 원본 형식 X'-4: 상단 빈칸 균등 배분 X'-5: 카드 디자인 개선 X'-6: 표 요약 (하단 우측 Kei 요약) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.9 KiB
Phase X': 유형 B 파이프라인 개선 6건
작성일: 2026-04-06 전제: 유형 A 건드리지 않음. 유형 B 파이프라인 프로세스 수정.
현재 상태
- 유형 A: ✅ 동작 (01번 MDX)
- 유형 B: 구조(상단+하단2분할+결론) 동작하나 품질 문제 6건
개선 항목
X'-1: 제목 — 원본 MDX에서 가져오기
문제: Kei가 슬라이드 제목을 임의로 바꿈
원인: KEI_PROMPT가 title을 Kei에게 만들게 함
수정: Stage 1A에서 Kei 반환 title 대신 context.normalized.title 사용
파일: src/pipeline.py Stage 1A — 한 줄 수정
원칙: MDX frontmatter의 title을 그대로. Kei는 구조만 판단.
X'-2: 들여쓰기 계층 — 대/중/소제목+본문
문제: 모든 텍스트가 왼쪽 맞춤. 계층 구조 없음
원인: _assemble_type_b에서 ##, ###, •, • 레벨 구분 없이 처리
수정: structured_text에서 ###=소제목, •=본문, •=하위로 인식하여 들여쓰기
대제목 (## → 꼭지 제목)
중제목 (### → 카드 소제목)
본문 (• → 불릿)
하위 ( • → 하위 불릿)
파일: scripts/assemble_stage2.py — _assemble_type_b 조립 로직
원칙: structured_text의 레벨을 코드가 인식. 하드코딩 아님.
X'-3: 이미지 캡션 — 원본 형식 그대로
문제: 캡션이 DX의 궁극적 목표로 나옴. 원본은 [그림 2] DX의 궁극적 목표
원인: [이미지:] 마커에서 제목만 추출. 원본 MDX의  형식 미반영
수정: MDX 원본의 이미지 alt text에서 캡션 추출. 에서 그대로
파일: scripts/assemble_stage2.py — 캡션 추출 + src/mdx_normalizer.py (이미지 정보에 alt text 보존)
원칙: 원본 그대로. 없으면 빈 캡션.
X'-4: 상단 빈칸 — 컨테이너 내 균등 배분
문제: 상단 컨테이너에서 내용이 위로 몰리고 아래 빈칸
원인: flex-direction: column + align-items: flex-start
수정: 컨테이너 내용이 전체 높이에 균등 배분되도록 flex 속성 조정
파일: scripts/assemble_stage2.py — _assemble_type_b CSS
원칙: font_size/gap 기반 동적 계산. 하드코딩 아님.
X'-5: 카드 디자인 — 소제목 카드 개선
문제: 안전과품질/생산성향상/소통과신뢰 카드가 눈에 안 들어옴
원인: 다크배경+노란제목 조합이 가독성 떨어짐
수정: PNG 참고 — 각 카테고리별 구분되는 배경색(다크 그라데이션), 불릿 텍스트 밝은 색, 간격 조정
파일: scripts/assemble_stage2.py — _assemble_type_b 카드 HTML
원칙: design tokens + font_size 기반 동적 계산. 색상은 팔레트에서 순환.
X'-6: 표 요약 — 하단 우측에 Kei 요약 표 배치
문제: 2.2 주체별 기대효과에 원본 표(발주자/시공자/설계자) 데이터가 있는데 결과에 빠짐
원인: 유형 B에서 V'-2(표 요약) 프로세스가 미연결
수정: 유형 A와 동일한 프로세스 — 코드가 하단 우측 공간 계산 → 행/열 수 산출 → Kei에게 원본 표 요약 요청 → 배치
파일: src/pipeline.py V'-2 + scripts/assemble_stage2.py — _assemble_type_b 하단 우측
원칙: 공간에 맞게 동적 계산. 원본 표를 Kei가 요약.
순서
X'-1 → X'-2 → X'-3 → X'-4 → X'-5 → X'-6
각 단계 완료 후:
- 하드코딩 검사
- 특정 MDX에만 동작하는 코드 아닌지 확인
- 유형 A(01번) 깨지지 않는지 확인
주의사항
- 유형 A 코드 건드리지 않음
- 파이프라인 프로세스를 수정하는 것이지 HTML 결과물을 고치는 것이 아님
- 하드코딩 절대 금지
- 제목/텍스트는 원본 그대로
- Kei가 재구성하는 건 빈 공간 채우기(표 요약)만