{
  "status": "completed",
  "applicable_count": 1,
  "completed_count": 1,
  "failed_count": 0,
  "schema_version": 2,
  "config_hash": "b3cd0d1df94ae88b",
  "data": {
    "per_fp": {
      "fp_l10_rock_entrance": {
        "fp_id": "fp_l10_rock_entrance",
        "readback_status": "ok",
        "readback": {
          "status": "ok",
          "fp_id": "fp_l10_rock_entrance",
          "grid_size": [
            10,
            10
          ],
          "observed_markers": [
            {
              "number": 1,
              "row": 4,
              "col": 1,
              "kind": "base_structural_unit"
            },
            {
              "number": 2,
              "row": 4,
              "col": 4,
              "kind": "base_structural_unit"
            },
            {
              "number": 3,
              "row": 4,
              "col": 4,
              "kind": "base_opening"
            },
            {
              "number": 4,
              "row": 4,
              "col": 6,
              "kind": "base_structural_unit"
            },
            {
              "number": 5,
              "row": 3,
              "col": 7,
              "kind": "base_structural_unit"
            },
            {
              "number": 6,
              "row": 3,
              "col": 8,
              "kind": "base_persistent_fixture"
            },
            {
              "number": 7,
              "row": 6,
              "col": 7,
              "kind": "base_persistent_fixture"
            }
          ],
          "missing_markers": [],
          "extra_markers": [],
          "confidence": 0.95,
          "diagnostics": [
            "observed_markers[2] cell (4,4) shares a 10x10 cell with marker #2 (W20E6-A: surfaced as diagnostic, not a hard blocker -- distinct marker numbers may genuinely occupy the same coarse cell)"
          ],
          "cell_collision_diagnostics": [
            "observed_markers[2] cell (4,4) shares a 10x10 cell with marker #2 (W20E6-A: surfaced as diagnostic, not a hard blocker -- distinct marker numbers may genuinely occupy the same coarse cell)"
          ],
          "provider_name": "litellm_gpt55_vision_v1"
        },
        "geometry": {
          "fp_id": "fp_l10_rock_entrance",
          "grid_size": [
            10,
            10
          ],
          "readback_status": "ok",
          "marker_cells": {
            "1": [
              4,
              1
            ],
            "2": [
              4,
              4
            ],
            "3": [
              4,
              4
            ],
            "4": [
              4,
              6
            ],
            "5": [
              3,
              7
            ],
            "6": [
              3,
              8
            ],
            "7": [
              6,
              7
            ]
          },
          "unit_marker_cells": {
            "1": [
              4,
              1
            ],
            "2": [
              4,
              4
            ],
            "4": [
              4,
              6
            ],
            "5": [
              3,
              7
            ]
          },
          "opening_marker_cells": {
            "3": [
              4,
              4
            ]
          },
          "fixture_marker_cells": {
            "6": [
              3,
              8
            ],
            "7": [
              6,
              7
            ]
          },
          "furniture_marker_cells": {},
          "camera_cell_candidates_per_unit": {
            "1": [
              [
                4,
                1
              ]
            ],
            "2": [
              [
                4,
                4
              ]
            ],
            "4": [
              [
                4,
                6
              ]
            ],
            "5": [
              [
                3,
                7
              ]
            ]
          },
          "look_at_cell_candidates_per_unit": {
            "1": [
              [
                3,
                8
              ],
              [
                4,
                4
              ],
              [
                6,
                7
              ]
            ],
            "2": [
              [
                3,
                8
              ],
              [
                4,
                4
              ],
              [
                6,
                7
              ]
            ],
            "4": [
              [
                3,
                8
              ],
              [
                4,
                4
              ],
              [
                6,
                7
              ]
            ],
            "5": [
              [
                3,
                8
              ],
              [
                4,
                4
              ],
              [
                6,
                7
              ]
            ]
          },
          "direction_vector_records": [
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": 3,
              "dy": 0,
              "length_l1": 3
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 5,
              "dy": 0,
              "length_l1": 5
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 6,
              "dy": -1,
              "length_l1": 7
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -3,
              "dy": 0,
              "length_l1": 3
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 2,
              "dy": 0,
              "length_l1": 2
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 3,
              "dy": -1,
              "length_l1": 4
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -5,
              "dy": 0,
              "length_l1": 5
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -2,
              "dy": 0,
              "length_l1": 2
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 1,
              "dy": -1,
              "length_l1": 2
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -6,
              "dy": 1,
              "length_l1": 7
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -3,
              "dy": 1,
              "length_l1": 4
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": -1,
              "dy": 1,
              "length_l1": 2
            }
          ],
          "view_cone_records": [
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": 3,
              "dy": 0,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": 3,
              "dy": 0,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": 3,
              "dy": 0,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 5,
              "dy": 0,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 5,
              "dy": 0,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 5,
              "dy": 0,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 6,
              "dy": -1,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 6,
              "dy": -1,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 1,
              "camera_cell": [
                4,
                1
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 6,
              "dy": -1,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -3,
              "dy": 0,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -3,
              "dy": 0,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -3,
              "dy": 0,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 2,
              "dy": 0,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 2,
              "dy": 0,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": 2,
              "dy": 0,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 3,
              "dy": -1,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 3,
              "dy": -1,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 2,
              "camera_cell": [
                4,
                4
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 3,
              "dy": -1,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -5,
              "dy": 0,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -5,
              "dy": 0,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -5,
              "dy": 0,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -2,
              "dy": 0,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -2,
              "dy": 0,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -2,
              "dy": 0,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 1,
              "dy": -1,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 1,
              "dy": -1,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 4,
              "camera_cell": [
                4,
                6
              ],
              "look_at_unit": 5,
              "look_at_cell": [
                3,
                7
              ],
              "dx": 1,
              "dy": -1,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -6,
              "dy": 1,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -6,
              "dy": 1,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 1,
              "look_at_cell": [
                4,
                1
              ],
              "dx": -6,
              "dy": 1,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -3,
              "dy": 1,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -3,
              "dy": 1,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 2,
              "look_at_cell": [
                4,
                4
              ],
              "dx": -3,
              "dy": 1,
              "lens_enum": "telephoto",
              "fov_deg": 25
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": -1,
              "dy": 1,
              "lens_enum": "wide",
              "fov_deg": 90
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": -1,
              "dy": 1,
              "lens_enum": "normal",
              "fov_deg": 50
            },
            {
              "camera_unit": 5,
              "camera_cell": [
                3,
                7
              ],
              "look_at_unit": 4,
              "look_at_cell": [
                4,
                6
              ],
              "dx": -1,
              "dy": 1,
              "lens_enum": "telephoto",
              "fov_deg": 25
            }
          ],
          "visible_units_candidates": {
            "1": [
              2,
              4,
              5
            ],
            "2": [
              1,
              4,
              5
            ],
            "4": [
              1,
              2,
              5
            ],
            "5": [
              1,
              2,
              4
            ]
          },
          "visible_openings_candidates": {
            "1": [
              3
            ],
            "2": [
              3
            ],
            "4": [
              3
            ],
            "5": [
              3
            ]
          },
          "wall_door_invalidation_diagnostics": [
            "readback does not encode wall segment polylines; wall/door line-of-sight invalidation cannot be performed at this layer.",
            "opening-to-unit adjacency cannot be derived from cell positions alone; consumer must treat visible_units_candidates and visible_openings_candidates as supersets, not committed sets."
          ],
          "cell_collision_diagnostics": [
            "observed_marker #3 shares 10x10 cell (4,4) with marker #2 (W20E6-A: surfaced as diagnostic, not a hard failure)"
          ],
          "diagnostics": [
            "observed_marker #3 shares 10x10 cell (4,4) with marker #2 (W20E6-A: surfaced as diagnostic, not a hard failure)"
          ]
        },
        "review_html_relative_path": "floor_plan_geometry_readback/review_html/fp_l10_rock_entrance.html",
        "real_vlm_call": true,
        "real_vlm_call_count": 1,
        "input_hash": "4c880e02a286cf55"
      }
    },
    "real_vlm_call_count": 1,
    "image_api_call_count": 0,
    "llm_call_count": 0
  },
  "step_id": "floor_plan_geometry_readback",
  "run_id": "9aff61d8-78b3-4c3b-b645-06e0360b3be1",
  "resolved_model": "gpt",
  "updated_at": "2026-09-04T21:16:05.700870+00:00",
  "project_config_snapshot": {}
}