{
  "schema": "proof.modernization-local-observation/v1",
  "status": "bounded_poc_comparison_complete_with_differences",
  "started_at_utc": "2026-10-14T14:05:25.295608+00:00",
  "completed_at_utc": "2026-10-14T14:05:26.642865+00:00",
  "project": "LiteLLM migration POC",
  "revision": "207f407a7781248e3682583126e1be02c321dd52",
  "worktree_clean": true,
  "environment": {
    "python": "3.12.13",
    "pydantic": "2.13.4",
    "rustc": "rustc 1.95.0 (59807616e 2026-04-14)",
    "os": "Darwin",
    "architecture": "arm64",
    "dependency_resolution": "Existing Rust lockfile and cached dependencies; offline build",
    "python_network": "socket.connect and connect_ex denied; local model cost map enabled",
    "rust_network": "Response-transform dispatch only; no provider call"
  },
  "method": {
    "python": "Existing Azure OCR response shim calls actual Python implementation; return values and exceptions recorded",
    "rust": "Existing Rust proof_shim azure_ocr.response; raw process output and parsed envelope recorded",
    "input_source": "Existing synthetic provider-response fixture; no customer payload",
    "build": "cargo build --locked --offline -p litellm-core --example proof_shim"
  },
  "hashes_sha256": {
    "fixture": "598140e9f5dbd38b4384d51797812b11a5d0181599307e0b0cdb383ccf0a12f9",
    "cargo_lock": "ef6ae9d1e34b0bf82d93f06a3ef62694a1489a2a890b3cadecdbd74120e2273d",
    "python_azure_shim": "53b6b63aff50d4e7fb650bce98a5f9e3ee6b984f9988b237c3dd8593cdafde2d",
    "python_mistral_transform": "d5e114f41462ac21fd1115c406473f3d69f60a9ee91b48a57b8eb9314d976bcd",
    "rust_mistral_transform": "599768803136e89c1fcaade641d65c6c2a21a2ca3d6aa3be767fe151d111f84f",
    "rust_shim_binary": "31a44d9cdd4b2d715e010a9ef0a9a10e73e635f87cb8d655179677fae936a62a"
  },
  "results": [
    {
      "case_id": "azure-DEP5-nominal-pages",
      "transform": "azure_ocr.response",
      "input": {
        "model": "mistral-ocr-2505",
        "response": {
          "pages": [
            {
              "index": 0,
              "markdown": "# Invoice"
            }
          ],
          "model": "mistral-ocr-2505",
          "usage_info": {
            "pages_processed": 1
          }
        }
      },
      "python": {
        "ok": true,
        "output": {
          "pages": [
            {
              "index": 0,
              "markdown": "# Invoice",
              "images": null,
              "dimensions": null
            }
          ],
          "model": "mistral-ocr-2505",
          "document_annotation": null,
          "usage_info": {
            "pages_processed": 1,
            "credits": null,
            "doc_size_bytes": null
          },
          "content": null,
          "tables": null,
          "keyValuePairs": null,
          "object": "ocr"
        }
      },
      "rust": {
        "ok": true,
        "output": {
          "document_annotation": null,
          "model": "mistral-ocr-2505",
          "object": "ocr",
          "pages": [
            {
              "index": 0,
              "markdown": "# Invoice"
            }
          ],
          "usage_info": {
            "pages_processed": 1
          }
        }
      },
      "rust_raw_stdout": "{\"ok\":true,\"output\":{\"document_annotation\":null,\"model\":\"mistral-ocr-2505\",\"object\":\"ocr\",\"pages\":[{\"index\":0,\"markdown\":\"# Invoice\"}],\"usage_info\":{\"pages_processed\":1}}}",
      "rust_raw_stderr": "",
      "rust_process_exit_code": 0
    },
    {
      "case_id": "azure-DEP5-malformed-pages",
      "transform": "azure_ocr.response",
      "input": {
        "model": "mistral-ocr-2505",
        "response": {
          "pages": 42,
          "model": "mistral-ocr-2505"
        }
      },
      "python": {
        "ok": false,
        "error_type": "ValidationError",
        "error": "1 validation error for OCRResponse\npages\n  Input should be a valid list [type=list_type, input_value=42, input_type=int]\n    For further information visit https://errors.pydantic.dev/2.13/v/list_type"
      },
      "rust": {
        "ok": true,
        "output": {
          "document_annotation": null,
          "model": "mistral-ocr-2505",
          "object": "ocr",
          "pages": [],
          "usage_info": null
        }
      },
      "rust_raw_stdout": "{\"ok\":true,\"output\":{\"document_annotation\":null,\"model\":\"mistral-ocr-2505\",\"object\":\"ocr\",\"pages\":[],\"usage_info\":null}}",
      "rust_raw_stderr": "",
      "rust_process_exit_code": 0
    }
  ],
  "interpretation": {
    "nominal": "Both retain invoice markdown; optional-field serialization differs. Compatibility decision required.",
    "malformed": "Python rejects non-list pages; Rust accepts and substitutes empty pages. Open divergence against intended rejection behavior.",
    "known_issue_status": "open",
    "current_rerun_cases": 2
  },
  "traceability": {
    "fixture_declared_requirement": "SW-REQ-260701-DEP5",
    "applicable_failure_requirement": "SW-REQ-260701-2CEW",
    "known_issue": "KI-ocr-response-coercion-divergence",
    "mapping_gap": "Malformed fixture currently references successful-response requirement. Traceability correction remains outstanding."
  },
  "limitations": [
    "Not a full-suite run. Historical 23-case ledger was not rerun.",
    "No universal behavioral equivalence established.",
    "No completed production migration, deployment, customer endorsement or defect fix established.",
    "No live provider or complete HTTP/application path tested.",
    "A zero shim process exit does not establish conformance; inspect observed results.",
    "Observed source behavior is not automatically approved product intent."
  ]
}
