{
  "run_id": "mossadnik--pyspark-inspect-claude-haiku-5-5-1793156314581033138",
  "date": "2026-10-28T03:05:06.478651+00:00",
  "repo": "mossadnik/pyspark-inspect",
  "kind": "repo",
  "source": "https://github.com/mossadnik/pyspark-inspect",
  "commit": "1614e798b0f6905aca633e9dfa2709e06dd98445",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-c03644542c69939a9374958136a8b3431f7456269d3fb4b3c433785f59cfd637",
  "pass": null,
  "outcome": "unverified",
  "time_to_working_s": null,
  "total_s": 391.89755177497864,
  "steps": [
    "cd <guest-path> && pwd && ls -la && id -u && cat /etc/os-release | head -3 && python3 --version && echo \"CDP=$CDP_URL\" && (curl -s -m 10 -i \"$CDP_URL/json/version\" || echo \"curl failed $?\")",
    "cd <guest-path> && ls -la; cat README.md 2>/dev/null | head -200",
    "cd <guest-path> && cat pyproject.toml && echo ---- && find pyspark_inspect tests -type f | head -50 && echo ---- && ls -la .coldpass && cat .gitignore && echo ---- && which java; java -version 2>&1 | head -2; which pip3; python3 -m venv --help >/dev/null 2>&1 && echo venv-ok",
    "sudo -n apt-get -o DPkg::Lock::Timeout=300 update -qq && sudo -n apt-get -o DPkg::Lock::Timeout=300 install -y -qq openjdk-17-jre-headless ><guest-path> 2>&1; echo rc=$?; tail -3 <guest-path>; java -version 2>&1 | head -1",
    "mkdir -p <guest-path> && python3 -m venv <guest-path> && <guest-path> install -q --upgrade pip && <guest-path> install -q \"pyspark>=3.5,<4\" \"pytest>=9,<10\" pyyaml; echo rc=$?; <guest-path> -c \"import pyspark,sys;print(pyspark.__version__, sys.version)\"",
    "cd /tmp && <guest-path> install -q <guest-path>; echo rc=$?; cd <guest-path> && git status 2>&1 | head -1; cat pyspark_inspect/__init__.py; echo ----; sed -n 1,80p pyspark_inspect/api.py",
    "cd <guest-path> && cat tests/conftest.py; echo ----; sed -n 1,40p tests/test_catalyst_parser/test_plan/test_select.py; echo ----; grep -n \"def \\|class \" pyspark_inspect/plan.py | head -40",
    "cd <guest-path> && timeout 900 <guest-path> -m pytest -q -p no:cacheprovider 2>&1 | tail -15; echo rc=${PIPESTATUS[0]}",
    "mkdir -p <guest-path> && cat > <guest-path> <<'EOF'\nfrom pypspark.sql import functions as F\nfrom pyspark_inspect import inspect_dataframe\n\ndf = (\n    spark.createDataFrame([[1, 2]], ['a', 'b'])\n    .withColumn('c', F.col('a') + F.col('b'))\n)\nplan = inspect_dataframe(df)\nEOF\ncd /tmp && timeout 600 <guest-path> -I <guest-path> 2>&1 | tail -3; echo rc=${PIPESTATUS[0]}",
    "cat > <guest-path> <<'EOF'\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql import functions as F\nfrom pyspark_inspect import inspect_dataframe\n\nspark = SparkSession.builder.appName('readme').master('local[1]').getOrCreate()\ndf = (\n    spark.createDataFrame([[1, 2]], ['a', 'b'])\n    .withColumn('c', F.col('a') + F.col('b'))\n)\nplan = inspect_dataframe(df)\nprint(type(plan).__name__)\nprint([type(c).__name__ for c in plan.children])\nprint(plan)\nEOF\ncd /tmp && timeout 600 <guest-path> -I <guest-path> 2><guest-path> | tail -20; echo rc=${PIPESTATUS[0]}",
    "tail -25 <guest-path> | cut -c1-400",
    "cat > <guest-path> <<'EOF'\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql import functions as F\nfrom pyspark_inspect import inspect_dataframe\n\nspark = SparkSession.builder.appName('shapes').master('local[1]').getOrCreate()\ncases = {\n    'sql_select': lambda: spark.sql(\"select 1 as a, 2 as b\"),\n    'sql_with_expr': lambda: spark.sql(\"select 1 as a, 2 as b\").withColumn('c', F.col('a') + F.col('b')),\n    'range_with_col': lambda: spark.range(3).withColumn('c', F.col('id') + 1),\n    'createDF_withColumn': lambda: spark.createDataFrame([[1, 2]], ['a', 'b']).withColumn('c', F.col('a') + F.col('b')),\n}\nfor name, make in cases.items():\n    try:\n        plan = inspect_dataframe(make())\n        print('OK', name, type(plan).__name__, [type(c).__name__ for c in plan.children])\n    except Exception as e:\n        print('FAIL', name, type(e).__name__, str(e)[:200])\nEOF\ncd /tmp && timeout 900 <guest-path> -I <guest-path> 2>/dev/null; echo rc=$?",
    "cat > <guest-path> <<'EOF'\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql import functions as F\nfrom pyspark_inspect import inspect_dataframe\n\nspark = SparkSession.builder.appName('inspect-driver').master('local[1]').getOrCreate()\ndf = spark.sql(\"select 1 as a, 2 as b\").withColumn('c', F.col('a') + F.col('b'))\nplan = inspect_dataframe(df)\nprint('PLAN', type(plan).__name__, 'CHILD', type(plan.children[0]).__name__)\nprint('COLUMNS', ','.join(c.name for c in plan.columns))\nEOF\ncd /tmp && timeout 900 <guest-path> -I <guest-path> 2>/dev/null; echo rc=$?",
    "cd <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"-I\",\"<guest-path>\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"COLUMNS a,b,c\"}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[\n{\"kind\":\"claim\",\"claim\":\"inspect query plans of pyspark dataframes\",\"source\":\"pyspark-inspect allows to inspect the query plans of pyspark dataframes from Python.\",\"input\":\"spark.sql select 1 as a, 2 as b then withColumn c\",\"expected\":\"Project plan with Project child\",\"probe_kind\":\"cli\",\"argv\":[\"<guest-path>\",\"-I\",\"<guest-path>\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"PLAN Project CHILD Project\"},\n{\"kind\":\"claim\",\"claim\":\"converts plans into data structures that can be queried\",\"source\":\"It converts analyzed Catalyst plans into Python data structures that can be queried programmatically.\",\"input\":\"same driver DataFrame\",\"expected\":\"plan.columns lists a,b,c\",\"probe_kind\":\"cli\",\"argv\":[\"<guest-path>\",\"-I\",\"<guest-path>\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"COLUMNS a,b,c\"}\n]\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Basic Usage: inspect_dataframe on a DataFrame built with withColumn (supported SQL-built shape; README's createDataFrame variant fails, see report)\",\"source\":\"README.md Basic Usage\",\"input\":\"spark.sql select 1 as a, 2 as b withColumn c = a + b\",\"expected\":\"plan returned with columns a,b,c\",\"argv\":[\"<guest-path>\",\"-I\",\"<guest-path>\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"COLUMNS a,b,c\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":false,\"reason\":\"Entry points inspected: README.md, pyproject.toml, pyspark_inspect/__init__.py and api.py. The package is a Python library exposing inspect_dataframe(df); it has no CLI, server, scheduler, cron, loop, webhook, --once or --now entry point. Nothing runs on a schedule.\",\"checks\":[]}\nEOF\nfor f in .coldpass/*.json; do <guest-path> -c \"import json,sys;json.load(open('$f'))\" && echo \"valid $f\"; done; ls <guest-path> /inputs 2>&1 | head",
    "cd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay 2>&1 | tail -60 | cut -c1-600; echo rc=${PIPESTATUS[0]}",
    "cd <guest-path> && wc -l check.py && grep -n \"agent-written\\|\\\"checks\\\"\\|'checks'\\|check_kind\\|\\\"install\\\"\\|'install'\\|list_tools\\|credentials_error\\|def \" check.py | head -80",
    "cd <guest-path> && sed -n 335,410p check.py && sed -n 906,975p check.py",
    "cd <guest-path> && <guest-path> install --no-deps --force-reinstall <guest-path> 2>&1 | tail -2; cd <guest-path> && ls -a && <guest-path> show pyspark-inspect | head -2",
    "cd <guest-path> && cat > .coldpass/probe.json <<'EOF'\n{\"checks\":[{\"check\":\"install\",\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"install\",\"--no-deps\",\"--force-reinstall\",\"<guest-path>\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"Successfully installed pyspark-inspect-0.3.1\"}]}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[\n{\"kind\":\"claim\",\"claim\":\"inspect query plans of pyspark dataframes\",\"source\":\"pyspark-inspect allows to inspect the query plans of pyspark dataframes from Python.\",\"testable\":false,\"reason\":\"The only documented interface is the Python function inspect_dataframe(df); there is no CLI, server or documented runnable command. Running it required an agent-written driver script at <guest-path>, which the checker treats as partial evidence. Observed output: PLAN Project CHILD Project, COLUMNS a,b,c.\"},\n{\"kind\":\"claim\",\"claim\":\"converts plans into data structures that can be queried\",\"source\":\"It converts analyzed Catalyst plans into Python data structures that can be queried programmatically.\",\"testable\":false,\"reason\":\"Same as above: no documented CLI or server to call. The driver script saw plan.columns return a,b,c for a spark.sql-built DataFrame, but that is agent-written code and not a documented product command.\"}\n]\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Basic Usage: inspect_dataframe(df) on a DataFrame built with withColumn\",\"source\":\"README.md Basic Usage\",\"reason\":\"README snippet cannot run as written: line 1 is 'from pypspark.sql import functions as F' (typo; ModuleNotFoundError: No module named 'pypspark'), 'spark' is undefined, and spark.createDataFrame([[1, 2]], ['a', 'b']) produces a LogicalRDD plan that pyspark_inspect rejects with ValueError: Unsupported plan: org.apache.spark.sql.execution.LogicalRDD. Ran instead, outside the workspace: <guest-path>, readme_fixed.py, probe_shapes.py and inspect_driver.py; spark.sql-built DataFrames inspect successfully (Project plan, columns a,b,c).\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":false,\"reason\":\"Entry points inspected: README.md, pyproject.toml, pyspark_inspect/__init__.py and api.py. The package is a Python library exposing inspect_dataframe(df); it has no CLI, server, scheduler, cron, loop, webhook, --once or --now entry point. Nothing runs on a schedule.\",\"checks\":[]}\nEOF\nfor f in .coldpass/*.json; do <guest-path> -c \"import json;json.load(open('$f'))\" && echo \"valid $f\"; done; <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay 2>&1 | tail -c 3000; echo rc=${PIPESTATUS[0]}",
    "cd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; <guest-path> -I -c \"\nimport json\nd=json.load(open('<guest-path>'))\nprint({k:(v if not isinstance(v,(dict,list)) else type(v).__name__) for k,v in d.items()})\nprint('problems', d.get('problems'))\n\" ; head -c 600 <guest-path>",
    "cd <guest-path> && cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"unsupported\",\"fault_owner\":\"repo\",\"operation\":\"Inspect a Spark DataFrame's query plan with inspect_dataframe(df), as in the README Basic Usage section\",\"operation_scope\":\"Python library only (pyspark-inspect 0.3.1, PySpark 3.5.9, Python 3.12.3, OpenJDK 17). Tested on Ubuntu 24.04 guest. The README has no runnable command (no CLI or server). Only DataFrames built from spark.sql(...) inspected successfully. Spark Connect is unsupported per README.\",\"steps\":[\"sudo apt-get -o DPkg::Lock::Timeout=300 install -y openjdk-17-jre-headless (Java required by PySpark)\",\"python3 -m venv <guest-path> && pip install pyspark>=3.5,<4 pytest>=9,<10 pyyaml\",\"pip install <guest-path> (per pyproject.toml; poetry-core build backend) -> Successfully installed pyspark-inspect-0.3.1\",\"pytest tests (setup check, not product probe): 37 passed\",\"README Basic Usage run verbatim: FAILED with ModuleNotFoundError: No module named 'pypspark'\",\"README snippet with pyspark.sql import fixed and a SparkSession added: FAILED with ValueError: Unsupported plan: org.apache.spark.sql.execution.LogicalRDD (spark.createDataFrame path)\",\"spark.sql('select 1 as a, 2 as b').withColumn('c', a+b) -> inspect_dataframe OK: Project plan, columns a,b,c\"],\"deviations\":[\"README has no install commands; used pyproject.toml and the venv/pip route instead.\",\"Installed OpenJDK 17 via apt (required by PySpark); no install errors.\",\"README import typo: 'pypspark.sql' should be 'pyspark.sql' (failed verbatim run recorded).\",\"README example uses undefined 'spark' and createDataFrame; createDataFrame builds LogicalRDD plans that pyspark_inspect rejects. range() (Range plan) is also unsupported.\",\"No documented CLI/server exists, so the working call was run from an agent-written driver at <guest-path> (outside the workspace). The checker treats it as partial evidence only; probe.json uses an install check and the two README claims are marked testable:false with the reason.\",\"Checker validation passed (valid=true, problems=[]), replay PASS, but evidence_strength=nothing_checked because no documented product operation is exposed.\"],\"stuck_step\":\"Running the README Basic Usage example as written\",\"main_blocker\":\"README example fails (import typo, undefined spark, and createDataFrame DataFrames unsupported). Library has no documented entrypoint to exercise it directly.\",\"plain_failure\":\"The README's example does not run. It has a typo in the import line, and it uses a common way of creating a DataFrame (from a Python list) that this library cannot inspect. The library only works for DataFrames built from SQL queries in my tests, and there is no command-line tool or server to run it through.\",\"suggested_fix\":\"Fix the import to pyspark.sql, define the SparkSession in the example, and either support LogicalRDD/Range plans or change the example to spark.sql(...). Add a documented CLI or runnable example so the product can be exercised without a custom script.\"}\nEOF\n<guest-path> -I -c \"import json;json.load(open('.coldpass/report.json'));print('report ok')\"; ls -la .coldpass; ls -a"
  ],
  "stuck_step": "Running the README Basic Usage example as written",
  "error_excerpt": "README example fails (import typo, undefined spark, and createDataFrame DataFrames unsupported). Library has no documented entrypoint to exercise it directly.",
  "what_it_did": "Inspect a Spark DataFrame's query plan with inspect_dataframe(df), as in the README Basic Usage section",
  "suggested_fix": "Fix the import to pyspark.sql, define the SparkSession in the example, and either support LogicalRDD/Range plans or change the example to spark.sql(...). Add a documented CLI or runnable example so the product can be exercised without a custom script.",
  "tokens_in": 433887,
  "tokens_out": 17396,
  "cost_usd": 0.01999351,
  "usage_complete": true,
  "checks": [
    {
      "status": "PASS",
      "details": {
        "working": false,
        "argv": [
          "<guest-path>",
          "install",
          "--no-deps",
          "--force-reinstall",
          "<guest-path>"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "Processing ./workspace\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'done'\n  Preparing metadata (pyproject.toml): started\n  Preparing metadata (pyproject.toml): finished with status 'done'\nBuilding wheels for collected packages: pyspark-inspect\n  Building wheel for pyspark-inspect (pyproject.toml): started\n  Building wheel for pyspark-inspect (pyproject.toml): finished with status 'done'\n  Created wheel for pyspark-inspect: filename=pyspark_inspect-0.3.1-py3-none-any.whl size=8129 sha256=07e6610fc0bf9fe6a901fef28294e70e7a98d096b2e30811a9f0e931613b6596\n  Stored in directory: /tmp/pip-ephem-wheel-cache-l_l3xgs9/wheels/a4/a6/d9/1e7ba29c93cc9208272af814b978043598699eee3f16f47425\n[excerpt truncated]",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "partial: install"
      },
      "check": "install",
      "optional": false
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 50 known vulnerability.",
    "expected": "Reviewed as expected for a test run: attempted writes that failed, so nothing was written.",
    "findings": [
      {
        "kind": "known-vulnerability",
        "count": 50,
        "note": "OSV reports a known vulnerability in this dependency version.",
        "location_count": 11
      }
    ],
    "context": [],
    "limitations": [
      "A short run cannot establish that code is safe.",
      "Connections show IP addresses; proxies can hide the final hostname.",
      "Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing."
    ],
    "static": {
      "dependency_note": "OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check."
    },
    "evidence_url": "/safety/?run=mossadnik--pyspark-inspect-claude-haiku-5-5-1793156314581033138",
    "evidence_file": "/data/safety/mossadnik--pyspark-inspect-claude-haiku-5-5-1793156314581033138.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "claude-code",
  "agent_runtime_version": "2.1.310 (Claude Code)",
  "tool_transport": "mcp-assigned-vm",
  "platform": "linux",
  "reasoning": "low",
  "service_tier": null,
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 21,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "1614e798b0f6905aca633e9dfa2709e06dd98445",
    "url": "https://github.com/mossadnik/pyspark-inspect"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": "repo",
    "status": "diagnosed",
    "reason": "README example fails (import typo, undefined spark, and createDataFrame DataFrames unsupported). Library has no documented entrypoint to exercise it directly."
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "partial checks",
  "tool_calls": 21,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "nothing_checked",
  "works": "untested",
  "install_s": null,
  "first_use_s": null,
  "mcp": "none",
  "needs": [],
  "needs_which": null,
  "agent_interface": [],
  "license": null,
  "repo_url": "https://github.com/mossadnik/pyspark-inspect",
  "cost_to_try": null,
  "hardware": null,
  "what_failed": "README example fails (import typo, undefined spark, and createDataFrame DataFrames unsupported).",
  "local_or_hosted": null,
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "Scheduled or looping main behavior",
      "source": "repository entry points",
      "input": "source inspection",
      "expected": "identify the product trigger",
      "verdict": "yes",
      "outcome": "Entry points inspected: README.md, pyproject.toml, pyspark_inspect/__init__.py and api.py. The package is a Python library exposing inspect_dataframe(df); it has no CLI, server, scheduler, cron, loop, webhook, --once or --now entry point. Nothing runs on a schedule.",
      "evidence": "Entry points inspected: README.md, pyproject.toml, pyspark_inspect/__init__.py and api.py. The package is a Python library exposing inspect_dataframe(df); it has no CLI, server, scheduler, cron, loop, webhook, --once or --now entry point. Nothing runs on a schedule.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "inspect query plans of pyspark dataframes",
      "source": "pyspark-inspect allows to inspect the query plans of pyspark dataframes from Python.",
      "input": "",
      "expected": "",
      "command": "",
      "verdict": "blocked",
      "outcome": "The only documented interface is the Python function inspect_dataframe(df); there is no CLI, server or documented runnable command. Running it required an agent-written driver script at <guest-path>, which the checker treats as partial evidence. Observed output: PLAN Project CHILD Project, COLUMNS a,b,c.",
      "evidence": "The only documented interface is the Python function inspect_dataframe(df); there is no CLI, server or documented runnable command. Running it required an agent-written driver script at <guest-path>, which the checker treats as partial evidence. Observed output: PLAN Project CHILD Project, COLUMNS a,b,c.",
      "source_checked": true,
      "source_file": "README.md"
    },
    {
      "kind": "claim",
      "claim": "converts plans into data structures that can be queried",
      "source": "It converts analyzed Catalyst plans into Python data structures that can be queried programmatically.",
      "input": "",
      "expected": "",
      "command": "",
      "verdict": "blocked",
      "outcome": "Same as above: no documented CLI or server to call. The driver script saw plan.columns return a,b,c for a spark.sql-built DataFrame, but that is agent-written code and not a documented product command.",
      "evidence": "Same as above: no documented CLI or server to call. The driver script saw plan.columns return a,b,c for a spark.sql-built DataFrame, but that is agent-written code and not a documented product command.",
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Basic Usage: inspect_dataframe(df) on a DataFrame built with withColumn",
      "source": "README.md Basic Usage",
      "input": "",
      "command": "",
      "evidence": "README snippet cannot run as written: line 1 is 'from pypspark.sql import functions as F' (typo; ModuleNotFoundError: No module named 'pypspark'), 'spark' is undefined, and spark.createDataFrame([[1, 2]], ['a', 'b']) produces a LogicalRDD plan that pyspark_inspect rejects with ValueError: Unsupported plan: org.apache.spark.sql.execution.LogicalRDD. Ran instead, outside the workspace: <guest-path>, readme_fixed.py, probe_shapes.py and inspect_driver.py; spark.sql-built DataFrames inspect successfully (Project plan, columns a,b,c).",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "README snippet cannot run as written: line 1 is 'from pypspark.sql import functions as F' (typo; ModuleNotFoundError: No module named 'pypspark'), 'spark' is undefined, and spark.createDataFrame([[1, 2]], ['a', 'b']) produces a LogicalRDD plan that pyspark_inspect rejects with ValueError: Unsupported plan: org.apache.spark.sql.execution.LogicalRDD. Ran instead, outside the workspace: <guest-path>, readme_fixed.py, probe_shapes.py and inspect_driver.py; spark.sql-built DataFrames inspect successfully (Project plan, columns a,b,c)."
    }
  ],
  "does_what_it_says": null,
  "maintenance": {
    "last_commit_at": "2026-06-26T12:45:36Z",
    "commits_90d": 0,
    "merged_prs_90d": 0,
    "open_issues": 1,
    "open_prs": 0,
    "reply_share": null,
    "reply_threads": 0,
    "median_reply_hours": null,
    "last_release_at": null,
    "archived": false,
    "verdict": "slow",
    "note": "slow: last commit 123 days ago; 0 commits and 0 merged PRs in 90 days; 1 open issues, 0 open PRs; no releases"
  },
  "maintenance_verdict": "slow",
  "maintenance_note": "slow: last commit 123 days ago; 0 commits and 0 merged PRs in 90 days; 1 open issues, 0 open PRs; no releases",
  "maintained": "active",
  "maintained_note": "last commit 0 days ago; 1 open issues, 0 answered or closed",
  "last_commit_at": "2026-10-27T23:43:09Z",
  "last_release_at": null,
  "open_issues": 1,
  "answered_issues": 0,
  "platforms_claimed": [
    "linux"
  ],
  "topic": "data",
  "agent_interfaces": [
    {
      "interface": "cli",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": false
    }
  ],
  "agent_interfaces_note": "README metadata is a discovery hint, not pinned documentation proof. Observed interfaces were exercised in this run. An empty list means unknown.",
  "mcp_context": null,
  "tested_at": "2026-10-28T03:05:06.478651+00:00",
  "tested_commit": "1614e798b0f6905aca633e9dfa2709e06dd98445",
  "tested_with": {
    "agent": "claude-code",
    "agent_version": "2.1.310 (Claude Code)",
    "model": "claude-haiku-5-5",
    "model_route": "claude-haiku-5-5",
    "reasoning": "low",
    "os": "linux",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "mossadnik/pyspark-inspect",
    "source": "https://github.com/mossadnik/pyspark-inspect",
    "commit": "1614e798b0f6905aca633e9dfa2709e06dd98445",
    "source_revision": null,
    "os": "linux",
    "architecture": null,
    "backend": "hyperv",
    "model": "claude-haiku-5-5",
    "model_version": "claude-haiku-5-5",
    "agent_execution": "native_agent",
    "agent_runtime": "claude-code",
    "agent_runtime_version": "2.1.310 (Claude Code)",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "1614e798b0f6905aca633e9dfa2709e06dd98445",
      "url": "https://github.com/mossadnik/pyspark-inspect"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": null,
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Inspect a Spark DataFrame's query plan with inspect_dataframe(df), as in the README Basic Usage section",
    "operation_scope": "partial checks",
    "hosting": null,
    "kind": "repo",
    "test_version": "readme-c03644542c69939a9374958136a8b3431f7456269d3fb4b3c433785f59cfd637",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": "/transcripts/mossadnik--pyspark-inspect-claude-haiku-5-5-1793156314581033138.txt",
  "report_url": "/reports/mossadnik--pyspark-inspect-claude-haiku-5-5-1793156314581033138.json"
}
