From 9d6f741092b063121e2244f4ad38116d9d999314 Mon Sep 17 00:00:00 2001 From: CRT Date: Wed, 14 Oct 2026 08:38:12 +0800 Subject: [PATCH] acceptance.yml: the release matrix on demand (Linux + Windows x node20/node22/bun, then the report); macOS results of 0.8.3 (123/123 on Node 20, Node 22, Bun) in docs/acceptance/, docs/acceptance.md generated --- .forgejo/workflows/acceptance.yml | 107 +++ docs/acceptance.md | 145 +++ docs/acceptance/macOS-bun.json | 1363 ++++++++++++++++++++++++++++ docs/acceptance/macOS-node20.json | 1364 +++++++++++++++++++++++++++++ docs/acceptance/macOS-node22.json | 1363 ++++++++++++++++++++++++++++ 5 files changed, 4342 insertions(+) create mode 100644 .forgejo/workflows/acceptance.yml create mode 100644 docs/acceptance.md create mode 100644 docs/acceptance/macOS-bun.json create mode 100644 docs/acceptance/macOS-node20.json create mode 100644 docs/acceptance/macOS-node22.json diff --git a/.forgejo/workflows/acceptance.yml b/.forgejo/workflows/acceptance.yml new file mode 100644 index 0000000..92ed43a --- /dev/null +++ b/.forgejo/workflows/acceptance.yml @@ -0,0 +1,107 @@ +# The release acceptance matrix on demand (the same jobs as release.yml's acceptance + acceptance-report, which gate +# every release): every user-facing command from the packed npm tarball on Linux and Windows x Node 20 / Node 22 / Bun, +# then the markdown matrix (artifact storebound-acceptance). Run it from Actions > acceptance > Run workflow, or with +# the API (POST /repos/{owner}/{repo}/actions/workflows/acceptance.yml/dispatches). macOS: tools/acceptance.ts on the Mac. +name: acceptance + +on: + workflow_dispatch: + +env: + BUN_VERSION: '1.4.0' + +jobs: + acceptance: + strategy: + fail-fast: false + matrix: + include: + - { os: ubuntu-22.04, platform: Linux, runtime: node, node: '20', name: node20 } + - { os: ubuntu-22.04, platform: Linux, runtime: node, node: '22', name: node22 } + - { os: ubuntu-22.04, platform: Linux, runtime: bun, node: '22', name: bun } + - { os: windows, platform: Windows, runtime: node, node: '20', name: node20 } + - { os: windows, platform: Windows, runtime: node, node: '22', name: node22 } + - { os: windows, platform: Windows, runtime: bun, node: '22', name: bun } + runs-on: ${{ matrix.os }} + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + - name: Bun (Linux) + if: ${{ matrix.platform == 'Linux' }} + shell: bash + run: | + curl -fsSL https://bun.sh/install | bash -s "bun-v${BUN_VERSION}" >/dev/null + echo "$HOME/.bun/bin" >> "${FORGEJO_PATH:-$GITHUB_PATH}" + - name: Acceptance matrix (Linux) + if: ${{ matrix.platform == 'Linux' }} + shell: bash + run: | + node --version && bun --version + bun tools/acceptance.ts run --runtime ${{ matrix.runtime }} --platform Linux --jobs 4 --out acceptance/Linux-${{ matrix.name }}.json + - name: Acceptance matrix (Windows) + if: ${{ matrix.platform == 'Windows' }} + shell: pwsh + run: | + node --version; bun --version + bun tools/acceptance.ts run --runtime ${{ matrix.runtime }} --platform Windows --jobs 3 --out acceptance/Windows-${{ matrix.name }}.json + if ($LASTEXITCODE -ne 0) { throw "acceptance matrix: red cells" } + - uses: actions/upload-artifact@v3 + if: ${{ always() }} + with: + name: acceptance-${{ matrix.platform }}-${{ matrix.name }} + path: acceptance/ + retention-days: 30 + + acceptance-report: + needs: [acceptance] + if: ${{ always() }} + runs-on: ubuntu-22.04 + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v3 + continue-on-error: true + with: + name: acceptance-Linux-node20 + path: acceptance-runs/Linux-node20 + - uses: actions/download-artifact@v3 + continue-on-error: true + with: + name: acceptance-Linux-node22 + path: acceptance-runs/Linux-node22 + - uses: actions/download-artifact@v3 + continue-on-error: true + with: + name: acceptance-Linux-bun + path: acceptance-runs/Linux-bun + - uses: actions/download-artifact@v3 + continue-on-error: true + with: + name: acceptance-Windows-node20 + path: acceptance-runs/Windows-node20 + - uses: actions/download-artifact@v3 + continue-on-error: true + with: + name: acceptance-Windows-node22 + path: acceptance-runs/Windows-node22 + - uses: actions/download-artifact@v3 + continue-on-error: true + with: + name: acceptance-Windows-bun + path: acceptance-runs/Windows-bun + - name: Matrix (markdown), red cells fail the job + run: | + curl -fsSL https://bun.sh/install | bash -s "bun-v${BUN_VERSION}" >/dev/null + export PATH="$HOME/.bun/bin:$PATH" + V=$(bun tools/desktop-version.ts --print) + mkdir -p out + bun tools/acceptance.ts report acceptance-runs docs/acceptance --md "out/storebound_${V}_acceptance.md" --expect 7 --strict + - uses: actions/upload-artifact@v3 + if: ${{ always() }} + with: + name: storebound-acceptance + path: out/ + retention-days: 30 diff --git a/docs/acceptance.md b/docs/acceptance.md new file mode 100644 index 0000000..d73fb93 --- /dev/null +++ b/docs/acceptance.md @@ -0,0 +1,145 @@ +# Release acceptance matrix + + + +storebound 0.8.3: every user-facing command run from the packed npm tarball, in a fresh temp folder with piped stdin and the fake stores (tools/acceptance.ts). ✓ = expected exit code and no crash text; ✗ = the first error. + +**369 / 369 cells passed.** + +- macOS · node 20: node v20.19.5 (npx --package=), 123/123, 2026-10-14 00:37 UTC +- macOS · node 22: node v22.19.0 (npx --package=), 123/123, 2026-10-14 00:37 UTC +- macOS · bun: bun 1.4.3 (bun add , bun x --bun storebound), 123/123, 2026-10-14 00:37 UTC + +| command | macOS · node 20 | macOS · node 22 | macOS · bun | +|---|---|---|---| +| **basics** | | | | +| --version
`storebound --version` | ✓ | ✓ | ✓ | +| help
`storebound help` | ✓ | ✓ | ✓ | +| unknown command
`storebound nope` | ✓ | ✓ | ✓ | +| init --profile app
`storebound init --profile app` | ✓ | ✓ | ✓ | +| init --profile game
`storebound init --profile game` | ✓ | ✓ | ✓ | +| init --profile subscription-app
`storebound init --profile subscription-app` | ✓ | ✓ | ✓ | +| init --dry
`storebound init --dry` | ✓ | ✓ | ✓ | +| check (fresh init: template problems)
`storebound check` | ✓ | ✓ | ✓ | +| check (no config)
`storebound check` | ✓ | ✓ | ✓ | +| **scan** | | | | +| scan capacitor
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan flutter
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan react-native
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan expo
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan unity
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan ios-native
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan android
`storebound scan --json` | ✓ | ✓ | ✓ | +| scan capacitor (text)
`storebound scan` | ✓ | ✓ | ✓ | +| scan flutter (text)
`storebound scan` | ✓ | ✓ | ✓ | +| scan react-native (text)
`storebound scan` | ✓ | ✓ | ✓ | +| scan expo (text)
`storebound scan` | ✓ | ✓ | ✓ | +| scan unity (text)
`storebound scan` | ✓ | ✓ | ✓ | +| scan ios-native (text)
`storebound scan` | ✓ | ✓ | ✓ | +| scan android (text)
`storebound scan` | ✓ | ✓ | ✓ | +| **local** | | | | +| inspect --json
`storebound inspect --json` | ✓ | ✓ | ✓ | +| doctor
`storebound doctor` | ✓ | ✓ | ✓ | +| doctor --json
`storebound doctor --json` | ✓ | ✓ | ✓ | +| accounts list
`storebound accounts list` | ✓ | ✓ | ✓ | +| accounts list --json
`storebound accounts list --json` | ✓ | ✓ | ✓ | +| apps folders
`storebound apps folders` | ✓ | ✓ | ✓ | +| **desktop** | | | | +| desktop --dry
`storebound desktop --dry` | ✓ | ✓ | ✓ | +| desktop --dry (no app installed)
`storebound desktop --dry` | ✓ | ✓ | ✓ | +| desktop --json
`storebound desktop --json` | ✓ | ✓ | ✓ | +| desktop [Y/n] answered n
`storebound desktop` | ✓ | ✓ | ✓ | +| desktop [Y/n] stdin closed (EOF)
`storebound desktop` | ✓ | ✓ | ✓ | +| desktop (not a terminal)
`storebound desktop` | ✓ | ✓ | ✓ | +| desktop --download (temp HOME, deleted after)
`storebound desktop --download` | ✓ | ✓ | ✓ | +| **mcp** | | | | +| mcp initialize + tools/list + tools/call check
`storebound mcp` | ✓ | ✓ | ✓ | +| **console** | | | | +| console plan (list)
`storebound console plan` | ✓ | ✓ | ✓ | +| console plan apple-app-record
`storebound console plan apple-app-record --json` | ✓ | ✓ | ✓ | +| console plan apple-age-rating
`storebound console plan apple-age-rating --json` | ✓ | ✓ | ✓ | +| console plan apple-app-privacy
`storebound console plan apple-app-privacy --json` | ✓ | ✓ | ✓ | +| console plan play-app-record
`storebound console plan play-app-record --json` | ✓ | ✓ | ✓ | +| console plan play-content-rating
`storebound console plan play-content-rating --json` | ✓ | ✓ | ✓ | +| console plan play-target-audience
`storebound console plan play-target-audience --json` | ✓ | ✓ | ✓ | +| console plan play-store-settings
`storebound console plan play-store-settings --json` | ✓ | ✓ | ✓ | +| console plan play-app-content
`storebound console plan play-app-content --json` | ✓ | ✓ | ✓ | +| console plan play-privacy-policy
`storebound console plan play-privacy-policy --json` | ✓ | ✓ | ✓ | +| console plan play-ads
`storebound console plan play-ads --json` | ✓ | ✓ | ✓ | +| console plan play-sign-in-details
`storebound console plan play-sign-in-details --json` | ✓ | ✓ | ✓ | +| console plan play-advertising-id
`storebound console plan play-advertising-id --json` | ✓ | ✓ | ✓ | +| console plan play-government-apps
`storebound console plan play-government-apps --json` | ✓ | ✓ | ✓ | +| console plan play-financial-features
`storebound console plan play-financial-features --json` | ✓ | ✓ | ✓ | +| console plan play-health-apps
`storebound console plan play-health-apps --json` | ✓ | ✓ | ✓ | +| console plan play-production-countries
`storebound console plan play-production-countries --json` | ✓ | ✓ | ✓ | +| console plan play-production-release
`storebound console plan play-production-release --json` | ✓ | ✓ | ✓ | +| **store --dry** | | | | +| play listing --dry
`storebound play listing --dry` | ✓ | ✓ | ✓ | +| apple listing --dry
`storebound apple listing --version 1.0.0 --dry` | ✓ | ✓ | ✓ | +| play images --dry
`storebound play images --dry` | ✓ | ✓ | ✓ | +| apple screenshots --dry
`storebound apple screenshots --dry` | ✓ | ✓ | ✓ | +| apple previews --dry
`storebound apple previews --dry` | ✓ | ✓ | ✓ | +| play products --dry
`storebound play products --dry` | ✓ | ✓ | ✓ | +| play subscriptions --dry
`storebound play subscriptions --dry` | ✓ | ✓ | ✓ | +| apple iap --dry
`storebound apple iap --dry` | ✓ | ✓ | ✓ | +| apple subscriptions --dry
`storebound apple subscriptions --dry` | ✓ | ✓ | ✓ | +| apple iap-review --dry
`storebound apple iap-review --dry` | ✓ | ✓ | ✓ | +| apple iap-submit --dry
`storebound apple iap-submit --dry` | ✓ | ✓ | ✓ | +| prices export --dry
`storebound prices export --dry` | ✓ | ✓ | ✓ | +| prices import --dry
`storebound prices import --csv store/prices.csv --dry` | ✓ | ✓ | ✓ | +| prices ppp --dry
`storebound prices ppp --base 4.99 --dry` | ✓ | ✓ | ✓ | +| play data-safety --dry
`storebound play data-safety --dry` | ✓ | ✓ | ✓ | +| apple testflight status
`storebound apple testflight status` | ✓ | ✓ | ✓ | +| apple testflight distribute --dry
`storebound apple testflight distribute --build 1 --group Beta --dry` | ✓ | ✓ | ✓ | +| release plan 1.0.0
`storebound release plan 1.0.0` | ✓ | ✓ | ✓ | +| release status
`storebound release status` | ✓ | ✓ | ✓ | +| apple submit --dry
`storebound apple submit --build 1 --dry` | ✓ | ✓ | ✓ | +| apple resubmit --dry
`storebound apple resubmit --build 1 --dry` | ✓ | ✓ | ✓ | +| play release --dry
`storebound play release app-release.aab --internal completed --dry` | ✓ | ✓ | ✓ | +| play upload --dry
`storebound play upload app-release.aab --dry` | ✓ | ✓ | ✓ | +| play share --dry
`storebound play share --aab app-release.aab --dry` | ✓ | ✓ | ✓ | +| play rollout --dry
`storebound play rollout --fraction 0.2 --dry` | ✓ | ✓ | ✓ | +| art pull --dry
`storebound art pull --dry` | ✓ | ✓ | ✓ | +| apple appinfo --dry
`storebound apple appinfo --dry` | ✓ | ✓ | ✓ | +| apple review-details --dry
`storebound apple review-details --dry` | ✓ | ✓ | ✓ | +| apple bundle --dry
`storebound apple bundle --dry` | ✓ | ✓ | ✓ | +| apple encryption --dry
`storebound apple encryption --dry` | ✓ | ✓ | ✓ | +| apple offer-codes --dry (none configured)
`storebound apple offer-codes --dry` | ✓ | ✓ | ✓ | +| apple promoted --dry
`storebound apple promoted --dry` | ✓ | ✓ | ✓ | +| apple win-back --dry (none configured)
`storebound apple win-back --dry` | ✓ | ✓ | ✓ | +| apple cpp create --dry
`storebound apple cpp create --dry` | ✓ | ✓ | ✓ | +| apple events create --dry
`storebound apple events create --dry` | ✓ | ✓ | ✓ | +| apple ppo create --dry
`storebound apple ppo create --variant b --dry` | ✓ | ✓ | ✓ | +| apple preorder enable --dry
`storebound apple preorder enable --release-date 2027-01-15 --dry` | ✓ | ✓ | ✓ | +| apple release --phased on --dry
`storebound apple release --phased on --dry` | ✓ | ✓ | ✓ | +| apple signing ensure --dry
`storebound apple signing ensure --dry` | ✓ | ✓ | ✓ | +| analytics setup --dry
`storebound analytics setup --dry` | ✓ | ✓ | ✓ | +| onboard --dry
`storebound onboard --dry --no-web` | ✓ | ✓ | ✓ | +| catalog diff
`storebound catalog diff` | ✓ | ✓ | ✓ | +| validate
`storebound validate` | ✓ | ✓ | ✓ | +| play status
`storebound play status` | ✓ | ✓ | ✓ | +| apple status
`storebound apple status` | ✓ | ✓ | ✓ | +| apps list
`storebound apps list` | ✓ | ✓ | ✓ | +| apps check
`storebound apps check` | ✓ | ✓ | ✓ | +| icons --dry
`storebound icons --dry` | ✓ | ✓ | ✓ | +| web init --dry
`storebound web init --dry` | ✓ | ✓ | ✓ | +| whats-new --dry
`storebound whats-new --dry` | ✓ | ✓ | ✓ | +| listing translate --dry
`storebound listing translate --to tr --dry` | ✓ | ✓ | ✓ | +| install --agent claude --dry
`storebound install --agent claude --dry` | ✓ | ✓ | ✓ | +| edit --dry
`storebound edit --ops '[{"op":"set","path":"app.name","value":"Example Two"}]' --dry` | ✓ | ✓ | ✓ | +| flow run release --dry
`storebound flow run release --dry` | ✓ | ✓ | ✓ | +| health --weekly --dry
`storebound health --weekly --dry` | ✓ | ✓ | ✓ | +| triage --dry
`storebound triage --dry` | ✓ | ✓ | ✓ | +| **confirm n** | | | | +| play listing [y/N] n
`storebound play listing` | ✓ | ✓ | ✓ | +| play listing [y/N] EOF
`storebound play listing` | ✓ | ✓ | ✓ | +| play listing (not a terminal: applies)
`storebound play listing` | ✓ | ✓ | ✓ | +| apple listing [y/N] n
`storebound apple listing --version 1.0.0` | ✓ | ✓ | ✓ | +| apple appinfo [y/N] n
`storebound apple appinfo` | ✓ | ✓ | ✓ | +| apple subscriptions [y/N] n
`storebound apple subscriptions` | ✓ | ✓ | ✓ | +| play products (creates without a question)
`storebound play products` | ✓ | ✓ | ✓ | +| play subscriptions [y/N] n
`storebound play subscriptions` | ✓ | ✓ | ✓ | +| play release --production completed [y/N] n
`storebound play release app-release.aab --production completed` | ✓ | ✓ | ✓ | +| play rollout [y/N] n
`storebound play rollout --fraction 0.2` | ✓ | ✓ | ✓ | +| apple release --phased on (version not released yet)
`storebound apple release --phased on` | ✓ | ✓ | ✓ | +| api apple POST without a terminal (dry)
`storebound api apple bundleIds_createInstance --body store/bundle.json --yes` | ✓ | ✓ | ✓ | diff --git a/docs/acceptance/macOS-bun.json b/docs/acceptance/macOS-bun.json new file mode 100644 index 0000000..9b113e6 --- /dev/null +++ b/docs/acceptance/macOS-bun.json @@ -0,0 +1,1363 @@ +{ + "platform": "macOS", + "runtime": "bun", + "label": "bun 1.4.3 (bun add , bun x --bun storebound)", + "version": "0.8.3", + "quick": false, + "at": "2026-10-14T00:37:59.691Z", + "results": [ + { + "id": "--version", + "group": "basics", + "cmd": "storebound --version", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 286 + }, + { + "id": "help", + "group": "basics", + "cmd": "storebound help", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 133 + }, + { + "id": "unknown command", + "group": "basics", + "cmd": "storebound nope", + "platform": "macOS", + "runtime": "bun", + "want": "2", + "ok": true, + "exit": 2, + "ms": 132 + }, + { + "id": "init --profile app", + "group": "basics", + "cmd": "storebound init --profile app", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 152 + }, + { + "id": "init --profile game", + "group": "basics", + "cmd": "storebound init --profile game", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 160 + }, + { + "id": "init --profile subscription-app", + "group": "basics", + "cmd": "storebound init --profile subscription-app", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 150 + }, + { + "id": "init --dry", + "group": "basics", + "cmd": "storebound init --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 124 + }, + { + "id": "check (fresh init: template problems)", + "group": "basics", + "cmd": "storebound check", + "platform": "macOS", + "runtime": "bun", + "want": "1", + "ok": true, + "exit": 1, + "ms": 139 + }, + { + "id": "check (no config)", + "group": "basics", + "cmd": "storebound check", + "platform": "macOS", + "runtime": "bun", + "want": "1", + "ok": true, + "exit": 1, + "ms": 111 + }, + { + "id": "scan capacitor", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 124 + }, + { + "id": "scan flutter", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 120 + }, + { + "id": "scan react-native", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 117 + }, + { + "id": "scan expo", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 112 + }, + { + "id": "scan unity", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 122 + }, + { + "id": "scan ios-native", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 118 + }, + { + "id": "scan android", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 128 + }, + { + "id": "scan capacitor (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 127 + }, + { + "id": "scan flutter (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 127 + }, + { + "id": "scan react-native (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 115 + }, + { + "id": "scan expo (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 110 + }, + { + "id": "scan unity (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 120 + }, + { + "id": "scan ios-native (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 140 + }, + { + "id": "scan android (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 137 + }, + { + "id": "inspect --json", + "group": "local", + "cmd": "storebound inspect --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 123 + }, + { + "id": "doctor", + "group": "local", + "cmd": "storebound doctor", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 798 + }, + { + "id": "doctor --json", + "group": "local", + "cmd": "storebound doctor --json", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 688 + }, + { + "id": "accounts list", + "group": "local", + "cmd": "storebound accounts list", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 101 + }, + { + "id": "accounts list --json", + "group": "local", + "cmd": "storebound accounts list --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 98 + }, + { + "id": "apps folders", + "group": "local", + "cmd": "storebound apps folders", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 97 + }, + { + "id": "desktop --dry", + "group": "desktop", + "cmd": "storebound desktop --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 1038 + }, + { + "id": "desktop --dry (no app installed)", + "group": "desktop", + "cmd": "storebound desktop --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 979 + }, + { + "id": "desktop --json", + "group": "desktop", + "cmd": "storebound desktop --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 971 + }, + { + "id": "desktop [Y/n] answered n", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 680 + }, + { + "id": "desktop [Y/n] stdin closed (EOF)", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 943 + }, + { + "id": "desktop (not a terminal)", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 1030 + }, + { + "id": "desktop --download (temp HOME, deleted after)", + "group": "desktop", + "cmd": "storebound desktop --download", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 20693 + }, + { + "id": "mcp initialize + tools/list + tools/call check", + "group": "mcp", + "cmd": "storebound mcp", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 178 + }, + { + "id": "console plan (list)", + "group": "console", + "cmd": "storebound console plan", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 96 + }, + { + "id": "console plan apple-app-record", + "group": "console", + "cmd": "storebound console plan apple-app-record --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 95 + }, + { + "id": "console plan apple-age-rating", + "group": "console", + "cmd": "storebound console plan apple-age-rating --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 96 + }, + { + "id": "console plan apple-app-privacy", + "group": "console", + "cmd": "storebound console plan apple-app-privacy --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 94 + }, + { + "id": "console plan play-app-record", + "group": "console", + "cmd": "storebound console plan play-app-record --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 95 + }, + { + "id": "console plan play-content-rating", + "group": "console", + "cmd": "storebound console plan play-content-rating --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 99 + }, + { + "id": "console plan play-target-audience", + "group": "console", + "cmd": "storebound console plan play-target-audience --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 104 + }, + { + "id": "console plan play-store-settings", + "group": "console", + "cmd": "storebound console plan play-store-settings --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 103 + }, + { + "id": "console plan play-app-content", + "group": "console", + "cmd": "storebound console plan play-app-content --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 103 + }, + { + "id": "console plan play-privacy-policy", + "group": "console", + "cmd": "storebound console plan play-privacy-policy --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 126 + }, + { + "id": "console plan play-ads", + "group": "console", + "cmd": "storebound console plan play-ads --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 127 + }, + { + "id": "console plan play-sign-in-details", + "group": "console", + "cmd": "storebound console plan play-sign-in-details --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 112 + }, + { + "id": "console plan play-advertising-id", + "group": "console", + "cmd": "storebound console plan play-advertising-id --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 127 + }, + { + "id": "console plan play-government-apps", + "group": "console", + "cmd": "storebound console plan play-government-apps --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 127 + }, + { + "id": "console plan play-financial-features", + "group": "console", + "cmd": "storebound console plan play-financial-features --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 108 + }, + { + "id": "console plan play-health-apps", + "group": "console", + "cmd": "storebound console plan play-health-apps --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 126 + }, + { + "id": "console plan play-production-countries", + "group": "console", + "cmd": "storebound console plan play-production-countries --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 127 + }, + { + "id": "console plan play-production-release", + "group": "console", + "cmd": "storebound console plan play-production-release --json", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 126 + }, + { + "id": "play listing --dry", + "group": "store --dry", + "cmd": "storebound play listing --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 110 + }, + { + "id": "apple listing --dry", + "group": "store --dry", + "cmd": "storebound apple listing --version 1.0.0 --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 127 + }, + { + "id": "play images --dry", + "group": "store --dry", + "cmd": "storebound play images --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 107 + }, + { + "id": "apple screenshots --dry", + "group": "store --dry", + "cmd": "storebound apple screenshots --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 99 + }, + { + "id": "apple previews --dry", + "group": "store --dry", + "cmd": "storebound apple previews --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 109 + }, + { + "id": "play products --dry", + "group": "store --dry", + "cmd": "storebound play products --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 114 + }, + { + "id": "play subscriptions --dry", + "group": "store --dry", + "cmd": "storebound play subscriptions --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 99 + }, + { + "id": "apple iap --dry", + "group": "store --dry", + "cmd": "storebound apple iap --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 104 + }, + { + "id": "apple subscriptions --dry", + "group": "store --dry", + "cmd": "storebound apple subscriptions --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 102 + }, + { + "id": "apple iap-review --dry", + "group": "store --dry", + "cmd": "storebound apple iap-review --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 100 + }, + { + "id": "apple iap-submit --dry", + "group": "store --dry", + "cmd": "storebound apple iap-submit --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 103 + }, + { + "id": "prices export --dry", + "group": "store --dry", + "cmd": "storebound prices export --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 110 + }, + { + "id": "prices import --dry", + "group": "store --dry", + "cmd": "storebound prices import --csv store/prices.csv --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 95 + }, + { + "id": "prices ppp --dry", + "group": "store --dry", + "cmd": "storebound prices ppp --base 4.99 --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 115 + }, + { + "id": "play data-safety --dry", + "group": "store --dry", + "cmd": "storebound play data-safety --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 117 + }, + { + "id": "apple testflight status", + "group": "store --dry", + "cmd": "storebound apple testflight status", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 108 + }, + { + "id": "apple testflight distribute --dry", + "group": "store --dry", + "cmd": "storebound apple testflight distribute --build 1 --group Beta --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 104 + }, + { + "id": "release plan 1.0.0", + "group": "store --dry", + "cmd": "storebound release plan 1.0.0", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 495 + }, + { + "id": "release status", + "group": "store --dry", + "cmd": "storebound release status", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 367 + }, + { + "id": "apple submit --dry", + "group": "store --dry", + "cmd": "storebound apple submit --build 1 --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 119 + }, + { + "id": "apple resubmit --dry", + "group": "store --dry", + "cmd": "storebound apple resubmit --build 1 --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 105 + }, + { + "id": "play release --dry", + "group": "store --dry", + "cmd": "storebound play release app-release.aab --internal completed --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 117 + }, + { + "id": "play upload --dry", + "group": "store --dry", + "cmd": "storebound play upload app-release.aab --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 108 + }, + { + "id": "play share --dry", + "group": "store --dry", + "cmd": "storebound play share --aab app-release.aab --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 101 + }, + { + "id": "play rollout --dry", + "group": "store --dry", + "cmd": "storebound play rollout --fraction 0.2 --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 101 + }, + { + "id": "art pull --dry", + "group": "store --dry", + "cmd": "storebound art pull --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 116 + }, + { + "id": "apple appinfo --dry", + "group": "store --dry", + "cmd": "storebound apple appinfo --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 109 + }, + { + "id": "apple review-details --dry", + "group": "store --dry", + "cmd": "storebound apple review-details --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 106 + }, + { + "id": "apple bundle --dry", + "group": "store --dry", + "cmd": "storebound apple bundle --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 106 + }, + { + "id": "apple encryption --dry", + "group": "store --dry", + "cmd": "storebound apple encryption --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 95 + }, + { + "id": "apple offer-codes --dry (none configured)", + "group": "store --dry", + "cmd": "storebound apple offer-codes --dry", + "platform": "macOS", + "runtime": "bun", + "want": "1", + "ok": true, + "exit": 1, + "ms": 99 + }, + { + "id": "apple promoted --dry", + "group": "store --dry", + "cmd": "storebound apple promoted --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 120 + }, + { + "id": "apple win-back --dry (none configured)", + "group": "store --dry", + "cmd": "storebound apple win-back --dry", + "platform": "macOS", + "runtime": "bun", + "want": "1", + "ok": true, + "exit": 1, + "ms": 104 + }, + { + "id": "apple cpp create --dry", + "group": "store --dry", + "cmd": "storebound apple cpp create --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 99 + }, + { + "id": "apple events create --dry", + "group": "store --dry", + "cmd": "storebound apple events create --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 100 + }, + { + "id": "apple ppo create --dry", + "group": "store --dry", + "cmd": "storebound apple ppo create --variant b --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 101 + }, + { + "id": "apple preorder enable --dry", + "group": "store --dry", + "cmd": "storebound apple preorder enable --release-date 2027-01-15 --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 95 + }, + { + "id": "apple release --phased on --dry", + "group": "store --dry", + "cmd": "storebound apple release --phased on --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 102 + }, + { + "id": "apple signing ensure --dry", + "group": "store --dry", + "cmd": "storebound apple signing ensure --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 117 + }, + { + "id": "analytics setup --dry", + "group": "store --dry", + "cmd": "storebound analytics setup --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 98 + }, + { + "id": "onboard --dry", + "group": "store --dry", + "cmd": "storebound onboard --dry --no-web", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 154 + }, + { + "id": "catalog diff", + "group": "store --dry", + "cmd": "storebound catalog diff", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 122 + }, + { + "id": "validate", + "group": "store --dry", + "cmd": "storebound validate", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 152 + }, + { + "id": "play status", + "group": "store --dry", + "cmd": "storebound play status", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 125 + }, + { + "id": "apple status", + "group": "store --dry", + "cmd": "storebound apple status", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 113 + }, + { + "id": "apps list", + "group": "store --dry", + "cmd": "storebound apps list", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 102 + }, + { + "id": "apps check", + "group": "store --dry", + "cmd": "storebound apps check", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 99 + }, + { + "id": "icons --dry", + "group": "store --dry", + "cmd": "storebound icons --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 104 + }, + { + "id": "web init --dry", + "group": "store --dry", + "cmd": "storebound web init --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 89 + }, + { + "id": "whats-new --dry", + "group": "store --dry", + "cmd": "storebound whats-new --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 115 + }, + { + "id": "listing translate --dry", + "group": "store --dry", + "cmd": "storebound listing translate --to tr --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 100 + }, + { + "id": "install --agent claude --dry", + "group": "store --dry", + "cmd": "storebound install --agent claude --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 97 + }, + { + "id": "edit --dry", + "group": "store --dry", + "cmd": "storebound edit --ops '[{\"op\":\"set\",\"path\":\"app.name\",\"value\":\"Example Two\"}]' --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 110 + }, + { + "id": "flow run release --dry", + "group": "store --dry", + "cmd": "storebound flow run release --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 113 + }, + { + "id": "health --weekly --dry", + "group": "store --dry", + "cmd": "storebound health --weekly --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 113 + }, + { + "id": "triage --dry", + "group": "store --dry", + "cmd": "storebound triage --dry", + "platform": "macOS", + "runtime": "bun", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 107 + }, + { + "id": "play listing [y/N] n", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 113 + }, + { + "id": "play listing [y/N] EOF", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 113 + }, + { + "id": "play listing (not a terminal: applies)", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 112 + }, + { + "id": "apple listing [y/N] n", + "group": "confirm n", + "cmd": "storebound apple listing --version 1.0.0", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 116 + }, + { + "id": "apple appinfo [y/N] n", + "group": "confirm n", + "cmd": "storebound apple appinfo", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 125 + }, + { + "id": "apple subscriptions [y/N] n", + "group": "confirm n", + "cmd": "storebound apple subscriptions", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 107 + }, + { + "id": "play products (creates without a question)", + "group": "confirm n", + "cmd": "storebound play products", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 112 + }, + { + "id": "play subscriptions [y/N] n", + "group": "confirm n", + "cmd": "storebound play subscriptions", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 105 + }, + { + "id": "play release --production completed [y/N] n", + "group": "confirm n", + "cmd": "storebound play release app-release.aab --production completed", + "platform": "macOS", + "runtime": "bun", + "want": "3", + "ok": true, + "exit": 3, + "ms": 107 + }, + { + "id": "play rollout [y/N] n", + "group": "confirm n", + "cmd": "storebound play rollout --fraction 0.2", + "platform": "macOS", + "runtime": "bun", + "want": "1|3", + "ok": true, + "exit": 1, + "ms": 106 + }, + { + "id": "apple release --phased on (version not released yet)", + "group": "confirm n", + "cmd": "storebound apple release --phased on", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 103 + }, + { + "id": "api apple POST without a terminal (dry)", + "group": "confirm n", + "cmd": "storebound api apple bundleIds_createInstance --body store/bundle.json --yes", + "platform": "macOS", + "runtime": "bun", + "want": "0", + "ok": true, + "exit": 0, + "ms": 94 + } + ] +} \ No newline at end of file diff --git a/docs/acceptance/macOS-node20.json b/docs/acceptance/macOS-node20.json new file mode 100644 index 0000000..1f46d32 --- /dev/null +++ b/docs/acceptance/macOS-node20.json @@ -0,0 +1,1364 @@ +{ + "platform": "macOS", + "runtime": "node 20", + "label": "node v20.19.5 (npx --package=)", + "version": "0.8.3", + "quick": false, + "at": "2026-10-14T00:37:19.743Z", + "results": [ + { + "id": "--version", + "group": "basics", + "cmd": "storebound --version", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2439 + }, + { + "id": "help", + "group": "basics", + "cmd": "storebound help", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7256 + }, + { + "id": "unknown command", + "group": "basics", + "cmd": "storebound nope", + "platform": "macOS", + "runtime": "node 20", + "want": "2", + "ok": true, + "exit": 2, + "ms": 7314 + }, + { + "id": "init --profile app", + "group": "basics", + "cmd": "storebound init --profile app", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9935 + }, + { + "id": "init --profile game", + "group": "basics", + "cmd": "storebound init --profile game", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6308 + }, + { + "id": "init --profile subscription-app", + "group": "basics", + "cmd": "storebound init --profile subscription-app", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3466 + }, + { + "id": "init --dry", + "group": "basics", + "cmd": "storebound init --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4247 + }, + { + "id": "check (fresh init: template problems)", + "group": "basics", + "cmd": "storebound check", + "platform": "macOS", + "runtime": "node 20", + "want": "1", + "ok": true, + "exit": 1, + "ms": 4506 + }, + { + "id": "check (no config)", + "group": "basics", + "cmd": "storebound check", + "platform": "macOS", + "runtime": "node 20", + "want": "1", + "ok": true, + "exit": 1, + "ms": 3357 + }, + { + "id": "scan capacitor", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4180 + }, + { + "id": "scan flutter", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5813 + }, + { + "id": "scan react-native", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 6699 + }, + { + "id": "scan expo", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4517 + }, + { + "id": "scan unity", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 6468 + }, + { + "id": "scan ios-native", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5540 + }, + { + "id": "scan android", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4277 + }, + { + "id": "scan capacitor (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3278 + }, + { + "id": "scan flutter (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3756 + }, + { + "id": "scan react-native (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4534 + }, + { + "id": "scan expo (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5640 + }, + { + "id": "scan unity (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5211 + }, + { + "id": "scan ios-native (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4175 + }, + { + "id": "scan android (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3202 + }, + { + "id": "inspect --json", + "group": "local", + "cmd": "storebound inspect --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3455 + }, + { + "id": "doctor", + "group": "local", + "cmd": "storebound doctor", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4131 + }, + { + "id": "doctor --json", + "group": "local", + "cmd": "storebound doctor --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 5683 + }, + { + "id": "accounts list", + "group": "local", + "cmd": "storebound accounts list", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3868 + }, + { + "id": "accounts list --json", + "group": "local", + "cmd": "storebound accounts list --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3576 + }, + { + "id": "apps folders", + "group": "local", + "cmd": "storebound apps folders", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3608 + }, + { + "id": "desktop --dry", + "group": "desktop", + "cmd": "storebound desktop --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5196 + }, + { + "id": "desktop --dry (no app installed)", + "group": "desktop", + "cmd": "storebound desktop --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 8392 + }, + { + "id": "desktop --json", + "group": "desktop", + "cmd": "storebound desktop --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6291 + }, + { + "id": "desktop [Y/n] answered n", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 11287 + }, + { + "id": "desktop [Y/n] stdin closed (EOF)", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 11026 + }, + { + "id": "desktop (not a terminal)", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 13659 + }, + { + "id": "desktop --download (temp HOME, deleted after)", + "group": "desktop", + "cmd": "storebound desktop --download", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 32703 + }, + { + "id": "mcp initialize + tools/list + tools/call check", + "group": "mcp", + "cmd": "storebound mcp", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3384 + }, + { + "id": "console plan (list)", + "group": "console", + "cmd": "storebound console plan", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9899 + }, + { + "id": "console plan apple-app-record", + "group": "console", + "cmd": "storebound console plan apple-app-record --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 10187 + }, + { + "id": "console plan apple-age-rating", + "group": "console", + "cmd": "storebound console plan apple-age-rating --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5844 + }, + { + "id": "console plan apple-app-privacy", + "group": "console", + "cmd": "storebound console plan apple-app-privacy --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4649 + }, + { + "id": "console plan play-app-record", + "group": "console", + "cmd": "storebound console plan play-app-record --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7180 + }, + { + "id": "console plan play-content-rating", + "group": "console", + "cmd": "storebound console plan play-content-rating --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5729 + }, + { + "id": "console plan play-target-audience", + "group": "console", + "cmd": "storebound console plan play-target-audience --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6001 + }, + { + "id": "console plan play-store-settings", + "group": "console", + "cmd": "storebound console plan play-store-settings --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6980 + }, + { + "id": "console plan play-app-content", + "group": "console", + "cmd": "storebound console plan play-app-content --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4039 + }, + { + "id": "console plan play-privacy-policy", + "group": "console", + "cmd": "storebound console plan play-privacy-policy --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3242 + }, + { + "id": "console plan play-ads", + "group": "console", + "cmd": "storebound console plan play-ads --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3991 + }, + { + "id": "console plan play-sign-in-details", + "group": "console", + "cmd": "storebound console plan play-sign-in-details --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5971 + }, + { + "id": "console plan play-advertising-id", + "group": "console", + "cmd": "storebound console plan play-advertising-id --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4858 + }, + { + "id": "console plan play-government-apps", + "group": "console", + "cmd": "storebound console plan play-government-apps --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7468 + }, + { + "id": "console plan play-financial-features", + "group": "console", + "cmd": "storebound console plan play-financial-features --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4842 + }, + { + "id": "console plan play-health-apps", + "group": "console", + "cmd": "storebound console plan play-health-apps --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 11808 + }, + { + "id": "console plan play-production-countries", + "group": "console", + "cmd": "storebound console plan play-production-countries --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7008 + }, + { + "id": "console plan play-production-release", + "group": "console", + "cmd": "storebound console plan play-production-release --json", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6817 + }, + { + "id": "play listing --dry", + "group": "store --dry", + "cmd": "storebound play listing --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 8970 + }, + { + "id": "apple listing --dry", + "group": "store --dry", + "cmd": "storebound apple listing --version 1.0.0 --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6207 + }, + { + "id": "play images --dry", + "group": "store --dry", + "cmd": "storebound play images --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 7576 + }, + { + "id": "apple screenshots --dry", + "group": "store --dry", + "cmd": "storebound apple screenshots --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4903 + }, + { + "id": "apple previews --dry", + "group": "store --dry", + "cmd": "storebound apple previews --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 10878 + }, + { + "id": "play products --dry", + "group": "store --dry", + "cmd": "storebound play products --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5263 + }, + { + "id": "play subscriptions --dry", + "group": "store --dry", + "cmd": "storebound play subscriptions --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5136 + }, + { + "id": "apple iap --dry", + "group": "store --dry", + "cmd": "storebound apple iap --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4693 + }, + { + "id": "apple subscriptions --dry", + "group": "store --dry", + "cmd": "storebound apple subscriptions --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3881 + }, + { + "id": "apple iap-review --dry", + "group": "store --dry", + "cmd": "storebound apple iap-review --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5172 + }, + { + "id": "apple iap-submit --dry", + "group": "store --dry", + "cmd": "storebound apple iap-submit --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4472 + }, + { + "id": "prices export --dry", + "group": "store --dry", + "cmd": "storebound prices export --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6471 + }, + { + "id": "prices import --dry", + "group": "store --dry", + "cmd": "storebound prices import --csv store/prices.csv --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 5284 + }, + { + "id": "prices ppp --dry", + "group": "store --dry", + "cmd": "storebound prices ppp --base 4.99 --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 5540 + }, + { + "id": "play data-safety --dry", + "group": "store --dry", + "cmd": "storebound play data-safety --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6530 + }, + { + "id": "apple testflight status", + "group": "store --dry", + "cmd": "storebound apple testflight status", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4224 + }, + { + "id": "apple testflight distribute --dry", + "group": "store --dry", + "cmd": "storebound apple testflight distribute --build 1 --group Beta --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4317 + }, + { + "id": "release plan 1.0.0", + "group": "store --dry", + "cmd": "storebound release plan 1.0.0", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 7892, + "note": "unmocked: GET play.google.com/store/apps/details" + }, + { + "id": "release status", + "group": "store --dry", + "cmd": "storebound release status", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 12577 + }, + { + "id": "apple submit --dry", + "group": "store --dry", + "cmd": "storebound apple submit --build 1 --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 16905 + }, + { + "id": "apple resubmit --dry", + "group": "store --dry", + "cmd": "storebound apple resubmit --build 1 --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 20426 + }, + { + "id": "play release --dry", + "group": "store --dry", + "cmd": "storebound play release app-release.aab --internal completed --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3034 + }, + { + "id": "play upload --dry", + "group": "store --dry", + "cmd": "storebound play upload app-release.aab --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5334 + }, + { + "id": "play share --dry", + "group": "store --dry", + "cmd": "storebound play share --aab app-release.aab --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4758 + }, + { + "id": "play rollout --dry", + "group": "store --dry", + "cmd": "storebound play rollout --fraction 0.2 --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3646 + }, + { + "id": "art pull --dry", + "group": "store --dry", + "cmd": "storebound art pull --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9724 + }, + { + "id": "apple appinfo --dry", + "group": "store --dry", + "cmd": "storebound apple appinfo --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 8094 + }, + { + "id": "apple review-details --dry", + "group": "store --dry", + "cmd": "storebound apple review-details --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5672 + }, + { + "id": "apple bundle --dry", + "group": "store --dry", + "cmd": "storebound apple bundle --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 33235 + }, + { + "id": "apple encryption --dry", + "group": "store --dry", + "cmd": "storebound apple encryption --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 31752 + }, + { + "id": "apple offer-codes --dry (none configured)", + "group": "store --dry", + "cmd": "storebound apple offer-codes --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "1", + "ok": true, + "exit": 1, + "ms": 11921 + }, + { + "id": "apple promoted --dry", + "group": "store --dry", + "cmd": "storebound apple promoted --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6685 + }, + { + "id": "apple win-back --dry (none configured)", + "group": "store --dry", + "cmd": "storebound apple win-back --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "1", + "ok": true, + "exit": 1, + "ms": 21654 + }, + { + "id": "apple cpp create --dry", + "group": "store --dry", + "cmd": "storebound apple cpp create --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2870 + }, + { + "id": "apple events create --dry", + "group": "store --dry", + "cmd": "storebound apple events create --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2282 + }, + { + "id": "apple ppo create --dry", + "group": "store --dry", + "cmd": "storebound apple ppo create --variant b --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 2566 + }, + { + "id": "apple preorder enable --dry", + "group": "store --dry", + "cmd": "storebound apple preorder enable --release-date 2027-01-15 --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 2259 + }, + { + "id": "apple release --phased on --dry", + "group": "store --dry", + "cmd": "storebound apple release --phased on --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 2405 + }, + { + "id": "apple signing ensure --dry", + "group": "store --dry", + "cmd": "storebound apple signing ensure --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4065 + }, + { + "id": "analytics setup --dry", + "group": "store --dry", + "cmd": "storebound analytics setup --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3219 + }, + { + "id": "onboard --dry", + "group": "store --dry", + "cmd": "storebound onboard --dry --no-web", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 9595 + }, + { + "id": "catalog diff", + "group": "store --dry", + "cmd": "storebound catalog diff", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 6656 + }, + { + "id": "validate", + "group": "store --dry", + "cmd": "storebound validate", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 9692 + }, + { + "id": "play status", + "group": "store --dry", + "cmd": "storebound play status", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3638 + }, + { + "id": "apple status", + "group": "store --dry", + "cmd": "storebound apple status", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3009 + }, + { + "id": "apps list", + "group": "store --dry", + "cmd": "storebound apps list", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4390 + }, + { + "id": "apps check", + "group": "store --dry", + "cmd": "storebound apps check", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5143 + }, + { + "id": "icons --dry", + "group": "store --dry", + "cmd": "storebound icons --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 6231 + }, + { + "id": "web init --dry", + "group": "store --dry", + "cmd": "storebound web init --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5351 + }, + { + "id": "whats-new --dry", + "group": "store --dry", + "cmd": "storebound whats-new --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4197 + }, + { + "id": "listing translate --dry", + "group": "store --dry", + "cmd": "storebound listing translate --to tr --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 3715 + }, + { + "id": "install --agent claude --dry", + "group": "store --dry", + "cmd": "storebound install --agent claude --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5811 + }, + { + "id": "edit --dry", + "group": "store --dry", + "cmd": "storebound edit --ops '[{\"op\":\"set\",\"path\":\"app.name\",\"value\":\"Example Two\"}]' --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 10804 + }, + { + "id": "flow run release --dry", + "group": "store --dry", + "cmd": "storebound flow run release --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4554 + }, + { + "id": "health --weekly --dry", + "group": "store --dry", + "cmd": "storebound health --weekly --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 7000 + }, + { + "id": "triage --dry", + "group": "store --dry", + "cmd": "storebound triage --dry", + "platform": "macOS", + "runtime": "node 20", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 7803 + }, + { + "id": "play listing [y/N] n", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 5259 + }, + { + "id": "play listing [y/N] EOF", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 6904 + }, + { + "id": "play listing (not a terminal: applies)", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5961 + }, + { + "id": "apple listing [y/N] n", + "group": "confirm n", + "cmd": "storebound apple listing --version 1.0.0", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 8238 + }, + { + "id": "apple appinfo [y/N] n", + "group": "confirm n", + "cmd": "storebound apple appinfo", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 5738 + }, + { + "id": "apple subscriptions [y/N] n", + "group": "confirm n", + "cmd": "storebound apple subscriptions", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 4250 + }, + { + "id": "play products (creates without a question)", + "group": "confirm n", + "cmd": "storebound play products", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3906 + }, + { + "id": "play subscriptions [y/N] n", + "group": "confirm n", + "cmd": "storebound play subscriptions", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 7307 + }, + { + "id": "play release --production completed [y/N] n", + "group": "confirm n", + "cmd": "storebound play release app-release.aab --production completed", + "platform": "macOS", + "runtime": "node 20", + "want": "3", + "ok": true, + "exit": 3, + "ms": 7093 + }, + { + "id": "play rollout [y/N] n", + "group": "confirm n", + "cmd": "storebound play rollout --fraction 0.2", + "platform": "macOS", + "runtime": "node 20", + "want": "1|3", + "ok": true, + "exit": 1, + "ms": 5459 + }, + { + "id": "apple release --phased on (version not released yet)", + "group": "confirm n", + "cmd": "storebound apple release --phased on", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6480 + }, + { + "id": "api apple POST without a terminal (dry)", + "group": "confirm n", + "cmd": "storebound api apple bundleIds_createInstance --body store/bundle.json --yes", + "platform": "macOS", + "runtime": "node 20", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3372 + } + ] +} \ No newline at end of file diff --git a/docs/acceptance/macOS-node22.json b/docs/acceptance/macOS-node22.json new file mode 100644 index 0000000..4e24fc2 --- /dev/null +++ b/docs/acceptance/macOS-node22.json @@ -0,0 +1,1363 @@ +{ + "platform": "macOS", + "runtime": "node 22", + "label": "node v22.19.0 (npx --package=)", + "version": "0.8.3", + "quick": false, + "at": "2026-10-14T00:37:36.225Z", + "results": [ + { + "id": "--version", + "group": "basics", + "cmd": "storebound --version", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2387 + }, + { + "id": "help", + "group": "basics", + "cmd": "storebound help", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9463 + }, + { + "id": "unknown command", + "group": "basics", + "cmd": "storebound nope", + "platform": "macOS", + "runtime": "node 22", + "want": "2", + "ok": true, + "exit": 2, + "ms": 10229 + }, + { + "id": "init --profile app", + "group": "basics", + "cmd": "storebound init --profile app", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6974 + }, + { + "id": "init --profile game", + "group": "basics", + "cmd": "storebound init --profile game", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 10675 + }, + { + "id": "init --profile subscription-app", + "group": "basics", + "cmd": "storebound init --profile subscription-app", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9991 + }, + { + "id": "init --dry", + "group": "basics", + "cmd": "storebound init --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7452 + }, + { + "id": "check (fresh init: template problems)", + "group": "basics", + "cmd": "storebound check", + "platform": "macOS", + "runtime": "node 22", + "want": "1", + "ok": true, + "exit": 1, + "ms": 9539 + }, + { + "id": "check (no config)", + "group": "basics", + "cmd": "storebound check", + "platform": "macOS", + "runtime": "node 22", + "want": "1", + "ok": true, + "exit": 1, + "ms": 7373 + }, + { + "id": "scan capacitor", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 2784 + }, + { + "id": "scan flutter", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3746 + }, + { + "id": "scan react-native", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4211 + }, + { + "id": "scan expo", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3377 + }, + { + "id": "scan unity", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3738 + }, + { + "id": "scan ios-native", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3731 + }, + { + "id": "scan android", + "group": "scan", + "cmd": "storebound scan --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3636 + }, + { + "id": "scan capacitor (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4307 + }, + { + "id": "scan flutter (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3948 + }, + { + "id": "scan react-native (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4216 + }, + { + "id": "scan expo (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3032 + }, + { + "id": "scan unity (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 2927 + }, + { + "id": "scan ios-native (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3989 + }, + { + "id": "scan android (text)", + "group": "scan", + "cmd": "storebound scan", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4870 + }, + { + "id": "inspect --json", + "group": "local", + "cmd": "storebound inspect --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3855 + }, + { + "id": "doctor", + "group": "local", + "cmd": "storebound doctor", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4046 + }, + { + "id": "doctor --json", + "group": "local", + "cmd": "storebound doctor --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4001 + }, + { + "id": "accounts list", + "group": "local", + "cmd": "storebound accounts list", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2910 + }, + { + "id": "accounts list --json", + "group": "local", + "cmd": "storebound accounts list --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3516 + }, + { + "id": "apps folders", + "group": "local", + "cmd": "storebound apps folders", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5145 + }, + { + "id": "desktop --dry", + "group": "desktop", + "cmd": "storebound desktop --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5573 + }, + { + "id": "desktop --dry (no app installed)", + "group": "desktop", + "cmd": "storebound desktop --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 10264 + }, + { + "id": "desktop --json", + "group": "desktop", + "cmd": "storebound desktop --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9250 + }, + { + "id": "desktop [Y/n] answered n", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 9936 + }, + { + "id": "desktop [Y/n] stdin closed (EOF)", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 8102 + }, + { + "id": "desktop (not a terminal)", + "group": "desktop", + "cmd": "storebound desktop", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 5562 + }, + { + "id": "desktop --download (temp HOME, deleted after)", + "group": "desktop", + "cmd": "storebound desktop --download", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 124845 + }, + { + "id": "mcp initialize + tools/list + tools/call check", + "group": "mcp", + "cmd": "storebound mcp", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9017 + }, + { + "id": "console plan (list)", + "group": "console", + "cmd": "storebound console plan", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 12927 + }, + { + "id": "console plan apple-app-record", + "group": "console", + "cmd": "storebound console plan apple-app-record --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7954 + }, + { + "id": "console plan apple-age-rating", + "group": "console", + "cmd": "storebound console plan apple-age-rating --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4436 + }, + { + "id": "console plan apple-app-privacy", + "group": "console", + "cmd": "storebound console plan apple-app-privacy --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6520 + }, + { + "id": "console plan play-app-record", + "group": "console", + "cmd": "storebound console plan play-app-record --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9750 + }, + { + "id": "console plan play-content-rating", + "group": "console", + "cmd": "storebound console plan play-content-rating --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 11308 + }, + { + "id": "console plan play-target-audience", + "group": "console", + "cmd": "storebound console plan play-target-audience --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4750 + }, + { + "id": "console plan play-store-settings", + "group": "console", + "cmd": "storebound console plan play-store-settings --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3994 + }, + { + "id": "console plan play-app-content", + "group": "console", + "cmd": "storebound console plan play-app-content --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6268 + }, + { + "id": "console plan play-privacy-policy", + "group": "console", + "cmd": "storebound console plan play-privacy-policy --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6454 + }, + { + "id": "console plan play-ads", + "group": "console", + "cmd": "storebound console plan play-ads --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9457 + }, + { + "id": "console plan play-sign-in-details", + "group": "console", + "cmd": "storebound console plan play-sign-in-details --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 8716 + }, + { + "id": "console plan play-advertising-id", + "group": "console", + "cmd": "storebound console plan play-advertising-id --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5940 + }, + { + "id": "console plan play-government-apps", + "group": "console", + "cmd": "storebound console plan play-government-apps --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4372 + }, + { + "id": "console plan play-financial-features", + "group": "console", + "cmd": "storebound console plan play-financial-features --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3434 + }, + { + "id": "console plan play-health-apps", + "group": "console", + "cmd": "storebound console plan play-health-apps --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 10289 + }, + { + "id": "console plan play-production-countries", + "group": "console", + "cmd": "storebound console plan play-production-countries --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 11141 + }, + { + "id": "console plan play-production-release", + "group": "console", + "cmd": "storebound console plan play-production-release --json", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9634 + }, + { + "id": "play listing --dry", + "group": "store --dry", + "cmd": "storebound play listing --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4410 + }, + { + "id": "apple listing --dry", + "group": "store --dry", + "cmd": "storebound apple listing --version 1.0.0 --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2909 + }, + { + "id": "play images --dry", + "group": "store --dry", + "cmd": "storebound play images --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 3577 + }, + { + "id": "apple screenshots --dry", + "group": "store --dry", + "cmd": "storebound apple screenshots --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 8398 + }, + { + "id": "apple previews --dry", + "group": "store --dry", + "cmd": "storebound apple previews --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4706 + }, + { + "id": "play products --dry", + "group": "store --dry", + "cmd": "storebound play products --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5203 + }, + { + "id": "play subscriptions --dry", + "group": "store --dry", + "cmd": "storebound play subscriptions --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2945 + }, + { + "id": "apple iap --dry", + "group": "store --dry", + "cmd": "storebound apple iap --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5492 + }, + { + "id": "apple subscriptions --dry", + "group": "store --dry", + "cmd": "storebound apple subscriptions --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5691 + }, + { + "id": "apple iap-review --dry", + "group": "store --dry", + "cmd": "storebound apple iap-review --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 9667 + }, + { + "id": "apple iap-submit --dry", + "group": "store --dry", + "cmd": "storebound apple iap-submit --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 6680 + }, + { + "id": "prices export --dry", + "group": "store --dry", + "cmd": "storebound prices export --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3926 + }, + { + "id": "prices import --dry", + "group": "store --dry", + "cmd": "storebound prices import --csv store/prices.csv --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 2773 + }, + { + "id": "prices ppp --dry", + "group": "store --dry", + "cmd": "storebound prices ppp --base 4.99 --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 5538 + }, + { + "id": "play data-safety --dry", + "group": "store --dry", + "cmd": "storebound play data-safety --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5565 + }, + { + "id": "apple testflight status", + "group": "store --dry", + "cmd": "storebound apple testflight status", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4933 + }, + { + "id": "apple testflight distribute --dry", + "group": "store --dry", + "cmd": "storebound apple testflight distribute --build 1 --group Beta --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 8952 + }, + { + "id": "release plan 1.0.0", + "group": "store --dry", + "cmd": "storebound release plan 1.0.0", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 3857 + }, + { + "id": "release status", + "group": "store --dry", + "cmd": "storebound release status", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 5611 + }, + { + "id": "apple submit --dry", + "group": "store --dry", + "cmd": "storebound apple submit --build 1 --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 10149 + }, + { + "id": "apple resubmit --dry", + "group": "store --dry", + "cmd": "storebound apple resubmit --build 1 --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 22675 + }, + { + "id": "play release --dry", + "group": "store --dry", + "cmd": "storebound play release app-release.aab --internal completed --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 31919 + }, + { + "id": "play upload --dry", + "group": "store --dry", + "cmd": "storebound play upload app-release.aab --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 22620 + }, + { + "id": "play share --dry", + "group": "store --dry", + "cmd": "storebound play share --aab app-release.aab --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4778 + }, + { + "id": "play rollout --dry", + "group": "store --dry", + "cmd": "storebound play rollout --fraction 0.2 --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5750 + }, + { + "id": "art pull --dry", + "group": "store --dry", + "cmd": "storebound art pull --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 5066 + }, + { + "id": "apple appinfo --dry", + "group": "store --dry", + "cmd": "storebound apple appinfo --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 9951 + }, + { + "id": "apple review-details --dry", + "group": "store --dry", + "cmd": "storebound apple review-details --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 8639 + }, + { + "id": "apple bundle --dry", + "group": "store --dry", + "cmd": "storebound apple bundle --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7859 + }, + { + "id": "apple encryption --dry", + "group": "store --dry", + "cmd": "storebound apple encryption --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 2312 + }, + { + "id": "apple offer-codes --dry (none configured)", + "group": "store --dry", + "cmd": "storebound apple offer-codes --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "1", + "ok": true, + "exit": 1, + "ms": 5360 + }, + { + "id": "apple promoted --dry", + "group": "store --dry", + "cmd": "storebound apple promoted --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3868 + }, + { + "id": "apple win-back --dry (none configured)", + "group": "store --dry", + "cmd": "storebound apple win-back --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "1", + "ok": true, + "exit": 1, + "ms": 6110 + }, + { + "id": "apple cpp create --dry", + "group": "store --dry", + "cmd": "storebound apple cpp create --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4823 + }, + { + "id": "apple events create --dry", + "group": "store --dry", + "cmd": "storebound apple events create --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4833 + }, + { + "id": "apple ppo create --dry", + "group": "store --dry", + "cmd": "storebound apple ppo create --variant b --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4201 + }, + { + "id": "apple preorder enable --dry", + "group": "store --dry", + "cmd": "storebound apple preorder enable --release-date 2027-01-15 --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5747 + }, + { + "id": "apple release --phased on --dry", + "group": "store --dry", + "cmd": "storebound apple release --phased on --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4759 + }, + { + "id": "apple signing ensure --dry", + "group": "store --dry", + "cmd": "storebound apple signing ensure --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 8677 + }, + { + "id": "analytics setup --dry", + "group": "store --dry", + "cmd": "storebound analytics setup --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7217 + }, + { + "id": "onboard --dry", + "group": "store --dry", + "cmd": "storebound onboard --dry --no-web", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 6485 + }, + { + "id": "catalog diff", + "group": "store --dry", + "cmd": "storebound catalog diff", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 6609 + }, + { + "id": "validate", + "group": "store --dry", + "cmd": "storebound validate", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4666 + }, + { + "id": "play status", + "group": "store --dry", + "cmd": "storebound play status", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 8013 + }, + { + "id": "apple status", + "group": "store --dry", + "cmd": "storebound apple status", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 6795 + }, + { + "id": "apps list", + "group": "store --dry", + "cmd": "storebound apps list", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 7188 + }, + { + "id": "apps check", + "group": "store --dry", + "cmd": "storebound apps check", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 5802 + }, + { + "id": "icons --dry", + "group": "store --dry", + "cmd": "storebound icons --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 4821 + }, + { + "id": "web init --dry", + "group": "store --dry", + "cmd": "storebound web init --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4644 + }, + { + "id": "whats-new --dry", + "group": "store --dry", + "cmd": "storebound whats-new --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 7386 + }, + { + "id": "listing translate --dry", + "group": "store --dry", + "cmd": "storebound listing translate --to tr --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 6290 + }, + { + "id": "install --agent claude --dry", + "group": "store --dry", + "cmd": "storebound install --agent claude --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 4492 + }, + { + "id": "edit --dry", + "group": "store --dry", + "cmd": "storebound edit --ops '[{\"op\":\"set\",\"path\":\"app.name\",\"value\":\"Example Two\"}]' --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 1, + "ms": 4835 + }, + { + "id": "flow run release --dry", + "group": "store --dry", + "cmd": "storebound flow run release --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 2720 + }, + { + "id": "health --weekly --dry", + "group": "store --dry", + "cmd": "storebound health --weekly --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 3324 + }, + { + "id": "triage --dry", + "group": "store --dry", + "cmd": "storebound triage --dry", + "platform": "macOS", + "runtime": "node 22", + "want": "0|1", + "ok": true, + "exit": 0, + "ms": 7490 + }, + { + "id": "play listing [y/N] n", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 11855 + }, + { + "id": "play listing [y/N] EOF", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 8599 + }, + { + "id": "play listing (not a terminal: applies)", + "group": "confirm n", + "cmd": "storebound play listing", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 8967 + }, + { + "id": "apple listing [y/N] n", + "group": "confirm n", + "cmd": "storebound apple listing --version 1.0.0", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 2476 + }, + { + "id": "apple appinfo [y/N] n", + "group": "confirm n", + "cmd": "storebound apple appinfo", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 2596 + }, + { + "id": "apple subscriptions [y/N] n", + "group": "confirm n", + "cmd": "storebound apple subscriptions", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 4765 + }, + { + "id": "play products (creates without a question)", + "group": "confirm n", + "cmd": "storebound play products", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 2791 + }, + { + "id": "play subscriptions [y/N] n", + "group": "confirm n", + "cmd": "storebound play subscriptions", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 2926 + }, + { + "id": "play release --production completed [y/N] n", + "group": "confirm n", + "cmd": "storebound play release app-release.aab --production completed", + "platform": "macOS", + "runtime": "node 22", + "want": "3", + "ok": true, + "exit": 3, + "ms": 3878 + }, + { + "id": "play rollout [y/N] n", + "group": "confirm n", + "cmd": "storebound play rollout --fraction 0.2", + "platform": "macOS", + "runtime": "node 22", + "want": "1|3", + "ok": true, + "exit": 1, + "ms": 4380 + }, + { + "id": "apple release --phased on (version not released yet)", + "group": "confirm n", + "cmd": "storebound apple release --phased on", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3299 + }, + { + "id": "api apple POST without a terminal (dry)", + "group": "confirm n", + "cmd": "storebound api apple bundleIds_createInstance --body store/bundle.json --yes", + "platform": "macOS", + "runtime": "node 22", + "want": "0", + "ok": true, + "exit": 0, + "ms": 3544 + } + ] +} \ No newline at end of file