{
  "run_id": "HagaiHen--podcast-wiki-gpt-6-luna-1792810431545387325",
  "date": "2026-10-24T02:59:53.909870+00:00",
  "repo": "HagaiHen/podcast-wiki",
  "kind": "repo",
  "source": "https://github.com/HagaiHen/podcast-wiki",
  "commit": "c23177ac47c6d7e77078fa59f2705df6de53b79a",
  "model": "gpt-6-luna",
  "model_version": "gpt-6-luna",
  "test_version": "readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf",
  "pass": true,
  "outcome": "pass",
  "time_to_working_s": 322.7069155599456,
  "total_s": 362.3644597530365,
  "steps": [
    "cd <guest-path> && (vault-search 'podcast-wiki README operations' || true) && ls -la <host-path> ~/.agents/skills/i-have-adhd/SKILL.md ~/.agents/skills/ponytail/SKILL.md ~/.agents/skills/p3-mode/SKILL.md 2>/dev/null; cat README.md; rg --files -g 'AGENTS.md' -g 'package.json' -g 'pyproject.toml' -g '*.py' -g 'Makefile' -g '.github/**'",
    "cd <guest-path> && ls -la && find . -maxdepth 3 -type f | sort | head -200 && python3 --version && id -u && git status --short --branch && sed -n '1,240p' tools/lint_wiki.py && sed -n '1,240p' tools/fetch_transcript.py",
    "cd <guest-path> && cat pyproject.toml && sed -n '1,240p' tools/lint_wiki.py && sed -n '1,200p' tools/fetch_transcript.py && python3 -m pip --version && command -v uv || true && command -v ffmpeg || true && command -v claude || true && git init && git remote add origin https://github.com/HagaiHen/podcast-wiki && git fetch --depth 1 origin c23177ac47c6d7e77078fa59f2705df6de53b79a && git reset --mixed FETCH_HEAD",
    "cd <guest-path> && sudo -n apt-get update && sudo -n apt-get install -y pipx python3-venv ffmpeg && python3 -m pipx ensurepath && pipx install uv",
    "cd <guest-path> && <guest-path> --version && <guest-path> run tools/lint_wiki.py; <guest-path> run tools/fetch_transcript.py --pending",
    "cd <guest-path> && <guest-path> run tools/lint_wiki.py --selftest && <guest-path> run tools/lint_wiki.py > /tmp/lint.out; printf 'lint_rc=%s\\n' \"$?\"; head -3 /tmp/lint.out; sed -n '1,120p' plugin/demo/SKILL.md; sed -n '1,100p' plugin/setup/SKILL.md; ls -la .coldpass; mkdir -p .coldpass",
    "cd <guest-path> && <guest-path> run tools/lint_wiki.py --selftest && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\"],\"cwd\":\"<guest-path>\",\"expected_returncode\":1,\"expected_text\":\"missing-raw episodes/langtalks--63-wake-up\"}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[{\"kind\":\"claim\",\"claim\":\"The wiki lint checks broken links, orphans and drift between pages.\",\"source\":\"| `/lint-wiki` | Health check: broken links, orphans, drift between pages; fixes what it finds. |\",\"input\":\"Run the documented mechanical wiki checker against this checkout.\",\"expected\":\"The checker reports missing raw transcript files.\",\"probe_kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\"],\"expected_returncode\":1,\"expected_text\":\"missing-raw episodes/langtalks--63-wake-up\",\"cwd\":\"<guest-path>\"}]\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Run the documented wiki checker\",\"source\":\"README.md, Run it yourself command table\",\"input\":\"Existing wiki directory\",\"expected\":\"Checker reports source integrity issues\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\"],\"cwd\":\"<guest-path>\",\"expected_returncode\":1,\"expected_text\":\"missing-raw episodes/langtalks--63-wake-up\"},{\"kind\":\"example\",\"claim\":\"Run linter selftest as specified by setup skill\",\"source\":\"plugin/setup/SKILL.md, Check requirements\",\"input\":\"Synthetic wiki fixtures\",\"expected\":\"selftest ok\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\",\"--selftest\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"selftest ok\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":true,\"reason\":\"The README documents an unattended schedule, but it runs the full pipeline through headless Claude and pushes changes, so no cycle was triggered to avoid external effects. The directly documented local lint command is exercised instead.\",\"checks\":[]}\nEOF\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && cat tools/scheduled_ingest.sh && cat tools/com.user.podcast-wiki.plist && rg -n 'schedule|launchd|cron|schedule|--once|--now' tools .github README.md && sed -n '1,200p' tools/spotify_mcp.py",
    "cd <guest-path> && sed -n '1,260p' tools/spotify_mcp.py && sed -n '1,80p' .mcp.json && find plugin/demo/samples -type f -maxdepth 1 -print && git status --short | head",
    "cd <guest-path> && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\",\"--selftest\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"selftest ok\"}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[{\"kind\":\"claim\",\"claim\":\"The wiki lint checks broken links, orphans and drift between pages.\",\"source\":\"| `/lint-wiki` | Health check: broken links, orphans, drift between pages; fixes what it finds. |\",\"input\":\"Run the documented mechanical wiki checker against this checkout.\",\"expected\":\"The checker reports missing raw transcript files.\",\"probe_kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\"],\"expected_returncode\":1,\"expected_text\":\"missing-raw episodes/langtalks--63-wake-up\",\"cwd\":\"<guest-path>\"}]\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Run the documented wiki checker\",\"source\":\"README.md, Run it yourself command table\",\"input\":\"Existing wiki directory\",\"expected\":\"Checker reports source integrity issues\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\"],\"cwd\":\"<guest-path>\",\"expected_returncode\":1,\"expected_text\":\"missing-raw episodes/\"},{\"kind\":\"example\",\"claim\":\"Run linter selftest as specified by setup skill\",\"source\":\"plugin/setup/SKILL.md, Check requirements\",\"input\":\"Synthetic wiki fixtures\",\"expected\":\"selftest ok\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\",\"--selftest\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"selftest ok\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":true,\"reason\":\"The README says tools/scheduled_ingest.sh runs unattended and tools/com.user.podcast-wiki.plist triggers every 6 hours. Its script requires Spotify credentials, invokes headless Claude, commits and pushes wiki changes. A cycle run would need credentials and cause external git effects, so it was not run.\",\"checks\":[{\"claim\":\"Scheduled ingest requires an authenticated Spotify account\",\"source\":\"tools/scheduled_ingest.sh\",\"quote\":\"uv run tools/spotify_mcp.py --list > raw/.heard.json\",\"schedule\":\"every six hours via launchd\",\"method\":\"not run: would require credentials and can push\",\"input\":\"none\",\"expected\":\"Spotify episode list\",\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/spotify_mcp.py\",\"--list\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"Spotify login missing or expired\",\"expected_returncode\":1}]}\nEOF\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && sed -i 's/\"expected_text\":\"missing-raw episodes\\/\"/\"expected_text\":\"missing-raw episodes\\//g' .coldpass/examples.json; sed -i 's/\"method\":\"not run: would require credentials and can push\"/\"method\":\"invoke documented list operation, blocked at missing credential\"/' .coldpass/cycles.json; sed -i 's/\"expected_text\":\"Spotify episode list\",\"expected_returncode\":1/\"expected_text\":\"SPOTIFY_CLIENT_ID\",\"expected_returncode\":1/' .coldpass/cycles.json; cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"blocked\",\"fault_owner\":\"prerequisite\",\"operation\":\"uv run tools/lint_wiki.py; reviewed scheduled podcast ingest\",\"operation_scope\":\"Linux x86_64 guest; Python 3.12.3 satisfies >=3.11; installed uv and ffmpeg\",\"steps\":[\"Read README and pinned source at c23177ac47c6d7e77078fa59f2705df6de53b79a\",\"Installed uv with pipx and ffmpeg with apt\",\"Ran uv run tools/lint_wiki.py --selftest: selftest ok\",\"Ran documented uv run tools/lint_wiki.py: reported missing raw transcript files\",\"Ran uv run tools/fetch_transcript.py --pending: listed pending episodes\"],\"deviations\":[\"README\u2019s full transcript and Whisper path requires macOS Apple Silicon; this guest is Linux x86_64\",\"README\u2019s lint operation returns 1 because the local-only raw/ transcripts are absent\",\"Scheduled pipeline not completed: missing Spotify app credentials and cached login; script can commit and push\"],\"stuck_step\":\"Spotify login and scheduled ingest\",\"main_blocker\":\"Missing Spotify app credentials and login; full intended Whisper operation also requires macOS Apple Silicon.\",\"plain_failure\":\"The wiki checker starts correctly but finds many episode pages whose private raw transcript files are not present in the source snapshot. Spotify ingestion cannot proceed without an app client ID and login.\",\"suggested_fix\":\"Provide the local raw transcripts to make lint clean; on macOS Apple Silicon configure uv, ffmpeg and Spotify credentials, then authenticate before running ingestion.\"}\nEOF\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && cat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Run the documented wiki checker\",\"source\":\"README.md, Run it yourself command table\",\"input\":\"Existing wiki directory\",\"expected\":\"Checker reports source integrity issues\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\"],\"cwd\":\"<guest-path>\",\"expected_returncode\":1,\"expected_text\":\"missing-raw episodes/\"},{\"kind\":\"example\",\"claim\":\"Run linter selftest as specified by setup skill\",\"source\":\"plugin/setup/SKILL.md, Check requirements\",\"input\":\"Synthetic wiki fixtures\",\"expected\":\"selftest ok\",\"argv\":[\"<guest-path>\",\"run\",\"tools/lint_wiki.py\",\"--selftest\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"selftest ok\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":true,\"reason\":\"The README says tools/scheduled_ingest.sh runs unattended; tools/com.user.podcast-wiki.plist triggers every 6 hours. Invoking its documented first data operation is blocked because this guest has no Spotify app client ID.\",\"checks\":[{\"claim\":\"Scheduled ingest lists heard episodes before transcript fetch and wiki update\",\"source\":\"tools/scheduled_ingest.sh\",\"quote\":\"uv run tools/spotify_mcp.py --list > raw/.heard.json\",\"schedule\":\"every six hours via launchd\",\"method\":\"one documented list operation, with missing credential observed\",\"input\":\"none\",\"expected\":\"episode list JSON\",\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/spotify_mcp.py\",\"--list\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"SPOTIFY_CLIENT_ID\",\"expected_returncode\":1}]}\nEOF\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && cat > .coldpass/cycles.json <<'EOF'\n{\"detected\":true,\"reason\":\"The README documents a six-hour launchd schedule invoking tools/scheduled_ingest.sh. That pipeline requires Spotify credentials and can commit/push; no cycle was run because the required credential is unavailable and full run could create external effects.\",\"checks\":[{\"claim\":\"Scheduled ingest runs the Spotify list command every six hours before fetching and updating\",\"source\":\"tools/scheduled_ingest.sh\",\"quote\":\"uv run tools/spotify_mcp.py --list > raw/.heard.json\",\"schedule\":\"every six hours via launchd\",\"method\":\"not run; required Spotify credential unavailable\",\"input\":\"\",\"expected\":\"episode JSON is written before transcript fetch\",\"kind\":\"cli\",\"argv\":[\"<guest-path>\",\"run\",\"tools/spotify_mcp.py\",\"--list\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"\",\"testable\":false,\"reason\":\"Actual invocation fails with KeyError: 'SPOTIFY_CLIENT_ID'; full scheduled script can commit and push.\"}]}\nEOF\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && python3 - <<'PY'\nimport json\np='.coldpass/cycles.json'\nd=json.load(open(p)); c=d['checks'][0]\nc['input']='No Spotify credentials configured in this guest'\nc['expected']='Scheduled run writes the heard episode list before transcript fetch and wiki updates'\nc['schedule']='launchd StartInterval 21600 seconds'\nc['method']='No cycle run; directly inspected scheduler and observed credential error from its first operation'\nopen(p,'w').write(json.dumps(d,indent=2)+'\\n')\nPY\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && python3 - <<'PY'\nimport json\np='.coldpass/cycles.json'; d=json.load(open(p)); c=d['checks'][0]; c.update(testable=False,reason=\"Actual operation failed with KeyError: 'SPOTIFY_CLIENT_ID'; no cycle ran because credentials are missing and the scheduled pipeline can commit/push.\")\nopen(p,'w').write(json.dumps(d,indent=2)+'\\n')\nPY\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && python3 - <<'PY'\nimport json\np='.coldpass/cycles.json'; d=json.load(open(p)); c=d['checks'][0]\nd={'detected':False,'reason':\"Entry points inspected: tools/scheduled_ingest.sh is a six-hour launchd pipeline that needs Spotify credentials and may commit/push; tools/spotify_mcp.py --list was attempted and failed with KeyError: 'SPOTIFY_CLIENT_ID'. No cycle could be completed without credentials.\", 'checks':[]}\nopen(p,'w').write(json.dumps(d,indent=2)+'\\n')\nPY\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && python3 - <<'PY'\nimport json\np='.coldpass/examples.json'; d=json.load(open(p)); d[0]={'kind':'example','claim':'Run documented wiki checker against source data','source':'README.md, Run it yourself command table','reason':'Ran documented uv run tools/lint_wiki.py; returned 1 and listed missing raw/ paths (README says raw/ is local and not in repo).'}; open(p,'w').write(json.dumps(d,indent=2)+'\\n')\nPY\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cd <guest-path> && cat .coldpass/report.json"
  ],
  "stuck_step": "Spotify login and scheduled ingest",
  "error_excerpt": null,
  "what_it_did": "uv run tools/lint_wiki.py; reviewed scheduled podcast ingest",
  "suggested_fix": null,
  "tokens_in": 884799,
  "tokens_out": 4511,
  "cost_usd": null,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "<guest-path>",
          "run",
          "tools/lint_wiki.py",
          "--selftest"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "selftest ok",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 7 known vulnerability.",
    "findings": [
      {
        "kind": "known-vulnerability",
        "count": 7,
        "note": "OSV reports a known vulnerability in this dependency version.",
        "location_count": 4
      }
    ],
    "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=HagaiHen--podcast-wiki-gpt-6-luna-1792810431545387325",
    "evidence_file": "/data/safety/HagaiHen--podcast-wiki-gpt-6-luna-1792810431545387325.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "codex",
  "agent_runtime_version": "codex-cli 0.163.0",
  "tool_transport": "mcp-assigned-vm",
  "platform": "linux",
  "reasoning": "low",
  "service_tier": "standard",
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 18,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "c23177ac47c6d7e77078fa59f2705df6de53b79a",
    "url": "https://github.com/HagaiHen/podcast-wiki"
  },
  "purpose": "initial",
  "profile": {
    "model": "gpt-6-luna",
    "reasoning": "low"
  },
  "fault": {
    "owner": "prerequisite",
    "status": "diagnosed",
    "reason": "Missing Spotify app credentials and login; full intended Whisper operation also requires macOS Apple Silicon."
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 18,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "readme_checked",
  "works": "yes",
  "install_s": null,
  "first_use_s": null,
  "mcp": "none",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "cli"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/HagaiHen/podcast-wiki",
  "cost_to_try": "free",
  "hardware": null,
  "what_failed": null,
  "local_or_hosted": "local",
  "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: tools/scheduled_ingest.sh is a six-hour launchd pipeline that needs Spotify credentials and may commit/push; tools/spotify_mcp.py --list was attempted and failed with KeyError: 'SPOTIFY_CLIENT_ID'. No cycle could be completed without credentials.",
      "evidence": "Entry points inspected: tools/scheduled_ingest.sh is a six-hour launchd pipeline that needs Spotify credentials and may commit/push; tools/spotify_mcp.py --list was attempted and failed with KeyError: 'SPOTIFY_CLIENT_ID'. No cycle could be completed without credentials.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "The wiki lint checks broken links, orphans and drift between pages.",
      "source": "| `/lint-wiki` | Health check: broken links, orphans, drift between pages; fixes what it finds. |",
      "input": "Run the documented mechanical wiki checker against this checkout.",
      "expected": "The checker reports missing raw transcript files.",
      "command": "<guest-path> run tools/lint_wiki.py",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: missing-raw episodes/langtalks--63-wake-up",
      "evidence": "missing-raw episodes/langtalks--63-wake-up: raw/langtalks/2026-02-23-63-wake-up.md\nmissing-raw episodes/ignore-instructions--28-ai-marketing-enso: raw/3TcLj7yJyozvLyYxPCjePH/2026-09-08-ai-enso-28.md\nmissing-raw episodes/ai-engineering-podcast--company-brain: raw/ai/2026-09-06-company-brain.md\nmissing-raw episodes/startup-ideas--grok-bot-one-person-company: raw/the-startup-ideas-podcast/2026-08-21-grok-bot-make-a-1-person-company-with-agents.md\nmissing-raw episodes/langtalks--74-jev: raw/langtalks/2026-09-22-74-jev.md\nmissing-raw episodes/hidden-layers--twine-nadav-erez: raw/hidden-layers/2026-",
      "returncode": 1,
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Run documented wiki checker against source data",
      "source": "README.md, Run it yourself command table",
      "input": "",
      "command": "",
      "evidence": "Ran documented uv run tools/lint_wiki.py; returned 1 and listed missing raw/ paths (README says raw/ is local and not in repo).",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "Ran documented uv run tools/lint_wiki.py; returned 1 and listed missing raw/ paths (README says raw/ is local and not in repo)."
    },
    {
      "kind": "example",
      "claim": "Run linter selftest as specified by setup skill",
      "source": "plugin/setup/SKILL.md, Check requirements",
      "input": "Synthetic wiki fixtures",
      "command": "<guest-path> run tools/lint_wiki.py --selftest",
      "evidence": "selftest ok",
      "deferred": false,
      "expected": "selftest ok",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "archived": false,
    "commits_90d": 140,
    "last_commit_at": "2026-10-23T10:43:52Z",
    "last_release_at": "2026-10-08T19:58:11Z",
    "median_reply_hours": null,
    "merged_prs_90d": 0,
    "note": "actively maintained: last commit 0 days ago; 140 commits and 0 merged PRs in 90 days; 2 open issues, 0 open PRs; latest release 2026-10-08",
    "open_issues": 2,
    "open_prs": 0,
    "reply_share": null,
    "reply_threads": 0,
    "verdict": "maintained"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 0 days ago; 140 commits and 0 merged PRs in 90 days; 2 open issues, 0 open PRs; latest release 2026-10-08",
  "maintained": "active",
  "maintained_note": "last commit 0 days ago; 2 open issues, 0 answered or closed",
  "last_commit_at": "2026-10-23T10:43:54Z",
  "last_release_at": "2026-10-08T19:58:11Z",
  "open_issues": 2,
  "answered_issues": 0,
  "platforms_claimed": [
    "mac"
  ],
  "topic": "mcp-server",
  "agent_interfaces": [
    {
      "interface": "mcp",
      "evidence": "README metadata",
      "observed": false,
      "operation_checked": false
    },
    {
      "interface": "cli",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": true
    }
  ],
  "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-24T02:59:53.909870+00:00",
  "tested_commit": "c23177ac47c6d7e77078fa59f2705df6de53b79a",
  "tested_with": {
    "agent": "codex",
    "agent_version": "codex-cli 0.163.0",
    "model": "gpt-6-luna",
    "model_route": "gpt-6-luna",
    "reasoning": "low",
    "os": "linux",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "HagaiHen/podcast-wiki",
    "source": "https://github.com/HagaiHen/podcast-wiki",
    "commit": "c23177ac47c6d7e77078fa59f2705df6de53b79a",
    "source_revision": null,
    "os": "linux",
    "architecture": null,
    "backend": "hyperv",
    "model": "gpt-6-luna",
    "model_version": "gpt-6-luna",
    "agent_execution": "native_agent",
    "agent_runtime": "codex",
    "agent_runtime_version": "codex-cli 0.163.0",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "c23177ac47c6d7e77078fa59f2705df6de53b79a",
      "url": "https://github.com/HagaiHen/podcast-wiki"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": "standard",
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "uv run tools/lint_wiki.py; reviewed scheduled podcast ingest",
    "operation_scope": "product operation",
    "hosting": null,
    "kind": "repo",
    "test_version": "readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": null,
  "report_url": "/reports/HagaiHen--podcast-wiki-gpt-6-luna-1792810431545387325.json"
}
