phase z pipeline: Step 5 / 6-A / 7-conn / 8-conn / Step 9 v0 axis 박힘

사용자 lock 2026-05-08 — Step 5/6/9 boundary reframe.
V4 가 frame 선택, Step 6 은 V4 rank-1 default 전사, Step 9 는 application_plan
번역. compat 매트릭스 안 폐기.

src/phase_z2_pipeline.py 변경 :
- lookup_v4_candidates(v4, section_id, max_n=6) 추가 — V4 non-reject max-6
  후보 list. raw 32 entry 는 v4_full32_result.yaml 영속, step05 = 정제 list.
  lookup_v4_match() (rank-1) 유지 — Step 6 backward compat. (Step 5 보완)
- step05_v4_evidence.json schema 확장 — evidence_per_section[i] =
  {section_id, v4_candidates: [...], candidate_status: "ok" |
  "no_non_reject_v4_candidate"}. (Step 5 보완)
- candidates_lookup_fn 정의 + plan_composition() 에 주입.
  V4 raw dict 는 composition module 안 봄 — fn injection. (Step 6-A)
- Step 6 artifact 의 selected_units[i] 에 v4_candidates 필드 추가. (Step 6-A)
- step07_layout.json data 에 unit_count + layout_candidates 필드 추가
  (Step 7-B 의 select_layout_candidates 결과). step07_selected_layout.html
  에 Layout Candidates 섹션 추가 (default / alternative / selected badge).
  (Step 7-conn)
- step08_zone_region_ratios.json 의 per_zone_plan[i] 에 region_layout_candidates
  + display_strategy_candidates 필드 추가 (Step 8-B-1/2 후보 함수 호출).
  step8_conn_placeholder_signals 명시 — Step 3/4 부재 종속 placeholder
  (region_count=1, content_type="text_block"). step08 HTML 에 candidates pill +
  placeholder caveat. (Step 8-conn)
- APPLICATION_MODE_BY_V4_LABEL 상수 추가 — V4 label → application_mode 변환.
- Step 9 v0 artifact block 신설 (~180 줄) — step09_application_plan.json +
  .html. unit 별 layout_candidates / region_layout_candidates /
  display_strategy_candidates / v4_candidates / candidate_status /
  application_status / current_default_candidate / application_candidates 박힘.
  invariant 5 가지 자연 만족 (status.md §4). (Step 9 v0)

src/phase_z2_composition.py 변경 :
- CompositionUnit 에 v4_candidates: list field 추가 (additive, logic 무변).
  duck typed (V4Match-shape) — circular import 회피. (Step 6-A)
- collect_candidates() 에 v4_candidates_lookup_fn 인자 추가. 3 분기
  (single / parent_merged / parent_merged_inferred) 에서 v4_candidates 채움.
  (Step 6-A)
- plan_composition() 도 v4_candidates_lookup_fn pass-through. (Step 6-A)
- stale "pipeline 호출처 X" 주석 정정 (3 곳: select_layout_candidates /
  select_region_layout_candidates / select_display_strategy_candidates +
  catalog header 2 곳). Step 7-conn / 8-conn 으로 호출처 박혀 *호출처 X* 사실
  위배. (cleanup-1)

axis 닫힘 : Step 5 보완 + 6-A + 7-conn + 8-conn + Step 9 v0 + cleanup-1.
폐기 : 6-B (frame ownership transfer — misframed axis. PHASE-Z-CHANGE-LOG.md
2026-05-08 #2 entry 참조).

regression 0 : MDX03 fresh run 검증 — final.html / step10/12/13/20 byte-동일.
schema 확장만 (step05/06/07/08/09).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-08 09:47:11 +09:00
parent 8e1f5c67c1
commit ec83405770
2 changed files with 1545 additions and 73 deletions

File diff suppressed because it is too large Load Diff