{
  "checker": {
    "claims": [
      {
        "claim": "asc docs show workflows prints the curated workflow recipes",
        "command": "./asc docs show workflows",
        "evidence": "# Workflow Patterns\n\nUse the high-level workflow surfaces deliberately:\n\n- `asc publish appstore`: canonical App Store shipping path\n- `asc publish testflight`: canonical high-level TestFlight publish path\n- `asc workflow`: user-defined orchestration for repo-specific pipelines\n\nTo include store assets in a canonical metadata round-trip, select the asset scopes explicitly:\n\n```bash\nasc metadata pull --app \"APP_ID\" --version \"1.2.3\" --dir ./metadata --include localizations,app-clip,previews\nasc metadata push --app \"APP_ID\" --version \"1.2.3\" --dir ./metadata --include localizations,app-clip,prev",
        "expected": "workflow title is printed",
        "input": "docs show workflows",
        "kind": "claim",
        "outcome": "Real input produced the expected result: # Workflow Patterns",
        "returncode": 0,
        "source": "`asc docs show workflows`: curated workflow recipes",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "asc docs show reference prints the repo-local quick reference",
        "command": "./asc docs show reference",
        "evidence": "# asc cli reference\n\nUnofficial CLI for the App Store Connect API. AI-friendly command catalog and\nworkflow notes for the asc cli. Use this alongside the asc cli readme\n(examples) and `asc --help` (source of truth). Generate this file in any repo\nwith `asc init` (or `asc docs init`).\n\n## Command Discovery (Source of Truth)\n\n```bash\nasc --help\nasc <command> --help\nasc <command> <subcommand> --help\n```\n\nDo not memorize flags. Always use `--help` for the current interface.\n\n## Core Principles\n\n- Explicit flags (prefer `--app` over short flags)\n- TTY-aware output defaults (`table` in terminals, `j",
        "expected": "reference title is printed",
        "input": "docs show reference",
        "kind": "claim",
        "outcome": "Real input produced the expected result: # asc cli reference",
        "returncode": 0,
        "source": "`asc docs show reference`: repo-local quick reference template used by `asc init`",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "asc system-status checks Apple developer services without credentials",
        "command": "./asc system-status --issues-only",
        "evidence": "https://developer.apple.com/system-status/\",\"summary\":{\"status\":\"operational\",\"totalServices\":51,\"operationalServices\":51,\"affectedServices\":0,\"activeIncidents\":0},\"services\":[]}\n",
        "expected": "status source URL is printed",
        "input": "--issues-only",
        "kind": "claim",
        "outcome": "Real input produced the expected result: https://developer.apple.com/system-status/",
        "returncode": 0,
        "source": "Check Apple's developer services without credentials: `asc system-status`",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "system-status --watch polls Apple's status page repeatedly until stopped (one poll per cycle, default 30s)",
        "command": "./asc system-status --watch --max-polls 1 --poll-interval 30s --issues-only",
        "evidence": "{\"source\":\"https://developer.apple.com/system-status/\",\"summary\":{\"status\":\"operational\",\"totalServices\":51,\"operationalServices\":51,\"affectedServices\":0,\"activeIncidents\":0},\"services\":[]}",
        "expected": "one status snapshot is emitted, then the process exits 0",
        "input": "--watch --max-polls 1 --poll-interval 30s --issues-only",
        "kind": "cycle",
        "method": "run-once: --max-polls 1 caps the loop to a single poll (no fake clock, no wrapper)",
        "outcome": "Triggered one cycle by hand (run-once: --max-polls 1 caps the loop to a single poll (no fake clock, no wrapper); normal trigger: poll every --poll-interval (default 30s) while --watch is set): {\"source\":\"https://developer.apple.com/system-status/\",\"summary\":{\"status\":\"operational\",\"totalServices\":51,\"operationalServices\":51,\"affectedServices\":0,\"activeIncidents\":0},\"services\":[]}",
        "returncode": 0,
        "schedule": "poll every --poll-interval (default 30s) while --watch is set",
        "source": "internal/cli/systemstatus/system_status.go",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "./asc",
        "search",
        "upload a build",
        "--output",
        "json"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "{\"query\":\"upload a build\",\"count\":10,\"results\":[{\"command\":\"asc builds upload\",\"summary\":\"Upload a build to App Store Connect.\",\"usage\":\"asc builds upload [flags]\",\"score\":421,\"matched\":[\"query:upload\",\"command:upload\",\"summary:upload\",\"usage:upload\",\"flag:upload\",\"example:upload\",\"help:upload\",\"query:a\",\"summary:a\",\"help:a\",\"query:build\",\"command:build\",\"summary:build\",\"usage:build\",\"flag:build\",\"example:build\",\"help:build\",\"command-leaf:upload\"],\"examples\":[\"asc builds upload --app \\\"123456789\\\" --ipa \\\"path/to/app.ipa\\\"\",\"asc builds upload --app \\\"123456789\\\" --ipa \\\"app.ipa\\\" --version \\\"1.0.0\\\" --build-number \\\"123\\\"\",\"asc builds upload --app \\\"123456789\\\" --ipa \\\"app.ipa\\\" --dry-run\",\"asc builds upload --app \\\"123456789\\\" --ipa \\\"app.ipa\\\" --dry-run --include-sensitive\",\"asc builds upload --app \\\"123456789\\\" --ipa \\\"app.ipa\\\" --test-notes \\\"Test flow\\\" --locale \\\"en-US\\\"\",\"asc builds upload --app \\\"123456789\\\" --pkg \\\"path/to/app.pkg\\\" --version \\\"1.0.0\\\" --build-number \\\"123\\\"\"]},{\"command\":\"asc builds uploads files list\",\"summary\":\"List build upload files for a build upload.\",\"usage\":\"asc builds uploads files list [flags]\",\"score\":401,\"matched\":[\"query:upload\",\"command:uplo\n[excerpt truncated]",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Build and run the short test suite as documented in CONTRIBUTING",
        "command": "",
        "deferred": true,
        "evidence": "Deferred from checker replay: the full short suite takes about 15 minutes and exceeds the replay window. It was run manually in this guest with ASC_BYPASS_KEYCHAIN=1 make test-short and exited 0 (every package ok), log at <guest-path>",
        "expected": "short tests run and report a final status",
        "input": "ASC_BYPASS_KEYCHAIN=1 make test-short",
        "kind": "example",
        "outcome": "Deferred from checker replay: the full short suite takes about 15 minutes and exceeds the replay window. It was run manually in this guest with ASC_BYPASS_KEYCHAIN=1 make test-short and exited 0 (every package ok), log at <guest-path>",
        "source": "CONTRIBUTING.md",
        "verdict": "deferred"
      },
      {
        "claim": "Telemetry can be turned off with an environment variable",
        "command": "./asc telemetry status",
        "deferred": false,
        "evidence": "{\"path\":\"<guest-path>\",\"enabled\":false,\"install_id\":\"e53c17a2-8b6c-468d-9cbd-c96c864eb89c\",\"reason\":\"ASC_TELEMETRY_DISABLED\",\"endpoint\":\"https://rork.com/cf-api/asc/v1/events\"}",
        "expected": "telemetry reports enabled false",
        "input": "asc telemetry status with ASC_TELEMETRY_DISABLED=1",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "make was not preinstalled; installed via apt-get after apt-get update (sudo available).",
    "Go 1.27.3 was installed manually from dl.google.com into <host-path> rather than through the go.mod toolchain auto-download described in CONTRIBUTING.md; the outcome is the same toolchain version.",
    "The README install script installed released asc 5.16.1, not the pinned source build. All probes and claims use the source build ./asc from d5ef73a.",
    "The first probe/claim using asc --help was judged help-only by the checker and was replaced with asc docs show workflows.",
    "The full make test-short example (about 15 minutes) exceeds the checker replay window, so it is recorded as deferred with the manual result. It was run once manually and passed.",
    "Telemetry was disabled via environment variables for every run, per the task's privacy instruction. The telemetry status example sets ASC_TELEMETRY_DISABLED=1.",
    "Authenticated commands (asc auth login, apps, builds, upload, etc.) were not exercised because no App Store Connect key was supplied."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Build the asc CLI from source at commit d5ef73a, then run its documented offline commands (asc search, asc docs show, asc system-status, asc telemetry status) and one bounded run of its status watch loop.",
  "operation_scope": "Linux x86_64 guest, non-root user (uid 1000), Ubuntu 24.04, Python 3.12.3. Go 1.27.3 (go.mod requirement). No App Store Connect credentials used; commands that need Apple API auth (auth, apps, builds, upload) were not exercised. Telemetry disabled via ASC_TELEMETRY_DISABLED=1 and DO_NOT_TRACK=1.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "git init; git remote add origin https://github.com/rorkai/App-Store-Connect-CLI; git fetch --depth 1 origin d5ef73a79d576c92190f6720043a3d8fd2cfdaf6; git reset --mixed FETCH_HEAD",
    "curl -sSL https://dl.google.com/go/go1.27.3.linux-amd64.tar.gz -> extracted to <host-path> (Go 1.27.3, per go.mod and CONTRIBUTING.md 'Go toolchain')",
    "sudo apt-get install -y make (first attempt reported 'no installation candidate'; after apt-get update the install succeeded)",
    "make build (CONTRIBUTING.md 'Clone and build'); produced ./asc, reports d5ef73a",
    "ASC_TELEMETRY_DISABLED=1 DO_NOT_TRACK=1 ./asc telemetry status -> enabled:false",
    "curl -fsSL https://asccli.sh/install | INSTALL_DIR=<guest-path> bash (README 'Install script'); installed released asc 5.16.1 with checksum verified",
    "./asc docs show reference (README 'Commands and Reference')",
    "./asc docs show workflows (README 'Commands and Reference')",
    "./asc search \"upload a build\" --output json (product probe; returns asc builds upload with examples)",
    "./asc system-status --issues-only (README 'Troubleshooting: Apple service health'); returns developer.apple.com status, 51/51 operational at run time",
    "./asc system-status --watch --max-polls 1 --poll-interval 30s --issues-only (one manual cycle of the watch loop)",
    "ASC_BYPASS_KEYCHAIN=1 make test-short (CONTRIBUTING.md 'Run tests'); manual run exited 0 with all packages ok; log at <guest-path>",
    "<env-var>=<guest-path> python3 -I <guest-path> --validate --replay -> valid:true, problems:[]"
  ],
  "stuck_step": null,
  "suggested_fix": "None needed for the exercised operations. Optional: make test-short takes about 15 minutes, so a faster documented smoke target would help CI replay."
}
