W14b — actual_floor_plan_generation_slice 20260526_0712_b20405

stage: w14b_actual_floor_plan_generation_slice | mode: generate | run_status: succeeded | exit_code: 0 | derived_from(W14): 20260526_0709_86d448 | api_call_attempt_count: 1 | image_generation_count: 1 | image_generation_backend: gpt-image-2

1. Per-fp actual generation results

fp_idgroup_id_pointerstatus model_usedpng_pathembed api_call_shape_actualactual_api_response_metacost_meta
fp_l05_01L05|mainsuccessgpt-image-2
/Users/manta/Documents/Projects/TheRoad-I1/scripts_output/actual_floor_plan_generation_slice_experiment/20260526_0712_b20405/png/fp_l05_01.png
bytes=893804
fp_l05_01method=images.generate model=gpt-image-2 size=1024x1024 quality=high n=1
{"latency_ms": 148008, "created": 1779747279}
{"provider_usage": {"input_tokens": 2378, "input_tokens_details": {"image_tokens": 0, "text_tokens": 2378}, "output_tokens": 7024, "total_tokens": 9402, "output_tokens_details": {"image_tokens": 7024, "text_tokens": 0}}}
fp_l07_01L07|maintarget_excludedgpt-image-2
bytes=0
(excluded by --targets)method=images.generate model=gpt-image-2 size=1024x1024 quality=high n=1
{}
{}
fp_l11_01L11|exteriortarget_excludedgpt-image-2
bytes=0
(excluded by --targets)method=images.generate model=gpt-image-2 size=1024x1024 quality=high n=1
{}
{}

2. Invariants

