docs: reorder Phase Q audit roadmap priorities

- Replace §4 placeholder with grouped priority table (↑ / 중 / ↓ / 별 axis)
- Add §4 verification guardrail (no MDX / frame hardcoding)
- Add A-2 / A-5 risk notes (catalog frame change allowed, fallback status semantics)
- Update PHASE-Z-ROADMAP.md §5 inline with audit-derived priorities
- Add §7-B mini summary table for 12 lens items and Step 16/17 retry axis
This commit is contained in:
2026-05-12 14:03:55 +09:00
parent c7abf61ef6
commit 8fe16e9c04
2 changed files with 57 additions and 7 deletions

View File

@@ -1265,14 +1265,41 @@ L5. (factual note — §1 매핑 누적) — §1 audit lens 의 B-1 매핑 정
## 4. 우선순위 재정렬
> §1 / §3 결과를 [`PHASE-Z-ROADMAP.md`](PHASE-Z-ROADMAP.md) §5 / §7-B 에 반영. *후속 turn*.
> **검증 기준**: 특정 MDX / 특정 frame 결과를 고정하지 않는다. backend 보강 axis 는 샘플별 PASS/FAIL, coverage, trace 설명 가능성을 확인한다. catalog 확장이나 V4 개선으로 선택 frame 이 바뀌는 것은 허용하며, 하드코딩된 MDX 03 baseline 으로 변화를 막지 않는다. 검증 대상 sample 은 axis 적용 시 별 turn 에서 결정.
>
> audit 결과 → 어느 항목이:
> - **Salvage 적용 시 빠르게 끝남** (작은 작업) → 우선순위 ↑
> - **새로 만들기** (큰 작업) → 우선순위 ↓ 또는 분해
> - **별 axis** (§1 lens 밖, deterministic 보강) → 별도 그룹
>
> 후속 작업 = [`PHASE-Z-ROADMAP.md`](PHASE-Z-ROADMAP.md) §5 / §7-B 반영.
audit 결과 → 어느 항목이:
- **Salvage 적용 시 빠르게 끝남** (작은 작업) → 우선순위 ↑
- **새로 만들기 + Reference 만 가능** (큰 작업) → 우선순위 ↓ 또는 분해
- **해당 없음** (Phase Q 에 없음 또는 무관) → §1 표에서 제외
### 4-A. 우선순위 ↑ (Salvage 적용 시 빠르게 — 작은 작업)
후속 작업 = ROADMAP §5 / §7-B 갱신.
- **A-1 Stage 0 normalize 통합** — §2.1+§2.2 chained Salvage (adapter + dual-write 검증)
- **A-6 Zone 좌표 export** — §2.3 `_MEASURE_SCRIPT` JS extension Salvage (`getBoundingClientRect()` 추가 + step08 export 1 layer)
### 4-B. 우선순위 중 (새로 만들기 — 핵심 path)
- **A-2 Catalog 확장 (핵심 unblocker — 작업량 큼)** — frame_contracts + frame_partials 32 frame 등록. 다른 axis unblock. *risk note: catalog 확장 시 frame 선택 변경 허용 — 단 기존 성공 샘플이 FAIL 로 떨어지는지와 trace 설명 가능성 확인*
- **A-5 V4 fallback** — Phase Z Step 9 / Step 16 확장 (`calculate_fit` 통째 Migrate 금지 — dual path 위험). *risk note: fallback path 추가 시 status semantics 일관성 검토 — 신설 status 의미 명시*
- **B-1 Zone-section override** — CLI 인자 + pipeline override path (backend path)
- **B-2 Edited HTML → MDX** — 글벗 `fmt_slide.html_to_slide_mdx` 참조 가능 (backend path)
### 4-C. 우선순위 ↓ (새로 만들기 — 별 axis 활성 시 또는 분해)
- **A-3 Frame preview 일관성** — §2.3 `capture_slide_screenshot` Salvage 후보 (A-3 구현 axis 활성 시)
- **A-4 slide-base iframe mode** — 새로 만들기 conditional CSS (embedded vs standalone)
- **B-3 Sub-section drag drop** — Phase Z section_id schema 확장 (backend schema)
- **B-4 다른 layout zone-geometry** — build_layout_css 분기 확장 (backend layout)
- **D-1 filtered_section_reasons UI** — frontend 신규 (D-1 frontend axis)
- **D-2 Frame min_height 표시** — catalog `min_height_px` 직접 참조 + frontend resize hint
### 4-D. 별 axis — Step 16/17 retry 정밀화 (22-step 안 deterministic 보강)
- §2.4 `redistribute` + §2.5 glue (`compute_glue_css_overrides` + `calculate_glue_absorption` + `SPACING_GLUE`/`GlueSpec`) + §2.5 font compression (`find_fitting_font_size` + `FONT_SIZE_STEPS`) — 3 묶음 Salvage (deterministic)
- A-5 V4 fallback 과 분리 — Step 16 `router_decision` action 의 실 구현
- **AI fallback 아님** — AI 격리 invariant 안 (AI 호출 X)
---
@@ -1320,7 +1347,7 @@ audit 결과 → 어느 항목이:
| 2026-05-12 | §2.10 block_reference.py / block_selector.py audit | 완료 — Mixed (Reference Only heavy + 일부 high-level Phase R' / Kei prompt entries Archive). Salvage Candidate 0. block_reference utilities (`_get_jinja_env` / `_load_catalog` / `_get_block_by_id` / `_match_visual_type` / `_match_by_tags` / `VISUAL_TYPE_KEYWORDS`) + block_selector utilities + filtering (`load_catalog` / `_get_block_by_id` / `select_block_candidates` / `select_fallback_candidates` / 상수) = Reference Only. **block_reference high-level entries (`select_reference_block` / `generate_design_reference` / `select_and_generate_references`) = Phase R' reference path Archive (§2.8 / §2.9 와 같은 Phase R' core 그룹)**. block_selector `format_candidates_for_prompt` = Kei prompt formatter Archive (`kei_client.py` used). §3 적용 대상 없음. 별도 surface: §1 A-2 매핑 간접, K1 Phase R' reference path Archive marker, K2 Kei prompt formatter Archive marker, K3 block_selector legacy unused + dual path, K4 deterministic utilities reference axis, K5 catalog/_get_block_by_id 중복 cleanup axis, K6 §1 매핑 factual note |
| 2026-05-12 | §2.11 pipeline.py / pipeline_context.py audit (마지막) | 완료 — Mixed (Archive heavy — Phase Q+R'+T master orchestrator + utility Reference Only). **pipeline.py = Phase T 11-Stage AI orchestration main implementation (Phase Q+R'+T 모듈 모두 consume)**. Salvage Candidate 0. Main orchestration (`generate_slide` / `generate_slide_legacy` / `_retry_kei` / `_adjust_design` / `_review_balance` / `_apply_adjustments` / `_convert_kei_judgment`) = Archive. utility (`run_stage` / `_save_step` / `_build_overflow_context` / `_parse_json`) = Reference Only. pipeline_context.py = Reference Only (Pydantic schema + PipelineContext lifecycle methods). §3 적용 대상 없음. 별도 surface: §1 B-1 매핑 간접 (pipeline orchestration entry, direct composition planner 아님), 누적 §1 매핑 정정 axis weight ↑, utility 중복 (_parse_json 등) cleanup axis, L1 master orchestrator Archive marker, L2~L3 utility/schema reference axis, L4 cleanup axis, L5 §1 factual note |
| 2026-05-12 | §3 Salvage Plan 작성 | 완료 — §2.1~§2.11 audit 합산. Salvage Candidate **8 후보 묶음** lock: §1 lens 직접 매핑 4 (§2.1+§2.2 A-1 chained / §2.3 A-6) + A-3 conditional 1 (§2.3 `capture_slide_screenshot`) + 별 axis Step 16/17 retry 3 (§2.4 `redistribute` + §2.5 glue + §2.5 font compression). 구조 = §3-A (§1 lens 12 rows) + §3-B (별 axis 3 rows) — (γ) 중간안. 3-C Archive 명시 제외 / 3-D dual-write 상세는 §2 결론 중복 + 적용 axis 활성 시 작업 (over-engineering 회피). prelude 1 줄 — 8 후보 묶음 inventory |
| (then) | §4 우선순위 재정렬 ROADMAP 갱신 | (대기) |
| 2026-05-12 | §4 우선순위 재정렬 + ROADMAP 갱신 | 완료 — guardrail 박힘 (특정 MDX / frame 고정 금지, process 기준 — PASS/FAIL + coverage + trace 설명 가능성). 4 그룹 분류: **4-A ↑** (A-1 + A-6 Salvage 빠른) / **4-B 중** (A-2 핵심 unblocker — 작업량 큼 + A-5 + B-1 + B-2 새로 만들기 핵심) / **4-C ↓** (A-3 + A-4 + B-3 + B-4 + D-1 + D-2) / **4-D 별 axis** Step 16/17 retry deterministic 보강. A-2/A-5 risk note 박힘 (frame 변경 허용 + trace 설명 / fallback status semantics 명시). PHASE-Z-ROADMAP.md §5 inline (audit 결과) + §7-B mini summary table (12 lens + Step 16/17 retry 한 줄) |
### 정정 pass 2 실행 원칙

View File

@@ -142,10 +142,12 @@ frontend (`design_agent_front/design-agent`) 와 backend phase_z2 의 연결 axi
- audit 결과 반영 (Migrate 항목 우선 통합)
- frontend session 에서 발견된 보완 지점 (§7-B A 그룹) 반영
- Stage 0 normalize / V4 fallback / zone 좌표 export / slide-base iframe / catalog 확장 등
- **audit 결과** ([`PHASE-Q-AUDIT.md`](PHASE-Q-AUDIT.md) §3 / §4) : A-1+A-6 Salvage 빠른 axis 먼저, A-2 핵심 unblocker (작업량 큼), A-5/B-1/B-2 새로 만들기 핵심, B-3/B-4 backend schema/layout 낮은 우선순위, Step 16/17 retry 별 axis deterministic 보강
3. Frontend 추가 보완 (AI 투입 / HTML 수정 backend 적용 / DB 연결)
- §7-B B 그룹 (zone-section assignment / edited HTML → MDX 등)
- §7-B D 그룹 (filtered reason UI / min_height 한계 / status badge 안내)
- **audit 결과** ([`PHASE-Q-AUDIT.md`](PHASE-Q-AUDIT.md) §3 / §4) : D-1/D-2 새로 만들기 (frontend 신규)
4. 전체 일반화 + 시스템 audit
4a. MDX 01 / 02 / 04 fresh run (regression / status / coverage 검증)
@@ -203,6 +205,27 @@ frontend (`design_agent_front/design-agent`) 와 backend phase_z2 의 연결 axi
> **본 표는 §5 의 1 단계 audit lens** — 각 항목의 *목적 / input / output* 을 먼저 채우면 Phase Q 모듈 검토 시 *명확한 질문* 이 됨 ("이 schema 와 같은 코드가 Phase Q 에 있나? Migrate / Reference / Delete 어느 쪽?"). audit 결과로 본 §7-B 의 구현 우선순위가 재정렬됨.
### audit 결과 summary (2026-05-12)
| id | 항목 | audit 결과 | 우선순위 |
|---|---|---|---|
| A-1 | Stage 0 normalize | Salvage chained (§2.1+§2.2) | ↑ |
| A-2 | Catalog 확장 | 새로 만들기 (핵심 unblocker — 작업량 큼) | 중 |
| A-3 | Frame preview | Salvage 후보 (A-3 axis 활성 시) | ↓ |
| A-4 | slide-base iframe mode | 새로 만들기 | ↓ |
| A-5 | V4 fallback | 새로 만들기 | 중 |
| A-6 | Zone 좌표 export | Salvage (§2.3) | ↑ |
| B-1 | Zone-section override | 새로 만들기 (backend path) | 중 |
| B-2 | Edited HTML → MDX | 새로 만들기 (backend path) | 중 |
| B-3 | Sub-section drag drop | 새로 만들기 (backend schema) | ↓ |
| B-4 | 다른 layout zone-geometry | 새로 만들기 (backend layout) | ↓ |
| D-1 | filtered_section_reasons UI | frontend 신규 | ↓ |
| D-2 | Frame min_height 표시 | 새로 만들기 (frontend hint + catalog 참조) | ↓ |
추가 — **Step 16/17 retry 정밀화 axis** (§1 lens 밖, deterministic 보강, 22-step 안) — §2.4 `redistribute` + §2.5 glue + §2.5 font compression (3 묶음 Salvage). 상세 = [`PHASE-Q-AUDIT.md`](PHASE-Q-AUDIT.md) §3-B / §4-D.
상세 audit guardrail (특정 MDX / frame 고정 금지, process 기준) = [`PHASE-Q-AUDIT.md`](PHASE-Q-AUDIT.md) §4 머리글.
### A. Backend 본체 보완 (큰 axis)
| # | 항목 | 이유 / 영향 | 임시 대체 |