docs(#54): F-4 legacy annotation + F-5 fixture convention -- AUDIT-01 housekeeping

INTEGRATION-AUDIT-01 (#50) §10.4 / §10.5 housekeeping carry-over.

F-4: annotate 14 remaining legacy Phase R'/Q sample-text hits across 10
src/ files with inline marker `# [legacy Phase R'/Q example -- INTEGRATION-AUDIT-01 §10.4]`.
Comment-only. No string-literal / regex / sample dict value mutated.
fit_verifier.py L612 marker keeps Phase Z partial-live import graph
(FitAnalysis / RoleFit / redistribute / salvage) byte-precise.

F-5: docs-only addendum -- §10.5.1 in INTEGRATION-AUDIT-01-REPORT.md +
tests/CLAUDE.md fixture convention note. No root tests/fixtures/ dir
created; existing tests/phase_z2/fixtures/ convention preserved. Documents
test-only sample-reference allowance vs src/** runtime prohibition.

Out of scope: Phase Z source 11 hits (phase_z2_content_extractor /
failure_router / mapper / retry), production behavior change, #19 work.

Verified: pytest -q tests/phase_z2/ = 157 PASS. git diff +210/-0
(35 src/docs lines + 175 new tests/CLAUDE.md). No behavioral delta.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-19 20:23:36 +09:00
co-authored by Claude Opus 4.7
parent 8f06a4c99f
commit 02e2ae0afb
12 changed files with 210 additions and 0 deletions
+3
View File
@@ -1182,6 +1182,7 @@ async def generate_slide(
yield {"event": "progress", "data": "3/7 슬라이드 HTML 생성 중..."}
async def stage_2(context: PipelineContext) -> dict:
# [legacy Phase R'/Q example — INTEGRATION-AUDIT-01 §10.4]
# Phase X-BX': Type B는 code_assembled 직접 사용, Sonnet 재구성 스킵
if context.analysis.layout_template in ("B", "B'", "B''"):
from src.block_assembler import assemble_slide_html_final
@@ -1190,6 +1191,7 @@ async def generate_slide(
logger.info(f"[Stage 2] Type B: slide-base + 블록 (font_scale={fs:.1f})")
return {"generated_html": generated}
# [legacy Phase R'/Q example — INTEGRATION-AUDIT-01 §10.4]
# Type A: 기존 Sonnet 재구성 코드 그대로
from src.content_verifier import generate_with_retry
@@ -1998,6 +2000,7 @@ async def _apply_adjustments(
block["detail_target"] = True
if "data" in block:
del block["data"]
# [legacy Phase R'/Q example — INTEGRATION-AUDIT-01 §10.4]
block["reason"] = f"재구성: {detail}"
logger.info(
f"조정: {area} → kei_restructure (detail_target)"