W17B — floor_plan_image_smoke_slice 20260526_1123_ebf84d

stage: dry_run | run_status: succeeded | exit_code: 0 | model: gpt-image-2 | api_call_count: 0 | image_generation_count: 0 | png_size_bytes: 0

(no PNG — dry-run or failed call)

generated_image_meta.json
{
  "fp_id": "fp_l05_01",
  "model": "gpt-image-2",
  "size": "1024x1024",
  "quality": "high",
  "source_prompt_len_chars": 1246,
  "assembled_prompt_len_chars": 3460,
  "assembled_prompt": "Marker mapping contract (HIGHEST PRIORITY): use exactly these marker meanings. Do not create a new legend, do not rename marker labels, do not reuse one marker number for multiple elements. Prefer NO independent side legend; place each marker number directly next to its referenced element on the plan. If a side legend strip is unavoidable, it must copy this mapping verbatim. The plan-marker mapping below is authoritative:\n#1 = living dining area | kind=spatial_unit | visual=filled_area\n#2 = kitchen nook | kind=spatial_unit | visual=filled_area\n#3 = private bedroom A | kind=spatial_unit | visual=filled_area\n#4 = private bedroom B | kind=spatial_unit | visual=filled_area\n#5 = bathroom | kind=spatial_unit | visual=filled_area\n#6 = entry alcove | kind=spatial_unit | visual=filled_area\n#7 = front door | kind=opening | visual=wedge_arc\n#8 = bedroom A door | kind=opening | visual=wedge_arc\n#9 = bedroom B door | kind=opening | visual=wedge_arc\n#10 = bathroom door | kind=opening | visual=wedge_arc\n#11 = living sliding window with curtains | kind=window_or_exterior_opening | visual=blue_edge_bar\n#12 = bedroom A sliding window with curtains | kind=window_or_exterior_opening | visual=blue_edge_bar\n#13 = dining table | kind=furniture_or_large_prop | visual=outlined_furniture_symbol\n#14 = kitchen counter with sink and cooktop | kind=furniture_or_large_prop | visual=outlined_furniture_symbol\n#15 = bed A | kind=furniture_or_large_prop | visual=outlined_furniture_symbol\n#16 = bed B | kind=furniture_or_large_prop | visual=outlined_furniture_symbol\n#17 = television | kind=screen_or_device_fixture | visual=small_device_icon\n#18 = curtain-side floor evidence zone | kind=state_or_evidence_surface_cue | visual=hatched_surface_marker\n#19 = footprint trail | kind=state_or_evidence_surface_cue | visual=hatched_surface_marker\n#20 = wall red ring mark A | kind=state_or_evidence_surface_cue | visual=circle_with_label\n#21 = wall red ring mark B | kind=state_or_evidence_surface_cue | visual=circle_with_label\n#22 = toppled chair or fallen cushion | kind=furniture_or_large_prop | visual=outlined_furniture_symbol\n#23 = red floor stain zone | kind=state_or_evidence_surface_cue | visual=hatched_surface_marker\n\nCreate a square 1024x1024 flat orthographic schematic floor plan on a white background with thick black walls, simple clean lines, no perspective, no photorealism, and no lighting effects. Draw for VLM readability rather than aesthetic realism. Use pale filled blocks for spatial units: central main living/dining area, northwest open kitchen nook, east enclosed private bedroom A, northeast enclosed private bedroom B, southeast compact bathroom, and southwest entry alcove. Show open connections between entry and main area, and between main area and kitchen nook. Render doors as thick wall-break shapes with clear swing arcs, and render windows as blue exterior edge bars with curtain lines. Render furniture and fixtures as simple outlined symbols. Render surface/evidence cues as small hatched or marked zones, non-graphic and schematic. Place large high-contrast circled marker numbers directly on the plan; make every marker visible, legible, and non-overlapping where possible. Include a compact side legend strip if helpful, but plan markers are primary. Marker contract: show exactly #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #20, #21, #22, and #23; do not renumber, omit, or invent markers.",
  "legend_entry_count": 23,
  "png_relative_path": "png/fp_l05_01.png",
  "status": "dry_run"
}
safety_surface.json
{
  "production_diff_empty": true,
  "image_imports_seen": false,
  "api_call_count": 0,
  "image_generation_count": 0,
  "image_api_call_at_most_one": true,
  "target_fp_only_allowed": true,
  "png_emitted_when_generated": true
}
run_meta.json
{
  "run_id": "20260526_1123_ebf84d",
  "stage": "w17b_floor_plan_image_smoke_slice",
  "plan_version": "bps_w1",
  "generated_at": "2026-05-26T11:23:46.465677+09:00",
  "args": {
    "derive_image_smoke_from": "scripts_output/floor_plan_image_prompt_slice_experiment/20260526_1048_b9e0f6",
    "target_fp_ids": "fp_l05_01",
    "generate": false,
    "model": "gpt-image-2",
    "output_root": "/Users/manta/Documents/Projects/TheRoad-I1/scripts_output/floor_plan_image_smoke_slice_experiment",
    "diag_print_imports": false
  },
  "derived_from": "20260526_1048_b9e0f6",
  "target_fp_ids": [
    "fp_l05_01"
  ],
  "invalid_targets": [],
  "model": "gpt-image-2",
  "image_api_call_count": 0,
  "image_generation_count": 0,
  "outputs": [
    "generated_image_meta.json",
    "safety_surface.json"
  ],
  "run_status": "succeeded",
  "exit_code": 0,
  "failed_invariants": [],
  "stage_status": "dry_run",
  "safety_surface": {
    "production_diff_empty": true,
    "image_imports_seen": false,
    "api_call_count": 0,
    "image_generation_count": 0,
    "image_api_call_at_most_one": true,
    "target_fp_only_allowed": true,
    "png_emitted_when_generated": true
  },
  "png_relative_path": "png/fp_l05_01.png",
  "png_size_bytes": 0
}