Phase W + V' 완료: before→filled→after 파이프라인 + 조립 로직 수정

Phase W:
- weight 비율 초기 배정 (space_allocator header 높이 반영)
- block_assembler 공통 조립 함수 (filled/assembled 통합)
- filled → Selenium 측정 → context 저장
- sidebar overflow 확장 + body 재배분
- sub_layouts 사전 계산 (이미지 누락 해결)

Phase V':
- 팝업 링크 우측상단 배치 (인라인 → position:absolute)
- 표 내용 Kei 판단 (공란 크기 계산 → 행/열 산출 → Kei 요약)
- 출처 라벨 삭제 + 이미지 아래 캡션 배치
- after 공란 제거 (결론 바로 위까지 body/sidebar 채움)

추가:
- V-10 bold 키워드: 기계적 추출 → Kei 문맥 판단
- ** 마크다운 → <strong> 변환
- [이미지:] 마커 제거 (bold 변환 전 처리)
- grid-template-rows AFTER 크기 반영 (Sonnet final)
- assemble_stage2 CSS font-size override, white-space fix
- 하드코딩 전수 검토 완료
- 본심 여러 topic 텍스트 합침

Phase X 계획 문서 작성 (동적 역할 구조)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-06 05:00:52 +09:00
parent 24eb1bc5ad
commit 1f7579cf64
64 changed files with 13955 additions and 696 deletions

63
PLAN.md
View File

@@ -335,6 +335,64 @@ P2-E (누락기능) ── 병렬 │
---
## Phase V: 콘텐츠-컨테이너 적합성 검증 + Kei 에스컬레이션 (상세: PHASE-V.md)
> 근거: Phase T' 디버깅에서 발견된 구조적 결함. 콘텐츠 분량과 무관한 컨테이너 고정 배분, 적합성 검증 부재, 판단 주체 부재.
### V-1: Stage 1.7 수정 — 꼭지별 블록 선택
- **현재:** 영역당 블록 1개 → **변경:** 꼭지당 블록 1개
- **파일:** `src/block_reference.py`, `src/pipeline.py`
- **의존성:** 없음
- **완료 기준:** 배경 꼭지2개 → 블록2개 선택
### V-2: Stage 1.8 신규 — 적합성 검증
- **파일:** `src/fit_verifier.py` (신규)
- **내용:** 꼭지별 필요 높이 계산 → 컨테이너 배분 → 들어가는지 검증
- **의존성:** V-1
- **완료 기준:** 배경 117px 부족 자동 감지
### V-3: Stage 1.8 재배분 로직
- **파일:** `src/fit_verifier.py`
- **내용:** 여유 영역 → 부족 영역으로 공간 재분배
- **의존성:** V-2
- **완료 기준:** 배경 117→151px, 본심 345→311px 자동 재배분
### V-4: Stage 1.8 Kei 에스컬레이션
- **파일:** `src/fit_verifier.py`, `src/kei_client.py`
- **내용:** 재배분으로도 안 될 때 AI가 옵션 생성 → Kei에게 결정 요청
- **의존성:** V-2, V-3
- **완료 기준:** Kei에게 옵션 전달 → 결정 수신 → 파이프라인 계속
### V-5: Stage 1.5a 리팩터
- **파일:** `src/space_allocator.py`, `src/pipeline.py`
- **내용:** weight 고정 배분 → 콘텐츠 분량 기반 동적 배분으로 교체
- **의존성:** V-2
- **완료 기준:** weight 하드코딩 제거
### V-6: 통합 검증 — ✅ 완료 (31/31 통과, 하드코딩 0개)
### V-7: 주종 관계 블록 내 종속 꼭지 처리
- **파일:** `src/fit_verifier.py`, `src/block_reference.py`
- **내용:** 종속 꼭지 분량에 따라 인라인/하위블록/보조블록 자동 판단 → Kei 확인
- **완료 기준:** 배경 꼭지2(supporting)가 꼭지1 블록 안에 인라인
### V-8: 여유 공간 콘텐츠 보충
- **파일:** `src/fit_verifier.py`
- **내용:** 재배분 후 여유 감지 → 관련 팝업 구조화 콘텐츠 → 요약 블록 추가 제안 → Kei 확인
- **완료 기준:** 본심 여유 공간에 비교표 핵심 요약 배치
### V-9: 영역 핵심 결론 강조 블록
- **파일:** `src/fit_verifier.py`, `src/block_reference.py`
- **내용:** purpose에서 핵심 결론 추출 → 강조 블록 제안 → Kei 확인
- **완료 기준:** 배경 "체계적 정립 필요"가 강조 블록으로 표시
### V-10: 텍스트 핵심 키워드 bold
- **파일:** `src/html_generator.py`
- **내용:** source_data 핵심 키워드 추출 → Stage 2 프롬프트에 전달 → Sonnet이 bold 처리
- **완료 기준:** 본심 "상위개념", "기술융합" 등 핵심 키워드 bold
---
## 의존 관계
```
@@ -350,6 +408,11 @@ Phase 4 (UI):
Phase 5 (블록 라이브러리):
DA-17(Figma추출) → DA-18(카테고리재편) → DA-19(변형확장) → DA-20(FAISS)
DA-18 → DA-21(renderer경로) → DA-22(catalog경로)
Phase V (적합성 검증):
V-1(꼭지별블록) → V-2(적합성검증) → V-3(재배분) → V-4(Kei에스컬레이션)
V-2 → V-5(1.5a리팩터)
V-1~V-5 → V-6(통합검증)
```
- Phase 1~2, 5: AI 없이 진행 가능