{
  "run_id": "xinzhuzi--myia-claude-haiku-5-5-1793148100121752428",
  "date": "2026-10-28T00:45:47.587707+00:00",
  "repo": "xinzhuzi/myia",
  "kind": "repo",
  "source": "https://github.com/xinzhuzi/myia",
  "commit": "1f9151c4151676db6125d0f4738cae0e0e60c0ee",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-d5b140d3c0f8b95c2dd6fe6fc381a303cacb92679582c22317d8e78b572f0cf2",
  "pass": null,
  "outcome": "unverified",
  "time_to_working_s": null,
  "total_s": 247.46584510803223,
  "steps": [
    "cd <guest-path> && pwd && ls -la && git status 2>&1 | head -3; id -u; python3 --version; cat README.md 2>/dev/null | head -150",
    "echo \"CDP_URL=$CDP_URL\"; ls /inputs 2>&1; ls -la <guest-path> 2>&1 | head",
    "cd <guest-path> && grep -n \"^#\" README.en.md | head -60; echo ---; sed -n '/Quick [Ss]tart/,/^## /p' README.en.md | head -80; echo ---; which uv; uv --version 2>&1; cat .python-version",
    "cd <guest-path> && sed -n '155,202p' README.en.md",
    "cd <guest-path> && timeout 900 uv sync 2>&1 | tail -30; echo \"exit=${PIPESTATUS[0]}\"",
    "cd <guest-path> && uv run myssia --version; uv run myssia --help 2>&1 | head -60",
    "cd <guest-path> && grep -n \"myssia \\(run\\|test\\|list\\|init\\|doctor\\)\" README.en.md | head -30; echo ---; ls config | head -50; echo ---; sed -n '317,333p' README.en.md",
    "cd <guest-path> && sed -n '236,255p' README.en.md; echo ---; cat config/myssia-demo.yaml | head -60",
    "cd <guest-path> && timeout 300 uv run myssia test config/myssia-demo.yaml --json 2>&1 | head -c 3000; echo; echo \"exit=${PIPESTATUS[0]}\"",
    "cd <guest-path> && timeout 20 curl -sS -o /dev/null -w \"%{http_code}\\n\" \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&per_page=1\" 2>&1; echo \"exit=$?\"; env | grep -i proxy; ls tests | head -30; ls docs/demo 2>/dev/null | head",
    "mkdir -p <guest-path> && cd <guest-path> && grep -v \"proxy: pool:clash\" config/myssia-demo.yaml > <guest-path> && grep -c proxy <guest-path>; grep -rn \"MYIA_DB\\|MYIA_HOME\\|myia.db\\|sqlite\" docs/en/getting-started.md | head -10",
    "cd <guest-path> && timeout 300 uv run myssia test <guest-path> --json > <guest-path> 2><guest-path>; echo \"exit=$?\"; python3 -c \"\nimport json;d=json.load(open('<guest-path>'));print(d['status']);s=d['sources'][0];print(s['ok'],s['item_count']);print([i for i in s['items'][:2]])\" ; tail -c 500 <guest-path>",
    "cd <guest-path> && timeout 300 uv run myssia run <guest-path> --dry-run --json > <guest-path> 2><guest-path>; echo \"exit=$?\"; head -c 1200 <guest-path>; echo; tail -c 600 <guest-path>",
    "cd <guest-path> && timeout 300 uv run myssia run <guest-path> > <guest-path> 2><guest-path>; echo \"exit=$?\"; head -c 1500 <guest-path>; echo; echo ---; tail -c 400 <guest-path>; echo ---; grep -rn \"MYIA_\\(HOME\\|DATA\\|DB\\)[A-Z_]*\" src/myssia --include=*.py -o | sort | uniq -c | head",
    "cd <guest-path> && sed -n '232,250p' src/myssia/cli.py; ls -la ~/.myia 2>/dev/null | head; echo \"HOME=$HOME MYIA_HOME=$MYIA_HOME\"",
    "cd <guest-path> && ls -la myssia.db 2>&1; rm -f myssia.db; ls *.db 2>/dev/null; grep -n \"mcp\" pyproject.toml | head -5; grep -rn \"def tick\\|\\\"tick\\\"\" src/myssia/cron*.py src/myssia/*/cron*.py 2>/dev/null | head -5; mkdir -p <guest-path> && echo ok",
    "cd <guest-path> && export MYIA_HOME=<guest-path>; timeout 300 uv run myssia test <guest-path> --json > <guest-path> 2>/dev/null; echo \"test exit=$?\"; grep -o '\"status\": \"success\"' <guest-path> | head -1; grep -o 'https://github.com/storytold/photocraft' <guest-path> | head -1; ls <guest-path>; timeout 300 uv run myssia run <guest-path> --dry-run --json > <guest-path> 2>/dev/null; echo \"dry exit=$?\"; grep -o '\"dry_run\": true' <guest-path>; ls <guest-path> 2>/dev/null; echo done",
    "cd <guest-path> && grep -n \"source_file\" <guest-path> | head -20; grep -c \"trial fetch: no DB, no push\" README.md README.en.md",
    "cd <guest-path> && grep -n \"\\-\\-loop\" src/myssia/cli.py | head -8; grep -n \"\\-\\-once\" src/myssia/cli.py | head -5",
    "mkdir -p <guest-path> && cat > <guest-path> <<'EOF'\n[\n  {\n    \"kind\": \"claim\",\n    \"claim\": \"Trial fetch of a source returns real items without writing to the database or pushing\",\n    \"source\": \"trial fetch: no DB, no push\",\n    \"source_file\": \"README.en.md\",\n    \"input\": \"<guest-path> (myssia-demo config without the proxy pool line)\",\n    \"expected\": \"status success with the live GitHub repository https://github.com/storytold/photocraft among 30 fetched items\",\n    \"probe_kind\": \"cli\",\n    \"argv\": [\"uv\", \"run\", \"myssia\", \"test\", \"<guest-path>\", \"--json\"],\n    \"expected_text\": \"https://github.com/storytold/photocraft\",\n    \"env\": {\"MYIA_HOME\": \"<guest-path>\"},\n    \"cwd\": \"<guest-path>\"\n  },\n  {\n    \"kind\": \"claim\",\n    \"claim\": \"Full rehearsal runs the pipeline in dry-run mode without pushing\",\n    \"source\": \"full rehearsal, no push\",\n    \"source_file\": \"README.en.md\",\n    \"input\": \"<guest-path>\",\n    \"expected\": \"JSON report with dry_run true and status success\",\n    \"probe_kind\": \"cli\",\n    \"argv\": [\"uv\", \"run\", \"myssia\", \"run\", \"<guest-path>\", \"--dry-run\", \"--json\"],\n    \"expected_text\": \"\\\"dry_run\\\": true\",\n    \"env\": {\"MYIA_HOME\": \"<guest-path>\"},\n    \"cwd\": \"<guest-path>\"\n  }\n]\nEOF\npython3 -I -c \"import json;json.load(open('<guest-path>'));print('ok')\"",
    "cd <guest-path> && cat > probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"uv\",\"run\",\"myssia\",\"test\",\"<guest-path>\",\"--json\"],\"cwd\":\"<guest-path>\",\"env\":{\"MYIA_HOME\":\"<guest-path>\"},\"expected_text\":\"https://github.com/storytold/photocraft\"}\nEOF\ncat > examples.json <<'EOF'\n[\n  {\"kind\":\"example\",\"claim\":\"Full rehearsal of the demo pipeline without pushing (documented myssia run --dry-run --json)\",\"source\":\"README.en.md Quickstart / config/myssia-demo.yaml\",\"input\":\"<guest-path>\",\"expected\":\"dry_run true, status success, 30 items\",\"argv\":[\"uv\",\"run\",\"myssia\",\"run\",\"<guest-path>\",\"--dry-run\",\"--json\"],\"cwd\":\"<guest-path>\",\"env\":{\"MYIA_HOME\":\"<guest-path>\"},\"expected_text\":\"\\\"dry_run\\\": true\"},\n  {\"kind\":\"example\",\"claim\":\"Documented version check (setup only, shown for completeness)\",\"source\":\"README.en.md Quickstart\",\"input\":\"--version\",\"expected\":\"myssia 0.0.15 (README says 0.0.7; deviation)\",\"argv\":[\"uv\",\"run\",\"myssia\",\"--version\"],\"cwd\":\"<guest-path>\",\"env\":{},\"expected_text\":\"myssia 0.0.15\"}\n]\nEOF\ncat > cycles.json <<'EOF'\n{\"detected\":true,\"checks\":[{\"claim\":\"run without --loop executes one pipeline cycle and exits (default run mode)\",\"source\":\"src/myssia/cli.py\",\"quote\":\"mode.add_argument(\\\"--once\\\", action=\\\"store_true\\\", help=\",\"schedule\":\"normal trigger: myssia run <config> (--once default); --loop would repeat on the schedule field\",\"method\":\"run-once (manual single invocation; no cron/loop used)\",\"input\":\"<guest-path> with --dry-run --json\",\"expected\":\"one cycle reports status success and dry_run true\",\"kind\":\"cli\",\"argv\":[\"uv\",\"run\",\"myssia\",\"run\",\"<guest-path>\",\"--dry-run\",\"--json\"],\"cwd\":\"<guest-path>\",\"env\":{\"MYIA_HOME\":\"<guest-path>\"},\"expected_text\":\"\\\"dry_run\\\": true\"}]}\nEOF\nfor f in probe.json examples.json cycles.json; do python3 -I -c \"import json,sys;json.load(open(sys.argv[1]));print(sys.argv[1],'ok')\" $f; done",
    "cd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay 2>&1 | tail -c 4000; echo \"exit=${PIPESTATUS[0]}\"",
    "cd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo \"exit=$?\"; python3 -I -c \"\nimport json,sys\nt=open('<guest-path>').read()\ni=t.find('{')\nd=json.loads(t[i:])\nprint({k:v for k,v in d.items() if not isinstance(v,(list,dict))})\nfor k,v in d.items():\n    if isinstance(v,(list,dict)): print(k, (json.dumps(v)[:600]))\n\"",
    "cd <guest-path> && python3 -I -c \"\nimport json\nt=open('<guest-path>').read(); d=json.loads(t[t.find('{'):])\nr=d['replay']\nprint(type(r), list(r.keys()) if isinstance(r,dict) else '')\nfor k in ('claim_checks','cycle_checks','example_checks'):\n    for c in (r.get('details',{}).get(k) or []): print(k, c.get('claim','')[:50], c.get('verdict'), c.get('returncode'))\n\" 2>&1 | head -20; ls -a; ls .coldpass",
    "cd <guest-path> && python3 -I -c \"\nimport json\nt=open('<guest-path>').read(); d=json.loads(t[t.find('{'):])\nr=d['replay']\nfor k in ('claims','cycle_checks','example_checks'):\n    for c in (r.get(k) or []): print(k, str(c.get('claim',''))[:60], c.get('verdict'), c.get('outcome'), c.get('returncode'))\nprint(r['status'], r['evidence_strength'])\n\"",
    "cd <guest-path> && cat > report.json <<'EOF'\n{\n  \"outcome\": \"working\",\n  \"fault_owner\": null,\n  \"operation\": \"Install myssia with uv and run the documented pipeline commands: trial fetch (myssia test) and full rehearsal (myssia run --dry-run --json) against a GitHub Search source, with stdout push\",\n  \"operation_scope\": \"Linux guest, Python 3.12.3 (README requires 3.11+), uv 0.13.5, network access to api.github.com (direct, no proxy pool). Uses a copy of config/myssia-demo.yaml with the 'proxy: pool:clash' line removed, stored at <guest-path>, and MYIA_HOME=<guest-path> No browser, credentials, or MCP server were needed; the product is a CLI.\",\n  \"steps\": [\n    \"uv sync\",\n    \"uv run myssia --version  (reported myssia 0.0.15)\",\n    \"uv run myssia test config/myssia-demo.yaml --json  (failed: proxy_config, pool:clash not declared)\",\n    \"uv run myssia test <guest-path> --json  (success, 30 items)\",\n    \"uv run myssia run <guest-path> --dry-run --json  (success, dry_run true)\",\n    \"uv run myssia run <guest-path>  (success, 30-item digest pushed to stdout)\",\n    \"<env-var>=<guest-path> python3 -I <guest-path> --validate --replay  (valid true, replay PASS)\"\n  ],\n  \"deviations\": [\n    \"README quickstart says cd shishi; the snapshot is the repo root, so commands were run from <guest-path>\",\n    \"README says myssia 0.0.7; uv sync installed myssia 0.0.15 (version mismatch noted, not changed).\",\n    \"README example config/demo-min.yaml does not exist in the snapshot; used config/myssia-demo.yaml as the closest documented demo.\",\n    \"config/myssia-demo.yaml fails as shipped with proxy_config (pool:clash not declared in the global config). Copied it to <guest-path> with the proxy line removed; GitHub is reachable directly (HTTP 200), so the proxy was not needed.\",\n    \"The first real run wrote ./myssia.db into the workspace because MYIA_HOME was unset; I deleted that file and set MYIA_HOME=<guest-path> for all probes and claims.\",\n    \"The probe and claims assert on live GitHub search results (https://github.com/storytold/photocraft), so they may need a new expected_text if the star ranking changes.\"\n  ],\n  \"stuck_step\": null,\n  \"main_blocker\": null,\n  \"plain_failure\": null,\n  \"suggested_fix\": \"Shipped config/myssia-demo.yaml sets proxy: pool:clash but the default run does not load the pools file, so the demo fails out of the box. Either declare pools in the global config, or document that the demo needs the proxy pool, or drop the proxy line from the demo. Also align the README version (0.0.7) with the package (0.0.15) and add config/demo-min.yaml or fix the README reference.\"\n}\nEOF\npython3 -I -c \"import json;json.load(open('<guest-path>'));print('report ok')\"; cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | grep -o '\"valid\": [a-z]*\\|valid.: [A-Za-z]*\\|PASS\\|FAIL' | sort | uniq -c"
  ],
  "stuck_step": "uv run myssia test <guest-path> --json",
  "error_excerpt": "The saved checks do not fully confirm documented product behavior.",
  "what_it_did": "Install myssia with uv and run the documented pipeline commands: trial fetch (myssia test) and full rehearsal (myssia run --dry-run --json) against a GitHub Search source, with stdout push",
  "suggested_fix": "Shipped config/myssia-demo.yaml sets proxy: pool:clash but the default run does not load the pools file, so the demo fails out of the box. Either declare pools in the global config, or document that the demo needs the proxy pool, or drop the proxy line from the demo. Also align the README version (0.0.7) with the package (0.0.15) and add config/demo-min.yaml or fix the README reference.",
  "tokens_in": 886995,
  "tokens_out": 17734,
  "cost_usd": 0.028691140000000007,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": false,
        "argv": [
          "uv",
          "run",
          "myssia",
          "test",
          "<guest-path>",
          "--json"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "{\"command\": \"test\", \"yaml\": \"<guest-path>\", \"note\": \"\u8bd5\u6293\u4e0d\u5165\u5e93\u4e0d\u63a8\u9001;dedup_key \u4e3a\u53bb\u91cd\u952e\u9884\u89c8\", \"sources\": [{\"source\": \"github-new-stars\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"engine_configured\": \"direct_api\", \"ok\": true, \"item_count\": 30, \"fingerprint\": {\"skip_reason\": null, \"verdict\": \"changed_or_first_fetch\", \"meaning\": \"\u5185\u5bb9\u6709\u53d8\u5316\u6216\u9996\u6b21\u6293\u53d6,\u7ebf\u4e0a\u8c03\u5ea6\u4f1a\u6b63\u5e38\u63d0\u53d6\"}, \"items\": [{\"fields\": {\"title\": \"storytold/photocraft\", \"url\": \"https://github.com/storytold/photocraft\", \"stars\": 73940, \"desc\": \"PhotoCraft: An open-source, photo editor written by scratch in pure Rust\"}, \"dedup_key\": \"https://github.com/storytold/photocraft\"}, {\"fields\": {\"title\": \"eternity4719/HowToLiveBetter\", \"url\": \"https://github.com/eternity4719/HowToLiveBetter\", \"stars\": 69976, \"desc\": \"\u9ad8\u6027\u4ef7\u6bd4\u4eba\u751f\u6307\u5357: \u957f\u5bff\u9632\u75c5\u3001\u6025\u6551\u3001\u7701\u94b1\u7406\u8d22\u3001\u6cd5\u5f8b\u7ea2\u7ebf\u3001\u5931\u4e1a\u4e0e\u5de5\u4f24\u3001\u533b\u4fdd\u793e\u4fdd\u3001\u604b\u7231\u5a5a\u80b2\u3001\u6000\u5b55\u80b2\u513f\u3001\u521b\u4e1a\u4e0e\u505a\u5e73\u53f0\u5408\u89c4\u3001\u51fa\u56fd\u4e0e\u6280\u80fd\u3002\u6bcf\u6761\u5199\u660e\u6210\u672c\u3001\u6536\u76ca\u3001\u8bc1\u636e\u7b49\u7ea7\u548c\u539f\u59cb\u51fa\u5904\uff0c\u53ea\u5f15\u671f\u520a\u8bba\u6587\u4e0e\u5b98\u65b9\u6587\u4ef6\u3002\"}, \"dedup_key\": \"https://github.com/eternity4719/HowToLiveBetter\"}, {\"fields\": {\"title\": \"Ebony-Vinyl/dsh-our-free-model\", \"url\": \"https://github.com/Ebony-Vinyl/dsh-our-free-model\", \"stars\": 46777, \"desc\": \"\u5728 dsh \u91cc\u88c5\u4e0a\u8fd9\u4e2a\u63d2\u4ef6\u5373\u53ef\uff0c\u65e0\u9700\u767b\u5f55\u3001\u6ce8\u518c\u6216\u586b API Key\uff0c\u5c31\u80fd\u4f7f\u7528\u5305\u62ec DeepSeek V4.1 Flash\u3001Kimi K3 \u5728\u5185\u7684\u524d\u6cbf\u6a21\u578b\u2014\u2014\u5b8c\u5168\u514d\u8d39\uff0c\u4e0d\u9650\u91cf\n[excerpt truncated]",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 1 connection review, 16 hardcoded secret, 99 known vulnerability. 63 static matches retained as context.",
    "expected": "Reviewed as expected for a test run: attempted writes that failed, so nothing was written.",
    "findings": [
      {
        "kind": "connection-review",
        "count": 1,
        "note": "Repository processes attempted these non-loopback connections; proxies can hide the final hostname.",
        "location_count": 3,
        "process_count": 25
      },
      {
        "kind": "hardcoded-secret",
        "count": 16,
        "note": "Gitleaks found a possible hardcoded secret; value withheld.",
        "location_count": 6
      },
      {
        "kind": "known-vulnerability",
        "count": 97,
        "note": "OSV reports a known vulnerability in this dependency version.",
        "location_count": 20
      }
    ],
    "context": [
      {
        "kind": "hardcoded-secret",
        "count": 63,
        "note": "Gitleaks found a possible hardcoded secret; value withheld.",
        "location_count": 19
      }
    ],
    "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=xinzhuzi--myia-claude-haiku-5-5-1793148100121752428",
    "evidence_file": "/data/safety/xinzhuzi--myia-claude-haiku-5-5-1793148100121752428.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": 26,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "1f9151c4151676db6125d0f4738cae0e0e60c0ee",
    "url": "https://github.com/xinzhuzi/myia"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": "unknown",
    "status": "pending",
    "reason": "The saved checks do not fully confirm documented product behavior."
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 26,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "partly_checked",
  "works": "untested",
  "install_s": null,
  "first_use_s": null,
  "mcp": "none",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "cli"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/xinzhuzi/myia",
  "cost_to_try": null,
  "hardware": null,
  "what_failed": "The saved checks do not fully confirm documented product behavior.",
  "local_or_hosted": "both",
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "run without --loop executes one pipeline cycle and exits (default run mode)",
      "source": "src/myssia/cli.py",
      "input": "<guest-path> with --dry-run --json",
      "expected": "one cycle reports status success and dry_run true",
      "command": "uv run myssia run <guest-path> --dry-run --json",
      "schedule": "normal trigger: myssia run <config> (--once default); --loop would repeat on the schedule field",
      "method": "run-once (manual single invocation; no cron/loop used)",
      "verdict": "no",
      "outcome": "Triggered one cycle by hand (run-once (manual single invocation; no cron/loop used); normal trigger: normal trigger: myssia run <config> (--once default); --loop would repeat on the schedule field): {\"category\": \"myssia-demo\", \"category_name\": \"\u6f14\u793a \u00b7 GitHub \u65b0\u661f\", \"run_id\": 1, \"status\": \"failed\", \"dry_run\": true, \"resumed_from_run_id\": null, \"started_at\": \"2026-10-28T00:45:35.508495+00:00\", \"finished_at\": \"2026-10-28T00:45:36.276945+00:00\", \"duration_seconds\": 0.7684, \"stages\": [{\"name\": \"fetch\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.6161, \"items_in\": 1, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"classify\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"dedup\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"analyze\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"push\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}], \"sources\": [{\"source\": \"github-new-stars\", \"engine\": \"direct_api\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"item_count\": 0, \"attempts\": 1, \"duration_seconds\": 0.6145, \"skipped\": false, \"skip_reason\": null, \"failures\": [{\"source\": \"github-new-stars\", \"engine\": \"direct_api\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"http_403\", \"message\": \"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\"}, {\"source\": \"github-new-stars\", \"engine\": \"static_html\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss)\"}, {\"source\": \"github-new-stars\", \"engine\": \"crawl4ai\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"firecrawl\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"scrapling\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"stealth_browser\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"llm_browser\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"engine_not_whitelisted\", \"message\": \"llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\"}], \"error\": {\"error_type\": \"engine_not_whitelisted\", \"message\": \"\u6240\u6709\u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); firecrawl:extract_unsupported:firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); scrapling:extract_unsupported:scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\"}, \"failed\": true}], \"items\": [], \"push\": [{\"channel\": \"stdout\", \"dry_run\": true, \"immediate\": 0, \"digest\": 0, \"archive\": 0, \"decisions\": [], \"reports\": [], \"ok\": true}], \"failures\": [], \"maintenance\": null, \"feedback_tuning\": null}\ngine=scrapling error_type=extract_unsupported: scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\n2026-10-28 00:45:36,267 WARNING myssia.engines.registry: \u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25 source=github-new-stars engine=stealth_browser error_type=extract_unsupported: stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\n2026-10-28 00:45:36,273 WARNING myssia.engines.registry: \u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25 source=github-new-stars engine=llm_browser error_type=engine_not_whitelisted: llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\n2026-10-28 00:45:36,273 ERROR myssia.engines.registry: \u6240\u6709\u5f15\u64ce\u5747\u5931\u8d25 source=github-new-stars attempts=[{'source': 'github-new-stars', 'engine': 'direct_api', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'http_403', 'message': \"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\"}, {'source': 'github-new-stars', 'engine': 'static_html', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss)\"}, {'source': 'github-new-stars', 'engine': 'crawl4ai', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'firecrawl', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'scrapling', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'stealth_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'llm_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'engine_not_whitelisted', 'message': \"llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\"}]\n2026-10-28 00:45:36,273 WARNING myssia.pipeline: \u5f15\u64ce\u94fe\u8017\u5c3d source=github-new-stars engines=['direct_api', 'static_html', 'crawl4ai', 'firecrawl', 'scrapling', 'stealth_browser', 'llm_browser']\n2026-10-28 00:45:36,274 ERROR myssia.pipeline: \u91c7\u96c6\u6700\u7ec8\u5931\u8d25 source=github-new-stars attempts=1 error_type=engine_not_whitelisted: \u6240\u6709\u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); firecrawl:extract_unsupported:firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); scrapling:extract_unsupported:scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe; product invocation failed: {\"argv\": [\"uv\", \"run\", \"myssia\", \"run\", \"<guest-path>\", \"--dry-run\", \"--json\"], \"returncode\": 2, \"stdout\": \"{\\\"category\\\": \\\"myssia-demo\\\", \\\"category_name\\\": \\\"\\u6f14\\u793a \\u00b7 GitHub \\u65b0\\u661f\\\", \\\"run_id\\\": 1, \\\"status\\\": \\\"failed\\\", \\\"dry_run\\\": true, \\\"resumed_from_run_id\\\": null, \\\"started_at\\\": \\\"2026-10-28T00:45:35.508495+00:00\\\", \\\"finished_at\\\": \\\"2026-10-28T00:45:36.276945+00:00\\\", \\\"duration_seconds\\\": 0.7684, \\\"stages\\\": [{\\\"name\\\": \\\"fetch\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.6161, \\\"items_in\\\": 1, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"classify\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"dedup\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"analyze\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"push\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}], \\\"sources\\\": [{\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"direct_api\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"item_count\\\": 0, \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.6145, \\\"skipped\\\": false, \\\"skip_reason\\\": null, \\\"failures\\\": [{\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"direct_api\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"http_403\\\", \\\"message\\\": \\\"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"static_html\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"crawl4ai\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"firecrawl\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"scrapling\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"stealth_browser\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"llm_browser\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"engine_not_whitelisted\\\", \\\"message\\\": \\\"llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\\"}], \\\"error\\\": {\\\"error_type\\\": \\\"engine_not_whitelisted\\\", \\\"message\\\": \\\"\\u6240\\u6709\\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); firecrawl:extract_unsupported:firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); scrapling:extract_unsupported:scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\\"}, \\\"failed\\\": true}], \\\"items\\\": [], \\\"push\\\": [{\\\"channel\\\": \\\"stdout\\\", \\\"dry_run\\\": true, \\\"immediate\\\": 0, \\\"digest\\\": 0, \\\"archive\\\": 0, \\\"decisions\\\": [], \\\"reports\\\": [], \\\"ok\\\": true}], \\\"failures\\\": [], \\\"maintenance\\\": null, \\\"feedback_tuning\\\": null}\\n\", \"stderr\": \"gine=scrapling error_type=extract_unsupported: scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\n2026-10-28 00:45:36,267 WARNING myssia.engines.registry: \\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25 source=github-new-stars engine=stealth_browser error_type=extract_unsupported: stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\n2026-10-28 00:45:36,273 WARNING myssia.engines.registry: \\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25 source=github-new-stars engine=llm_browser error_type=engine_not_whitelisted: llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\n2026-10-28 00:45:36,273 ERROR myssia.engines.registry: \\u6240\\u6709\\u5f15\\u64ce\\u5747\\u5931\\u8d25 source=github-new-stars attempts=[{'source': 'github-new-stars', 'engine': 'direct_api', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'http_403', 'message': \\\"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\\\"}, {'source': 'github-new-stars', 'engine': 'static_html', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss)\\\"}, {'source': 'github-new-stars', 'engine': 'crawl4ai', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'firecrawl', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'scrapling', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'stealth_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'llm_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'engine_not_whitelisted', 'message': \\\"llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\\"}]\\n2026-10-28 00:45:36,273 WARNING myssia.pipeline: \\u5f15\\u64ce\\u94fe\\u8017\\u5c3d source=github-new-stars engines=['direct_api', 'static_html', 'crawl4ai', 'firecrawl', 'scrapling', 'stealth_browser', 'llm_browser']\\n2026-10-28 00:45:36,274 ERROR myssia.pipeline: \\u91c7\\u96c6\\u6700\\u7ec8\\u5931\\u8d25 source=github-new-stars attempts=1 error_type=engine_not_whitelisted: \\u6240\\u6709\\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); firecrawl:extract_unsupported:firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); scrapling:extract_unsupported:scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\n\", \"needs_credentials\": false, \"needs_browser\": false}",
      "evidence": "{\"category\": \"myssia-demo\", \"category_name\": \"\u6f14\u793a \u00b7 GitHub \u65b0\u661f\", \"run_id\": 1, \"status\": \"failed\", \"dry_run\": true, \"resumed_from_run_id\": null, \"started_at\": \"2026-10-28T00:45:35.508495+00:00\", \"finished_at\": \"2026-10-28T00:45:36.276945+00:00\", \"duration_seconds\": 0.7684, \"stages\": [{\"name\": \"fetch\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.6161, \"items_in\": 1, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"classify\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"dedup\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"analyze\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"push\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}], \"sources\": [{\"source\": \"github-new-stars\", \"engine\": \"direct_api\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"item_count\": 0, \"attempts\": 1, \"duration_seconds\": 0.6145, \"skipped\": false, \"skip_reason\": null, \"failures\": [{\"source\": \"github-new-stars\", \"engine\": \"direct_api\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"http_403\", \"message\": \"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\"}, {\"source\": \"github-new-stars\", \"engine\": \"static_html\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss)\"}, {\"source\": \"github-new-stars\", \"engine\": \"crawl4ai\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"firecrawl\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"scrapling\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"stealth_browser\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"extract_unsupported\", \"message\": \"stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {\"source\": \"github-new-stars\", \"engine\": \"llm_browser\", \"url\": \"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\", \"error_type\": \"engine_not_whitelisted\", \"message\": \"llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\"}], \"error\": {\"error_type\": \"engine_not_whitelisted\", \"message\": \"\u6240\u6709\u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); firecrawl:extract_unsupported:firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); scrapling:extract_unsupported:scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\"}, \"failed\": true}], \"items\": [], \"push\": [{\"channel\": \"stdout\", \"dry_run\": true, \"immediate\": 0, \"digest\": 0, \"archive\": 0, \"decisions\": [], \"reports\": [], \"ok\": true}], \"failures\": [], \"maintenance\": null, \"feedback_tuning\": null}\ngine=scrapling error_type=extract_unsupported: scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\n2026-10-28 00:45:36,267 WARNING myssia.engines.registry: \u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25 source=github-new-stars engine=stealth_browser error_type=extract_unsupported: stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\n2026-10-28 00:45:36,273 WARNING myssia.engines.registry: \u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25 source=github-new-stars engine=llm_browser error_type=engine_not_whitelisted: llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\n2026-10-28 00:45:36,273 ERROR myssia.engines.registry: \u6240\u6709\u5f15\u64ce\u5747\u5931\u8d25 source=github-new-stars attempts=[{'source': 'github-new-stars', 'engine': 'direct_api', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'http_403', 'message': \"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\"}, {'source': 'github-new-stars', 'engine': 'static_html', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss)\"}, {'source': 'github-new-stars', 'engine': 'crawl4ai', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'firecrawl', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'scrapling', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'stealth_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \"stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item)\"}, {'source': 'github-new-stars', 'engine': 'llm_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'engine_not_whitelisted', 'message': \"llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe\"}]\n2026-10-28 00:45:36,273 WARNING myssia.pipeline: \u5f15\u64ce\u94fe\u8017\u5c3d source=github-new-stars engines=['direct_api', 'static_html', 'crawl4ai', 'firecrawl', 'scrapling', 'stealth_browser', 'llm_browser']\n2026-10-28 00:45:36,274 ERROR myssia.pipeline: \u91c7\u96c6\u6700\u7ec8\u5931\u8d25 source=github-new-stars attempts=1 error_type=engine_not_whitelisted: \u6240\u6709\u5f15\u64ce\u5c1d\u8bd5\u5931\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); firecrawl:extract_unsupported:firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); scrapling:extract_unsupported:scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe; product invocation failed: {\"argv\": [\"uv\", \"run\", \"myssia\", \"run\", \"<guest-path>\", \"--dry-run\", \"--json\"], \"returncode\": 2, \"stdout\": \"{\\\"category\\\": \\\"myssia-demo\\\", \\\"category_name\\\": \\\"\\u6f14\\u793a \\u00b7 GitHub \\u65b0\\u661f\\\", \\\"run_id\\\": 1, \\\"status\\\": \\\"failed\\\", \\\"dry_run\\\": true, \\\"resumed_from_run_id\\\": null, \\\"started_at\\\": \\\"2026-10-28T00:45:35.508495+00:00\\\", \\\"finished_at\\\": \\\"2026-10-28T00:45:36.276945+00:00\\\", \\\"duration_seconds\\\": 0.7684, \\\"stages\\\": [{\\\"name\\\": \\\"fetch\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.6161, \\\"items_in\\\": 1, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"classify\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"dedup\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"analyze\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}, {\\\"name\\\": \\\"push\\\", \\\"status\\\": \\\"ok\\\", \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.0003, \\\"items_in\\\": 0, \\\"items_out\\\": 0, \\\"skips\\\": {}, \\\"failures\\\": [], \\\"warnings\\\": [], \\\"error\\\": null, \\\"skip_reason\\\": null}], \\\"sources\\\": [{\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"direct_api\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"item_count\\\": 0, \\\"attempts\\\": 1, \\\"duration_seconds\\\": 0.6145, \\\"skipped\\\": false, \\\"skip_reason\\\": null, \\\"failures\\\": [{\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"direct_api\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"http_403\\\", \\\"message\\\": \\\"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"static_html\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"crawl4ai\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"firecrawl\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"scrapling\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"stealth_browser\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"extract_unsupported\\\", \\\"message\\\": \\\"stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {\\\"source\\\": \\\"github-new-stars\\\", \\\"engine\\\": \\\"llm_browser\\\", \\\"url\\\": \\\"https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30\\\", \\\"error_type\\\": \\\"engine_not_whitelisted\\\", \\\"message\\\": \\\"llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\\"}], \\\"error\\\": {\\\"error_type\\\": \\\"engine_not_whitelisted\\\", \\\"message\\\": \\\"\\u6240\\u6709\\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); firecrawl:extract_unsupported:firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); scrapling:extract_unsupported:scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\\"}, \\\"failed\\\": true}], \\\"items\\\": [], \\\"push\\\": [{\\\"channel\\\": \\\"stdout\\\", \\\"dry_run\\\": true, \\\"immediate\\\": 0, \\\"digest\\\": 0, \\\"archive\\\": 0, \\\"decisions\\\": [], \\\"reports\\\": [], \\\"ok\\\": true}], \\\"failures\\\": [], \\\"maintenance\\\": null, \\\"feedback_tuning\\\": null}\\n\", \"stderr\": \"gine=scrapling error_type=extract_unsupported: scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\n2026-10-28 00:45:36,267 WARNING myssia.engines.registry: \\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25 source=github-new-stars engine=stealth_browser error_type=extract_unsupported: stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\n2026-10-28 00:45:36,273 WARNING myssia.engines.registry: \\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25 source=github-new-stars engine=llm_browser error_type=engine_not_whitelisted: llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\n2026-10-28 00:45:36,273 ERROR myssia.engines.registry: \\u6240\\u6709\\u5f15\\u64ce\\u5747\\u5931\\u8d25 source=github-new-stars attempts=[{'source': 'github-new-stars', 'engine': 'direct_api', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'http_403', 'message': \\\"Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403\\\"}, {'source': 'github-new-stars', 'engine': 'static_html', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss)\\\"}, {'source': 'github-new-stars', 'engine': 'crawl4ai', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'firecrawl', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'scrapling', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'stealth_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'extract_unsupported', 'message': \\\"stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item)\\\"}, {'source': 'github-new-stars', 'engine': 'llm_browser', 'url': 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30', 'error_type': 'engine_not_whitelisted', 'message': \\\"llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\\"}]\\n2026-10-28 00:45:36,273 WARNING myssia.pipeline: \\u5f15\\u64ce\\u94fe\\u8017\\u5c3d source=github-new-stars engines=['direct_api', 'static_html', 'crawl4ai', 'firecrawl', 'scrapling', 'stealth_browser', 'llm_browser']\\n2026-10-28 00:45:36,274 ERROR myssia.pipeline: \\u91c7\\u96c6\\u6700\\u7ec8\\u5931\\u8d25 source=github-new-stars attempts=1 error_type=engine_not_whitelisted: \\u6240\\u6709\\u5f15\\u64ce\\u5c1d\\u8bd5\\u5931\\u8d25: direct_api:http_403:Client error '403 rate limit exceeded' for url 'https://api.github.com/search/repositories?q=created:%3E2026-09-01&sort=stars&order=desc&per_page=30'\\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403; static_html:extract_unsupported:static_html \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); firecrawl:extract_unsupported:firecrawl \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); scrapling:extract_unsupported:scrapling \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \\u5f15\\u64ce\\u4e0d\\u652f\\u6301 extract.type='json_path'(\\u652f\\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \\u672a\\u5217\\u5165\\u8be5\\u6e90\\u7684\\u767d\\u540d\\u5355 engine='direct_api':L6 \\u662f\\u70e7 token \\u7684\\u515c\\u5e95\\u5c42,\\u53ea\\u5141\\u8bb8 engine: llm_browser \\u663e\\u5f0f\\u6307\\u5b9a,\\u6216 engine: auto \\u964d\\u7ea7\\u94fe\\u8d70\\u5230\\u94fe\\u5c3e\\u65f6\\u89e6\\u8fbe\\n\", \"needs_credentials\": false, \"needs_browser\": false}",
      "returncode": 2
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "Trial fetch of a source returns real items without writing to the database or pushing",
      "source": "trial fetch: no DB, no push",
      "input": "<guest-path> (myssia-demo config without the proxy pool line)",
      "expected": "status success with the live GitHub repository https://github.com/storytold/photocraft among 30 fetched items",
      "command": "uv run myssia test <guest-path> --json",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: https://github.com/storytold/photocraft",
      "evidence": "https://github.com/storytold/photocraft\", \"stars\": 73940, \"desc\": \"PhotoCraft: An open-source, photo editor written by scratch in pure Rust\"}, \"dedup_key\": \"https://github.com/storytold/photocraft\"}, {\"fields\": {\"title\": \"eternity4719/HowToLiveBetter\", \"url\": \"https://github.com/eternity4719/HowToLiveBetter\", \"stars\": 69976, \"desc\": \"\u9ad8\u6027\u4ef7\u6bd4\u4eba\u751f\u6307\u5357: \u957f\u5bff\u9632\u75c5\u3001\u6025\u6551\u3001\u7701\u94b1\u7406\u8d22\u3001\u6cd5\u5f8b\u7ea2\u7ebf\u3001\u5931\u4e1a\u4e0e\u5de5\u4f24\u3001\u533b\u4fdd\u793e\u4fdd\u3001\u604b\u7231\u5a5a\u80b2\u3001\u6000\u5b55\u80b2\u513f\u3001\u521b\u4e1a\u4e0e\u505a\u5e73\u53f0\u5408\u89c4\u3001\u51fa\u56fd\u4e0e\u6280\u80fd\u3002\u6bcf\u6761\u5199\u660e\u6210\u672c\u3001\u6536\u76ca\u3001\u8bc1\u636e\u7b49\u7ea7\u548c\u539f\u59cb\u51fa\u5904\uff0c\u53ea\u5f15\u671f\u520a\u8bba\u6587\u4e0e\u5b98\u65b9\u6587\u4ef6\u3002\"}, \"dedup_key\": \"https://github.com/eternity4719/HowToLiveBetter\"}, {\"fields\": {\"title\": \"Ebony-Vinyl/dsh-our-free-model\", \"url\": \"https://github.com/Ebony-Vinyl/dsh-o",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.en.md"
    },
    {
      "kind": "claim",
      "claim": "Full rehearsal runs the pipeline in dry-run mode without pushing",
      "source": "full rehearsal, no push",
      "input": "<guest-path>",
      "expected": "JSON report with dry_run true and status success",
      "command": "uv run myssia run <guest-path> --dry-run --json",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: \"dry_run\": true",
      "evidence": "\"dry_run\": true, \"resumed_from_run_id\": null, \"started_at\": \"2026-10-28T00:45:32.438776+00:00\", \"finished_at\": \"2026-10-28T00:45:34.064142+00:00\", \"duration_seconds\": 1.6254, \"stages\": [{\"name\": \"fetch\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 1.4904, \"items_in\": 1, \"items_out\": 30, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"classify\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0003, \"items_in\": 30, \"items_out\": 30, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"dedup\", \"status\": ",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.en.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Full rehearsal of the demo pipeline without pushing (documented myssia run --dry-run --json)",
      "source": "README.en.md Quickstart / config/myssia-demo.yaml",
      "input": "<guest-path>",
      "command": "uv run myssia run <guest-path> --dry-run --json",
      "evidence": "03; static_html:extract_unsupported:static_html \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item/rss); crawl4ai:extract_unsupported:crawl4ai \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); firecrawl:extract_unsupported:firecrawl \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); scrapling:extract_unsupported:scrapling \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); stealth_browser:extract_unsupported:stealth_browser \u5f15\u64ce\u4e0d\u652f\u6301 extract.type='json_path'(\u652f\u6301 list/item); llm_browser:engine_not_whitelisted:llm_browser \u672a\u5217\u5165\u8be5\u6e90\u7684\u767d\u540d\u5355 engine='direct_api':L6 \u662f\u70e7 token \u7684\u515c\u5e95\u5c42,\u53ea\u5141\u8bb8 engine: llm_browser \u663e\u5f0f\u6307\u5b9a,\u6216 engine: auto \u964d\u7ea7\u94fe\u8d70\u5230\u94fe\u5c3e\u65f6\u89e6\u8fbe",
      "deferred": false,
      "expected": "dry_run true, status success, 30 items",
      "returncode": 2,
      "verdict": "no",
      "outcome": "command exited with code 2"
    },
    {
      "kind": "example",
      "claim": "Documented version check (setup only, shown for completeness)",
      "source": "README.en.md Quickstart",
      "input": "--version",
      "command": "uv run myssia --version",
      "evidence": "myssia 0.0.15",
      "deferred": false,
      "expected": "myssia 0.0.15 (README says 0.0.7; deviation)",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "last_commit_at": "2026-10-28T00:21:05Z",
    "commits_90d": 1615,
    "merged_prs_90d": 0,
    "open_issues": 0,
    "open_prs": 0,
    "reply_share": null,
    "reply_threads": 0,
    "median_reply_hours": null,
    "last_release_at": null,
    "archived": false,
    "verdict": "maintained",
    "note": "actively maintained: last commit 0 days ago; 1615 commits and 0 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 0 days ago; 1615 commits and 0 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases",
  "maintained": "active",
  "maintained_note": "last commit 0 days ago",
  "last_commit_at": "2026-10-28T00:23:53Z",
  "last_release_at": null,
  "open_issues": null,
  "answered_issues": null,
  "platforms_claimed": [
    "mac",
    "windows"
  ],
  "topic": "other",
  "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-28T00:45:47.587707+00:00",
  "tested_commit": "1f9151c4151676db6125d0f4738cae0e0e60c0ee",
  "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": "xinzhuzi/myia",
    "source": "https://github.com/xinzhuzi/myia",
    "commit": "1f9151c4151676db6125d0f4738cae0e0e60c0ee",
    "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": "1f9151c4151676db6125d0f4738cae0e0e60c0ee",
      "url": "https://github.com/xinzhuzi/myia"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": null,
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Install myssia with uv and run the documented pipeline commands: trial fetch (myssia test) and full rehearsal (myssia run --dry-run --json) against a GitHub Search source, with stdout push",
    "operation_scope": "product operation",
    "hosting": null,
    "kind": "repo",
    "test_version": "readme-d5b140d3c0f8b95c2dd6fe6fc381a303cacb92679582c22317d8e78b572f0cf2",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": "/transcripts/xinzhuzi--myia-claude-haiku-5-5-1793148100121752428.txt",
  "report_url": "/reports/xinzhuzi--myia-claude-haiku-5-5-1793148100121752428.json"
}
