# Issue #49 — u2 spot-check: Step 14 visual_check event surfacing schema **Run context** - HEAD = `614c53358ecaa92e9f6fc979b2399da028e15d41` (main, post-실행-4) - Representative slide = `samples/mdx/03. DX 시행을 위한 필수 요건 및 혁신 방안.mdx` (memory lock: project_mdx03_frame_lock; rank 1/2 sample) - Run id = `issue49_u2_spotcheck` - Run dir = `D:\ad-hoc\kei\design_agent\data\runs\issue49_u2_spotcheck\phase_z2\` - Invocation (verbatim, no flag drift): `python -m src.phase_z2_pipeline "samples/mdx/03. DX 시행을 위한 필수 요건 및 혁신 방안.mdx" issue49_u2_spotcheck` **Run outcome (CLI banner verbatim)** - preset = `horizontal-2` (2 units, count-based v0) - unit 1 = `['03-1']` → frame 13 `three_parallel_requirements`, label=`use_as_is`, score=0.927 - unit 2 = `['03-2']` → frame 29 `process_product_two_way`, label=`use_as_is`, score=0.920 - zones height = `[228, 343] px` / ratios `[0.39, 0.586]` - final.html written; visual check = PASS; status = PASS **Schema axis 1 — top-level `image_events`** - path = `data\runs\issue49_u2_spotcheck\phase_z2\debug.json#/image_events` - present? → **YES** - type = `list`, len = 0 - mirrors `visual_runtime_check.image_events` → True - Reason for empty: MDX 03 contains no image content_objects in either zone; the surface is the schema lift, not the event payload. Per 614c533 commit body: write_debug_json now lifts `image_events` to top-level via `(visual_runtime_check or {}).get("image_events", [])`, mirroring the pre-existing `zone_geometries_px` surfacing precedent. **Schema axis 2 — top-level `table_events`** - path = `data\runs\issue49_u2_spotcheck\phase_z2\debug.json#/table_events` - present? → **YES** - type = `list`, len = 0 - mirrors `visual_runtime_check.table_events` → True - Reason for empty: MDX 03 contains no `