invariantstatusdetail
w14_inputs_presentPASS
{"missing_inputs": [], "payload_count": 3, "prev_run_id": "20260526_0709_86d448"}
targets_within_payloadPASS
{"invalid_targets": [], "effective_target_count": 1, "out_of_payload_targets": []}
all_targeted_results_present_and_mode_consistentPASS
{"mode": "generate", "issues": []}
model_used_was_gpt_image_2PASS
{"wrong_model_fp_ids": [], "expected": "gpt-image-2"}
production_diff_zero_db_write_zero_no_imageasset_writePASS
{"production_diff_empty": true, "db_write_count": 0, "image_asset_write_count": 0, "image_import_seen": false}
raw run_meta.json
{
  "run_id": "20260526_0712_b20405",
  "stage": "w14b_actual_floor_plan_generation_slice",
  "plan_version": "bps_w1",
  "generated_at": "2026-05-26T07:12:11.968746+09:00",
  "mode": "generate",
  "api_call_attempt_count": 1,
  "image_generation_count": 1,
  "reused_image_count": 0,
  "image_generation_backend": "gpt-image-2",
  "args": {
    "derive_actual_render_from": "scripts_output/candidate_floor_plan_render_slice_experiment/20260526_0709_86d448",
    "targets": "fp_l05_01",
    "generate": true,
    "reuse_existing_png_from_run": null,
    "output_root": "/Users/manta/Documents/Projects/TheRoad-I1/scripts_output/actual_floor_plan_generation_slice_experiment",
    "diag_print_imports": false
  },
  "derived_from": "20260526_0709_86d448",
  "reuse_source_run_id": null,
  "outputs": [
    "actual_floor_plan_render_results.json",
    "w14b_compatibility_report.json"
  ],
  "run_status": "succeeded",
  "exit_code": 0,
  "failed_invariants": []
}
raw results.json
{
  "fp_l05_01": {
    "fp_id": "fp_l05_01",
    "group_id_pointer": "L05|main",
    "prompt": "Do-not-divider elements (HIGH PRIORITY, read first): the following numbered elements MUST be drawn as compact symbols inside their stated unit and MUST NOT be drawn as long panels, bars, full walls, corridors, or partition dividers — even if the rest of the assembled prompt is long. If geometry is ambiguous, reduce to a tiny wall icon plus the marker number only. Do not let any of these elements become a boundary between two open-connection units:\n  - #13 (furniture; unit=living_dining; placement=interior_floor_furniture; anchor=center floor area of living dining)\n  - #14 (furniture; unit=kitchen_nook; placement=perimeter_furniture; anchor=north wall of kitchen nook)\n  - #17 (furniture; unit=living_dining; placement=wall_fixture; anchor=north wall of living dining)\n  - #22 (furniture; unit=living_dining; placement=interior_floor_furniture; anchor=floor near dining table)\n\nA flat 2D schematic top-down floor plan of a small South Korean rooftop apartment, clean vector line style on a white background with pastel color-coded room fills. The apartment consists of a central living dining area filled pale yellow, a small kitchen nook in the northwest filled pale green, a private bedroom A on the east filled pale blue, a private bedroom B in the northeast corner filled pale peach, a compact bathroom filled pale cyan, and an entry alcove filled pale beige. Includes symbols for sliding windows on the exterior walls, a front door, interior doors for both bedrooms and the bathroom, a dining table, a kitchen counter with a sink, and beds in both bedrooms. Small circular markers with numbers label each zone and persistent fixture. Simple lines, no gradients, no perspective, no 3D rendering elements.\n\nTopology rendering contract:\n- Scale preservation: preserve the base prompt's stated scale. Do not upscale compact / small units into spacious apartment proportions. Keep clearances tight and utilitarian, matching the described unit type.\n- Full-wall enclosed units (must be drawn as separately enclosed rooms with full walls):\n  - private_bedroom_a (private bedroom A)\n  - private_bedroom_b (private bedroom B)\n  - bathroom (bathroom)\n- Open / non-enclosed units (zones inside the larger plan, no full separating walls around them):\n  - living_dining (living dining area)\n  - kitchen_nook (kitchen nook)\n  - entry_alcove (entry alcove)\n- Open-connection pairs: these units must remain visually open to each other. Do NOT add a full separating wall, a doorway opening, or a corridor between them. They share continuous floor area:\n  - entry_alcove (entry alcove) <-> living_dining (living dining area) :: open connection\n  - living_dining (living dining area) <-> kitchen_nook (kitchen nook) :: open connection\n- Door / wall-boundary pairs: separated by a wall with a door opening (single door swing arc):\n  - entry_alcove (entry alcove) <-> bathroom (bathroom) :: door between\n  - living_dining (living dining area) <-> private_bedroom_a (private bedroom A) :: door between\n  - living_dining (living dining area) <-> private_bedroom_b (private bedroom B) :: door between\n- Furniture / fixture markers must be drawn as symbols INSIDE their referenced unit. They must not create room boundaries, walls, corridors, or partition dividers unless the element's position_hint explicitly says divider or partition.\n- Wall-positioned furniture or fixtures must sit on (or against) the hinted wall inside the unit. They must not float in the middle of the unit as a room divider.\n- Fixture compression rule: small fixtures (wall-mounted screens, devices, appliances, single-tile fixtures) must be drawn as small compact symbols, NOT as long horizontal panels or bars that stretch across open space. If a fixture could read as a divider between open-connection units, reduce its geometry to a tiny wall icon paired with its marker number — do not extrude it into a partition shape.\n- Compact open-zone discipline: open zones whose scale is marked compact / nook / wall-run must remain visually small. Do not scale a compact open zone into a full-sized room. The base prompt's overall unit scale is authoritative.\n- Unit scale constraints from the source-topology audit (these override any spacious default):\n  - living_dining: enclosure=open_zone_inside_plan; scale=primary_zone; open_connection=continuous flooring without visual thresholds connecting to kitchen and entry zones; notes=Main multi-functional open living room.\n  - kitchen_nook: enclosure=open_zone_inside_plan; scale=compact_nook_or_wall_run; open_connection=countertop run extending into the living dining room area; notes=Very narrow service area.\n  - private_bedroom_a: enclosure=full_wall_enclosed_room; scale=secondary_zone; open_connection=n/a; notes=Enclosed private sleeping area containing a window, curtains, and a bed.\n  - private_bedroom_b: enclosure=full_wall_enclosed_room; scale=secondary_zone; open_connection=n/a; notes=Enclosed master bedroom area containing a bed.\n  - bathroom: enclosure=full_wall_enclosed_room; scale=compact_service_cell; open_connection=n/a; notes=Compact wet room containing a mirror and washbasin.\n  - entry_alcove: enclosure=interior_threshold; scale=compact_service_cell; open_connection=immediate transition to living room; notes=Small entry alcove inside front door.\n- Element placement constraints from the source-topology audit. If a marker line above gives a looser position, this placement constraint wins:\n  - For any element where avoid_open_connection_boundary=True, do not use the open connection edge as the element's wall, backing, divider, or implied boundary. If a direction or wall label is ambiguous, choose a safe perimeter inside the same unit and keep the element visibly non-dividing.\n  - #11 unit=living_dining; mode=opening_marker; anchor=west wall of living dining area; avoid_open_connection_boundary=True; must_not_form_boundary=False; revised_position=west exterior wall of living area with curtain line; conflict=\n  - #13 unit=living_dining; mode=interior_floor_furniture; anchor=center floor area of living dining; avoid_open_connection_boundary=True; must_not_form_boundary=True; revised_position=center of living dining area, clear of entry and kitchen thresholds; conflict=\n  - #14 unit=kitchen_nook; mode=perimeter_furniture; anchor=north wall of kitchen nook; avoid_open_connection_boundary=True; must_not_form_boundary=True; revised_position=north wall of kitchen nook; conflict=\n  - #15 unit=private_bedroom_a; mode=perimeter_furniture; anchor=north wall of bedroom A; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=north side of private bedroom A; conflict=\n  - #16 unit=private_bedroom_b; mode=perimeter_furniture; anchor=north wall of bedroom B; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=north side of private bedroom B; conflict=\n  - #17 unit=living_dining; mode=wall_fixture; anchor=north wall of living dining; avoid_open_connection_boundary=True; must_not_form_boundary=True; revised_position=north wall of living dining area facing dining table; conflict=\n  - #18 unit=private_bedroom_a; mode=floor_plot_marker; anchor=floor near east window; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=floor area behind window curtains in private bedroom A; conflict=\n  - #19 unit=private_bedroom_a; mode=floor_plot_marker; anchor=floor from center to door; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=from floor of private bedroom A leading through bedroom A door; conflict=\n  - #20 unit=private_bedroom_a; mode=wall_plot_marker; anchor=north wall of bedroom A; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=north wall surface of private bedroom A above bed A; conflict=\n  - #21 unit=bathroom; mode=wall_plot_marker; anchor=bathroom wall behind washbasin mirror; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=bathroom wall surface behind washbasin mirror; conflict=\n  - #22 unit=living_dining; mode=interior_floor_furniture; anchor=floor near dining table; avoid_open_connection_boundary=True; must_not_form_boundary=True; revised_position=near dining table on living area floor; conflict=\n  - #23 unit=private_bedroom_a; mode=floor_plot_marker; anchor=floor beside bed A; avoid_open_connection_boundary=False; must_not_form_boundary=False; revised_position=floor of private bedroom A beside bed A; conflict=\n\nNumbered marker contract: draw circular markers with EXACTLY the listed marker numbers below. Preserve the exact non-consecutive marker numbers listed below. Do not renumber, do not omit listed markers, and do not invent additional marker numbers.\n#1 living dining area — area — central main room, pale yellow fill\n#2 kitchen nook — area — northwest corner connected openly to living dining area, pale green fill\n#3 private bedroom A — area — east room behind interior door, pale blue fill\n#4 private bedroom B — area — northeast room behind interior door, pale peach fill\n#5 bathroom — area — southeast compact room beside entry, pale cyan fill\n#6 entry alcove — area — southwest interior threshold inside front door, pale beige fill\n#7 front door — opening — south wall of entry alcove, showing swing arc\n#8 bedroom A door — opening — east wall of living area opening into private bedroom A\n#9 bedroom B door — opening — northeast wall of living area opening into private bedroom B\n#10 bathroom door — opening — entry alcove east wall opening into bathroom\n#11 living sliding window with curtains — opening — west exterior wall of living area with curtain line\n#12 bedroom A sliding window with curtains — opening — east exterior wall of private bedroom A with curtain line\n#13 dining table — furniture — center of living dining area\n#14 kitchen counter with sink and cooktop — furniture — north wall of kitchen nook\n#15 bed A — furniture — north side of private bedroom A\n#16 bed B — furniture — north side of private bedroom B\n#17 television — furniture — north wall of living dining area facing dining table\n#18 curtain-side floor evidence zone — plot_device — floor area behind window curtains in private bedroom A\n#19 footprint trail — plot_device — from floor of private bedroom A leading through bedroom A door\n#20 wall red ring mark A — plot_device — north wall surface of private bedroom A above bed A\n#21 wall red ring mark B — plot_device — bathroom wall surface behind washbasin mirror\n#22 toppled chair or fallen cushion — furniture — near dining table on living area floor\n#23 red floor stain zone — plot_device — floor of private bedroom A beside bed A\nFor plot_device entries, draw only an abstract floor-plan marker/zone cue, not a literal entity instance or action.\nDo not render category names or position hints as diagram text; use them only as drawing guidance.",
    "api_call_shape_actual": {
      "client_method": "images.generate",
      "model": "gpt-image-2",
      "size": "1024x1024",
      "quality": "high",
      "n": 1
    },
    "model_used": "gpt-image-2",
    "png_path": "/Users/manta/Documents/Projects/TheRoad-I1/scripts_output/actual_floor_plan_generation_slice_experiment/20260526_0712_b20405/png/fp_l05_01.png",
    "png_size_bytes": 893804,
    "actual_api_response_meta": {
      "latency_ms": 148008,
      "created": 1779747279
    },
    "error_meta": {},
    "cost_meta": {
      "provider_usage": {
        "input_tokens": 2378,
        "input_tokens_details": {
          "image_tokens": 0,
          "text_tokens": 2378
        },
        "output_tokens": 7024,
        "total_tokens": 9402,
        "output_tokens_details": {
          "image_tokens": 7024,
          "text_tokens": 0
        }
      }
    },
    "retry_count": 0,
    "status": "success",
    "source_mode": "live_api"
  },
  "fp_l07_01": {
    "fp_id": "fp_l07_01",
    "group_id_pointer": "L07|main",
    "prompt": "A flat 2D schematic top-down floor plan of an institutional animal shelter corridor, clean vector line style on a pale gray background. The plan shows a long central hallway corridor flanked on both sides by rows of wire cages drawn with neat parallel metal grid symbols. Heavy metal door swings are shown at both ends of the corridor. Solid concrete walls enclose the layout with simple single-weight outlines. Circular markers with numbers label the cages, doors, and corridor space. No perspective, no 3D effects, no text.\n\nNumbered marker contract: draw circular markers with EXACTLY the listed marker numbers below. Preserve the exact non-consecutive marker numbers listed below. Do not renumber, do not omit listed markers, and do not invent additional marker numbers.\n#1 corridor path — area — central hallway path running north-south\n#2 heavy metal doors — opening — entrance door on the south end\n#3 oblique wire cages — fixture — rows along both east and west walls\n#4 concrete walls — fixture — outer enclosing walls\n#5 kennel rows — area — the cage interior zones\nFor plot_device entries, draw only an abstract floor-plan marker/zone cue, not a literal entity instance or action.\nDo not render category names or position hints as diagram text; use them only as drawing guidance.",
    "api_call_shape_actual": {
      "client_method": "images.generate",
      "model": "gpt-image-2",
      "size": "1024x1024",
      "quality": "high",
      "n": 1
    },
    "model_used": "gpt-image-2",
    "png_path": "",
    "png_size_bytes": 0,
    "actual_api_response_meta": {},
    "error_meta": {},
    "cost_meta": {},
    "retry_count": 0,
    "status": "target_excluded"
  },
  "fp_l11_01": {
    "fp_id": "fp_l11_01",
    "group_id_pointer": "L11|exterior",
    "prompt": "A flat 2D schematic top-down floor plan of an exterior concrete staircase ascending to a rooftop landing, clean vector line style on an off-white background. The yard at the bottom is colored pale beige, the staircase run is pale gray, and the small landing platform at the top is pale blue-gray. Shows an iron door symbol on the north wall swinging inward. Railings are indicated by fine parallel lines along the open stair edge. Circular markers with numbers label the staircase, landing area, door, and wall. No text, no perspective, no 3D shading.\n\nNumbered marker contract: draw circular markers with EXACTLY the listed marker numbers below. Preserve the exact non-consecutive marker numbers listed below. Do not renumber, do not omit listed markers, and do not invent additional marker numbers.\n#2 rooftop landing area — area — upper concrete platform, pale blue-gray fill\n#3 exterior stair flight — furniture — steps leading from bottom yard up to upper platform\n#5 half-open iron rooftop door — opening — north wall of rooftop landing area\n#9 concrete wall — fixture — back support wall along the landing and stairs\nFor plot_device entries, draw only an abstract floor-plan marker/zone cue, not a literal entity instance or action.\nDo not render category names or position hints as diagram text; use them only as drawing guidance.",
    "api_call_shape_actual": {
      "client_method": "images.generate",
      "model": "gpt-image-2",
      "size": "1024x1024",
      "quality": "high",
      "n": 1
    },
    "model_used": "gpt-image-2",
    "png_path": "",
    "png_size_bytes": 0,
    "actual_api_response_meta": {},
    "error_meta": {},
    "cost_meta": {},
    "retry_count": 0,
    "status": "target_excluded"
  }
}