coldpass

scrapinghub/extruct

GitHub ↗ · How this check works

Per-setup public labels: Linux / Luna: Didn’t work

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/scrapinghub--extruct.svg).

creative

Didn’t work

The recorded operation failed on 1 setup.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxour test failed; no repo verdictno

Linux / Haiku 5.5: our test failed; no repo verdict · Oct 27, 2026 · d24f5414fd32
Recorded operation: No working operation verified.

Linux / Luna: no · Oct 27, 2026 · d24f5414fd32 · codex / codex-cli 0.164.0
Recorded operation: /tmp/extruct-venv/bin/extruct http://example.com

MCP
No
Local or hosted
local
Local: runs on your machine
Maintained
Maintained
actively maintained: last commit 12 days ago; 13 commits and 7 merged PRs in 90 days; 26 open issues, 29 open PRs; 19 of 32 recent threads got a maintainer reply, median first reply 22.2h; no releases

Last commit Oct 15, 2026

Issue
yes, not fixed yet
Our test failed; no repo verdict.
Examples
0 of 1 ran as expected
  • Use the documented CLI URL command: command exited with code 1

    Source: README.rst, Command Line Tool / Usage

    Input: http://example.com

    Expected: JSON metadata with HTTP status

    Command: /tmp/extruct-venv/bin/extruct http://example.com

    Observed: { "dublincore": [ { "elements": [], "namespaces": {}, "terms": [] } ], "json-ld": [], "microdata": [], "microformat": [], "opengraph": [], "rdfa": [], "status": "200 OK", "url": "http://example.com" }

Evidence
some README behavior checked
Agent interfaces
CLI
CLI

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

Tested with
Codex / Luna
  • Linux: Codex / Luna · agent codex-cli 0.164.0 · Recorded operation failed · Oct 27, 2026 on d24f5414fd32

Each entry describes its recorded operation and source revision.

Safety
Made outbound connections: yes (hosts not recorded) by extruct

Review signals across current setups: connection review. 6 static matches retained as context.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 4 distinct locations. 3 attributed processes.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Full event, path and process lists for each observed setup:

Repair history and test corrections
Current diagnosis: unknown · pending

product invocation failed: {"argv": ["/tmp/extruct-venv/bin/extruct", "http://example.com"], "returncode": 1, "stdout": "", "stderr": "{\n \"dublincore\": [\n {\n \"elements\": [],\n \"namespaces\": {},\n \"terms\": []\n }\n ],\n \"json-ld\": [],\n \"microdata\": [],\n \"microformat\": [],\n \"opengraph\": [],\n \"rdfa\": [],\n \"status\": \"200 OK\",\n \"url\": \"http://example.com\"\n}\n", "needs_credentials": false, "needs_browser": false}

Repair record fix-4349a0fbe939c679c7cf · current status JSON. Original run outcomes remain unchanged.

Failed run: scrapinghub/extruct · Oct 27, 2026 · Recorded operation failed.

Run details
Earlier attempts (1)

Luna

Native agent · Recorded operation failed

Operation / attempted scope /tmp/extruct-venv/bin/extruct http://example.com

Agent-reported scope: Extract embedded metadata from a URL with the extruct CLI

Run details
run
scrapinghub--extruct-gpt-6-luna-1793114337679514650
date
Oct 27, 2026
time to working
not recorded
product hosting / execution
Local command in the guest
recorded operation scope
Python 3.12 virtual environment with CLI extra installed
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/scrapinghub/extruct
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "d24f5414fd32c874989492ebd04cb1deb6d7d04e", "url": "https://github.com/scrapinghub/extruct"}
Test version
readme-38e6b13f3b13804effb95797e3466b1a1334da7a232d897cbc8965867f802605
revision
d24f5414fd32c874989492ebd04cb1deb6d7d04e
Current diagnosis: unknown · pending

product invocation failed: {"argv": ["/tmp/extruct-venv/bin/extruct", "http://example.com"], "returncode": 1, "stdout": "", "stderr": "{\n \"dublincore\": [\n {\n \"elements\": [],\n \"namespaces\": {},\n \"terms\": []\n }\n ],\n \"json-ld\": [],\n \"microdata\": [],\n \"microformat\": [],\n \"opengraph\": [],\n \"rdfa\": [],\n \"status\": \"200 OK\",\n \"url\": \"http://example.com\"\n}\n", "needs_credentials": false, "needs_browser": false}

Repair record fix-4349a0fbe939c679c7cf · current status JSON. Original run outcomes remain unchanged.

Failed run: scrapinghub/extruct · Oct 27, 2026 · Recorded operation failed.

Fix: fix-4349a0fbe939c679c7cf.

Recorded blocker / warning

Step: /tmp/extruct-venv/bin/extruct http://example.com

