{
  "checker": {
    "details": {
      "checks": [
        {
          "check": "install",
          "details": {
            "argv": [
              "<host-path>",
              "--help"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "scope": "partial: install",
            "stderr": "",
            "stdout": "usage: tiktok-uploader [-h] -v VIDEO [-d DESCRIPTION] [-t SCHEDULE]\n                       [--proxy PROXY] [--product-id PRODUCT_ID]\n                       [--visibility {everyone,friends,only_you}]\n                       [--cover COVER] [-c COOKIES] [-s SESSIONID]\n                       [-u USERNAME] [-p PASSWORD]\n                       [--browser {chromium,chrome,firefox,webkit,edge,safari}]\n                       [--attach]\n\nTikTok uploader is a video uploader which can upload avideo from your computer\nto the TikTok using playwright automation\n\noptions:\n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        },
        {
          "check": "start",
          "details": {
            "argv": [
              "<host-path>",
              "-m",
              "src",
              "--help"
            ],
            "blocker": "wrong subcommand or usage-only response: {\"returncode\": 0, \"stdout\": \"usage: __main__.py [-h] -v VIDEO [-d DESCRIPTION] [-t SCHEDULE]\\n                   [--proxy PROXY] [--product-id PRODUCT_ID]\\n                   [--visibility {everyone,friends,only_you}] [--cover COVER]\\n                   [-c COOKIES] [-s SESSIONID] [-u USERNAME] [-p PASSWORD]\\n                   [--browser {chromium,chrome,firefox,webkit,edge,safari}]\\n                   [--attach]\\n\\nTikTok uploader is a video uploader which can upload avideo from your computer\\nto the TikTok using playwright automation\\n\\noptions:\\n  -h, --help            show this help message and exit\\n  -v VIDEO, --video VIDEO\\n                        Video file\\n  -d DESCRIPTION, --description DESCRIPTION\\n                        Description\\n  -t SCHEDULE, --schedule SCHEDULE\\n                        Schedule UTC time in %Y-%m-%d %H:%M format\\n  --proxy PROXY         Proxy user:pass@host:port or host:port format\\n  --product-id PRODUCT_ID\\n                        ID of the product to link in the video (if applicable)\\n  --visibility {everyone,friends,only_you}\\n                        Video visibility: everyone (default), friends, or\\n                        only_you\\n  --cover COVER         Custom cover image file\\n  -c COOKIES, --cookies COOKIES\\n                        The cookies you want to use\\n  -s SESSIONID, --sessionid SESSIONID\\n                        The session id you want to use\\n  -u USERNAME, --username USERNAME\\n                        Your TikTok email / username\\n  -p PASSWORD, --password PASSWORD\\n                        Your TikTok password\\n  --browser {chromium,chrome,firefox,webkit,edge,safari}\\n                        Browser to use (default: chromium, installed by\\n                        `playwright install chromium`; chrome / edge need the\\n                        real browser installed)\\n  --attach, -a          Runs the program in headful mode (shows browser\\n                        window)\\n\", \"stderr\": \"\", \"needs_credentials\": false, \"needs_browser\": false}",
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "stderr": "",
            "stdout": "usage: __main__.py [-h] -v VIDEO [-d DESCRIPTION] [-t SCHEDULE]\n                   [--proxy PROXY] [--product-id PRODUCT_ID]\n                   [--visibility {everyone,friends,only_you}] [--cover COVER]\n                   [-c COOKIES] [-s SESSIONID] [-u USERNAME] [-p PASSWORD]\n                   [--browser {chromium,chrome,firefox,webkit,edge,safari}]\n                   [--attach]\n\nTikTok uploader is a video uploader which can upload avideo from your computer\nto the TikTok using playwright automation\n\noptions:\n  -h, --help            show this help message and exit\n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "FAIL"
        },
        {
          "check": "credentials_error",
          "details": {
            "argv": [
              "<host-path>",
              "-v",
              "<host-path>",
              "-d",
              "smoke test"
            ],
            "blocker": "product did not produce a clear credential error: {\"returncode\": 1, \"stdout\": \"\", \"stderr\": \"Traceback (most recent call last):\\n  File \\\"<host-path>\\\", line 8, in <module>\\n    sys.exit(main())\\n             ^^^^^^\\n  File \\\"<host-path>\\\", line 22, in main\\n    with TikTokUploader(username=args.username, password=<secret>, cookies=args.cookies, proxy=proxy, sessionid=args.sessionid, browser=args.browser, headless=not args.attach) as uploader:\\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n  File \\\"<host-path>\\\", line 33, in __init__\\n    self.auth = <secret>\\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n  File \\\"<host-path>\\\", line 34, in __init__\\n    raise InsufficientAuth()\\ntiktok_video_uploader.auth.InsufficientAuth: None\\n\", \"needs_credentials\": false, \"needs_browser\": false}",
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 1,
            "stderr": "Traceback (most recent call last):\n  File \"<host-path>\", line 8, in <module>\n    sys.exit(main())\n             ^^^^^^\n  File \"<host-path>\", line 22, in main\n    with TikTokUploader(username=args.username, password=<secret>, cookies=args.cookies, proxy=proxy, sessionid=args.sessionid, browser=args.browser, headless=not args.attach) as uploader:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"<host-path>\", line 33, in __init__\n    self.auth = <secret>\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"<host-path>\", line 34, in __init__\n    raise InsufficientAuth()\n[excerpt truncated]",
            "stdout": "",
            "working": false
          },
          "optional": false,
          "status": "FAIL"
        }
      ],
      "scope": "partial checks",
      "working": false
    },
    "status": "FAIL"
  },
  "deviations": [
    "README pip install -e . failed on system Python (externally managed); used a venv in <host-path>",
    "python -m venv failed (ensurepip missing); installed python3.12-venv via sudo apt-get.",
    "Browser binary setup from the README was not run: downloads are forbidden in this task. The shared CDP endpoint is not used by this CLI."
  ],
  "main_blocker": "No TikTok account credentials provided; the CLI raises InsufficientAuth.",
  "operation": "tiktok-uploader -v <video> -d <description> (README CLI usage); run with no credentials to confirm the auth gate",
  "operation_scope": "Upload requires a TikTok session (cookies file, sessionid, or username/password). None were provided and none were obtained. Browser binaries were not downloaded (out of scope for this task). Only install, CLI help and the credentials error were verified.",
  "outcome": "blocked",
  "steps": [
    "Created venv <host-path> (after sudo apt-get install python3.12-venv)",
    "<host-path> install -e <host-path> (README pip install -e .)",
    "<host-path> --help",
    "python -m src --help from repo root",
    "tiktok-uploader -v dummy.mp4 -d 'smoke test' -> InsufficientAuth (expected without credentials)"
  ],
  "stuck_step": "Real upload needs TikTok credentials (cookies, sessionid, or username/password), which were not supplied.",
  "suggested_fix": "Supply a cookies file or sessionid for a test account (-c cookies.txt or -s SESSIONID), make a local browser available through the shared CDP endpoint, then run: <host-path> -v <video.mp4> -d 'desc' -c cookies.txt"
}