product invocation failed: {"argv": ["/tmp/extruct-venv/bin/extruct", "http://example.com"], "returncode": 1, "stdout": "", "stderr": "{\n \"dublincore\": [\n {\n \"elements\": [],\n \"namespaces\": {},\n \"terms\": []\n }\n ],\n \"json-ld\": [],\n \"microdata\": [],\n \"microformat\": [],\n \"openg

Safety: Review signals: 1 connection review. 3 static matches retained as context.

Review signals: 1 connection review. 3 static matches retained as context.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 4 distinct locations. 3 attributed processes.

3 hardcoded secret matches retained as context; full list in the evidence.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

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.

Full safety evidence →

Answers recorded for this run
  • CLI fetches a page and extracts metadata.: Claim needs an exact quote from source_file (default README.md).

    Source: *extruct* provides a command line tool that allows you to fetch a page and

    Input: http://example.com

    Expected: 200 OK

Examples

  • Use the documented CLI URL command: command exited with code 1

    Source: README.rst, Command Line Tool / Usage

    Input: http://example.com

    Expected: JSON metadata with HTTP status

    Command: /tmp/extruct-venv/bin/extruct http://example.com

    Observed: { "dublincore": [ { "elements": [], "namespaces": {}, "terms": [] } ], "json-ld": [], "microdata": [], "microformat": [], "opengraph": [], "rdfa": [], "status": "200 OK", "url": "http://example.com" }

Local or hosted: local

Suggested next step (agent-reported): Inspect the recorded blocker and correct the README prerequisites or harness error.

What the agent did

Extract embedded metadata from a URL with the extruct CLI

pwd && rg --files -g 'README*' -g 'pyproject.toml' -g 'setup.py' -g 'setup.cfg' -g 'tox.ini' -g 'AGENTS.md' -g '.github/workflows/*' | head -80 && python3 --version && git status --short --branch
ls -la && find . -maxdepth 3 -type f | head -100 && sed -n '1,240p' README.md
sed -n '1,240p' README.rst && cat requirements.txt && cat setup.py
grep -nE 'CLI|Command|Usage|extruct |input|output|json' README.rst | tail -70 && cat .github/workflows/python-package.yml &&
grep -nE 'CLI|Command|Usage|extruct |input|output|json' README.rst | tail -70; cat .github/workflows/python-package.yml; sed -n '1,240p' extruct/tool.py
sed -n '683,730p' README.rst; python3 -m venv /tmp/extruct-venv && /tmp/extruct-venv/bin/pip install -e .[cli]
mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["/tmp/extruct-venv/bin/extruct","http://example.com"],"cwd":"/tmp","expected_text":"Example Domain"}
EOF
/tmp/extruct-venv/bin/extruct http://example.com --syntaxes opengraph
mkdir -p .coldpass; cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"The CLI fetches a page and extracts metadata to stdout.","source":"extract the metadata from it directly from the command line.","input":"http://example.com","expected":"200 OK","probe_kind":"cli","argv":["/tmp/extruct-venv/bin/extruct","http://example.com"],"expected_text":"200 OK","cwd":"/tmp"}]
EOF
cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["/tmp/extruct-venv/bin/extruct","http://example.com"],"cwd":"/tmp","expected_text":"200 OK"}
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Use the documented CLI URL command","source":"README.rst, Command Line Tool / Usage","input":"http://example.com","expected":"JSON metadata with HTTP status","argv":["/tmp/extruct-venv/bin/extruct","http://example.com"],"cwd":"/tmp","expected_text":"200 OK"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"README and CLI entry point describe one-shot page extraction; no scheduler or recurring cycle exists.","checks":[]}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Extract embedded metadata from a URL with the documented extruct CLI","operation_scope":"Python 3.12 virtual environment with CLI extra installed","steps":["Created /tmp/extruct-venv","Installed editable project with extruct[cli]","Ran documented extruct URL operation against http://example.com; observed HTTP 200 JSON metadata"],"deviations":["The README example URL contained no Open Graph metadata; full CLI returned HTTP 200 metadata status."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"CLI fetches a page and extracts metadata.","source":"*extruct* provides a command line tool that allows you to fetch a page and","input":"http://example.com","expected":"200 OK","probe_kind":"cli","argv":["/tmp/extruct-venv/bin/extruct","http://example.com"],"expected_text":"200 OK","cwd":"/tmp"}]
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Extract embedded metadata from a URL with the extruct CLI","operation_scope":"Python 3.12 virtual environment with CLI extra installed","steps":["Created /tmp/extruct-venv","Installed project with CLI extra","Ran CLI against http://example.com and observed HTTP 200"],"deviations":[],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay

No product verdict. Run record.

No product verdict. Run record.

No product verdict. Run record.

No product verdict. Run record.